Bitcoin Magazine: Quais são os desafios do Rollup?

robot
Geração de resumo em curso

Fonte: Bitcoin Magazine; Compilado por: Wuzhu, Jinse Finance

Rollups recentemente tornaram-se o foco da expansão do BTC, tornando-se a primeira coisa a realmente roubar o protagonismo da Rede de iluminação, em termos de atenção mais ampla. Rollups têm como objetivo ser uma segunda camada fora da cadeia, não restrita ou limitada pela liquidez central da Rede de iluminação, ou seja, os usuários finais precisam ter fundos alocados (ou “emprestados”) antecipadamente para receber dinheiro, ou os nós intermediários precisam de saldo de canal para facilitar o fluxo total do montante do remetente para o destinatário.

Estes sistemas foram inicialmente executados em sistemas Turing Completo como Ethereum e outros, mas recentemente houve um foco na sua portabilidade para blockchains baseadas em UTXO (por exemplo, BTC). Este artigo não pretende discutir o estado atual da implementação em BTC, mas sim as funcionalidades idealizadas de Rollup que as pessoas têm procurado a longo prazo, as quais dependem de capacidades que atualmente não são suportadas pelo BTC, ou seja, a capacidade de verificar diretamente Zero-Knowledge Proofs (ZKP) no BTC.

A estrutura básica do Roll é a seguinte: um único conta (UTXO no BTC) mantém o saldo de todos os usuários no Rollup. Essa UTXO contém um compromisso na forma da raiz da árvore de Merkle, comprometendo todos os saldos atuais de conta no Rollup. Todas essas contas são autorizadas por Chave pública/Chave privada, portanto, os usuários ainda devem assinar algo com a Chave Secreta para gastar fora da cadeia. Essa parte da estrutura permite que os usuários saiam a qualquer momento sem permissão, fazendo uma transação que prova que sua conta faz parte da árvore Merkle, eles podem sair do Rollup unilateralmente, sem a permissão do operador.

Os operadores do Rollup devem incluir uma Prova de Conhecimento Zero (ZKP) nas transações para atualizar a raiz de Merkle do saldo da conta na cadeia durante o processo de conclusão da transação fora da cadeia. Sem essa ZKP, a transação seria inválida e não poderia ser incluída na cadeia de blocos. Essa prova permite que as pessoas verifiquem se todas as alterações nas contas fora da cadeia foram devidamente autorizadas pelo titular da conta e se o operador não atualizou o saldo de forma maliciosa para roubar fundos dos usuários ou redistribuí-los de forma desonesta para outros usuários.

A questão é, se apenas a raiz da árvore de Merkle for publicada na cadeia, os usuários podem visualizá-la e acessá-la, então como eles colocam seus ramos na árvore para poder sair quando quiserem, sem permissão?

Rollup adequado

Em um Rollup apropriado, sempre que uma nova transação fora da cadeia é confirmada e o estado da conta Rollup sofre uma mudança, as informações são diretamente colocadas na blockchain. Não é a árvore inteira, isso seria absurdo, mas sim as informações necessárias para reconstruir a árvore. Em uma implementação simples, o resumo de todas as contas existentes no Rollup conterá os saldos e as contas serão apenas adicionadas nas transações de atualização do Rollup.

Em implementações mais avançadas, use diferenças de equilíbrio. Isso essencialmente resume quais contas tiveram fundos adicionados ou removidos durante o processo de atualização. Isso faz com que cada atualização do Rollup inclua apenas as alterações de saldo de conta que ocorreram. Em seguida, os usuários podem simplesmente escanear a cadeia e ‘calcular’ a partir do início do Rollup para obter o estado atual do equilíbrio da conta, permitindo-lhes reconstruir a árvore de Merkle do equilíbrio atual.

Isso permite economizar custos e espaço de Bloco (economizando dinheiro), ao mesmo tempo em que permite aos usuários garantir o acesso às informações necessárias para uma saída unilateral. As regras de rollup exigem que esses dados sejam incluídos no rollup oficial fornecido aos usuários usando a cadeia de Bloco, ou seja, transações que não incluem resumo de conta ou diferença de conta são consideradas inválidas.

Prazo de Validade

Outra maneira de lidar com problemas de disponibilidade de dados de retirada de usuários é colocar os dados em outro lugar fora da cadeia de Blocos. Isso introduz questões sutis, rollup ainda precisa garantir que os dados estejam disponíveis em outro lugar. Tradicionalmente, outros Blocos de Cadeias são usados ​​para este fim, especialmente projetados como camadas de disponibilidade de dados para sistemas como rollup.

Isso cria um dilema de segurança igualmente forte. Quando os dados são publicados diretamente na cadeia BTCBloco, as regras de Consenso podem garantir que ele esteja absolutamente correto. No entanto, quando é publicado em sistemas externos, o melhor que pode fazer é verificar a prova SPV, ou seja, os dados foram publicados em outro sistema.

Isso requer provas de que os dados estão presentes em outras cadeias, o que é, em última análise, um problema da Máquina Oracle. A cadeia de blocos do Bitcoin não pode verificar completamente nada além do que acontece em sua própria cadeia de blocos, o melhor que pode fazer é verificar ZKP. No entanto, o ZKP não pode verificar se os dados de rollup contidos no bloco foram realmente divulgados publicamente após a geração. Não pode verificar se as informações externas foram realmente tornadas públicas para todos.

Isso abriu as portas para ataques de retenção de dados, ou seja, criar compromissos com os dados publicados e usá-los para impulsionar o rollup, mas os dados não estão realmente disponíveis. Isso faz com que os usuários não consigam retirar seus fundos. A única solução real é depender totalmente de sistemas de valor e estruturas de incentivo fora do BTC.

Encontro de dificuldades

Isto coloca o rollup em um dilema. Quando se trata de questões de disponibilidade de dados, basicamente existe uma escolha binária entre publicar os dados na cadeia de blocos BTC ou em outro lugar. Esta escolha tem um impacto significativo na segurança, soberania e escalabilidade do rollup.

Por um lado, usar a cadeia de blocos do Bitcoin como camada de disponibilidade de dados definirá um limite rígido à escalabilidade do rollup. O espaço do bloco é limitado, o que estabelece um limite para a quantidade de rollups que podem existir de uma só vez e para a quantidade total de transações que todos os rollups juntos podem processar fora da cadeia. Cada atualização do rollup requer espaço de bloco proporcional ao número de contas cujo saldo mudou desde a última atualização. A teoria da informação permite apenas que os dados sejam comprimidos até certo ponto; nesse sentido, não há mais potencial de escalabilidade.

Por outro lado, utilizar diferentes camadas para alcançar a disponibilidade de dados elimina o limite rígido de escalabilidade, mas também traz novas questões de segurança e soberania. Em Rollups que utilizam BTC para a disponibilidade de dados, se os dados que o usuário deseja extrair não forem automaticamente publicados na blockchain, o estado do Rollup não poderá mudar. Com o uso de Validiums, essa garantia depende totalmente da capacidade dos sistemas externos utilizados para resistir a fraudes e ocultação de dados.

Agora, qualquer produtor de Bloco no sistema de disponibilidade de dados externos pode se apropriar dos fundos dos usuários do BTCRollup produzindo Bloco em vez de transmitir esse Bloco, tornando os dados disponíveis.

Então, se realmente conseguirmos implementar o Rollup ideal no BTC, permitindo verdadeiramente levantamentos unilaterais dos utilizadores, como seria isso?

BTC0,23%
ETH0,31%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • Comentar
  • Republicar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Fixar

Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)