Quebrando o gargalo do Bitcoin: Um guia abrangente de auditoria para a tecnologia de escalabilidade da camada 2 do BTC

IntermediárioAug 27, 2024
Este artigo discute soluções de expansão da camada 2 do BTC, incluindo Lightning Network, side chain, Rollup e outras tecnologias, que alcançam transações rápidas e de baixo custo através de diferentes mecanismos, ao mesmo tempo em que garantem a descentralização e a segurança da rede BTC. A Lightning Network melhora a velocidade e a privacidade das transações com seus canais de pagamento e transações fora da cadeia, enquanto sidechains como CKB e Stacks oferecem funcionalidades independentes e inovadoras por meio de pontes bidirecionais. A tecnologia Rollup melhora a capacidade de processamento, processando grandes volumes de transações fora da cadeia, apesar dos desafios no tempo de liquidação e nos recursos de computação.
Quebrando o gargalo do Bitcoin: Um guia abrangente de auditoria para a tecnologia de escalabilidade da camada 2 do BTC

O Bitcoin (BTC), como a primeira criptomoeda do mundo, tornou-se gradualmente a pedra angular dos ativos digitais e das finanças descentralizadas desde o seu advento em 2009. No entanto, à medida que o número de usuários e o volume de transações aumentam, os problemas da rede BTC estão se tornando cada vez mais aparentes, principalmente da seguinte forma:

  • Altas taxas de transação: Quando a rede Bitcoin está congestionada, os usuários precisam pagar taxas mais altas para garantir que as transações sejam confirmadas o mais rapidamente possível.
  • Tempo de confirmação da transação: A blockchain do Bitcoin gera um novo bloco a cada 10 minutos em média, o que significa que as transações on-chain frequentemente precisam esperar por múltiplas confirmações de bloco antes de serem consideradas finais.
  • Limitações dos contratos inteligentes: A linguagem de script do Bitcoin tem funções limitadas e é difícil implementar contratos inteligentes complexos.

Neste artigo, iremosLightning Network(Lightning Network), Sidechains, Rollup e outras tecnologias são coletivamente referidas como soluções de expansão de camada2 do BTC. Mantêm a descentralização e segurança da rede BTC, ao mesmo tempo que conseguem transações rápidas e de baixo custo. A introdução da tecnologia de camada2 pode melhorar a velocidade das transações e reduzir os custos das mesmas, otimizar a experiência do utilizador e expandir a capacidade da rede. Fornece suporte técnico importante e direção de inovação para o desenvolvimento futuro do BTC.

Neste momento, a Beosin tornou-se o parceiro de segurança oficial da BTC Layer2, como o Merlin Chain., auditou múltiplos protocolos ecológicos BTC, como Bitmap.Games, Surf Protocol, Savmswap, Mineral. Em auditorias passadas, muitas cadeias públicas bem conhecidas passaram nas auditorias de segurança da cadeia pública da Beosin, incluindo Ronin Network, Clover, Self Chain, Crust Network. A Beosin agora lança uma solução de auditoria para BTC Layer2 para fornecer serviços abrangentes e confiáveis de auditoria de segurança para todo o ecossistema BTC.

Lightning Network

O conceito mais antigo da Lightning Network é chamado de “canal de pagamento”. A ideia do seu design é atualizar continuamente o estado da transação não confirmada através da substituição da transação até que seja finalmente transmitida para a rede Bitcoin. Satoshi Nakamoto já tinha proposto a ideia dos canais de pagamento quando criou o Bitcoin em 2009, e incluiu um código preliminar para os canais de pagamento no Bitcoin 1.0, que permitia aos utilizadores atualizar o estado da transação antes desta ser confirmada pela rede. No entanto, só com a publicação do livro branco “The Bitcoin Lightning Network: Scalable Off-Chain Instant Payment” é que a Lightning Network nasceu verdadeiramente e entrou nos olhos do público.

Hoje, a implementação de canais de pagamento e Lightning Network é muito madura. Até agora, a Lightning Network tem um total de 13.325 nós, 49.417 canais e o número total de BTCs comprometidos atingiu 4.975.


https://1ml.com/

Na Lightning Network, é muito importante garantir a segurança dos ativos dos usuários durante o processo de transferência. A seguir, será explicado como a Lightning Network funciona e como proteger a segurança dos ativos dos usuários com base na escala dos nós de rede.

Utilizadores de ambas as partes submetem duas transações à rede principal do Bitcoin: uma para abrir o canal e outra para fechar o canal. É aproximadamente dividido nas seguintes três etapas:

1. Abertura do canal:

Primeiro, os usuários de ambas as partes comprometem Bitcoin na carteira multiassinatura da Lightning Network em BTC. Uma vez que o Bitcoin é comprometido e bloqueado com sucesso, o canal de pagamento é aberto e ambas as partes podem realizar transações fora da cadeia neste canal.

2. Transações fora da cadeia:

Uma vez que o canal está aberto, todas as transações de transferência entre usuários serão processadas na Lightning Network, e não há limite para o número dessas transações off-chain. Claro, essas transações não precisam ser submetidas imediatamente à mainnet do Bitcoin, mas são concluídas instantaneamente através do mecanismo off-chain da Lightning Network.

Este método de processamento off-chain melhora significativamente a velocidade e eficiência das transações, evitando a congestão e as altas taxas de transação da mainnet do Bitcoin.

3. Encerramento de canal e liquidação de ledger:

Quando os utilizadores de ambos os lados decidem sair do canal, ocorrerá a liquidação final do livro-razão. Este processo garante que todos os fundos no canal estejam alocados até à data. Ao mesmo tempo, os utilizadores de ambos os lados vão retirar o saldo pós-liquidação da carteira multi-assinatura, o que reflete a distribuição real dos fundos quando o canal é encerrado. Eventualmente, o canal irá submeter o estado final da transação do livro-razão para a Bitcoin mainnet.

A vantagem da Lightning Network é que:

  • Velocidade de transação aumentada. A Lightning Network permite aos usuários realizar transações off-chain, o que significa que as transações podem ser concluídas quase instantaneamente, sem esperar pelo tempo de confirmação do bloco. Isso pode alcançar velocidades de transação de segundo nível, melhorando muito a experiência do usuário.
  • Privacidade aprimorada. As transações fora da cadeia da Lightning Network não precisam ser registradas publicamente na cadeia principal do Bitcoin, o que melhora a privacidade das transações. Apenas a abertura e o fechamento do canal precisam ser registrados na cadeia principal, portanto, o comportamento de transação do usuário não será totalmente divulgado.
  • Suporte de micropagamentos. A Lightning Network é muito adequada para processar pequenos pagamentos (micropagamentos), como pagamentos de conteúdo, pagamentos de dispositivos IoT, etc. As transações tradicionais de Bitcoin não são adequadas para pagamentos pequenos frequentes devido às altas taxas de transação, enquanto a Lightning Network resolve esse problema.

Desafios enfrentados pela Lightning Network:

  • problemas de liquidez na rede: A Lightning Network depende de Bitcoins pré-bloqueados em canais. Isso significa que os usuários devem depositar Bitcoins suficientes em seus canais de pagamento antecipadamente para fazer uma transação. A liquidez insuficiente pode fazer com que os pagamentos falhem, especialmente em pagamentos maiores.
  • problema de roteamento: Encontrar um caminho eficiente de um remetente de pagamento para um destinatário pode ser um problema complexo, especialmente em redes maiores. À medida que o número de nós e canais de rede aumenta, aumenta também a dificuldade de garantir a conclusão tranquila dos pagamentos.
  • Questões de confiança na custódia de fundos: Os nós podem estar sujeitos a ataques maliciosos e os utilizadores precisam de confiar que os nós aos quais estão ligados não tentarão roubar fundos. Os nós podem prevenir fugas de chaves privadas?
  • Normas técnicas e interoperabilidade: São necessárias normas e protocolos técnicos consistentes entre diferentes implementações da Lightning Network para garantir a interoperabilidade. Atualmente, várias equipes de desenvolvimento estão trabalhando em diferentes implementações da Lightning Network, o que pode levar a problemas de compatibilidade.
  • questões de privacidade: Embora a Lightning Network melhore a privacidade das transações de Bitcoin, as informações das transações ainda podem ser rastreadas ou analisadas. Além disso, os operadores dos nós da rede podem ver as transações que passam pelos seus nós, potencialmente revelando certas informações privadas.

A segurança da Lightning Network afeta diretamente a escalabilidade off-chain do Bitcoin e a segurança dos fundos dos utilizadores. portanto, Além dos itens de auditoria gerais da cadeia pública (consulte o apêndice no final deste artigo para mais detalhes), a Lightning Network também precisa prestar atenção aos seguintes riscos de segurança importantes:

  • Congestão de canal: Verifique a abrangência do design do sistema da Rede Lightning e se isso causará congestão de canal devido a ataques de sofrimento.
  • Interferência de canal: Verifique a segurança da estrutura do canal da Lightning Network e se estará sujeita a ataques de interferência de canal.
  • Bloqueio e desbloqueio de ativos do canal: reveja o processo de bloqueio e desbloqueio de ativos na Lightning Network para garantir que ao abrir ou fechar um canal de pagamento, a transferência de fundos dentro e fora da rede seja segura e confiável.
  • Atualização de estado e encerramento: Avaliar o processo de atualização de estado e o mecanismo de fechamento forçado do canal para garantir que o status mais recente possa ser corretamente identificado e executado quando ocorrem condições anormais.
  • Contrato de Bloqueio de Tempo e Bloqueio de Hash (HTLC): Avalie a implementação do HTLC para garantir que as condições de bloqueio de tempo e bloqueio de hash possam ser executadas corretamente para evitar perdas de fundos causadas por problemas de janela de tempo.
  • Dependência do carimbo de data/hora da blockchain: Avaliar a dependência da Lightning Network no carimbo de data/hora da blockchain do Bitcoin para garantir que o tempo on-chain e off-chain possam ser coordenados corretamente para prevenir ataques temporais.
  • Segurança do algoritmo de roteamento: Verificar a eficiência e segurança do algoritmo de roteamento para prevenir a exposição da privacidade do utilizador e os riscos de manipulação maliciosa de roteamento.
  • Armazenamento de canal e recuperação de dados: Verificar o mecanismo de armazenamento do canal e a estratégia de recuperação de dados para garantir que o estado do canal possa ser restaurado no caso de falha do nó ou desconexão inesperada, a fim de evitar perda de fundos.

side chain

Ao contrário da Lightning Network, a side chain é uma blockchain independente que funciona em paralelo à main chain (como a blockchain BTC) e interoperates com a main chain através de âncora de duas vias (Two-Way Peg). O objetivo da side chain é alcançar mais funções e melhorar a escalabilidade sem alterar o protocolo da main chain.

Como uma blockchain independente, a side chain possui seu próprio mecanismo de consenso, nós e regras de processamento de transações. Ele pode adotar tecnologias e protocolos diferentes da cadeia principal de acordo com as necessidades de cenários de aplicação específicos. Através do mecanismo de ancoragem bidirecional (2WP), a side chain se comunica com a cadeia principal para garantir que os ativos possam ser transferidos livremente e com segurança entre as duas. O mecanismo de funcionamento do mecanismo de ancoragem bidirecional (2WP) é aproximadamente o seguinte:

  1. O utilizador bloqueia BTC na cadeia principal, e a instituição de confiança 1 obtém e utiliza a verificação SPV 2 para garantir se a transação bloqueada do utilizador está confirmada.

  2. A instituição confiável emitirá tokens equivalentes para os usuários na cadeia lateral.

  3. Após as transações gratuitas, os utilizadores bloqueiam os tokens restantes na side chain.

  4. Após verificar a legalidade da transação, a instituição de confiança desbloqueia o BTC na cadeia principal e liberta o valor correspondente de BTC para o utilizador.

Nota 1: A autoridade confiável desempenha um papel fundamental no mecanismo de ancoragem bidirecional e é responsável por gerenciar o bloqueio e a liberação de ativos. Essas instituições precisam ter um alto grau de credibilidade e capacidades técnicas para garantir a segurança dos ativos do usuário.

Nota 2: Verificação SPV permite que os nós verifiquem a validade de transações específicas sem baixar a blockchain completa. Os nós SPV só precisam baixar o cabeçalho do bloco e verificar se a transação está incluída no bloco através da Árvore de Merkle.

Projetos representativos de side chains:

CKB (Rede Nervos)

Nervos Network é um ecossistema de blockchain público de código aberto que visa aproveitar as vantagens de segurança e descentralização do mecanismo de consenso POW do BTC, ao mesmo tempo em que introduz um modelo UTXO mais escalável e flexível para processar transações. Seu núcleo é o Common Knowledge Base (CKB), que é uma blockchain de Camada 1 construída em RISC-V e usa PoW (Proof of Work) como consenso. Ele expande o modelo UTXO em um modelo de Células, permitindo armazenar qualquer dado e suportar a escrita de scripts em qualquer linguagem para execução na cadeia como um contrato inteligente.


Stacks

Stacks conecta cada bloco de Stacks ao bloco Bitcoin através do seu mecanismo de PoX (Proof of Transfer). Para desenvolver contratos inteligentes, Stacks projetou a linguagem de programação Clarity especializada. Em Clarity, a função get-burn-block-info? permite passar a altura do bloco Bitcoin e obter o hash do cabeçalho do bloco. Ao mesmo tempo, a palavra-chave burn-block-height pode obter a altura do bloco atual da cadeia Bitcoin. Essas duas funções permitem que os contratos inteligentes Clarity leiam o estado da cadeia base do Bitcoin, permitindo que as transações Bitcoin sirvam como acionadores de contrato. Ao automatizar a execução desses contratos inteligentes, Stacks estende as capacidades do Bitcoin.

Para uma análise detalhada dos Stacks, você pode ler o artigo de pesquisa anterior da Beosin: "O que são Stacks? Quais desafios podem enfrentar as Stacks da rede BTC de camada 2?

A vantagem das side chains é que:

  • As side chains podem usar diferentes tecnologias e protocolos para realizar vários experimentos e inovações sem afetar a estabilidade e segurança da cadeia principal.
  • As side chains podem introduzir funções que a main chain não possui, como smart contracts, proteção de privacidade, emissão de tokens, etc., para enriquecer os cenários de aplicação do ecossistema blockchain.

Desafios enfrentados pelas sidechains:

  • A side chain tem um mecanismo de consenso independente, pode não ser tão seguro como a cadeia principal do BTC. Se o mecanismo de consenso da side chain for fraco ou tiver falhas, pode levar a ataques de 51% ou outras formas de ataques, afetando a segurança dos ativos do utilizador. A segurança da cadeia principal do BTC depende da sua enorme potência de cálculo e da ampla distribuição de nós, enquanto as side chains podem não cumprir os mesmos padrões de segurança.
  • A implementação do mecanismo de ancoragem bidirecional requer algoritmos e protocolos de criptografia complexos. Se houver brechas neles, isso pode causar problemas na transferência de ativos entre a cadeia principal e a cadeia lateral, e até mesmo levar à perda ou roubo de ativos.
  • Para encontrar um equilíbrio entre velocidade e segurança, a maioria das sidechains tem um grau de centralização mais elevado do que o da main chain.

A Camada2 é um sistema blockchain completo, portanto, os itens gerais de auditoria da cadeia pública também se aplicam à cadeia lateral. Para mais detalhes, consulte o apêndice no final deste artigo.

Também, devido à sua natureza especial, as sidechains também requerem alguma auditoria adicional:

  • Segurança do protocolo de consenso: Rever se o protocolo de consenso da side chain (como PoW, PoS, DPoS) foi completamente verificado e testado, e se existem potenciais vulnerabilidades ou vetores de ataque, como ataques de 51%, ataques de longo alcance, etc.
  • Segurança do nó de consenso: Avaliar a segurança dos nós de consenso, incluindo gestão de chaves, proteção do nó e backup redundante, para evitar que os nós sejam violados ou abusados.
  • Bloqueio e liberação de ativos: Rever o mecanismo de ancoragem de duas vias de ativos entre a side chain e a main chain para garantir que os contratos inteligentes para bloqueio e liberação de ativos sejam seguros e confiáveis, prevenindo gastos duplos, perda de ativos ou falha no bloqueio.
  • Verificação intercadeia: Verifique a precisão e segurança da verificação intercadeia, garantindo que o processo de verificação seja descentralizado e à prova de manipulações, e evite falhas na verificação ou verificação maliciosa.
  • Auditoria de código de contrato: Auditoria aprofundada de todos os contratos inteligentes em execução na side chain para detectar possíveis brechas ou portas dos fundos, especialmente a lógica do contrato ao lidar com operações entre cadeias.
  • Mecanismo de atualização: Verifique se o mecanismo de atualização dos contratos inteligentes é seguro e se existem processos adequados de auditoria e consenso da comunidade para evitar atualizações maliciosas ou manipulação de contratos.
  • Comunicação entre nós: Verificar se o protocolo de comunicação entre os nós da side chain é seguro e se canais criptografados são utilizados para prevenir ataques de intermediários ou vazamentos de dados.
  • Comunicação entre cadeias: Verifique o canal de comunicação entre a cadeia lateral e a cadeia principal para garantir a integridade e autenticidade dos dados e evitar que a comunicação seja sequestrada ou adulterada.
  • Carimbo de data/hora e tempo de bloco: Verificar o mecanismo de sincronização de tempo da side chain para garantir a consistência e precisão do tempo de geração de bloco e prevenir ataques ou rollback de bloco causados por diferenças de tempo.
  • Segurança de governança on-chain: Revisar o mecanismo de governança da side chain para garantir a transparência e segurança dos processos de votação, proposta e tomada de decisão, e prevenir controle malicioso ou ataques.
  • Auditoria económica de token: Verificar o modelo económico do token da side chain, incluindo alocação de tokens, mecanismo de incentivo e modelo de inflação, para garantir que os incentivos económicos não levem a comportamentos maliciosos ou instabilidade do sistema.
  • Mecanismo de taxas: Verificar o mecanismo de taxas de transação da side chain para garantir que corresponda às necessidades dos utilizadores da main chain e da side chain, a fim de evitar manipulação de taxas ou congestionamento de rede.
  • Segurança dos ativos: Auditar o mecanismo de gestão de ativos na cadeia para garantir que o armazenamento, transferência e processo de destruição de ativos seja seguro e confiável, e não haja risco de acesso não autorizado ou roubo.
  • Gestão de chaves: Verifique a política de gestão de chaves da side chain para garantir a segurança e o controlo de acesso da chave privada e prevenir que a chave seja divulgada ou roubada.

Rollup

Rollup é uma solução de escalonamento de Camada 2 projetada para melhorar a taxa de transferência e eficiência das transações em blockchain. Reduz significativamente a carga na cadeia principal ao agrupar ("Rollup") um grande número de transações e processá-las fora da cadeia, enviando apenas os resultados finais para a cadeia principal.

O Rollup é dividido principalmente em zk-Rollup e op-Rollup. Mas, ao contrário do ETH, devido à incompletude de Turing do BTC, não é possível usar contratos no BTC para verificação de prova de conhecimento zero. As soluções tradicionais zk-Rollup não podem ser implementadas no BTC. Então, como implementar o BTC Layer2 usando zk-Rollup? A seguir, vamos tomar o projeto da rede B² como exemplo:

Para completar a verificação de prova de conhecimento zero em BTC, a B² Network criou o script Taproot, que combina a verificação de prova de conhecimento zero do zk-Rollup e o desafio de incentivo do op-Rollup. Seu mecanismo operacional é mais ou menos o seguinte:

  1. A B² Network primeiro agrupa todas as transações iniciadas pelos utilizadores.

  2. Depois de usar o classificador para ordenar as transações Rollup, guarde as transações Rollup usando armazenamento descentralizado e entregue-as ao zkEVM para processamento ao mesmo tempo.

  3. Depois que o zkEVM sincroniza o status da cadeia BTC, ele processa transações como execução de contratos, mescla e empacota os resultados e os envia para o agregador.

  4. O Prover gera uma prova de conhecimento zero e envia-a para o agregador. O agregador agrega as transações e envia a prova para os nós B².

  5. B² Nodes realiza verificação de prova de conhecimento zero e cria scripts de Taproot com base nos dados de Rollup em armazenamento descentralizado.

  6. Taproot é um UTXO com um valor de 1 satoshi. A Inscrição B² em sua estrutura de dados armazena todos os dados do Rollup e o Tapleaf armazena todos os dados de verificação. Após passar pelo mecanismo de desafio de incentivo, será enviado para BTC como um compromisso verificado com base em prova zk.

A vantagem do Rollup é que:

  • RollupHerda as características de segurança e descentralização da cadeia principal. Ao enviar regularmente dados de transação e status para a cadeia principal, a integridade e transparência dos dados são garantidas.
  • Rollup pode ser integrado de forma perfeita em redes blockchain existentes como o Ethereum, permitindo que os desenvolvedores aproveitem facilmente seus benefícios sem modificar significativamente contratos inteligentes e aplicações existentes.
  • Ao processar um grande número de transações fora da cadeia e agrupá-las em lote para submissão à cadeia principal, o Rollup melhora significativamente as capacidades de processamento de transações e aumenta consideravelmente o número de transações por segundo (TPS).
  • As transações de Rollup só precisam ser processadas fora da cadeia, o que reduz consideravelmente os recursos de computação e espaço de armazenamento necessários para as transações na cadeia, reduzindo significativamente as taxas de transação para o usuário.

Desafios enfrentados pelo Rollup:

  • Se os dados fora da cadeia não estiverem disponíveis, os utilizadores podem ser incapazes de verificar transações e restaurar o estado.
  • As transações de Rollup precisam ser processadas em lotes e finalmente submetidas à cadeia principal, o que pode resultar em tempos de liquidação mais longos. Especialmente no op-Rollup, existe um período de disputa e os usuários podem ter que esperar por um longo tempo antes que a transação seja finalmente confirmada.
  • Embora o ZK Rollup forneça maior segurança e confirmação instantânea, os requisitos de computação e armazenamento são elevados, e a geração de provas de conhecimento zero requer uma grande quantidade de recursos de computação.

Uma vez que a solução adotada é Rollup, os principais itens de auditoria de segurança são basicamente os mesmos que os da ETH Layer2.

Outros (Babilónia)

Além da tradicional camada BTC Layer2, recentemente também surgiram alguns novos conceitos de protocolos de terceiros relacionados ao ecossistema BTC, como o Babylon:

O objetivo da Babilônia é converter 21 milhões de BTC em ativos de stake descentralizados. Ao contrário de outras camadas 2 do BTC, a Babilônia não expande a cadeia BTC. É uma cadeia única em si mesma, com um protocolo de hipoteca BTC especial. O principal propósito é conectar-se à cadeia PoS. Hipotecar BTC para fornecer segurança mais forte para a cadeia PoS e resolver o risco de ataques do final remoto da cadeia e a questão centralizada.

A arquitetura está dividida em três camadas:

Camada Bitcoin: Esta é a base sólida da Babilônia, aproveitando a segurança bem conhecida do Bitcoin para garantir que todas as transações sejam super seguras, assim como na rede Bitcoin.

Camada babilônica: No coração de Babilônia está a camada babilônica, uma blockchain personalizada que conecta Bitcoin a várias cadeias Proof-of-Stake (PoS). Ela processa transações, executa contratos inteligentes e garante que tudo funcione perfeitamente em todo o ecossistema.

Camada de cadeia PoS: A camada superior é composta por várias cadeias PoS, sendo que cada cadeia PoS é selecionada pelas suas vantagens únicas. Isso confere à BabylonChain uma escalabilidade e flexibilidade incríveis, permitindo que os utilizadores desfrutem das melhores funcionalidades das diferentes blockchains PoS.

A forma como funciona é assegurar a cadeia PoS usando blocos finais assinados na cadeia BTC. Isso essencialmente estende o protocolo base com rondas de assinatura adicionais. Essas assinaturas na ronda final +1 têm uma característica única: são Assinaturas Únicas Extratáveis (EOTS). O objetivo é integrar os checkpoints PoS no BTC para resolver os problemas de longo período de desassociação e ataques remotos do PoS.

A vantagem de Babilônia é que:

  • Tornar o período de desvinculação do PoS mais rápido
  • Uma vez que BTC está comprometido, o preço está ligado ao BTC, o que pode reduzir a pressão inflacionária na rede PoS correspondente.
  • Abre novos caminhos para ganhos em BTC

Desafios enfrentados por Babilônia:

  • Desenhos econômicos, como a taxa de retorno de 'staking', têm um grande impacto no entusiasmo pelo 'staking' de BTC.
  • Falta de disposições de consistência de recompensa entre as cadeias de PoS

Os protocolos de terceiros têm diferentes pontos de segurança dependendo da sua implementação. Tomando Babylon como exemplo, alguns itens de auditoria de segurança que precisam de atenção são os seguintes:

  1. Segurança de contrato inteligente: O contrato de garantia no BTC é implementado por meio de script UTXO e sua segurança precisa ser observada.

  2. Segurança do algoritmo de assinatura: As assinaturas são usadas no contrato para gerenciar as garantias do usuário, e a segurança de seu algoritmo está relacionada à geração e verificação das assinaturas.

  3. Design do modelo econômico do protocolo: Se o modelo econômico do protocolo está razoavelmente estabelecido em termos de recompensas e penalidades, e se isso levará à perda de ativos do usuário.

apêndice:

Itens gerais de auditoria de cadeia pública & Layer2

  • Overflow inteiro: Verifique o overflow inteiro e o underflow inteiro
  • Loop infinito: Verifique se as condições de julgamento do loop do programa são razoáveis
  • Chamada recursiva infinita: Verifique se a condição de saída da chamada recursiva do programa é razoável
  • Condições de corrida: Verifique operações de acesso a recursos compartilhados em condições concorrentes
  • Crash anormal: Verifique o código de exceção que permite ao programa sair ativamente
  • Vulnerabilidade de divisão por 0: Verifique se há divisão por 0
  • Conversão de tipo: Verificar se a conversão de tipo está correta e se informações importantes são perdidas durante o processo de conversão
  • Índice fora dos limites: Verifique se um elemento além dos limites do array está sendo acessado
  • Vulnerabilidade de deserialização: verifique se há problemas durante o processo de deserialização
  • Segurança de implementação funcional: Verifique se existem riscos de segurança em cada implementação da interface RPC e se ela está de acordo com a função da interface RPC.
  • Pode ser projetado para combinar
  • Se as configurações de permissão da interface RPC sensível são razoáveis: Verifique as configurações de permissão de acesso da interface RPC sensível
  • Mecanismo de transmissão encriptada: Verifique se é utilizado um protocolo de transmissão encriptado, como TLS, etc.
  • Análise do formato de dados da solicitação: Verifique o processo de análise de formato dos dados da solicitação
  • Ataque de desbloqueio de carteira: Quando um nó desbloqueia sua carteira, ele é solicitado por RPC para roubar fundos.
  • Segurança Web tradicional: Verifique as seguintes vulnerabilidades: Cross-site scripting (XSS) / Injeção de modelo
  • Vulnerabilidades de componentes de terceiros / Poluição de parâmetros HTTP / Injeção de SQL / Injeção de entidades XXE deserialização
  • vulnerabilidades/vulnerabilidades SSRF/injeção de código/inclusão de arquivo local/inclusão de arquivo remoto/injeção de execução de comando e outras vulnerabilidades tradicionais
  • Mecanismo de autenticação e identificação de identidade do nó de rede: Verificar se há um mecanismo de identificação do nó e se o mecanismo de identificação do nó pode ser contornado.
  • Poluição da tabela de roteamento: Verifique se a tabela de roteamento pode ser aleatoriamente inserida ou sobrescrita com dados
  • Algoritmo de descoberta de nó: Verifique se o algoritmo de descoberta de nó é equilibrado e imprevisível, como algoritmo de distância desequilibrada e outros problemas
  • Auditoria de ocupação do número de conexões: Verificar se o limite e a gestão do número de nós de conexão da rede p2p são razoáveis
  • Ataque de eclipse: Avaliar o custo e o prejuízo de um ataque de eclipse e fornecer análise quantitativa, se necessário
  • Ataque de Síbil: Avaliar mecanismo de consenso de votação e analisar estratégia de verificação de qualificação de voto
  • Ataque de escuta: Verificação de protocolos de comunicação para vazamentos de privacidade
  • Ataque alienígena: Avalie se o nó pode identificar nós de cadeia semelhantes
  • Time Hijacking: Verificação do mecanismo de cálculo do tempo de rede de um nó
  • Ataque de Exaustão de Memória: Verificação de Lugares com Grande Consumo de Memória
  • Ataque de Exaustão do Disco Rígido: Verificar Onde os Arquivos Grandes Estão Armazenados
  • Ataque de pressão do socket: verifique a política de limite no número de conexões
  • Ataque de exaustão de manipulação do kernel: Verifique os limites da criação de manipulação do kernel, como manipulação de arquivos, etc.
  • Vazamentos de memória persistentes: Verifique vazamentos de memória
  • Segurança do Algoritmo de Hash: Verificar a Resistência à Colisão de um Algoritmo de Hash
  • Segurança do algoritmo de assinatura digital: Verificar a segurança do algoritmo de assinatura e a segurança da implementação do algoritmo
  • Segurança do algoritmo de criptografia: Verificar a segurança do algoritmo de criptografia, segurança na implementação do algoritmo
  • Segurança do gerador de números aleatórios: Verificar se os algoritmos críticos de geração de números aleatórios são confiáveis
  • Segurança da implementação do BFT: Avaliando a segurança da implementação do algoritmo BFT
  • Regras de escolha de bifurcação: Verifique as regras de escolha de bifurcação para garantir a segurança
  • Detecção de centralização: identificar se existe centralização excessiva no design do sistema
  • Auditoria de incentivos: Avaliar o impacto dos incentivos na segurança
  • Ataque de gastos duplos: verifique se o consenso pode se defender contra ataques de gastos duplos
  • Auditoria de ataque MEV: Verifique o impacto do MEV dos nós de embalagem de bloco na justiça da cadeia
  • Bloquear auditoria do processo de sincronização: verifique problemas de segurança durante o processo de sincronização
  • Auditoria do processo de análise de formato de bloco: Verificação de problemas de segurança no processo de análise de formato, como erros de análise que levam a falhas
  • Auditoria do processo de geração de blocos: verifique os problemas de segurança durante o processo de geração de blocos, incluindo se o método de construção da raiz da árvore Merkle é razoável
  • Auditoria do processo de verificação do bloco: Verificar se os itens de conteúdo da assinatura do bloco e a lógica de verificação são suficientes
  • Auditoria de lógica de confirmação de bloco: verifique se o algoritmo de confirmação de bloco e a implementação são razoáveis
  • Colisão de hash de bloco: Verifique o método de construção da colisão de hash de bloco e se o tratamento da colisão é razoável.
  • Limites de recursos de processamento de blocos: Verifique se os limites de recursos, como a piscina de blocos órfãos, cálculo de verificação, endereçamento em disco rígido, etc., são razoáveis.
  • Auditoria do processo de sincronização de transações: Verificar problemas de segurança durante o processo de sincronização
  • Colisão de hash de transação: Verifique o método de construção da colisão de hash de transação e o processamento da colisão
  • Análise de formato de transação: Verifique problemas de segurança durante o processo de análise de formato, como erros de análise que levam a falhas
  • Verificação de legalidade da transação: Verifique se cada tipo de item de conteúdo de assinatura de transação e lógica de verificação são suficientes
  • Limites de recursos de processamento de transações: Verifique se os limites de recursos, como pools de transações, cálculos de verificação, endereçamento de disco rígido, etc., são razoáveis.
  • Ataque de maleabilidade de transação: uma transação pode alterar campos internos (como ScriptSig) para alterar o hash da transação sem afetar a validade da transação?
  • Auditoria de ataque de repetição de transação: Verifique a deteção do sistema de repetição de transação
  • Verificação do bytecode do contrato: Verificar os problemas de segurança do processo de verificação da máquina virtual do contrato, como overflow de inteiro, loop infinito, etc.
  • Execução de bytecode de contrato: Verificar os problemas de segurança no processo de execução de bytecode da máquina virtual, como overflow de inteiros, loop infinito, etc.
  • Modelo de gás: Verifique se as taxas de manuseio correspondentes a cada operação atômica de processamento de transação/execução de contrato são proporcionais ao consumo de recursos
  • Integridade do registro: verifique se as informações de chave são registradas
  • Segurança dos registos de log: Verificar se existem problemas de segurança causados por manipulação inadequada durante o processamento de log, como overflow de inteiros, etc.
  • O log contém informações privadas: verifique se o log contém informações privadas, como chaves
  • Armazenamento de log: verifique se o log registra muito conteúdo, causando consumo de recursos do nó
  • Segurança da cadeia de suprimentos de código de nó: Verifique os problemas conhecidos de todas as bibliotecas, componentes de terceiros e versões correspondentes do framework da cadeia pública

A Beosin é uma das primeiras empresas de segurança blockchain do mundo a se envolver em verificação formal. Com foco no negócio ecológico completo "segurança + conformidade", estabeleceu filiais em mais de 10 países e regiões ao redor do mundo. Seu negócio abrange auditorias de segurança de código antes do projeto ficar online, monitoramento e bloqueio de risco de segurança durante a operação do projeto, recuperação de roubo, produtos de conformidade de blockchain "One-stop" + serviços de segurança, como antilavagem de dinheiro de ativos virtuais (AML) e avaliações de conformidade que cumprem os requisitos regulatórios locais. As partes do projeto com necessidades de auditoria são bem-vindas para entrar em contato com a equipe de segurança da Beosin.

Isenção de responsabilidade:

  1. Este artigo foi reproduzido a partir de [Beosin]. Todos os direitos autorais pertencem ao autor original [Beosin]. Se houver objeções a esta reimpressão, contacte o Gate Learnequipa, e eles tratarão disso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Quebrando o gargalo do Bitcoin: Um guia abrangente de auditoria para a tecnologia de escalabilidade da camada 2 do BTC

IntermediárioAug 27, 2024
Este artigo discute soluções de expansão da camada 2 do BTC, incluindo Lightning Network, side chain, Rollup e outras tecnologias, que alcançam transações rápidas e de baixo custo através de diferentes mecanismos, ao mesmo tempo em que garantem a descentralização e a segurança da rede BTC. A Lightning Network melhora a velocidade e a privacidade das transações com seus canais de pagamento e transações fora da cadeia, enquanto sidechains como CKB e Stacks oferecem funcionalidades independentes e inovadoras por meio de pontes bidirecionais. A tecnologia Rollup melhora a capacidade de processamento, processando grandes volumes de transações fora da cadeia, apesar dos desafios no tempo de liquidação e nos recursos de computação.
Quebrando o gargalo do Bitcoin: Um guia abrangente de auditoria para a tecnologia de escalabilidade da camada 2 do BTC

O Bitcoin (BTC), como a primeira criptomoeda do mundo, tornou-se gradualmente a pedra angular dos ativos digitais e das finanças descentralizadas desde o seu advento em 2009. No entanto, à medida que o número de usuários e o volume de transações aumentam, os problemas da rede BTC estão se tornando cada vez mais aparentes, principalmente da seguinte forma:

  • Altas taxas de transação: Quando a rede Bitcoin está congestionada, os usuários precisam pagar taxas mais altas para garantir que as transações sejam confirmadas o mais rapidamente possível.
  • Tempo de confirmação da transação: A blockchain do Bitcoin gera um novo bloco a cada 10 minutos em média, o que significa que as transações on-chain frequentemente precisam esperar por múltiplas confirmações de bloco antes de serem consideradas finais.
  • Limitações dos contratos inteligentes: A linguagem de script do Bitcoin tem funções limitadas e é difícil implementar contratos inteligentes complexos.

Neste artigo, iremosLightning Network(Lightning Network), Sidechains, Rollup e outras tecnologias são coletivamente referidas como soluções de expansão de camada2 do BTC. Mantêm a descentralização e segurança da rede BTC, ao mesmo tempo que conseguem transações rápidas e de baixo custo. A introdução da tecnologia de camada2 pode melhorar a velocidade das transações e reduzir os custos das mesmas, otimizar a experiência do utilizador e expandir a capacidade da rede. Fornece suporte técnico importante e direção de inovação para o desenvolvimento futuro do BTC.

Neste momento, a Beosin tornou-se o parceiro de segurança oficial da BTC Layer2, como o Merlin Chain., auditou múltiplos protocolos ecológicos BTC, como Bitmap.Games, Surf Protocol, Savmswap, Mineral. Em auditorias passadas, muitas cadeias públicas bem conhecidas passaram nas auditorias de segurança da cadeia pública da Beosin, incluindo Ronin Network, Clover, Self Chain, Crust Network. A Beosin agora lança uma solução de auditoria para BTC Layer2 para fornecer serviços abrangentes e confiáveis de auditoria de segurança para todo o ecossistema BTC.

Lightning Network

O conceito mais antigo da Lightning Network é chamado de “canal de pagamento”. A ideia do seu design é atualizar continuamente o estado da transação não confirmada através da substituição da transação até que seja finalmente transmitida para a rede Bitcoin. Satoshi Nakamoto já tinha proposto a ideia dos canais de pagamento quando criou o Bitcoin em 2009, e incluiu um código preliminar para os canais de pagamento no Bitcoin 1.0, que permitia aos utilizadores atualizar o estado da transação antes desta ser confirmada pela rede. No entanto, só com a publicação do livro branco “The Bitcoin Lightning Network: Scalable Off-Chain Instant Payment” é que a Lightning Network nasceu verdadeiramente e entrou nos olhos do público.

Hoje, a implementação de canais de pagamento e Lightning Network é muito madura. Até agora, a Lightning Network tem um total de 13.325 nós, 49.417 canais e o número total de BTCs comprometidos atingiu 4.975.


https://1ml.com/

Na Lightning Network, é muito importante garantir a segurança dos ativos dos usuários durante o processo de transferência. A seguir, será explicado como a Lightning Network funciona e como proteger a segurança dos ativos dos usuários com base na escala dos nós de rede.

Utilizadores de ambas as partes submetem duas transações à rede principal do Bitcoin: uma para abrir o canal e outra para fechar o canal. É aproximadamente dividido nas seguintes três etapas:

1. Abertura do canal:

Primeiro, os usuários de ambas as partes comprometem Bitcoin na carteira multiassinatura da Lightning Network em BTC. Uma vez que o Bitcoin é comprometido e bloqueado com sucesso, o canal de pagamento é aberto e ambas as partes podem realizar transações fora da cadeia neste canal.

2. Transações fora da cadeia:

Uma vez que o canal está aberto, todas as transações de transferência entre usuários serão processadas na Lightning Network, e não há limite para o número dessas transações off-chain. Claro, essas transações não precisam ser submetidas imediatamente à mainnet do Bitcoin, mas são concluídas instantaneamente através do mecanismo off-chain da Lightning Network.

Este método de processamento off-chain melhora significativamente a velocidade e eficiência das transações, evitando a congestão e as altas taxas de transação da mainnet do Bitcoin.

3. Encerramento de canal e liquidação de ledger:

Quando os utilizadores de ambos os lados decidem sair do canal, ocorrerá a liquidação final do livro-razão. Este processo garante que todos os fundos no canal estejam alocados até à data. Ao mesmo tempo, os utilizadores de ambos os lados vão retirar o saldo pós-liquidação da carteira multi-assinatura, o que reflete a distribuição real dos fundos quando o canal é encerrado. Eventualmente, o canal irá submeter o estado final da transação do livro-razão para a Bitcoin mainnet.

A vantagem da Lightning Network é que:

  • Velocidade de transação aumentada. A Lightning Network permite aos usuários realizar transações off-chain, o que significa que as transações podem ser concluídas quase instantaneamente, sem esperar pelo tempo de confirmação do bloco. Isso pode alcançar velocidades de transação de segundo nível, melhorando muito a experiência do usuário.
  • Privacidade aprimorada. As transações fora da cadeia da Lightning Network não precisam ser registradas publicamente na cadeia principal do Bitcoin, o que melhora a privacidade das transações. Apenas a abertura e o fechamento do canal precisam ser registrados na cadeia principal, portanto, o comportamento de transação do usuário não será totalmente divulgado.
  • Suporte de micropagamentos. A Lightning Network é muito adequada para processar pequenos pagamentos (micropagamentos), como pagamentos de conteúdo, pagamentos de dispositivos IoT, etc. As transações tradicionais de Bitcoin não são adequadas para pagamentos pequenos frequentes devido às altas taxas de transação, enquanto a Lightning Network resolve esse problema.

Desafios enfrentados pela Lightning Network:

  • problemas de liquidez na rede: A Lightning Network depende de Bitcoins pré-bloqueados em canais. Isso significa que os usuários devem depositar Bitcoins suficientes em seus canais de pagamento antecipadamente para fazer uma transação. A liquidez insuficiente pode fazer com que os pagamentos falhem, especialmente em pagamentos maiores.
  • problema de roteamento: Encontrar um caminho eficiente de um remetente de pagamento para um destinatário pode ser um problema complexo, especialmente em redes maiores. À medida que o número de nós e canais de rede aumenta, aumenta também a dificuldade de garantir a conclusão tranquila dos pagamentos.
  • Questões de confiança na custódia de fundos: Os nós podem estar sujeitos a ataques maliciosos e os utilizadores precisam de confiar que os nós aos quais estão ligados não tentarão roubar fundos. Os nós podem prevenir fugas de chaves privadas?
  • Normas técnicas e interoperabilidade: São necessárias normas e protocolos técnicos consistentes entre diferentes implementações da Lightning Network para garantir a interoperabilidade. Atualmente, várias equipes de desenvolvimento estão trabalhando em diferentes implementações da Lightning Network, o que pode levar a problemas de compatibilidade.
  • questões de privacidade: Embora a Lightning Network melhore a privacidade das transações de Bitcoin, as informações das transações ainda podem ser rastreadas ou analisadas. Além disso, os operadores dos nós da rede podem ver as transações que passam pelos seus nós, potencialmente revelando certas informações privadas.

A segurança da Lightning Network afeta diretamente a escalabilidade off-chain do Bitcoin e a segurança dos fundos dos utilizadores. portanto, Além dos itens de auditoria gerais da cadeia pública (consulte o apêndice no final deste artigo para mais detalhes), a Lightning Network também precisa prestar atenção aos seguintes riscos de segurança importantes:

  • Congestão de canal: Verifique a abrangência do design do sistema da Rede Lightning e se isso causará congestão de canal devido a ataques de sofrimento.
  • Interferência de canal: Verifique a segurança da estrutura do canal da Lightning Network e se estará sujeita a ataques de interferência de canal.
  • Bloqueio e desbloqueio de ativos do canal: reveja o processo de bloqueio e desbloqueio de ativos na Lightning Network para garantir que ao abrir ou fechar um canal de pagamento, a transferência de fundos dentro e fora da rede seja segura e confiável.
  • Atualização de estado e encerramento: Avaliar o processo de atualização de estado e o mecanismo de fechamento forçado do canal para garantir que o status mais recente possa ser corretamente identificado e executado quando ocorrem condições anormais.
  • Contrato de Bloqueio de Tempo e Bloqueio de Hash (HTLC): Avalie a implementação do HTLC para garantir que as condições de bloqueio de tempo e bloqueio de hash possam ser executadas corretamente para evitar perdas de fundos causadas por problemas de janela de tempo.
  • Dependência do carimbo de data/hora da blockchain: Avaliar a dependência da Lightning Network no carimbo de data/hora da blockchain do Bitcoin para garantir que o tempo on-chain e off-chain possam ser coordenados corretamente para prevenir ataques temporais.
  • Segurança do algoritmo de roteamento: Verificar a eficiência e segurança do algoritmo de roteamento para prevenir a exposição da privacidade do utilizador e os riscos de manipulação maliciosa de roteamento.
  • Armazenamento de canal e recuperação de dados: Verificar o mecanismo de armazenamento do canal e a estratégia de recuperação de dados para garantir que o estado do canal possa ser restaurado no caso de falha do nó ou desconexão inesperada, a fim de evitar perda de fundos.

side chain

Ao contrário da Lightning Network, a side chain é uma blockchain independente que funciona em paralelo à main chain (como a blockchain BTC) e interoperates com a main chain através de âncora de duas vias (Two-Way Peg). O objetivo da side chain é alcançar mais funções e melhorar a escalabilidade sem alterar o protocolo da main chain.

Como uma blockchain independente, a side chain possui seu próprio mecanismo de consenso, nós e regras de processamento de transações. Ele pode adotar tecnologias e protocolos diferentes da cadeia principal de acordo com as necessidades de cenários de aplicação específicos. Através do mecanismo de ancoragem bidirecional (2WP), a side chain se comunica com a cadeia principal para garantir que os ativos possam ser transferidos livremente e com segurança entre as duas. O mecanismo de funcionamento do mecanismo de ancoragem bidirecional (2WP) é aproximadamente o seguinte:

  1. O utilizador bloqueia BTC na cadeia principal, e a instituição de confiança 1 obtém e utiliza a verificação SPV 2 para garantir se a transação bloqueada do utilizador está confirmada.

  2. A instituição confiável emitirá tokens equivalentes para os usuários na cadeia lateral.

  3. Após as transações gratuitas, os utilizadores bloqueiam os tokens restantes na side chain.

  4. Após verificar a legalidade da transação, a instituição de confiança desbloqueia o BTC na cadeia principal e liberta o valor correspondente de BTC para o utilizador.

Nota 1: A autoridade confiável desempenha um papel fundamental no mecanismo de ancoragem bidirecional e é responsável por gerenciar o bloqueio e a liberação de ativos. Essas instituições precisam ter um alto grau de credibilidade e capacidades técnicas para garantir a segurança dos ativos do usuário.

Nota 2: Verificação SPV permite que os nós verifiquem a validade de transações específicas sem baixar a blockchain completa. Os nós SPV só precisam baixar o cabeçalho do bloco e verificar se a transação está incluída no bloco através da Árvore de Merkle.

Projetos representativos de side chains:

CKB (Rede Nervos)

Nervos Network é um ecossistema de blockchain público de código aberto que visa aproveitar as vantagens de segurança e descentralização do mecanismo de consenso POW do BTC, ao mesmo tempo em que introduz um modelo UTXO mais escalável e flexível para processar transações. Seu núcleo é o Common Knowledge Base (CKB), que é uma blockchain de Camada 1 construída em RISC-V e usa PoW (Proof of Work) como consenso. Ele expande o modelo UTXO em um modelo de Células, permitindo armazenar qualquer dado e suportar a escrita de scripts em qualquer linguagem para execução na cadeia como um contrato inteligente.


Stacks

Stacks conecta cada bloco de Stacks ao bloco Bitcoin através do seu mecanismo de PoX (Proof of Transfer). Para desenvolver contratos inteligentes, Stacks projetou a linguagem de programação Clarity especializada. Em Clarity, a função get-burn-block-info? permite passar a altura do bloco Bitcoin e obter o hash do cabeçalho do bloco. Ao mesmo tempo, a palavra-chave burn-block-height pode obter a altura do bloco atual da cadeia Bitcoin. Essas duas funções permitem que os contratos inteligentes Clarity leiam o estado da cadeia base do Bitcoin, permitindo que as transações Bitcoin sirvam como acionadores de contrato. Ao automatizar a execução desses contratos inteligentes, Stacks estende as capacidades do Bitcoin.

Para uma análise detalhada dos Stacks, você pode ler o artigo de pesquisa anterior da Beosin: "O que são Stacks? Quais desafios podem enfrentar as Stacks da rede BTC de camada 2?

A vantagem das side chains é que:

  • As side chains podem usar diferentes tecnologias e protocolos para realizar vários experimentos e inovações sem afetar a estabilidade e segurança da cadeia principal.
  • As side chains podem introduzir funções que a main chain não possui, como smart contracts, proteção de privacidade, emissão de tokens, etc., para enriquecer os cenários de aplicação do ecossistema blockchain.

Desafios enfrentados pelas sidechains:

  • A side chain tem um mecanismo de consenso independente, pode não ser tão seguro como a cadeia principal do BTC. Se o mecanismo de consenso da side chain for fraco ou tiver falhas, pode levar a ataques de 51% ou outras formas de ataques, afetando a segurança dos ativos do utilizador. A segurança da cadeia principal do BTC depende da sua enorme potência de cálculo e da ampla distribuição de nós, enquanto as side chains podem não cumprir os mesmos padrões de segurança.
  • A implementação do mecanismo de ancoragem bidirecional requer algoritmos e protocolos de criptografia complexos. Se houver brechas neles, isso pode causar problemas na transferência de ativos entre a cadeia principal e a cadeia lateral, e até mesmo levar à perda ou roubo de ativos.
  • Para encontrar um equilíbrio entre velocidade e segurança, a maioria das sidechains tem um grau de centralização mais elevado do que o da main chain.

A Camada2 é um sistema blockchain completo, portanto, os itens gerais de auditoria da cadeia pública também se aplicam à cadeia lateral. Para mais detalhes, consulte o apêndice no final deste artigo.

Também, devido à sua natureza especial, as sidechains também requerem alguma auditoria adicional:

  • Segurança do protocolo de consenso: Rever se o protocolo de consenso da side chain (como PoW, PoS, DPoS) foi completamente verificado e testado, e se existem potenciais vulnerabilidades ou vetores de ataque, como ataques de 51%, ataques de longo alcance, etc.
  • Segurança do nó de consenso: Avaliar a segurança dos nós de consenso, incluindo gestão de chaves, proteção do nó e backup redundante, para evitar que os nós sejam violados ou abusados.
  • Bloqueio e liberação de ativos: Rever o mecanismo de ancoragem de duas vias de ativos entre a side chain e a main chain para garantir que os contratos inteligentes para bloqueio e liberação de ativos sejam seguros e confiáveis, prevenindo gastos duplos, perda de ativos ou falha no bloqueio.
  • Verificação intercadeia: Verifique a precisão e segurança da verificação intercadeia, garantindo que o processo de verificação seja descentralizado e à prova de manipulações, e evite falhas na verificação ou verificação maliciosa.
  • Auditoria de código de contrato: Auditoria aprofundada de todos os contratos inteligentes em execução na side chain para detectar possíveis brechas ou portas dos fundos, especialmente a lógica do contrato ao lidar com operações entre cadeias.
  • Mecanismo de atualização: Verifique se o mecanismo de atualização dos contratos inteligentes é seguro e se existem processos adequados de auditoria e consenso da comunidade para evitar atualizações maliciosas ou manipulação de contratos.
  • Comunicação entre nós: Verificar se o protocolo de comunicação entre os nós da side chain é seguro e se canais criptografados são utilizados para prevenir ataques de intermediários ou vazamentos de dados.
  • Comunicação entre cadeias: Verifique o canal de comunicação entre a cadeia lateral e a cadeia principal para garantir a integridade e autenticidade dos dados e evitar que a comunicação seja sequestrada ou adulterada.
  • Carimbo de data/hora e tempo de bloco: Verificar o mecanismo de sincronização de tempo da side chain para garantir a consistência e precisão do tempo de geração de bloco e prevenir ataques ou rollback de bloco causados por diferenças de tempo.
  • Segurança de governança on-chain: Revisar o mecanismo de governança da side chain para garantir a transparência e segurança dos processos de votação, proposta e tomada de decisão, e prevenir controle malicioso ou ataques.
  • Auditoria económica de token: Verificar o modelo económico do token da side chain, incluindo alocação de tokens, mecanismo de incentivo e modelo de inflação, para garantir que os incentivos económicos não levem a comportamentos maliciosos ou instabilidade do sistema.
  • Mecanismo de taxas: Verificar o mecanismo de taxas de transação da side chain para garantir que corresponda às necessidades dos utilizadores da main chain e da side chain, a fim de evitar manipulação de taxas ou congestionamento de rede.
  • Segurança dos ativos: Auditar o mecanismo de gestão de ativos na cadeia para garantir que o armazenamento, transferência e processo de destruição de ativos seja seguro e confiável, e não haja risco de acesso não autorizado ou roubo.
  • Gestão de chaves: Verifique a política de gestão de chaves da side chain para garantir a segurança e o controlo de acesso da chave privada e prevenir que a chave seja divulgada ou roubada.

Rollup

Rollup é uma solução de escalonamento de Camada 2 projetada para melhorar a taxa de transferência e eficiência das transações em blockchain. Reduz significativamente a carga na cadeia principal ao agrupar ("Rollup") um grande número de transações e processá-las fora da cadeia, enviando apenas os resultados finais para a cadeia principal.

O Rollup é dividido principalmente em zk-Rollup e op-Rollup. Mas, ao contrário do ETH, devido à incompletude de Turing do BTC, não é possível usar contratos no BTC para verificação de prova de conhecimento zero. As soluções tradicionais zk-Rollup não podem ser implementadas no BTC. Então, como implementar o BTC Layer2 usando zk-Rollup? A seguir, vamos tomar o projeto da rede B² como exemplo:

Para completar a verificação de prova de conhecimento zero em BTC, a B² Network criou o script Taproot, que combina a verificação de prova de conhecimento zero do zk-Rollup e o desafio de incentivo do op-Rollup. Seu mecanismo operacional é mais ou menos o seguinte:

  1. A B² Network primeiro agrupa todas as transações iniciadas pelos utilizadores.

  2. Depois de usar o classificador para ordenar as transações Rollup, guarde as transações Rollup usando armazenamento descentralizado e entregue-as ao zkEVM para processamento ao mesmo tempo.

  3. Depois que o zkEVM sincroniza o status da cadeia BTC, ele processa transações como execução de contratos, mescla e empacota os resultados e os envia para o agregador.

  4. O Prover gera uma prova de conhecimento zero e envia-a para o agregador. O agregador agrega as transações e envia a prova para os nós B².

  5. B² Nodes realiza verificação de prova de conhecimento zero e cria scripts de Taproot com base nos dados de Rollup em armazenamento descentralizado.

  6. Taproot é um UTXO com um valor de 1 satoshi. A Inscrição B² em sua estrutura de dados armazena todos os dados do Rollup e o Tapleaf armazena todos os dados de verificação. Após passar pelo mecanismo de desafio de incentivo, será enviado para BTC como um compromisso verificado com base em prova zk.

A vantagem do Rollup é que:

  • RollupHerda as características de segurança e descentralização da cadeia principal. Ao enviar regularmente dados de transação e status para a cadeia principal, a integridade e transparência dos dados são garantidas.
  • Rollup pode ser integrado de forma perfeita em redes blockchain existentes como o Ethereum, permitindo que os desenvolvedores aproveitem facilmente seus benefícios sem modificar significativamente contratos inteligentes e aplicações existentes.
  • Ao processar um grande número de transações fora da cadeia e agrupá-las em lote para submissão à cadeia principal, o Rollup melhora significativamente as capacidades de processamento de transações e aumenta consideravelmente o número de transações por segundo (TPS).
  • As transações de Rollup só precisam ser processadas fora da cadeia, o que reduz consideravelmente os recursos de computação e espaço de armazenamento necessários para as transações na cadeia, reduzindo significativamente as taxas de transação para o usuário.

Desafios enfrentados pelo Rollup:

  • Se os dados fora da cadeia não estiverem disponíveis, os utilizadores podem ser incapazes de verificar transações e restaurar o estado.
  • As transações de Rollup precisam ser processadas em lotes e finalmente submetidas à cadeia principal, o que pode resultar em tempos de liquidação mais longos. Especialmente no op-Rollup, existe um período de disputa e os usuários podem ter que esperar por um longo tempo antes que a transação seja finalmente confirmada.
  • Embora o ZK Rollup forneça maior segurança e confirmação instantânea, os requisitos de computação e armazenamento são elevados, e a geração de provas de conhecimento zero requer uma grande quantidade de recursos de computação.

Uma vez que a solução adotada é Rollup, os principais itens de auditoria de segurança são basicamente os mesmos que os da ETH Layer2.

Outros (Babilónia)

Além da tradicional camada BTC Layer2, recentemente também surgiram alguns novos conceitos de protocolos de terceiros relacionados ao ecossistema BTC, como o Babylon:

O objetivo da Babilônia é converter 21 milhões de BTC em ativos de stake descentralizados. Ao contrário de outras camadas 2 do BTC, a Babilônia não expande a cadeia BTC. É uma cadeia única em si mesma, com um protocolo de hipoteca BTC especial. O principal propósito é conectar-se à cadeia PoS. Hipotecar BTC para fornecer segurança mais forte para a cadeia PoS e resolver o risco de ataques do final remoto da cadeia e a questão centralizada.

A arquitetura está dividida em três camadas:

Camada Bitcoin: Esta é a base sólida da Babilônia, aproveitando a segurança bem conhecida do Bitcoin para garantir que todas as transações sejam super seguras, assim como na rede Bitcoin.

Camada babilônica: No coração de Babilônia está a camada babilônica, uma blockchain personalizada que conecta Bitcoin a várias cadeias Proof-of-Stake (PoS). Ela processa transações, executa contratos inteligentes e garante que tudo funcione perfeitamente em todo o ecossistema.

Camada de cadeia PoS: A camada superior é composta por várias cadeias PoS, sendo que cada cadeia PoS é selecionada pelas suas vantagens únicas. Isso confere à BabylonChain uma escalabilidade e flexibilidade incríveis, permitindo que os utilizadores desfrutem das melhores funcionalidades das diferentes blockchains PoS.

A forma como funciona é assegurar a cadeia PoS usando blocos finais assinados na cadeia BTC. Isso essencialmente estende o protocolo base com rondas de assinatura adicionais. Essas assinaturas na ronda final +1 têm uma característica única: são Assinaturas Únicas Extratáveis (EOTS). O objetivo é integrar os checkpoints PoS no BTC para resolver os problemas de longo período de desassociação e ataques remotos do PoS.

A vantagem de Babilônia é que:

  • Tornar o período de desvinculação do PoS mais rápido
  • Uma vez que BTC está comprometido, o preço está ligado ao BTC, o que pode reduzir a pressão inflacionária na rede PoS correspondente.
  • Abre novos caminhos para ganhos em BTC

Desafios enfrentados por Babilônia:

  • Desenhos econômicos, como a taxa de retorno de 'staking', têm um grande impacto no entusiasmo pelo 'staking' de BTC.
  • Falta de disposições de consistência de recompensa entre as cadeias de PoS

Os protocolos de terceiros têm diferentes pontos de segurança dependendo da sua implementação. Tomando Babylon como exemplo, alguns itens de auditoria de segurança que precisam de atenção são os seguintes:

  1. Segurança de contrato inteligente: O contrato de garantia no BTC é implementado por meio de script UTXO e sua segurança precisa ser observada.

  2. Segurança do algoritmo de assinatura: As assinaturas são usadas no contrato para gerenciar as garantias do usuário, e a segurança de seu algoritmo está relacionada à geração e verificação das assinaturas.

  3. Design do modelo econômico do protocolo: Se o modelo econômico do protocolo está razoavelmente estabelecido em termos de recompensas e penalidades, e se isso levará à perda de ativos do usuário.

apêndice:

Itens gerais de auditoria de cadeia pública & Layer2

  • Overflow inteiro: Verifique o overflow inteiro e o underflow inteiro
  • Loop infinito: Verifique se as condições de julgamento do loop do programa são razoáveis
  • Chamada recursiva infinita: Verifique se a condição de saída da chamada recursiva do programa é razoável
  • Condições de corrida: Verifique operações de acesso a recursos compartilhados em condições concorrentes
  • Crash anormal: Verifique o código de exceção que permite ao programa sair ativamente
  • Vulnerabilidade de divisão por 0: Verifique se há divisão por 0
  • Conversão de tipo: Verificar se a conversão de tipo está correta e se informações importantes são perdidas durante o processo de conversão
  • Índice fora dos limites: Verifique se um elemento além dos limites do array está sendo acessado
  • Vulnerabilidade de deserialização: verifique se há problemas durante o processo de deserialização
  • Segurança de implementação funcional: Verifique se existem riscos de segurança em cada implementação da interface RPC e se ela está de acordo com a função da interface RPC.
  • Pode ser projetado para combinar
  • Se as configurações de permissão da interface RPC sensível são razoáveis: Verifique as configurações de permissão de acesso da interface RPC sensível
  • Mecanismo de transmissão encriptada: Verifique se é utilizado um protocolo de transmissão encriptado, como TLS, etc.
  • Análise do formato de dados da solicitação: Verifique o processo de análise de formato dos dados da solicitação
  • Ataque de desbloqueio de carteira: Quando um nó desbloqueia sua carteira, ele é solicitado por RPC para roubar fundos.
  • Segurança Web tradicional: Verifique as seguintes vulnerabilidades: Cross-site scripting (XSS) / Injeção de modelo
  • Vulnerabilidades de componentes de terceiros / Poluição de parâmetros HTTP / Injeção de SQL / Injeção de entidades XXE deserialização
  • vulnerabilidades/vulnerabilidades SSRF/injeção de código/inclusão de arquivo local/inclusão de arquivo remoto/injeção de execução de comando e outras vulnerabilidades tradicionais
  • Mecanismo de autenticação e identificação de identidade do nó de rede: Verificar se há um mecanismo de identificação do nó e se o mecanismo de identificação do nó pode ser contornado.
  • Poluição da tabela de roteamento: Verifique se a tabela de roteamento pode ser aleatoriamente inserida ou sobrescrita com dados
  • Algoritmo de descoberta de nó: Verifique se o algoritmo de descoberta de nó é equilibrado e imprevisível, como algoritmo de distância desequilibrada e outros problemas
  • Auditoria de ocupação do número de conexões: Verificar se o limite e a gestão do número de nós de conexão da rede p2p são razoáveis
  • Ataque de eclipse: Avaliar o custo e o prejuízo de um ataque de eclipse e fornecer análise quantitativa, se necessário
  • Ataque de Síbil: Avaliar mecanismo de consenso de votação e analisar estratégia de verificação de qualificação de voto
  • Ataque de escuta: Verificação de protocolos de comunicação para vazamentos de privacidade
  • Ataque alienígena: Avalie se o nó pode identificar nós de cadeia semelhantes
  • Time Hijacking: Verificação do mecanismo de cálculo do tempo de rede de um nó
  • Ataque de Exaustão de Memória: Verificação de Lugares com Grande Consumo de Memória
  • Ataque de Exaustão do Disco Rígido: Verificar Onde os Arquivos Grandes Estão Armazenados
  • Ataque de pressão do socket: verifique a política de limite no número de conexões
  • Ataque de exaustão de manipulação do kernel: Verifique os limites da criação de manipulação do kernel, como manipulação de arquivos, etc.
  • Vazamentos de memória persistentes: Verifique vazamentos de memória
  • Segurança do Algoritmo de Hash: Verificar a Resistência à Colisão de um Algoritmo de Hash
  • Segurança do algoritmo de assinatura digital: Verificar a segurança do algoritmo de assinatura e a segurança da implementação do algoritmo
  • Segurança do algoritmo de criptografia: Verificar a segurança do algoritmo de criptografia, segurança na implementação do algoritmo
  • Segurança do gerador de números aleatórios: Verificar se os algoritmos críticos de geração de números aleatórios são confiáveis
  • Segurança da implementação do BFT: Avaliando a segurança da implementação do algoritmo BFT
  • Regras de escolha de bifurcação: Verifique as regras de escolha de bifurcação para garantir a segurança
  • Detecção de centralização: identificar se existe centralização excessiva no design do sistema
  • Auditoria de incentivos: Avaliar o impacto dos incentivos na segurança
  • Ataque de gastos duplos: verifique se o consenso pode se defender contra ataques de gastos duplos
  • Auditoria de ataque MEV: Verifique o impacto do MEV dos nós de embalagem de bloco na justiça da cadeia
  • Bloquear auditoria do processo de sincronização: verifique problemas de segurança durante o processo de sincronização
  • Auditoria do processo de análise de formato de bloco: Verificação de problemas de segurança no processo de análise de formato, como erros de análise que levam a falhas
  • Auditoria do processo de geração de blocos: verifique os problemas de segurança durante o processo de geração de blocos, incluindo se o método de construção da raiz da árvore Merkle é razoável
  • Auditoria do processo de verificação do bloco: Verificar se os itens de conteúdo da assinatura do bloco e a lógica de verificação são suficientes
  • Auditoria de lógica de confirmação de bloco: verifique se o algoritmo de confirmação de bloco e a implementação são razoáveis
  • Colisão de hash de bloco: Verifique o método de construção da colisão de hash de bloco e se o tratamento da colisão é razoável.
  • Limites de recursos de processamento de blocos: Verifique se os limites de recursos, como a piscina de blocos órfãos, cálculo de verificação, endereçamento em disco rígido, etc., são razoáveis.
  • Auditoria do processo de sincronização de transações: Verificar problemas de segurança durante o processo de sincronização
  • Colisão de hash de transação: Verifique o método de construção da colisão de hash de transação e o processamento da colisão
  • Análise de formato de transação: Verifique problemas de segurança durante o processo de análise de formato, como erros de análise que levam a falhas
  • Verificação de legalidade da transação: Verifique se cada tipo de item de conteúdo de assinatura de transação e lógica de verificação são suficientes
  • Limites de recursos de processamento de transações: Verifique se os limites de recursos, como pools de transações, cálculos de verificação, endereçamento de disco rígido, etc., são razoáveis.
  • Ataque de maleabilidade de transação: uma transação pode alterar campos internos (como ScriptSig) para alterar o hash da transação sem afetar a validade da transação?
  • Auditoria de ataque de repetição de transação: Verifique a deteção do sistema de repetição de transação
  • Verificação do bytecode do contrato: Verificar os problemas de segurança do processo de verificação da máquina virtual do contrato, como overflow de inteiro, loop infinito, etc.
  • Execução de bytecode de contrato: Verificar os problemas de segurança no processo de execução de bytecode da máquina virtual, como overflow de inteiros, loop infinito, etc.
  • Modelo de gás: Verifique se as taxas de manuseio correspondentes a cada operação atômica de processamento de transação/execução de contrato são proporcionais ao consumo de recursos
  • Integridade do registro: verifique se as informações de chave são registradas
  • Segurança dos registos de log: Verificar se existem problemas de segurança causados por manipulação inadequada durante o processamento de log, como overflow de inteiros, etc.
  • O log contém informações privadas: verifique se o log contém informações privadas, como chaves
  • Armazenamento de log: verifique se o log registra muito conteúdo, causando consumo de recursos do nó
  • Segurança da cadeia de suprimentos de código de nó: Verifique os problemas conhecidos de todas as bibliotecas, componentes de terceiros e versões correspondentes do framework da cadeia pública

A Beosin é uma das primeiras empresas de segurança blockchain do mundo a se envolver em verificação formal. Com foco no negócio ecológico completo "segurança + conformidade", estabeleceu filiais em mais de 10 países e regiões ao redor do mundo. Seu negócio abrange auditorias de segurança de código antes do projeto ficar online, monitoramento e bloqueio de risco de segurança durante a operação do projeto, recuperação de roubo, produtos de conformidade de blockchain "One-stop" + serviços de segurança, como antilavagem de dinheiro de ativos virtuais (AML) e avaliações de conformidade que cumprem os requisitos regulatórios locais. As partes do projeto com necessidades de auditoria são bem-vindas para entrar em contato com a equipe de segurança da Beosin.

Isenção de responsabilidade:

  1. Este artigo foi reproduzido a partir de [Beosin]. Todos os direitos autorais pertencem ao autor original [Beosin]. Se houver objeções a esta reimpressão, contacte o Gate Learnequipa, e eles tratarão disso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!