Vamos falar sobre outro projeto de armazenamento desenvolvido pela equipe @SuiNetwork, o @WalrusProtocol 🧐🧐 A empresa desenvolvedora do Sui, a Mysten Labs, na verdade, também desenvolveu um projeto de camada de dados, o @WalrusProtocol. Walrus é um projeto focado em armazenamento de dados e disponibilidade de dados. Após minha pesquisa, a única sensação que tive foi – "incrível". Este é o melhor projeto de armazenamento que já vi. Abaixo está o texto principal, Os projetos de armazenamento descentralizado podem ser divididos em duas categorias principais. A primeira categoria adota o método de replicação completa (full replication), trocando eficiência por segurança, ou seja, cada nó armazena uma cópia completa dos dados, representando os projetos @Filecoin e Arweave. A segunda categoria utiliza o método de código de correção de erros Reed-Solomon, que divide os dados originais em fragmentos, representando projetos como @Storj e Sia. ———————————————————————————————— Explicando os códigos de correção de erros (Erasure Codes) de forma simples A forma de armazenamento dos códigos de correção de erros (Erasure Codes) precisa ser explicada. Para ser rigoroso, ela divide o arquivo original em f+1 fragmentos originais, gerando 2f fragmentos adicionais de reparo (repair slivers), onde cada nó de armazenamento guarda um fragmento diferente, e qualquer f+1 fragmentos podem reconstruir o arquivo original. Ok, você pode pular esta parte técnica e olhar para a próxima. Suponha que precisamos armazenar 4 números importantes: [3, 7, 2, 5], esses 4 números são nossos "fragmentos originais". Em seguida, precisamos gerar fragmentos adicionais, Fragmento de reparo 1 = 3 + 7 + 2 + 5 = 17 Fragmento de reparo 2 = 3×1 + 7×2 + 2×3 + 5×4 = 47 Fragmento de reparo 3 = 3×1² + 7×2² + 2×3² + 5×4² = 131 Agora temos 7 fragmentos: [3, 7, 2, 5, 17, 47, 131], certo? Suponha que o sistema tenha 7 nós, e distribuímos assim, Zhang San: 3 Li Si: 7 Wang Wu: 2 Zhao Liu: 5 Qian Qi: 17 Sun Ba: 47 Zhou Jiu: 131 Suponha que Li Si, Zhao Liu e Zhou Jiu perderam os dados, e temos apenas: [3, _, 2, _, 17, 47, _]. Como podemos recuperar os dados originais? Lembra-se da fórmula dos fragmentos adicionais? Exato, resolvemos um sistema de equações lineares. 3 + X + 2 + Y = 17 3×1 + X×2 + 2×3 + Y×4 = 47 Assim, obtemos X=7, Y=5. Claro, este é apenas um exemplo muito simples. Você só precisa lembrar do efeito que os códigos de correção de erros alcançam. O efeito é que, desde que mais de 1/3 dos nós estejam funcionando, os dados podem ser recuperados. Em outras palavras, em um sistema de códigos de correção de erros, os nós só precisam armazenar fragmentos de dados, e desde que mais de 1/3 dos nós estejam operacionais, os dados podem ser recuperados, mas os nós precisam ser estáveis, pois o custo de substituição é alto. Mas em um sistema de replicação completa, é necessário ter nós completos que baixem todas as cópias dos dados. O primeiro sacrifica parte da segurança em troca de baixo custo, enquanto o segundo sacrifica redundância em troca de segurança e estabilidade do sistema. ———————————————————————————————— Inovação dos códigos de correção de erros bidimensionais (two-dimensional, 2D) do Walrus A abordagem do Walrus, na verdade, elimina o ponto intermediário, alcançando um certo equilíbrio entre os dois. O núcleo também utiliza códigos de correção de erros, mas criou uma tecnologia inovadora chamada Red Stuff. O Red Stuff utiliza uma forma de codificação mais inteligente para fragmentar os dados. Lembra-se do exemplo anterior dos códigos de correção de erros? Para armazenar 4 números importantes: [3, 7, 2, 5], precisamos gerar fragmentos adicionais e, por fim, resolver um sistema de equações lineares. Vamos usar este exemplo para explicar o Red Stuff. O método de codificação do Red Stuff é um algoritmo de codificação bidimensional (two-dimensional, 2D), que você pode imaginar como um "sudoku". 3 7 25 na codificação do Red Stuff se torna, [3 7] [2 5] Suponha que a regra de codificação seja, A 3ª coluna = A 1ª coluna + A 2ª coluna A 4ª coluna = A 1ª coluna×2 + A 2ª coluna×2 A 3ª linha = A 1ª linha + A 2ª linha A 4ª linha = A 1ª linha×2 + A 2ª linha×2 Os fragmentos adicionais se tornam [3 7 10 20] [2 5 7 14] [5 12 18 34] [10 24 34 68] Em seguida, distribuímos de acordo com linhas e colunas para os nós, Zhang San: 3 7 10 20, ou seja, a primeira linha Li Si: 2 5 7 14, a segunda linha Wang Wu: 5 12 18 34,… Zhao Liu: 10 24 35 68,… Qian Qi: 3 2 5 10, a primeira coluna Sun Ba: 7 5 12 24,… Zhou Jiu: 10 7 18 34,… Zheng Shi: 20 14 34 68,… Suponha que Wang Wu perdeu os dados, ou seja, os dados da 3ª linha foram perdidos. Na verdade, ele só precisa perguntar a Zhang San da primeira linha e a Li Si da segunda linha, pedindo os números 10 e 7, respectivamente. Novamente, resolvemos um sistema de equações lineares para obter o resultado. A partir dos exemplos acima, que são simples, mas não tão rigorosos, podemos resumir as características do Red Stuff, Ao recuperar dados, não é necessário ter linhas ou colunas completas, apenas os dados de posições específicas são suficientes. Essa característica pode ser chamada de "localidade". Além disso, um número pode ser recuperado a partir de duas dimensões, ou seja, "reutilização de informações". Além disso, para dados complexos, pode-se primeiro recuperar a dimensão que é mais "fácil" de calcular, e depois usar os dados já recuperados para calcular a dimensão mais difícil, ou seja, "progressividade". Na prática, suponha que um arquivo, sob a arquitetura de códigos de correção de erros, seja codificado em 301 fragmentos. Em sistemas de códigos de correção de erros comuns, para recuperar 1 fragmento, são necessários 101 fragmentos, enquanto no Red Stuff, para recuperar 1 par de fragmentos, são necessários apenas cerca de 200 símbolos individuais. Suponha que estamos armazenando um arquivo de 1GB, e o sistema tem 301 nós. Em sistemas comuns de códigos de correção de erros, após a falha de um nó, é necessário baixar 1GB para recuperar o fragmento, enquanto no Red Stuff, cada nó armazena: fragmento principal (3.3MB) + fragmento secundário (3.3MB) = 6.6MB. Na recuperação, é necessário baixar apenas cerca de 10MB de dados simbólicos, economizando 99% da largura de banda. Esse design permite que o Walrus mantenha uma rede de armazenamento descentralizada em grande escala com um custo de largura de banda extremamente baixo, reduzindo o custo de recuperação de O(|blob|) para O(|blob|/n). É por isso que o Red Stuff é chamado de "auto-reparável". Além disso, o Walrus incorporou muitas características de segurança, como ser o primeiro protocolo a suportar desafios de armazenamento em redes assíncronas. O que se chama de "desafio" aqui é semelhante a uma verificação aleatória da situação de armazenamento de dados dos nós, como um mecanismo otimista. O Red Stuff adiciona compromissos criptográficos verificáveis (commitments) a cada fragmento, e cada símbolo pode ser verificado independentemente, etc. Resumindo as características, 1) Primeiro a ser seguro em assíncrono: resolve o problema de confiança dos nós em armazenamento distribuído; 2) Auto-verificável: mecanismo de anti-falsificação embutido; 3) Progressivo: lida com mudanças dinâmicas nos nós; 4) Escalável: suporta de centenas a milhares de nós; Encontrando o melhor equilíbrio entre segurança e eficiência. (Parte 1 deste artigo)
Mostrar original
29,03 mil
13
O conteúdo apresentado nesta página é fornecido por terceiros. Salvo indicação em contrário, a OKX não é o autor dos artigos citados e não reivindica quaisquer direitos de autor nos materiais. O conteúdo é fornecido apenas para fins informativos e não representa a opinião da OKX. Não se destina a ser um endosso de qualquer tipo e não deve ser considerado conselho de investimento ou uma solicitação para comprar ou vender ativos digitais. Na medida em que a IA generativa é utilizada para fornecer resumos ou outras informações, esse mesmo conteúdo gerado por IA pode ser impreciso ou inconsistente. Leia o artigo associado para obter mais detalhes e informações. A OKX não é responsável pelo conteúdo apresentado nos sites de terceiros. As detenções de ativos digitais, incluindo criptomoedas estáveis e NFTs, envolvem um nível de risco elevado e podem sofrer grandes flutuações. Deve considerar cuidadosamente se o trading ou a detenção de ativos digitais é adequado para si à luz da sua condição financeira.