Paradigma modular de blockchain

Na física, o acoplamento é o fenômeno pelo qual duas formas de movimento afetam uma à outra por meio da interação. O desacoplamento, por outro lado, é a separação matemática de duas formas de movimento para lidar com o problema.

No campo da programação, a ideia de modularidade é muito semelhante: uma técnica de design de software chamada programação modular, enfatiza a separação da funcionalidade de um programa em módulos independentes e intercambiáveis, de modo que cada um contenha tudo o que é necessário para executar apenas um aspecto da funcionalidade desejada. .

Blockchains também são programas de computador. Fundamentalmente, ao aplicar a ideia de modularidade a uma blockchain pública, podemos dividi-la em três componentes principais:

  1. Execução — Este é o cálculo necessário para atualizar a cadeia, que envolve obter o estado atual, adicionar um monte de novas transações e fazer a transição para o novo estado.

  2. Consenso ou Liquidação ou Segurança — Fornece segurança e acordo para transações e seus pedidos.

  3. Disponibilidade de dados (DA) — Isso garante que os dados da transação por trás do cabeçalho do bloco sejam publicados e disponíveis para que qualquer pessoa possa calcular facilmente o estado e verificar as transições de estado.

Em vez de reunir todos esses três componentes em uma cadeia monolítica, como fazem os principais blockchains atuais, podemos dividi-los em cadeias ou camadas especializadas, cada uma desempenhando o papel de um módulo, para implementar de forma mais eficiente a funcionalidade de um blockchain. Este é o paradigma do blockchain modular.

Os benefícios dos blockchains modulares

Conforme afirmado anteriormente, blockchains modulares são o resultado da separação dos componentes principais de um único blockchain e da execução deles em camadas separadas. Então, quais são as vantagens dos blockchains modulares em relação aos não modulares? A seguir estão os benefícios listados.

Escalabilidade

Camadas especializadas em um par de recursos principais permitirão uma escalabilidade muito maior sem a limitação de fazer compensações que vêm com um blockchain monolítico. Por exemplo, uma camada modular de disponibilidade de dados com amostragem DA pode ser dimensionada linearmente com o número de usuários.

Interoperabilidade

Blockchains podem empregar uma camada modular de segurança compartilhada para permitir pontes com confiança minimizada entre blockchains no mesmo cluster. Isto melhora a segurança e o nível em que vários blockchains podem comunicar entre si.

Inicialização

Novos blockchains podem ser criados com custo e tempo mínimos. Coisas como kits de desenvolvimento de software Rollup não apenas ajudarão nisso, mas também fornecerão uma maneira de inicializar sem a necessidade de um mecanismo de consenso, validadores ou mecanismos de distribuição de tokens.

Experimentação

Blockchains podem ser facilmente criados e usados ​​para testar novas tecnologias inovadoras que trazem maior escalabilidade e otimizações para toda a pilha de cadeias. Isso permite que as novas cadeias se concentrem diretamente nos elementos em que desejam inovar, o que pode então ser espalhado para o restante das cadeias.

A camada DA em rollups

Rollups, que é a solução de camada 2 da Ethereum com o objetivo de escalar de forma eficaz, também é fundamentalmente uma abordagem modular. O rollup retira a camada de execução da camada 1 do Ethereum e forma uma segunda camada exclusiva de execução com foco no processamento de transações o mais rápido possível. Por outro lado, a camada 1 do Ethereum ainda é responsável pelo trabalho desafiador de segurança e disponibilidade de dados.

Portanto, há duas questões aqui. Primeiro, por que a disponibilidade de dados é tão importante? Em segundo lugar, podemos usar a ideia de modularidade novamente para dissociar o DA da camada 1? Por favor, deixe-me explicar.

Para a primeira pergunta, preciso discutir a situação separadamente. No caso do Optimistic Rollup, quando o sequenciador faz o mal e estabelece um estado incorreto de saldo da conta, qualquer um pode recuperar os dados da transação original da camada 1 e reconstruir o estado correto da conta para executar um desafio. Assim, o papel do DA é como um escritório de arquivo que fornece provas originais em caso de contestação, garantindo que a contestação é correta e válida.

Quanto ao Zero Knowledge (ZK) Rollup, o sequenciador não pode fazer o mal devido à prova criptográfica de zero conhecimento. Mas em casos extremos em que o sequenciador fica inativo ou indisponível por qualquer motivo, os usuários precisam escapar da cadeia da camada 2 e recuperar seu dinheiro para a camada 1, quando o DA é essencial para garantir que qualquer pessoa possa reconstruir o status final com base nos dados. . Portanto, o papel do DA é como uma porta de segurança para garantir uma fuga tranquila aos usuários em caso de situação extrema.

Para a segunda pergunta, a resposta curta é sim. Embora o DA seja tão vital que o melhor lugar para armazená-lo seja a camada 1 do Ethereum, a cadeia mais segura é também a mais cara – o custo do gás das transações de liquidação e armazenamento de dados é muito mais alto do que em qualquer outra cadeia. É por isso que tanto Matter Labs quanto Starkware fornecem aos usuários uma versão barata do ZK Rollup, nomeadamente ZK-Porter e Validium, comprometendo-se a não armazenar DA na camada 1.

Como resultado, uma camada DA especializada e modular está começando a entrar em cena.

Projetos de camada DA especializada

Celestia

Anteriormente chamada de LazyLedger, a Celestia é uma rede modular de consenso e dados, construída para permitir que qualquer pessoa implante facilmente seu próprio blockchain com sobrecarga mínima. Ao desacoplar as camadas de consenso e DA com a execução de aplicativos, a Celestia modulariza a pilha de tecnologia blockchain e abre novas possibilidades para criadores de aplicativos descentralizados.

Sob a arquitetura modular habilitada para Celestia, os desenvolvedores podem definir facilmente seus próprios ambientes de execução virtual. Cada aplicativo obtém seu próprio espaço de execução soberano e pode ser atualizado sem hard forks da cadeia principal.

O principal destaque do Celestia está em abordar uma das restrições fundamentais do dimensionamento do blockchain – o “problema de disponibilidade de dados”. Este problema pergunta: como os nós podem ter certeza de que, quando um novo bloco é produzido, todos os dados desse bloco foram realmente publicados na rede? O dilema é que, se um sequenciador ou produtor de bloco não liberar todos os dados de um bloco, ninguém poderá detectar se há uma transação maliciosa oculta nesse bloco.

Como Celestia resolve isso? Utiliza códigos de apagamento para criar provas de disponibilidade de dados que garantem, com alta probabilidade, que todos esses dados foram postados na cadeia.

Especificamente, Celestia usa um esquema de codificação reed-Solomon bidimensional para codificar dados de bloco quando o sequenciador cria um novo bloco. Este esquema garante que apenas uma pequena amostra de dados é suficiente para verificar com certeza estatística que todo o bloco foi publicado. Apenas clientes leves são necessários para realizar uma operação chamada Amostragem de Disponibilidade de Dados (DAS) – baixando aleatoriamente um pequeno pedaço de dados do bloco para detectar se o sequenciador está se comportando mal e retendo dados. Este método é muito eficaz na visão das estatísticas de probabilidade. Na verdade, na sétima vez que um cliente light tenta verificar aleatoriamente um pedaço de dados, a chance de ele não conseguir detectar que o sequenciador está se comportando mal seria menor que 1%. E uma vez descoberto que qualquer pequeno dado está codificado incorretamente, a rede é notificada por meio de uma prova de fraude. Isso garante que o rendimento não seja prejudicado pela execução do estado como os blockchains tradicionais, permitindo que o rendimento do Celestia seja dimensionado de acordo com o número de usuários envolvidos.

Focando inicialmente no EVM e no Cosmos SDK, a Celestia não exclui a integração nos ecossistemas do Ethereum e do Cosmos. Celestia lançou um plano chamado Celestium, que permite que qualquer cadeia Ethereum L2 use Celestia para disponibilidade de dados e Ethereum para liquidação e resolução de disputas. Celestiums fornecerá disponibilidade de dados de alto rendimento para Ethereum L2s, com um nível mais alto de segurança do que outras técnicas de disponibilidade de dados fora da cadeia.

Além disso, a Celestia está fazendo parceria com a Evmos para construir uma camada de liquidação para rollups de EVM chamada Cevmos. A cadeia de liquidação será implementada como um rollup do Celestia usando Optimint e aproveita o Celestia como camada DA para fornecer uma pilha totalmente equivalente a EVM otimizada exclusivamente para rollups, resultando em taxas mais baixas e melhor escala nos rollups.

Disponibilidade de polígono

Avail, uma das soluções de escalonamento do kit de ferramentas da Polygon, é um blockchain de uso geral, escalonável e focado na disponibilidade de dados, direcionado para cadeias autônomas, cadeias laterais e soluções de escalonamento fora da cadeia.

O Avail fornece uma camada robusta de disponibilidade de dados usando uma primitiva matemática extremamente segura - verificações de disponibilidade de dados usando códigos de eliminação com uma inovação importante - eles usam compromissos polinomiais Kate para criar um esquema de disponibilidade de dados 2D que evita provas de fraude, não requer suposições de maioria honestas, e não depende de pares de nós completos honestos para obter confiança de que os dados estão disponíveis.

A abordagem da Avail para resolver o problema de disponibilidade de dados é semelhante ao DAS da Celestia, mas difere apenas em pequenos pontos. A Avail usa compromissos polinomiais KZG em vez de provas de fraude para evitar o mau comportamento dos sequenciadores. Os compromissos KZG, também conhecidos como compromissos Kate, foram introduzidos por Aniket Kate, Gregory M. Zaverucha e Ian Goldberg em 2010, fornecendo uma maneira de comprometer-se com polinômios de maneira sucinta.

Em termos simples, todos os dados de um bloco são organizados como uma matriz bidimensional. A redundância de dados é obtida pela codificação de apagamento de cada coluna da matriz para dobrar o tamanho da original. Os compromissos do Kate são usados ​​para confirmar cada uma das linhas e o compromisso é incluído no cabeçalho do bloco. O esquema facilita a captura de uma tentativa de ocultação de dados, pois qualquer cliente leve com acesso apenas aos cabeçalhos de bloco pode consultar células aleatórias da matriz e obter provas curtas que podem ser verificadas nos cabeçalhos de bloco. A redundância de dados força o sequenciador a ocultar uma grande parte do bloco, mesmo que queira ocultar apenas uma única transação, tornando-o suscetível de ser pego em amostragem aleatória. Assim, a necessidade de provas de fraude é evitada, pois a natureza vinculativa dos compromissos do Kate torna muito inviável computacionalmente para os sequenciadores construírem compromissos errados e não serem pegos.

Resumo

A camada especializada de disponibilidade de dados, como um protótipo de blockchains modulares, visa facilitar uma mudança completa na forma como abordamos o design de sistemas blockchain, permitindo o paradigma modular de blockchain onde vários ambientes de execução podem utilizar esta camada especializada para ordenação e disponibilidade de dados. Embora possa surgir uma pequena preocupação de que os rollups que usam a camada DA especializada possam não ser tão seguros quanto aqueles com a rede principal Ethereum, é uma compensação essencial, uma vez que os blockchains modulares podem trazer uma rede mais flexível, escalável, personalizável e interoperável. No longo prazo, a camada DA especializada se tornará a pedra angular do paradigma modular do blockchain, abrindo caminho para o fim do escalonamento do blockchain.

Isenção de responsabilidade: esta pesquisa é apenas para fins informativos. Não constitui conselho de investimento ou recomendação de compra ou venda de qualquer investimento e não deve ser utilizado na avaliação dos méritos de tomar qualquer decisão de investimento.

🐦 @chestersigned

📅 18 de abril de 2022

Link:

https://medium.com/blockchain-capital-blog/wtf-is-data-availability-80c2c95ded0f

https://polynya.medium.com/the-lay-of-the-modular-blockchain-land-d937f7df4884

https://rileygmi.substack.com/p/celestia?s=r&utm_campaign=post&utm_medium=web

https://coinyuppie.com/focus-on-the-data-availability-layer-to-understand-the-new-public-chain-celestia/

https://polygon.technology/blog/introduzindo-avail-by-polygon-a-robust-general-purpose-scalable-data-availability-layer-98bc9814c048

https://polygon.technology/solutions/polygon-avail/