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

intermediário8/27/2024, 8:04:59 AM
Este artigo discute as soluções de expansão da camada BTC Layer2, incluindo Lightning Network, side chain, Rollup e outras tecnologias, que alcançam transações rápidas e de baixo custo por meio de diferentes mecanismos, garantindo também 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 fornecem funcionalidade independente e inovadora por meio de pegs bidirecionais. A tecnologia Rollup melhora a capacidade de processamento ao processar grandes volumes de transações fora da cadeia, apesar de enfrentar desafios no tempo de liquidação e nos recursos de computação.

Bitcoin (BTC), como a primeira criptomoeda do mundo, gradualmente se tornou a pedra angular de ativos digitais e finanças descentralizadas desde sua criação 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 rápido possível.
  • Tempo de confirmação da transação: O blockchain do Bitcoin gera um novo bloco a cada 10 minutos em média, o que significa que as transações on-chain muitas vezes 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 da camada2 do BTC. Elas mantêm a descentralização e segurança da rede BTC ao mesmo tempo em que alcançam transações rápidas e de baixo custo. A introdução da tecnologia Layer2 pode melhorar a velocidade das transações e reduzir os custos, otimizar a experiência do usuário e expandir a capacidade da rede. Ela fornece suporte técnico importante e direção de inovação para o desenvolvimento futuro do BTC.

Atualmente, a Beosin se tornou a parceira oficial de segurança da camada 2 do BTC, como a Merlin Chain. Ela auditou vários protocolos ecológicos do BTC, como Bitmap.Games, Surf Protocol, Savmswap, Mineral. Em auditorias anteriores, muitas blockchains públicas conhecidas passaram pelas auditorias de segurança da Beosin, incluindo Ronin Network, Clover, Self Chain, Crust Network. Agora, a Beosin lança uma solução de auditoria para a camada 2 do BTC, fornecendo serviços abrangentes e confiáveis de auditoria de segurança para todo o ecossistema do BTC.

Lightning Network

O conceito mais antigo da Lightning Network é chamado de 'canal de pagamento'. Sua ideia de design é atualizar continuamente o status da transação não confirmada por meio da substituição da transação até que ela seja finalmente transmitida para a rede Bitcoin. Satoshi Nakamoto já havia proposto a ideia de canais de pagamento quando criou o Bitcoin em 2009 e incluiu um código de rascunho para canais de pagamento no Bitcoin 1.0, que permitia aos usuários atualizar o status da transação antes que ela fosse confirmada pela rede. No entanto, foi somente com o lançamento do white paper 'A Rede Lightning do Bitcoin: Pagamento Instantâneo Escalável Fora da Cadeia' que a Lightning Network realmente nasceu e entrou em foco público.

Hoje, a implementação de canais de pagamento e Lightning Network está muito madura. Até o momento, a Lightning Network possui um total de 13.325 nós, 49.417 canais, e o número total de BTC comprometidos atingiu 4.975.


https://1ml.com/

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

Usuários de ambas as partes enviam duas transações para a rede principal do Bitcoin: uma para abrir o canal e outra para fechar o canal. Isso é dividido aproximadamente nas seguintes três etapas:

1. Abertura de canal:

Primeiro, os usuários de ambas as partes comprometem Bitcoin para a 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 conduzir transações fora da cadeia neste canal.

2. Transações fora da cadeia:

Uma vez que o canal estiver 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 enviadas imediatamente para o Bitcoin mainnet, 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. Fechamento de canal e liquidação de livro-razão:

Quando os usuários de ambos os lados decidem sair do canal, a liquidação final do razão ocorrerá. Esse processo garante que todos os fundos no canal estejam alocados atualizados. Ao mesmo tempo, os usuários de ambos os lados irão retirar o saldo pós-liquidação da carteira multi-assinatura, que reflete a distribuição real dos fundos quando o canal é fechado. Eventualmente, o canal enviará o estado final da transação do razão para a mainnet do Bitcoin.

A vantagem da Lightning Network é que:

  • Aumento da velocidade de transação. A Lightning Network permite que os usuários realizem transações fora da cadeia, 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, para que o comportamento de transação do usuário não seja totalmente divulgado.
  • Suporte a 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 causar falhas nos pagamentos, 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 tamanhos de rede maiores. À medida que o número de nós e canais de rede aumenta, a dificuldade de garantir a conclusão suave dos pagamentos também aumenta.
  • Problemas de confiança na custódia de fundos: Os nós podem estar sujeitos a ataques maliciosos e os usuários precisam confiar que os nós aos quais estão conectados não tentarão roubar fundos. Os nós podem evitar vazamentos de chaves privadas?
  • Padrões técnicos e interoperabilidade: São necessários padrões técnicos e protocolos consistentes entre diferentes implementações da Lightning Network para garantir 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 do 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 passando por 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 do usuário. Portanto, além dos itens de auditoria geral da cadeia pública (consulte o apêndice no final deste artigo para obter detalhes), a Lightning Network também precisa prestar atenção aos seguintes riscos de segurança importantes:

  • Congestionamento de canal: Verifique a abrangência do design do sistema Lightning Network e se ele causará congestionamento de canal devido a ataques de luto.
  • 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 de 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 cadeia seja segura e confiável.
  • Atualização de status e fechamento: Avaliar o processo de atualização de status e mecanismo de fechamento forçado do canal para garantir que o status mais recente possa ser corretamente identificado e executado quando ocorrerem condições anormais.
  • Contrato de Tempo de Bloqueio e Contrato de 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 de carimbo de data/hora do blockchain: Avalie a dependência da Lightning Network no carimbo de data/hora do blockchain do Bitcoin para garantir que o tempo on-chain e off-chain possam ser coordenados corretamente para evitar ataques temporais.
  • Segurança do algoritmo de roteamento: Verifique a eficiência e a segurança do algoritmo de roteamento para evitar a exposição da privacidade do usuário e os riscos de manipulação maliciosa do roteamento.
  • Armazenamento de canal e recuperação de dados: Verifique o mecanismo de armazenamento do canal e a estratégia de recuperação de dados para garantir que o status do canal possa ser restaurado no caso de falha do nó ou desconexão inesperada, a fim de evitar a perda de fundos.

side chain

Ao contrário da Lightning Network, a side chain é uma blockchain independente que funciona em paralelo à cadeia principal (como a blockchain BTC) e interopera com a cadeia principal por meio de ancoragem bidirecional (Two-Way Peg). O objetivo da side chain é alcançar mais funções e melhorar a escalabilidade sem alterar o protocolo da cadeia principal.

Como uma blockchain independente, a side chain possui seu próprio mecanismo de consenso, nós e regras de processamento de transações. Ela pode adotar tecnologias e protocolos diferentes da main chain 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 main chain para garantir que os ativos possam ser transferidos livre e seguramente entre as duas. O mecanismo de operação do mecanismo de ancoragem bidirecional (2WP) é mais ou menos o seguinte:

  1. O usuário bloqueia BTC na cadeia principal, e a instituição confiável 1 obtém e usa a verificação SPV 2 para garantir se a transação bloqueada do usuário foi confirmada.

  2. A instituição confiável emitirá tokens equivalentes aos usuários na side chain.

  3. Após transações gratuitas, os usuários bloqueiam os tokens restantes na side chain.

  4. Após verificar a legalidade da transação, a instituição confiável desbloqueia o BTC na cadeia principal e libera o valor correspondente de BTC para o usuário.

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 SPVPermite que os nós verifiquem a validade de transações específicas sem baixar todo o blockchain. 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 é Common Knowledge Base (CKB), que é uma blockchain de Camada 1 construída em RISC-V e usa PoW (Proof of Work) como o consenso. Ele expande o modelo UTXO para um modelo de Célula, permitindo armazenar qualquer dado e suportar a escrita de scripts em qualquer linguagem para executar na cadeia como um contrato inteligente.


Stacks

Stacks conecta cada bloco Stacks ao bloco Bitcoin através do seu mecanismo 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 do Bitcoin sirvam como acionadores de contrato. Automatizando a execução desses contratos inteligentes, Stacks estende as capacidades do Bitcoin.

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

A vantagem das side chains é que:

  • As side chains podem utilizar diferentes tecnologias e protocolos para conduzir vários experimentos e inovações sem afetar a estabilidade e segurança da main chain.
  • As side chains podem introduzir funções que a main chain não possui, como contratos inteligentes, 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 possui um mecanismo de consenso independente, que pode não ser tão seguro quanto a cadeia principal BTC. Se o mecanismo de consenso da side chain for fraco ou tiver brechas, isso pode levar a ataques de 51% ou outras formas de ataques, afetando a segurança dos ativos do usuário. A segurança da cadeia principal BTC depende de sua enorme capacidade de computação e ampla distribuição de nós, enquanto as side chains podem não atender aos 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, pode causar problemas com a 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 maior do que o da cadeia principal.

Layer2 é um sistema blockchain completo, portanto, os itens de auditoria geral 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: Verifique se o protocolo de consenso da side chain (como PoW, PoS, DPoS) foi totalmente verificado e testado, e se existem vulnerabilidades ou vetores de ataque potenciais, como ataques de 51%, ataques de longo alcance, etc.
  • Segurança do nó de consenso: Avalie a segurança dos nós de consenso, incluindo o gerenciamento de chaves, a proteção do nó e o backup redundante, para evitar que os nós sejam violados ou abusados.
  • Bloqueio e liberação de ativos: Analisar o mecanismo de ancoragem bidirecional de ativos entre a side chain e a main chain para garantir que os contratos inteligentes de bloqueio e liberação de ativos sejam seguros e confiáveis, prevenindo gastos duplos, perda de ativos ou falha no bloqueio.
  • Verificação entre cadeias: Verificar a precisão e segurança da verificação entre cadeias, garantir que o processo de verificação seja descentralizado e à prova de adulteração, e prevenir falhas de verificação ou verificação maliciosa.
  • Auditoria de código de contrato: Auditoria aprofundada de todos os contratos inteligentes em execução na cadeia lateral 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 alterações de contrato.
  • Comunicação entre nós: Verifique se o protocolo de comunicação entre os nós da side chain é seguro e se canais criptografados são usados para prevenir ataques de homem-no-meio 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.
  • Timestamp e tempo de bloco: Verifique o mecanismo de sincronização de tempo da side chain para garantir a consistência e a precisão do tempo de geração de bloco e impedir ataques ou rollbacks de bloco causados por diferenças de tempo.
  • Segurança da governança on-chain: Rever 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 ou ataques maliciosos.
  • Auditoria econômica de token: Verifique o modelo econômico do token da side chain, incluindo alocação de token, 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 taxa: Verifique o mecanismo de taxa de transação da side chain para garantir que corresponda às necessidades dos usuários da main chain e da side chain, a fim de evitar manipulação de taxas ou congestão de rede.
  • Segurança de ativos: Audite o mecanismo de gerenciamento 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: Verificar a política de gestão de chaves da side chain para garantir a segurança e controle de acesso da chave privada e prevenir que a chave seja vazada ou roubada.

Rollup

Rollup é uma solução de escalabilidade da Camada 2 projetada para melhorar a eficiência e a taxa de transferência de transações em blockchain. Ele reduz significativamente a carga na cadeia principal, embalando (“Rollup”) um grande número de transações e processando-as off-chain, enviando apenas os resultados finais para a cadeia principal.

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

Para concluir 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 de zk-Rollup e o desafio de incentivo de op-Rollup. Seu mecanismo de operação é mais ou menos o seguinte:

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

  2. Após usar o classificador para classificar as transações Rollup, salve as transações Rollup usando armazenamento descentralizado e entregue-as ao zkEVM para processamento ao mesmo tempo.

  3. Após a sincronização do status da cadeia BTC pelo zkEVM, ele processa transações como execução de contratos, mescla e empacota os resultados e os envia para o agregador.

  4. Prover gera uma prova de conhecimento zero e a envia 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 Taproot com base nos dados Rollup armazenados descentralizadamente.

  6. Taproot é uma UTXO com um valor de 1 satoshi. A Inscrição B² em sua estrutura de dados armazena todos os dados Rollup, e Tapleaf armazena todos os dados de verificação. Após passar pelo mecanismo de desafio de incentivo, ele 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ções e status para a cadeia principal, a integridade e transparência dos dados são garantidas.
  • Rollup pode ser integrado de forma transparente em redes blockchain existentes, como Ethereum, permitindo que desenvolvedores aproveitem facilmente seus benefícios sem modificar significativamente contratos inteligentes e aplicativos existentes.
  • Ao processar um grande número de transações fora da cadeia e empacotá-las em um lote para submissão à cadeia principal, Rollup melhora significativamente as capacidades de processamento de transações e aumenta significativamente o número de transações por segundo (TPS).
  • As transações Rollup só precisam ser processadas fora da cadeia, o que reduz muito 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 do usuário.

Desafios enfrentados por Rollup:

  • Se os dados off-chain não estiverem disponíveis, os usuários podem ser incapazes de verificar transações e restaurar o status.
  • As transações Rollup precisam ser processadas em lotes e finalmente enviadas à cadeia principal, o que pode resultar em tempos de liquidação mais longos. Especialmente em op-Rollup, há 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, seus requisitos de computação e armazenamento são elevados e gerar provas de conhecimento zero requer uma grande quantidade de recursos de computação.

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

Outros (Babilônia)

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

O objetivo da Babilônia é converter 21 milhões de BTC em ativos de staking 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 objetivo é 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 é dividida em três camadas:

Camada Bitcoin: Esta é a base sólida de 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 centro de Babilônia está a camada babilônica, uma blockchain personalizada que conecta o Bitcoin a várias cadeias de Prova de Participação (PoS). Ele processa transações, executa contratos inteligentes e garante que tudo funcione sem problemas em todo o ecossistema.

Camada de cadeia PoS: A camada superior é composta por múltiplas cadeias PoS, sendo que cada cadeia PoS é selecionada por suas vantagens únicas. Isso dá à BabylonChain uma escalabilidade e flexibilidade incríveis, permitindo que os usuários desfrutem dos melhores recursos de diferentes blockchains PoS.

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

A vantagem de Babilônia é que:

  • Torne o período de desvinculação do PoS mais rápido
  • Uma vez que o BTC é colateralizado, o preço está vinculado ao BTC, o que pode reduzir a pressão inflacionária na rede correspondente de PoS.
  • Abre novas oportunidades para ganhos com BTC

Desafios enfrentados por Babilônia:

  • Designs econômicos como a taxa de retorno do staking têm um impacto maior no entusiasmo pelo staking de BTC
  • Falta de provisões de consistência de recompensa entre cadeias PoS

Os protocolos de terceiros têm diferentes pontos de segurança dependendo de sua implementação. Tomando Babilônia 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 penhor em BTC é implementado por meio de script UTXO, e sua segurança precisa ser prestada atenção.

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

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

apêndice:

Itens gerais de auditoria da cadeia pública e Layer2

  • Estouro de inteiro: verifique se há estouro de inteiro e subfluxo de inteiro
  • Loop infinito: Verifique se as condições de julgamento de 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 as operações de acesso a recursos compartilhados em condições simultâneas
  • Crash anormal: Verifique o código de lançamento de exceção que permite que o programa saia ativamente
  • Vulnerabilidade de divisão por 0: Verifique se há divisão por 0
  • Conversão de tipo: verifique se a conversão de tipo está correta e se informações importantes são perdidas durante o processo de conversão
  • Array fora dos limites: Verifique se um elemento além dos limites do array está sendo acessado
  • Vulnerabilidade de desserialização: verifique se há algum problema durante o processo de desserialização
  • Segurança de implementação funcional: Verifique se existem riscos de segurança em cada implementação de interface RPC e se ela está em conformidade 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 criptografada: Verifique se é utilizado um protocolo de transmissão criptografada, como TLS, etc.
  • Análise de formatação de dados de solicitação: Verificar o processo de análise de formatação dos dados da solicitação
  • Ataque de desbloqueio de carteira: Quando um nó desbloqueia sua carteira, ele é solicitado pelo RPC para roubar fundos.
  • Segurança tradicional da Web: 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 SQL / Injeção de entidade XXE / Desserialização
  • vulnerabilidades/vulnerabilidades de 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 de nó de rede: Verifique se há um mecanismo de identificação de nó e se o mecanismo de identificação de nó pode ser contornado.
  • Poluição da tabela de roteamento: Verifique se a tabela de roteamento pode ter dados inseridos ou sobrescritos aleatoriamente
  • Algoritmo de descoberta de nós: Verifique se o algoritmo de descoberta de nós é equilibrado e imprevisível, como algoritmo de distância desequilibrada e outras questões
  • Auditoria de ocupação do número de conexões: Verifique se o limite e o gerenciamento do número de nós de conexão de rede p2p são razoáveis
  • Ataque eclipse: Avalie o custo e o dano de um ataque eclipse e forneça análise quantitativa, se necessário
  • Ataque Sybil: Avaliar mecanismo de consenso de votação e analisar estratégia de verificação de qualificação de votação
  • Ataque de espionagem: verificando protocolos de comunicação em busca de vazamentos de privacidade
  • Ataque alienígena: Avalie se o nó pode identificar nós de cadeia semelhantes
  • Sequestro de Tempo: Verificando o mecanismo de cálculo de tempo de rede de um nó
  • Ataque de Exaustão de Memória: Verificando Locais de Consumo de Memória Grande
  • Ataque de Exaustão de Disco Rígido: Verifique Onde os Arquivos Grandes Estão Armazenados
  • Ataque de pressão de socket: verifique a política de limite no número de conexões
  • Ataque de exaustão do identificador do kernel: Verifique os limites da criação do identificador do kernel, como identificadores de arquivo, etc.
  • Vazamentos de memória persistentes: Verificar vazamentos de memória
  • Segurança do algoritmo de hash: Verificação da resistência à colisão de um algoritmo de hash
  • Segurança do algoritmo de assinatura digital: verifique a segurança do algoritmo de assinatura e a segurança da implementação do algoritmo
  • Segurança do algoritmo de criptografia: Verifique a segurança do algoritmo de criptografia, a segurança da implementação do algoritmo
  • Segurança do gerador de números aleatórios: Verificação se os algoritmos críticos de geração de números aleatórios são seguros
  • Segurança de implementação 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 há centralização excessiva no design do sistema
  • Auditoria de incentivos: Avaliar o impacto dos incentivos na segurança
  • Ataque de gasto duplo: Verifique se o consenso pode defender contra um ataque de gasto duplo
  • Auditoria de ataque MEV: Verifique o impacto do MEV dos nós de empacotamento de blocos na justiça da cadeia
  • Auditoria do processo de sincronização de blocos: Verifique problemas de segurança durante o processo de sincronização
  • Auditoria do processo de análise de formato de bloco: verifique 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: Verificar 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 de Merkle é razoável
  • Auditoria do processo de verificação de blocos: Verifique se os itens de conteúdo da assinatura de bloco e a lógica de verificação são suficientes
  • Auditoria da 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 pool de blocos órfãos, cálculo de verificação, endereçamento de 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 da legalidade da transação: verifique se cada tipo de assinatura de transação, itens de conteúdo 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 da 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 detecção do sistema de repetição de transação
  • Verificação de código de bytes do contrato: Verifique os problemas de segurança do processo de verificação da máquina virtual do contrato, como estouro de inteiro, loop infinito, etc.
  • Execução de bytecode de contrato: Verifique os problemas de segurança no processo de execução de bytecode da máquina virtual, como estouro de inteiro, loop infinito, etc.
  • Modelo de gás: Verificar se as taxas de manuseio correspondentes a cada operação atômica de processamento da transação/execução do contrato são proporcionais ao consumo de recursos
  • Integridade do log: verifique se as informações de chave estão registradas
  • Segurança de registros de log: Verifique se há problemas de segurança causados por manipulação inadequada durante o processamento de log, como overflow de inteiro, etc.
  • O registro contém informações privadas: Verifique se o registro contém informações privadas como chaves
  • Armazenamento de logs: verifique se o log registra muito conteúdo, causando o 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 e versões correspondentes da estrutura de cadeia pública de terceiros

Beosin é uma das primeiras empresas de segurança blockchain do mundo a se envolver em verificação formal. Focando no negócio ecológico completo de 'segurança + conformidade', ela estabeleceu filiais em mais de 10 países e regiões ao redor do mundo. Seus negócios abrangem auditorias de segurança de código antes do lançamento do projeto, monitoramento e bloqueio de riscos de segurança durante a operação do projeto, recuperação de roubo, produtos de conformidade blockchain 'One-stop' + serviços de segurança, como anti-lavagem de dinheiro (AML) de ativos virtuais e avaliações de conformidade que atendem aos requisitos regulatórios locais. As partes interessadas em auditoria são bem-vindas a entrar em contato com a equipe de segurança da Beosin.

Aviso legal:

  1. Este artigo é reimpresso de [Beosin]. Todos os direitos autorais pertencem ao autor original [ Beosin]. Se houver objeções a esta reimpressão, por favor, entre em contato com o Gate Aprenda equipe, e eles vão lidar com isso prontamente.
  2. Isenção 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 do Gate Learn. A menos que seja mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

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

intermediário8/27/2024, 8:04:59 AM
Este artigo discute as soluções de expansão da camada BTC Layer2, incluindo Lightning Network, side chain, Rollup e outras tecnologias, que alcançam transações rápidas e de baixo custo por meio de diferentes mecanismos, garantindo também 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 fornecem funcionalidade independente e inovadora por meio de pegs bidirecionais. A tecnologia Rollup melhora a capacidade de processamento ao processar grandes volumes de transações fora da cadeia, apesar de enfrentar desafios no tempo de liquidação e nos recursos de computação.

Bitcoin (BTC), como a primeira criptomoeda do mundo, gradualmente se tornou a pedra angular de ativos digitais e finanças descentralizadas desde sua criação 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 rápido possível.
  • Tempo de confirmação da transação: O blockchain do Bitcoin gera um novo bloco a cada 10 minutos em média, o que significa que as transações on-chain muitas vezes 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 da camada2 do BTC. Elas mantêm a descentralização e segurança da rede BTC ao mesmo tempo em que alcançam transações rápidas e de baixo custo. A introdução da tecnologia Layer2 pode melhorar a velocidade das transações e reduzir os custos, otimizar a experiência do usuário e expandir a capacidade da rede. Ela fornece suporte técnico importante e direção de inovação para o desenvolvimento futuro do BTC.

Atualmente, a Beosin se tornou a parceira oficial de segurança da camada 2 do BTC, como a Merlin Chain. Ela auditou vários protocolos ecológicos do BTC, como Bitmap.Games, Surf Protocol, Savmswap, Mineral. Em auditorias anteriores, muitas blockchains públicas conhecidas passaram pelas auditorias de segurança da Beosin, incluindo Ronin Network, Clover, Self Chain, Crust Network. Agora, a Beosin lança uma solução de auditoria para a camada 2 do BTC, fornecendo serviços abrangentes e confiáveis de auditoria de segurança para todo o ecossistema do BTC.

Lightning Network

O conceito mais antigo da Lightning Network é chamado de 'canal de pagamento'. Sua ideia de design é atualizar continuamente o status da transação não confirmada por meio da substituição da transação até que ela seja finalmente transmitida para a rede Bitcoin. Satoshi Nakamoto já havia proposto a ideia de canais de pagamento quando criou o Bitcoin em 2009 e incluiu um código de rascunho para canais de pagamento no Bitcoin 1.0, que permitia aos usuários atualizar o status da transação antes que ela fosse confirmada pela rede. No entanto, foi somente com o lançamento do white paper 'A Rede Lightning do Bitcoin: Pagamento Instantâneo Escalável Fora da Cadeia' que a Lightning Network realmente nasceu e entrou em foco público.

Hoje, a implementação de canais de pagamento e Lightning Network está muito madura. Até o momento, a Lightning Network possui um total de 13.325 nós, 49.417 canais, e o número total de BTC comprometidos atingiu 4.975.


https://1ml.com/

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

Usuários de ambas as partes enviam duas transações para a rede principal do Bitcoin: uma para abrir o canal e outra para fechar o canal. Isso é dividido aproximadamente nas seguintes três etapas:

1. Abertura de canal:

Primeiro, os usuários de ambas as partes comprometem Bitcoin para a 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 conduzir transações fora da cadeia neste canal.

2. Transações fora da cadeia:

Uma vez que o canal estiver 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 enviadas imediatamente para o Bitcoin mainnet, 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. Fechamento de canal e liquidação de livro-razão:

Quando os usuários de ambos os lados decidem sair do canal, a liquidação final do razão ocorrerá. Esse processo garante que todos os fundos no canal estejam alocados atualizados. Ao mesmo tempo, os usuários de ambos os lados irão retirar o saldo pós-liquidação da carteira multi-assinatura, que reflete a distribuição real dos fundos quando o canal é fechado. Eventualmente, o canal enviará o estado final da transação do razão para a mainnet do Bitcoin.

A vantagem da Lightning Network é que:

  • Aumento da velocidade de transação. A Lightning Network permite que os usuários realizem transações fora da cadeia, 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, para que o comportamento de transação do usuário não seja totalmente divulgado.
  • Suporte a 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 causar falhas nos pagamentos, 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 tamanhos de rede maiores. À medida que o número de nós e canais de rede aumenta, a dificuldade de garantir a conclusão suave dos pagamentos também aumenta.
  • Problemas de confiança na custódia de fundos: Os nós podem estar sujeitos a ataques maliciosos e os usuários precisam confiar que os nós aos quais estão conectados não tentarão roubar fundos. Os nós podem evitar vazamentos de chaves privadas?
  • Padrões técnicos e interoperabilidade: São necessários padrões técnicos e protocolos consistentes entre diferentes implementações da Lightning Network para garantir 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 do 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 passando por 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 do usuário. Portanto, além dos itens de auditoria geral da cadeia pública (consulte o apêndice no final deste artigo para obter detalhes), a Lightning Network também precisa prestar atenção aos seguintes riscos de segurança importantes:

  • Congestionamento de canal: Verifique a abrangência do design do sistema Lightning Network e se ele causará congestionamento de canal devido a ataques de luto.
  • 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 de 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 cadeia seja segura e confiável.
  • Atualização de status e fechamento: Avaliar o processo de atualização de status e mecanismo de fechamento forçado do canal para garantir que o status mais recente possa ser corretamente identificado e executado quando ocorrerem condições anormais.
  • Contrato de Tempo de Bloqueio e Contrato de 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 de carimbo de data/hora do blockchain: Avalie a dependência da Lightning Network no carimbo de data/hora do blockchain do Bitcoin para garantir que o tempo on-chain e off-chain possam ser coordenados corretamente para evitar ataques temporais.
  • Segurança do algoritmo de roteamento: Verifique a eficiência e a segurança do algoritmo de roteamento para evitar a exposição da privacidade do usuário e os riscos de manipulação maliciosa do roteamento.
  • Armazenamento de canal e recuperação de dados: Verifique o mecanismo de armazenamento do canal e a estratégia de recuperação de dados para garantir que o status do canal possa ser restaurado no caso de falha do nó ou desconexão inesperada, a fim de evitar a perda de fundos.

side chain

Ao contrário da Lightning Network, a side chain é uma blockchain independente que funciona em paralelo à cadeia principal (como a blockchain BTC) e interopera com a cadeia principal por meio de ancoragem bidirecional (Two-Way Peg). O objetivo da side chain é alcançar mais funções e melhorar a escalabilidade sem alterar o protocolo da cadeia principal.

Como uma blockchain independente, a side chain possui seu próprio mecanismo de consenso, nós e regras de processamento de transações. Ela pode adotar tecnologias e protocolos diferentes da main chain 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 main chain para garantir que os ativos possam ser transferidos livre e seguramente entre as duas. O mecanismo de operação do mecanismo de ancoragem bidirecional (2WP) é mais ou menos o seguinte:

  1. O usuário bloqueia BTC na cadeia principal, e a instituição confiável 1 obtém e usa a verificação SPV 2 para garantir se a transação bloqueada do usuário foi confirmada.

  2. A instituição confiável emitirá tokens equivalentes aos usuários na side chain.

  3. Após transações gratuitas, os usuários bloqueiam os tokens restantes na side chain.

  4. Após verificar a legalidade da transação, a instituição confiável desbloqueia o BTC na cadeia principal e libera o valor correspondente de BTC para o usuário.

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 SPVPermite que os nós verifiquem a validade de transações específicas sem baixar todo o blockchain. 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 é Common Knowledge Base (CKB), que é uma blockchain de Camada 1 construída em RISC-V e usa PoW (Proof of Work) como o consenso. Ele expande o modelo UTXO para um modelo de Célula, permitindo armazenar qualquer dado e suportar a escrita de scripts em qualquer linguagem para executar na cadeia como um contrato inteligente.


Stacks

Stacks conecta cada bloco Stacks ao bloco Bitcoin através do seu mecanismo 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 do Bitcoin sirvam como acionadores de contrato. Automatizando a execução desses contratos inteligentes, Stacks estende as capacidades do Bitcoin.

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

A vantagem das side chains é que:

  • As side chains podem utilizar diferentes tecnologias e protocolos para conduzir vários experimentos e inovações sem afetar a estabilidade e segurança da main chain.
  • As side chains podem introduzir funções que a main chain não possui, como contratos inteligentes, 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 possui um mecanismo de consenso independente, que pode não ser tão seguro quanto a cadeia principal BTC. Se o mecanismo de consenso da side chain for fraco ou tiver brechas, isso pode levar a ataques de 51% ou outras formas de ataques, afetando a segurança dos ativos do usuário. A segurança da cadeia principal BTC depende de sua enorme capacidade de computação e ampla distribuição de nós, enquanto as side chains podem não atender aos 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, pode causar problemas com a 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 maior do que o da cadeia principal.

Layer2 é um sistema blockchain completo, portanto, os itens de auditoria geral 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: Verifique se o protocolo de consenso da side chain (como PoW, PoS, DPoS) foi totalmente verificado e testado, e se existem vulnerabilidades ou vetores de ataque potenciais, como ataques de 51%, ataques de longo alcance, etc.
  • Segurança do nó de consenso: Avalie a segurança dos nós de consenso, incluindo o gerenciamento de chaves, a proteção do nó e o backup redundante, para evitar que os nós sejam violados ou abusados.
  • Bloqueio e liberação de ativos: Analisar o mecanismo de ancoragem bidirecional de ativos entre a side chain e a main chain para garantir que os contratos inteligentes de bloqueio e liberação de ativos sejam seguros e confiáveis, prevenindo gastos duplos, perda de ativos ou falha no bloqueio.
  • Verificação entre cadeias: Verificar a precisão e segurança da verificação entre cadeias, garantir que o processo de verificação seja descentralizado e à prova de adulteração, e prevenir falhas de verificação ou verificação maliciosa.
  • Auditoria de código de contrato: Auditoria aprofundada de todos os contratos inteligentes em execução na cadeia lateral 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 alterações de contrato.
  • Comunicação entre nós: Verifique se o protocolo de comunicação entre os nós da side chain é seguro e se canais criptografados são usados para prevenir ataques de homem-no-meio 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.
  • Timestamp e tempo de bloco: Verifique o mecanismo de sincronização de tempo da side chain para garantir a consistência e a precisão do tempo de geração de bloco e impedir ataques ou rollbacks de bloco causados por diferenças de tempo.
  • Segurança da governança on-chain: Rever 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 ou ataques maliciosos.
  • Auditoria econômica de token: Verifique o modelo econômico do token da side chain, incluindo alocação de token, 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 taxa: Verifique o mecanismo de taxa de transação da side chain para garantir que corresponda às necessidades dos usuários da main chain e da side chain, a fim de evitar manipulação de taxas ou congestão de rede.
  • Segurança de ativos: Audite o mecanismo de gerenciamento 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: Verificar a política de gestão de chaves da side chain para garantir a segurança e controle de acesso da chave privada e prevenir que a chave seja vazada ou roubada.

Rollup

Rollup é uma solução de escalabilidade da Camada 2 projetada para melhorar a eficiência e a taxa de transferência de transações em blockchain. Ele reduz significativamente a carga na cadeia principal, embalando (“Rollup”) um grande número de transações e processando-as off-chain, enviando apenas os resultados finais para a cadeia principal.

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

Para concluir 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 de zk-Rollup e o desafio de incentivo de op-Rollup. Seu mecanismo de operação é mais ou menos o seguinte:

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

  2. Após usar o classificador para classificar as transações Rollup, salve as transações Rollup usando armazenamento descentralizado e entregue-as ao zkEVM para processamento ao mesmo tempo.

  3. Após a sincronização do status da cadeia BTC pelo zkEVM, ele processa transações como execução de contratos, mescla e empacota os resultados e os envia para o agregador.

  4. Prover gera uma prova de conhecimento zero e a envia 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 Taproot com base nos dados Rollup armazenados descentralizadamente.

  6. Taproot é uma UTXO com um valor de 1 satoshi. A Inscrição B² em sua estrutura de dados armazena todos os dados Rollup, e Tapleaf armazena todos os dados de verificação. Após passar pelo mecanismo de desafio de incentivo, ele 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ções e status para a cadeia principal, a integridade e transparência dos dados são garantidas.
  • Rollup pode ser integrado de forma transparente em redes blockchain existentes, como Ethereum, permitindo que desenvolvedores aproveitem facilmente seus benefícios sem modificar significativamente contratos inteligentes e aplicativos existentes.
  • Ao processar um grande número de transações fora da cadeia e empacotá-las em um lote para submissão à cadeia principal, Rollup melhora significativamente as capacidades de processamento de transações e aumenta significativamente o número de transações por segundo (TPS).
  • As transações Rollup só precisam ser processadas fora da cadeia, o que reduz muito 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 do usuário.

Desafios enfrentados por Rollup:

  • Se os dados off-chain não estiverem disponíveis, os usuários podem ser incapazes de verificar transações e restaurar o status.
  • As transações Rollup precisam ser processadas em lotes e finalmente enviadas à cadeia principal, o que pode resultar em tempos de liquidação mais longos. Especialmente em op-Rollup, há 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, seus requisitos de computação e armazenamento são elevados e gerar provas de conhecimento zero requer uma grande quantidade de recursos de computação.

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

Outros (Babilônia)

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

O objetivo da Babilônia é converter 21 milhões de BTC em ativos de staking 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 objetivo é 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 é dividida em três camadas:

Camada Bitcoin: Esta é a base sólida de 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 centro de Babilônia está a camada babilônica, uma blockchain personalizada que conecta o Bitcoin a várias cadeias de Prova de Participação (PoS). Ele processa transações, executa contratos inteligentes e garante que tudo funcione sem problemas em todo o ecossistema.

Camada de cadeia PoS: A camada superior é composta por múltiplas cadeias PoS, sendo que cada cadeia PoS é selecionada por suas vantagens únicas. Isso dá à BabylonChain uma escalabilidade e flexibilidade incríveis, permitindo que os usuários desfrutem dos melhores recursos de diferentes blockchains PoS.

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

A vantagem de Babilônia é que:

  • Torne o período de desvinculação do PoS mais rápido
  • Uma vez que o BTC é colateralizado, o preço está vinculado ao BTC, o que pode reduzir a pressão inflacionária na rede correspondente de PoS.
  • Abre novas oportunidades para ganhos com BTC

Desafios enfrentados por Babilônia:

  • Designs econômicos como a taxa de retorno do staking têm um impacto maior no entusiasmo pelo staking de BTC
  • Falta de provisões de consistência de recompensa entre cadeias PoS

Os protocolos de terceiros têm diferentes pontos de segurança dependendo de sua implementação. Tomando Babilônia 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 penhor em BTC é implementado por meio de script UTXO, e sua segurança precisa ser prestada atenção.

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

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

apêndice:

Itens gerais de auditoria da cadeia pública e Layer2

  • Estouro de inteiro: verifique se há estouro de inteiro e subfluxo de inteiro
  • Loop infinito: Verifique se as condições de julgamento de 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 as operações de acesso a recursos compartilhados em condições simultâneas
  • Crash anormal: Verifique o código de lançamento de exceção que permite que o programa saia ativamente
  • Vulnerabilidade de divisão por 0: Verifique se há divisão por 0
  • Conversão de tipo: verifique se a conversão de tipo está correta e se informações importantes são perdidas durante o processo de conversão
  • Array fora dos limites: Verifique se um elemento além dos limites do array está sendo acessado
  • Vulnerabilidade de desserialização: verifique se há algum problema durante o processo de desserialização
  • Segurança de implementação funcional: Verifique se existem riscos de segurança em cada implementação de interface RPC e se ela está em conformidade 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 criptografada: Verifique se é utilizado um protocolo de transmissão criptografada, como TLS, etc.
  • Análise de formatação de dados de solicitação: Verificar o processo de análise de formatação dos dados da solicitação
  • Ataque de desbloqueio de carteira: Quando um nó desbloqueia sua carteira, ele é solicitado pelo RPC para roubar fundos.
  • Segurança tradicional da Web: 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 SQL / Injeção de entidade XXE / Desserialização
  • vulnerabilidades/vulnerabilidades de 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 de nó de rede: Verifique se há um mecanismo de identificação de nó e se o mecanismo de identificação de nó pode ser contornado.
  • Poluição da tabela de roteamento: Verifique se a tabela de roteamento pode ter dados inseridos ou sobrescritos aleatoriamente
  • Algoritmo de descoberta de nós: Verifique se o algoritmo de descoberta de nós é equilibrado e imprevisível, como algoritmo de distância desequilibrada e outras questões
  • Auditoria de ocupação do número de conexões: Verifique se o limite e o gerenciamento do número de nós de conexão de rede p2p são razoáveis
  • Ataque eclipse: Avalie o custo e o dano de um ataque eclipse e forneça análise quantitativa, se necessário
  • Ataque Sybil: Avaliar mecanismo de consenso de votação e analisar estratégia de verificação de qualificação de votação
  • Ataque de espionagem: verificando protocolos de comunicação em busca de vazamentos de privacidade
  • Ataque alienígena: Avalie se o nó pode identificar nós de cadeia semelhantes
  • Sequestro de Tempo: Verificando o mecanismo de cálculo de tempo de rede de um nó
  • Ataque de Exaustão de Memória: Verificando Locais de Consumo de Memória Grande
  • Ataque de Exaustão de Disco Rígido: Verifique Onde os Arquivos Grandes Estão Armazenados
  • Ataque de pressão de socket: verifique a política de limite no número de conexões
  • Ataque de exaustão do identificador do kernel: Verifique os limites da criação do identificador do kernel, como identificadores de arquivo, etc.
  • Vazamentos de memória persistentes: Verificar vazamentos de memória
  • Segurança do algoritmo de hash: Verificação da resistência à colisão de um algoritmo de hash
  • Segurança do algoritmo de assinatura digital: verifique a segurança do algoritmo de assinatura e a segurança da implementação do algoritmo
  • Segurança do algoritmo de criptografia: Verifique a segurança do algoritmo de criptografia, a segurança da implementação do algoritmo
  • Segurança do gerador de números aleatórios: Verificação se os algoritmos críticos de geração de números aleatórios são seguros
  • Segurança de implementação 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 há centralização excessiva no design do sistema
  • Auditoria de incentivos: Avaliar o impacto dos incentivos na segurança
  • Ataque de gasto duplo: Verifique se o consenso pode defender contra um ataque de gasto duplo
  • Auditoria de ataque MEV: Verifique o impacto do MEV dos nós de empacotamento de blocos na justiça da cadeia
  • Auditoria do processo de sincronização de blocos: Verifique problemas de segurança durante o processo de sincronização
  • Auditoria do processo de análise de formato de bloco: verifique 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: Verificar 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 de Merkle é razoável
  • Auditoria do processo de verificação de blocos: Verifique se os itens de conteúdo da assinatura de bloco e a lógica de verificação são suficientes
  • Auditoria da 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 pool de blocos órfãos, cálculo de verificação, endereçamento de 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 da legalidade da transação: verifique se cada tipo de assinatura de transação, itens de conteúdo 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 da 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 detecção do sistema de repetição de transação
  • Verificação de código de bytes do contrato: Verifique os problemas de segurança do processo de verificação da máquina virtual do contrato, como estouro de inteiro, loop infinito, etc.
  • Execução de bytecode de contrato: Verifique os problemas de segurança no processo de execução de bytecode da máquina virtual, como estouro de inteiro, loop infinito, etc.
  • Modelo de gás: Verificar se as taxas de manuseio correspondentes a cada operação atômica de processamento da transação/execução do contrato são proporcionais ao consumo de recursos
  • Integridade do log: verifique se as informações de chave estão registradas
  • Segurança de registros de log: Verifique se há problemas de segurança causados por manipulação inadequada durante o processamento de log, como overflow de inteiro, etc.
  • O registro contém informações privadas: Verifique se o registro contém informações privadas como chaves
  • Armazenamento de logs: verifique se o log registra muito conteúdo, causando o 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 e versões correspondentes da estrutura de cadeia pública de terceiros

Beosin é uma das primeiras empresas de segurança blockchain do mundo a se envolver em verificação formal. Focando no negócio ecológico completo de 'segurança + conformidade', ela estabeleceu filiais em mais de 10 países e regiões ao redor do mundo. Seus negócios abrangem auditorias de segurança de código antes do lançamento do projeto, monitoramento e bloqueio de riscos de segurança durante a operação do projeto, recuperação de roubo, produtos de conformidade blockchain 'One-stop' + serviços de segurança, como anti-lavagem de dinheiro (AML) de ativos virtuais e avaliações de conformidade que atendem aos requisitos regulatórios locais. As partes interessadas em auditoria são bem-vindas a entrar em contato com a equipe de segurança da Beosin.

Aviso legal:

  1. Este artigo é reimpresso de [Beosin]. Todos os direitos autorais pertencem ao autor original [ Beosin]. Se houver objeções a esta reimpressão, por favor, entre em contato com o Gate Aprenda equipe, e eles vão lidar com isso prontamente.
  2. Isenção 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 do Gate Learn. A menos que seja mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!