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

robot
Geração do resumo em andamento

Fonte: Bitcoin Magazine; Tradução: Wu Zhu, Jinse Finance

Rollups tornou-se recentemente o foco da expansão do BTC, tornando-se a primeira coisa a realmente roubar o protagonismo da Rede de iluminação e atrair atenção mais ampla. O objetivo dos Rollups é ser uma camada fora da cadeia que não esteja sujeita às restrições de liquidez do núcleo da Rede de iluminação, ou seja, os usuários finais precisam que alguém aloque (ou ‘empreste’) os fundos com antecedência para receber o dinheiro, ou os nós de roteamento intermediários precisam ter saldo de canal para facilitar o fluxo completo do valor do pagamento do remetente ao destinatário.

Estes sistemas foram inicialmente implementados na Ethereum e em outros sistemas Turing Completo, mas recentemente o foco mudou para a sua portabilidade em blockchains baseadas em UTXO (por exemplo, BTC). Este artigo não pretende discutir a implementação atual em BTC, mas sim as funcionalidades idealizadas de Rollup, que dependem de capacidades atualmente não suportadas pelo BTC, ou seja, a capacidade de verificar zk-SNARKs diretamente no BTC.

A estrutura básica do Roll é a seguinte: uma única conta (UTXO em BTC) armazena o saldo de todos os usuários no Rollup. Este UTXO contém um compromisso, que existe na forma da raiz de Merkle da árvore de Merkle, comprometendo todos os saldos atuais das contas no Rollup. Todas essas contas são autorizadas com Chave pública/Chave privada, portanto, para fazer gastos fora da cadeia, os usuários ainda devem assinar algum conteúdo com a Chave Secreta. Esta parte da estrutura permite que os usuários saiam a qualquer momento sem permissão, apenas provando que suas contas fazem parte da árvore de Merkle, eles podem sair do Rollup unilateralmente, sem a necessidade de permissão do operador.

Os operadores do Rollup devem incluir um ZKP nas transações para atualizar o saldo da conta na cadeia durante o processo de conclusão das transações fora da cadeia. Sem este ZKP, a transação será inválida e não pode ser incluída no bloco. Esta prova permite que as pessoas verifiquem se todas as alterações na conta 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 desonestamente para outros usuários.

A questão é: se apenas a raiz da árvore de Merkle for publicada na cadeia, como os usuários podem colocar seus ramos na árvore para poderem sair a qualquer momento sem permissão?

Rollup adequado

No Rollup apropriado, toda vez que uma nova transação da cadeia é confirmada e o estado do Rollupconta muda, as informações são colocadas diretamente no blockchain. Não a árvore inteira, o que seria ridículo, mas a informação necessária para reconstruir a árvore. Em uma implementação simples, o resumo de todas as contas existentes no Rollup conterá o saldo, e a conta só será adicionada na transação que atualiza o Rollup.

Em implementações mais avançadas, use a diferença de equilíbrio de contas. Isso essencialmente resume quais contas aumentaram ou diminuíram os fundos durante o processo de atualização. Isso faz com que cada atualização de Rollup contenha apenas as alterações de saldo de contas ocorridas. 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 de contas, o que lhes permite reconstruir a árvore de Merkle do equilíbrio atual.

Desta forma, é possível poupar uma grande quantidade de despesas e espaço de bloco (e, portanto, poupar dinheiro), ao mesmo tempo que permite aos utilizadores garantir o acesso às informações necessárias para a saída unilateral. As regras de rollup exigem que esses dados sejam incluídos no rollup formal fornecido aos utilizadores usando a cadeia de bloco, ou seja, as transações que não incluem um resumo de conta ou diferenças de conta são consideradas inválidas.

Prazo de validade

Uma outra forma de lidar com a questão da disponibilidade dos dados de extração dos utilizadores é colocar os dados num local fora da cadeia de blocos. Isto introduz um problema subtil, que é garantir que os dados estejam disponíveis nesse local. Tradicionalmente, outras cadeias de blocos são usadas para esse propósito, especialmente concebidas como uma camada de disponibilidade de dados para sistemas como o rollup.

Isto criou um dilema de segurança igualmente forte. Quando os dados são diretamente publicados na cadeia de blocos Bitcoin, as regras de consenso podem garantir que estejam absolutamente corretos. No entanto, quando são publicados em sistemas externos, o melhor que podem fazer é verificar a prova SPV, ou seja, que os dados foram publicados noutro sistema.

Isso requer uma prova de que os dados existem em outros blocos na cadeia, o que é, em última instância, um problema da Máquina Oracle. A cadeia de blocos do Bitcoin não pode verificar completamente qualquer coisa que aconteça fora de sua própria cadeia de blocos, exceto por verificar ZKP. No entanto, ZKP não pode verificar se o bloco que contém os dados do rollup foi realmente divulgado publicamente após a geração. Não pode verificar se as informações externas estão realmente disponíveis para o público em geral.

Isso abriu a porta para ataques de retenção de dados, ou seja, criar compromissos para dados publicados e usá-los para impulsionar rollup, mas os dados não estão realmente disponíveis. Isso faz com que os usuários não consigam retirar fundos. A única solução real é depender totalmente do valor e da estrutura de incentivos do sistema além do BTC.

A situação é delicada e difícil de lidar

Isso cria um dilema para rollup. Quando se trata da questão da disponibilidade de dados, basicamente existe uma escolha binária entre publicar dados na blockchain do BTC ou em outro lugar. Essa escolha tem um grande impacto na segurança e soberania do rollup, bem como em sua escalabilidade.

Por um lado, o uso da cadeia BTCBloco como camada de disponibilidade de dados definirá um limite rígido de escalabilidade para o rollup. O espaço do bloco é limitado, o que impõe um limite ao número de rollups que podem existir de uma vez e ao número total de transações que podem ser processadas 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, portanto, não há mais potencial de expansão além disso.

Por outro lado, o uso de diferentes camadas para alcançar a disponibilidade de dados elimina o limite rígido dos ganhos de escalabilidade, mas também traz novas questões de segurança e soberania. Em Rollups que usam BTC para alcançar a disponibilidade de dados, se os dados que os usuários precisam extrair não forem automaticamente publicados na blockchain, o estado do Rollup não poderá ser alterado. Com o uso de Validiums, essa garantia depende inteiramente da capacidade do sistema externo de resistir a fraudes e ocultação de dados.

Agora, qualquer produtor de Bloco no sistema de disponibilidade de dados externos pode sequestrar os fundos dos usuários do BTCRollup produzindo Bloco em vez de transmiti-los realmente, tornando os dados disponíveis.

Então, se realmente conseguirmos implementar o Rollup ideal no BTC e realizar saques unilaterais dos usuários, como seria isso?

BTC2.17%
ETH2.86%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Repostar
  • Compartilhar
Comentário
0/400
Sem comentários
  • Em alta na Gate FunVer projetos
  • Cap. de M.:$3.56KHolders:1
    0.00%
  • Cap. de M.:$0.1Holders:1
    0.00%
  • Cap. de M.:$3.55KHolders:1
    0.00%
  • Cap. de M.:$3.55KHolders:1
    0.00%
  • Cap. de M.:$3.55KHolders:1
    0.00%
  • Marcar
Negocie criptomoedas a qualquer hora e em qualquer lugar
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)