Quais são os benefícios da tecnologia de Amostragem de Disponibilidade de Dados? Por que precisamos disso?

Foto por @testalizeme?utm_source=medium&utm_medium=referral">Testalize.me on Unsplash
Conhecimentos prévios:
Esta série de artigos irá introduzir o mecanismo operacional da DAS através do Danksharding, bem como as semelhanças e diferenças entre Celestia, EigenDA e AvailDA. O primeiro artigo irá introduzir porque precisamos da DAS e os benefícios que a DAS traz.
Mas na verdade, não é apenas a L2, a própria cadeia Ethereum também precisará enfrentar o problema da liberação de dados, porque os nós leves não irão baixar dados completos do bloco como os nós completos, então os nós leves precisam acreditar que "quando um novo bloco aparece, naquele momento, os dados completos do bloco foram realmente liberados." Quando um nó leve é enganado a acreditar em um bloco "incompleto", o impacto é o mesmo que quando é enganado a acreditar em um bloco "ilegal" - ele está conectado a um link que não é reconhecido por outros. Cadeias bifurcadas.

Os nós completos não acreditarão em blocos incompletos, mas os nós leves irão
Então, em quem confia o nó leve atual da Ethereum para garantir que os dados de um novo bloco sejam completamente divulgados? A resposta é “Validadores”. Quando um nó leve recebe um novo bloco, não irá baixar os dados do bloco completo, mas verá quantos validadores votaram no bloco. Quando bastantes validadores votam neste bloco, acreditará que a informação completa deste bloco foi de facto publicada. Esta é uma suposição pertencente à Maioria Honesta, que é a crença de que a maioria dos validadores são pessoas boas.

Quando bastantes validadores assinam o bloco, o nó leve acreditará que o bloco foi totalmente libertado.
Nota: Atualmente, os nós leves do Ethereum não recolhem efetivamente os votos de centenas de milhares de validadores para cálculo, pois o número é muito grande e o cálculo é demasiado consumidor de recursos. Em vez disso, é atribuído outro grupo de Comitê de Sincronização com um número muito menor, composto pela assinatura do validador no interior, que serve como garantia para o nó leve. Isso é considerado uma abordagem transitória, aguardando um design mais completo e maduro para substituí-lo no futuro.
Uma capacidade tão grande certamente não surgirá do nada. Para ter essa capacidade, é necessário construir uma rede p2p estável o suficiente, ter usuários suficientes e até adicionar funções de privacidade à camada de rede. Esta capacidade é o foco desta série de artigos - Amostragem de Disponibilidade de Dados (DAS).
Num blockchain com DAS, os nós leves não apenas receberão passivamente novos dados de bloco, mas participarão em conjunto na operação do DAS: cada nó leve deve ir para a rede p2p para cada bloco. No caminho, ele procura várias partes de dados no bloco e salva os dados, compartilhando-os com outros nós quando eles pedem dados. Assim como o protocolo descentralizado de compartilhamento de arquivos BitTorrent, nós na rede salvam e compartilham os dados com os quais se importam juntos, em vez de depender de um servidor centralizado.

Os nós leves trabalham juntos para recuperar e partilhar dados fragmentados de blocos através da rede p2p
Nota: Num cenário ideal, os utilizadores de blockchain executariam todos nós leves, participariam na operação do DAS e garantiriam segurança em conjunto, em vez de confiarem completamente nos outros nós como acontece agora.
Cada nó leve não pode acreditar que os dados do bloco foram completamente libertados até obter com sucesso cada pedaço de dados solicitado. No entanto, uma vez que todos os pedaços de dados solicitados foram obtidos, pode acreditar com segurança que os dados do bloco foram libertados. A informação foi libertada na totalidade. Mas por que é que os nós leves podem acreditar com segurança que os dados do bloco completo foram libertados mesmo que apenas tenham dados fragmentados? Isto deve-se ao facto de que outros nós leves na rede também armazenarão dados fragmentados separadamente, por isso, quando necessário, todos poderão trabalhar em conjunto para juntar dados completos a partir dos dados fragmentados uns dos outros, e outra habilidade mágica do DAS é: Os dados guardados pelos nós leves não precisam de cobrir os dados completos do bloco. Os nós leves podem restaurar 100% dos dados desde que obtenham 50% dos dados.

Desde que os nós leves tenham mais de 50% dos dados do fragmento, podem restaurar os dados do bloco completo.
Nota: Não necessariamente será de 50%, pode ser superior, dependendo da configuração do DAS, mas certamente será inferior a 100%.
Portanto, no DAS, mesmo que a maioria dos validadores vote num determinado bloco, os nós leves não acreditarão facilmente no bloco. O nó leve irá realizar amostragem (Sampling), ou seja, solicitar os dados do fragmento do bloco. Quando todos os fragmentos solicitados forem obtidos, acreditar-se-á que os dados do bloco foram completamente divulgados.
Nota: “Poucos” refere-se ao facto de que o número de nós leves que precisam de ser amostrados e armazenados para restaurar dados completos é relativamente pequeno em comparação com todos (muitos) os nós leves na rede.

Alice obteve com sucesso a informação solicitada, por isso acredita que a informação do bloco foi completamente divulgada e acabará por recuperar o bloco que foi descartado por outros nós.
Então este nó de luz pobre terá que ser enganado, e esta também é a limitação e o trade-off do DAS: a garantia de "liberação completa de dados" fornecida pelo DAS é uma garantia de probabilidade, não uma garantia 100% e categórica, mas isso ainda é melhor do que ter que confiar completamente na maioria dos validadores. Se você acha que a garantia de probabilidade não é segura o suficiente e quer ter 100% de certeza se os dados do bloco foram completamente liberados, então sinto muito, você só pode executar um nó completo você mesmo para baixar os dados completos do bloco.
Nota: O programa que executa o nó leve não tem forma de saber que foi enganado. Para o programa, desde que receba todos os dados solicitados, acreditará que o bloco foi totalmente publicado. Os utilizadores só podem descobrir através dos seus próprios canais sociais que um determinado bloco está na realidade incompletamente divulgado e rapidamente instruir os seus nós leves a marcar o bloco como dados incompletos.
Neste momento, você pode estar preocupado, sua segurança pode ser baseada apenas em "nenhuma inimizade com a pessoa que produziu o bloqueio" ou "o atacante não sabe quem eu sou, então ele não vai me atacar"? Sim, mas é por isso que foi mencionado anteriormente que o DAS precisa da função de privacidade da camada de rede, porque se o invasor pode saber "quem" está solicitando os dados do fragmento, ou sabe que os três fragmentos A, B e C são "o mesmo "Indivíduo" está procurando, então ele pode naturalmente facilmente atingir a vítima alvo e fornecer informações para a outra parte. Se a camada de rede de hoje tiver uma função de privacidade, o invasor não terá como saber quem está solicitando essa informação. Naturalmente, não haverá como enganar o alvo, e a eficiência de ataque do atacante será muito reduzida: não tem como determinar se a vítima foi enganada, ou mesmo qualquer nó leve.

Se o atacante não souber quem está a solicitar informações, será muito difícil enganar os nós leves.

Sem codificação de apagamento, se faltar um pouco do bloco, significa que o bloco não foi totalmente liberado.
Se o bloco for codificado por codificação por apagamento, então 100% dos dados podem ser restaurados com, por exemplo, qualquer 50% dos dados. Isto significa que os nodos leves podem garantir que podem restaurar os dados desde que os dados fragmentados amostrados juntos atinjam uma cobertura de 50%. Informação completa do bloco. Comparado com uma cobertura de 100%, o requisito de uma cobertura de 50% é muito mais simples. Será muito mais difícil para produtores de blocos maliciosos esconderem algumas informações para enganar os nodos leves.
Nota: 50% é apenas um exemplo. Diferentes necessidades terão diferentes % necessárias para restauração.
Como garantir que os nós leves guardem dados suficientes? Precisamos ter nós leves suficientes ou amostras suficientes para cada nó leve. Se houver nós leves suficientes, o número de vezes que cada nó leve é amostrado não precisa ser alto; mas se não houver nós leves suficientes, então o número de vezes que cada nó leve é amostrado deve ser suficientemente alto para garantir que os nós leves trabalhem juntos para guardar dados suficientes.
Nota: Se o número de nós leves continuar a crescer, o tamanho dos dados que podem armazenar em conjunto pode aumentar se o número de amostras permanecer inalterado. Por exemplo, Celestia, que será introduzida nesta série de artigos, pode suportar tamanhos de bloco flexíveis. Blockchain: o tamanho do bloco da Celestia pode ser ajustado de acordo com o número de nós leves na rede.
Além disso, a camada de rede também precisa ter funções de privacidade, caso contrário, o nó leve será identificado pelo atacante. O atacante não irá publicar mais do que 50% dos dados, mas fornecerá os dados fragmentados solicitados pelo nó leve que bloqueia. Para induzir em erro o nó leve a acreditar que os dados do bloco foram completamente divulgados.
Os detalhes destas três partes serão introduzidos com mais detalhe nesta série de artigos.





