Superando os Limites do Bitcoin: Um Guia Completo para Auditoria da Escala da Camada2 do BTC

intermediário8/27/2024, 9:33:27 AM
Este artigo explora as soluções de escalabilidade da camada 2 do BTC, incluindo a Lightning Network, Sidechains e tecnologias Rollup, que facilitam transações rápidas e de baixo custo, mantendo a descentralização e segurança da rede BTC. A Lightning Network melhora a velocidade e privacidade das transações por meio de canais de pagamento e transações off-chain, enquanto Sidechains como CKB e Stacks oferecem recursos independentes e inovadores por meio de duas vias de ancoragem. A tecnologia Rollup aumenta a capacidade de processamento ao lidar com grandes volumes de transações off-chain, apesar dos desafios no tempo de liquidação e recursos computacionais.

Desde a sua criação em 2009, o Bitcoin (BTC), como a primeira criptomoeda do mundo, gradualmente se tornou a pedra angular dos ativos digitais e das finanças descentralizadas. No entanto, à medida que o número de usuários e volumes de transação crescem, vários problemas com a rede BTC tornaram-se cada vez mais evidentes:

  • Altas taxas de transação: Quando a rede Bitcoin está congestionada, os usuários precisam pagar taxas mais altas para garantir que suas transações sejam confirmadas prontamente.
  • Tempo de Confirmação da Transação: A blockchain do Bitcoin gera um novo bloco aproximadamente a cada 10 minutos, o que significa que as transações on-chain geralmente requerem múltiplas confirmações de bloco antes de serem consideradas finais.
  • Limitações do Contrato Inteligente: A linguagem de script do Bitcoin é limitada em funcionalidade, o que torna difícil a implementação de contratos inteligentes complexos.

Neste artigo, referimo-nos a tecnologias como oRede Lightning, Sidechains e Rollup coletivamente como soluções de escalonamento da camada 2 do BTC. Essas tecnologias possibilitam transações rápidas e de baixo custo, mantendo a descentralização e segurança da rede BTC. A introdução de tecnologias da camada 2 pode aprimorar a velocidade das transações, reduzir os custos das transações, otimizar a experiência do usuário e expandir a capacidade da rede, fornecendo suporte técnico crucial e inovação para o desenvolvimento futuro do BTC.

Atualmente, a Beosin se tornou a parceira oficial de segurança de vários projetos de camada 2 do BTC como a Merlin Chain e auditou múltiplos protocolos do ecossistema BTC, incluindo Bitmap.Games, Surf Protocol, Savmswap e Mineral. Em auditorias passadas, inúmeras cadeias públicas conhecidas, como Ronin Network, Clover, Self Chain e Crust Network, passaram com sucesso nas auditorias de segurança de cadeia pública da Beosin. A Beosin agora oferece uma solução de auditoria abrangente para a camada 2 do BTC, fornecendo serviços de auditoria de segurança confiáveis e abrangentes para todo o ecossistema BTC.

A Rede Lightning

O conceito inicial por trás da Lightning Network era conhecido como um "canal de pagamento". A filosofia de design era atualizar continuamente o status de transações não confirmadas por meio da substituição de transações até que fossem eventualmente transmitidas para a rede Bitcoin. Quando Satoshi Nakamoto criou o Bitcoin em 2009, ele já havia proposto a ideia de canais de pagamento, inclusive incluindo um código preliminar para canais de pagamento no Bitcoin 1.0. Este rascunho permitia aos usuários atualizar o status da transação antes que fosse confirmado pela rede. No entanto, só foi com o lançamento do white paper intitulado A Rede Lightning do Bitcoin: Pagamento Instantâneo Escalável Fora da Cadeiaque a Lightning Network realmente entrou em existência e ganhou atenção pública.

Atualmente, a implementação de canais de pagamento e da Lightning Network está bastante madura. Até o momento, a Lightning Network é composta por 13.325 nós e 49.417 canais, com um total de 4.975 BTC apostados.

https://1ml.com/

Na Lightning Network, garantir a segurança dos ativos dos usuários durante as transferências é crucial. Abaixo, explicaremos como a Lightning Network opera e como ela protege a segurança dos ativos do usuário, com base na escala dos nós da rede.

Ambas as partes envolvidas enviam duas transações para a rede principal do Bitcoin: uma para abrir o canal e outra para fechá-lo. O processo geralmente envolve três etapas:

1. Abertura de Canal:

Primeiro, ambos os usuários apostam Bitcoin em uma carteira multi-assinatura na rede BTC através da Lightning Network. Uma vez que o Bitcoin é apostado com sucesso e bloqueado, o canal de pagamento é aberto, permitindo que ambas as partes conduzam transações off-chain dentro deste canal.

2.Off-chain transactions:

Uma vez que o canal é aberto, todas as transações de transferência entre os usuários são processadas dentro da Lightning Network, e não há limite para o número dessas transações off-chain. Essas transações não precisam ser enviadas imediatamente para a mainnet do Bitcoin, mas são instantaneamente concluídas por meio do mecanismo off-chain da Lightning Network.

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

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

Quando um dos usuários decide sair do canal, ocorre um ajuste final do razão. Esse processo garante que todos os fundos no canal sejam distribuídos de acordo com o estado mais recente. Ambos os usuários, então, retiram seus saldos resolvidos respectivos da carteira multi-assinatura, refletindo a distribuição real dos fundos no momento em que o canal é fechado. Finalmente, a transação que representa o estado final do razão é submetida à mainnet do Bitcoin.

As vantagens da Lightning Network incluem:

  • Velocidade de transação aumentada:
    A Lightning Network permite que os usuários realizem transações off-chain, o que significa que as transações podem ser concluídas quase instantaneamente sem precisar esperar pelos tempos de confirmação dos blocos. Isso possibilita velocidades de transação de segundo nível, melhorando significativamente a experiência do usuário.
  • Privacidade Aprimorada:
    Transações fora da cadeia na Lightning Network não precisam ser registradas publicamente na principal cadeia do Bitcoin, melhorando a privacidade das transações. Apenas a abertura e o fechamento dos canais precisam ser registrados na principal cadeia, então as atividades de transação dos usuários não são totalmente divulgadas.
  • Suporte para Micro-Pagamentos:
    A Lightning Network é particularmente adequada para lidar com micropagamentos, como pagamentos de conteúdo e pagamentos entre dispositivos IoT. Transações tradicionais de Bitcoin, devido às altas taxas, não são ideais para micropagamentos frequentes, mas a Lightning Network aborda essa questão.

Os desafios enfrentados pela Rede Lightning incluem:

  • Liquidez da rede:
    A Rede Lightning depende do Bitcoin estar pré-bloqueado no canal. Isso significa que os usuários devem depositar Bitcoins suficientes em seus canais de pagamento com antecedência para facilitar as transações. Liquidez insuficiente pode levar a falhas de pagamento, especialmente para pagamentos maiores.
  • Encaminhamento:
    Encontrar uma rota eficaz do remetente para o destinatário pode ser uma questão complexa, especialmente à medida que a rede cresce em escala. À medida que o número de nós e canais de rede aumenta, garantir a conclusão bem-sucedida do pagamento se torna mais desafiador.
  • Custodial Trust: Os nós podem ser suscetíveis a ataques maliciosos, e os usuários precisam confiar que os nós aos quais estão conectados não tentarão roubar fundos. Também há a questão de saber se os nós podem evitar vazamentos de chaves privadas.
  • Padrões Técnicos e Interoperabilidade: Padrões técnicos e protocolos consistentes são necessários para garantir a interoperabilidade entre diferentes implementações da Lightning Network. Atualmente, várias equipes de desenvolvimento estão trabalhando em várias implementações da Lightning Network, o que poderia 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 de nós da rede podem ver as transações passando por seus nós, comprometendo potencialmente parte da privacidade.

A segurança da Lightning Network impacta diretamente a escalabilidade off-chain do Bitcoin e a segurança dos fundos dos usuários. Portanto, além dos itens de auditoria comuns para cadeias públicas (detalhados no apêndice no final deste documento), a Lightning Network também precisa lidar com os seguintes riscos de segurança-chave:

  • Congestão de Canal:
    Avalie a abrangência do design do sistema Lightning Network para garantir que não seja suscetível a ataques de negação de serviço que possam levar à congestão de canais.
  • Interferência de Canal:
    Avalie a segurança da estrutura de canais da Lightning Network para garantir que não seja vulnerável a ataques de congestionamento de canal.
  • Bloqueio e Desbloqueio de Ativos do Canal:
    Revisar os processos de bloqueio e desbloqueio de ativos na Lightning Network para garantir que as transferências de fundos entre on-chain e off-chain sejam seguras e confiáveis durante a abertura ou fechamento de canais de pagamento.
  • Atualizações do Estado e Encerramento do Canal:
    Avalie os processos de atualização do estado dos canais e o mecanismo de fechamento forçado para garantir que, em caso de situação anormal, o estado mais recente possa ser reconhecido e executado com precisão.
  • Travas de tempo e Contratos com Tempo Bloqueado por Hash (HTLCs):
    Avalie a implementação de HTLCs para garantir que as condições de bloqueio de tempo e de hash sejam corretamente aplicadas, evitando possíveis perdas de fundos devido a problemas de janela de tempo.
  • Dependência de carimbos de data/hora de blockchain:
    Avalie a dependência da Lightning Network dos horários de bloco da blockchain do Bitcoin para garantir a sincronização adequada dos tempos on-chain e off-chain, prevenindo ataques baseados no tempo.
  • Segurança do Algoritmo de Roteamento: Examine a eficiência e segurança dos algoritmos de roteamento para evitar riscos de exposição de privacidade e manipulação de roteamento malicioso.
  • 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 os estados do canal possam ser restaurados no caso de falhas de nós ou desconexões inesperadas, evitando a perda de fundos.

Sidechains

Ao contrário da Lightning Network, uma sidechain é uma blockchain independente que opera em paralelo com a mainchain (como a blockchain BTC) e interopera com ela através de um mecanismo conhecido como uma âncora bidirecional (2WP). O objetivo das sidechains é permitir funcionalidades adicionais e escalabilidade sem alterar o protocolo da mainchain.

Uma sidechain, como uma blockchain independente, possui seu próprio mecanismo de consenso, nós e regras de processamento de transações. Ela pode adotar diferentes tecnologias e protocolos de acordo com as necessidades de cenários de aplicação específicos. Através do mecanismo de pino de duas vias, a sidechain se comunica com a mainchain, garantindo que os ativos possam ser transferidos livre e seguramente entre elas. A operação do mecanismo de pino de duas vias geralmente envolve os seguintes passos:

  1. O usuário trava BTC na mainchain. Uma entidade confiável então obtém e usa Verificação de Pagamento Simplificada (SPV) para confirmar se a transação de travamento do usuário foi confirmada.

  2. A entidade confiável emite uma quantidade equivalente de tokens para o usuário na sidechain.

  3. Após concluir suas transações, o usuário trava as moedas restantes na sidechain.

  4. Após verificar a legitimidade das transações, a entidade confiável desbloqueia e libera o valor correspondente de BTC para o usuário na mainchain.

Nota 1: Entidades confiáveis desempenham um papel crítico no mecanismo de pino de duas vias, gerenciando o bloqueio e desbloqueio de ativos. Essas entidades devem possuir altos níveis de confiabilidade e capacidade técnica para garantir a segurança dos ativos dos usuários.

Nota 2: A verificação SPV permite que um nó verifique a validade de uma transação específica sem baixar toda a blockchain. Os nós SPV só precisam baixar os cabeçalhos dos blocos e usar a Árvore de Merkle para verificar se a transação está incluída no bloco.

Projetos de Sidechain Representativos

CKB (Rede Nervos) \
A Rede Nervos é um ecossistema de blockchain público de código aberto projetado para alavancar os benefícios de segurança e descentralização do mecanismo de consenso Proof of Work (PoW) do Bitcoin, ao mesmo tempo que introduz um modelo UTXO mais escalável e flexível para lidar com transações. Em seu núcleo está a Base de Conhecimento Comum (CKB), um blockchain de Camada 1 construído em RISC-V e utilizando PoW como seu mecanismo de consenso. Ele estende o modelo UTXO para o modelo de Células, permitindo armazenar qualquer dado e suportar scripts escritos em qualquer idioma para execução como contratos inteligentes on-chain.

Stacks

Stacks conecta cada bloco Stacks a um bloco Bitcoin por meio de seu mecanismo Proof of Transfer (PoX). Para facilitar o desenvolvimento de contratos inteligentes, Stacks projetou a linguagem de programação Clarity. Em Clarity, o obter-informações-de-bloqueio-de-queima?a função permite a entrada de uma altura de bloco Bitcoin para recuperar o hash do cabeçalho do bloco, enquanto o queimar-altura-do-blocoA palavra-chave recupera a altura do bloco atual da cadeia Bitcoin. Essas funções permitem que contratos inteligentes Clarity leiam o estado da cadeia base do Bitcoin, permitindo que transações de Bitcoin acionem contratos. Ao executar automaticamente esses contratos inteligentes, Stacks estende a funcionalidade do Bitcoin. Para uma análise detalhada do Stacks, você pode consultar o artigo de pesquisa anterior da Beosin: O que é Stacks? Quais desafios os Stacks de rede de camada 2 do BTC podem enfrentar?

Vantagens das Sidechains

  • Sidechains podem adotar diferentes tecnologias e protocolos, permitindo vários experimentos e inovações sem afetar a estabilidade e segurança da mainchain.
  • Sidechains podem introduzir recursos não presentes na mainchain, como contratos inteligentes, proteção de privacidade e emissão de tokens, enriquecendo os cenários de aplicação do ecossistema blockchain.

Desafios das Sidechains

  • As sidechains possuem mecanismos de consenso independentes, que podem não ser tão seguros quanto o mainchain do BTC. Se o mecanismo de consenso de uma sidechain for fraco ou tiver vulnerabilidades, isso poderá levar a um ataque de 51% ou a outras formas de ataques, colocando em risco a segurança dos ativos dos usuários. A segurança do mainchain do BTC depende de sua enorme potência de hash e distribuição ampla de nós, que uma sidechain pode não ser capaz de igualar.
  • Implementar o mecanismo de pino de duas vias requer algoritmos criptográficos e protocolos complexos. Se houver vulnerabilidades dentro deste mecanismo, poderia levar a problemas nas transferências de ativos entre a mainchain e a sidechain, potencialmente resultando em perda ou roubo de ativos.
  • Para equilibrar velocidade e segurança, a maioria das sidechains é mais centralizada do que a mainchain.

A Camada 2 é um sistema blockchain completo, então os itens gerais de auditoria para blockchains públicos também se aplicam às sidechains. Para mais detalhes, consulte o apêndice no final deste artigo.

Além disso, devido às suas características únicas, as sidechains requerem algumas auditorias adicionais:

  • Segurança do Protocolo de Consenso:
    Reveja se o protocolo de consenso da sidechain (por exemplo, PoW, PoS, DPoS) foi completamente validado e testado quanto a vulnerabilidades potenciais ou vetores de ataque, como ataques de 51% ou ataques de longo alcance.
  • Segurança do Nó de Consenso:
    Avalie a segurança dos nós de consenso, incluindo gerenciamento de chaves, proteção de nós e backups de redundância, para evitar que os nós sejam comprometidos ou abusados.
  • Bloqueio e Liberação de Ativos:
    Examine o mecanismo de pino de duas vias entre a sidechain e a mainchain para garantir que os contratos inteligentes responsáveis pelo bloqueio e liberação de ativos sejam seguros e confiáveis, evitando gastos duplos, perda de ativos ou falhas de bloqueio.
  • Verificação entre Cadeias:
    Verifique a precisão e segurança da verificação cruzada de cadeias para garantir que o processo seja descentralizado e à prova de violações, evitando falhas de verificação ou verificação maliciosa.
  • Auditoria de Código de Contrato Inteligente:
    Realize uma auditoria minuciosa de todos os contratos inteligentes em execução na sidechain, detectando quaisquer vulnerabilidades ou backdoors potenciais, especialmente na lógica do contrato que lida com operações entre cadeias.
  • Mecanismo de Atualização:
    Rever a segurança do mecanismo de atualização do contrato inteligente, garantindo que existam processos adequados de auditoria e consenso da comunidade para evitar atualizações maliciosas ou manipulação de contratos.
  • Comunicação entre nós:
    Inspeccionar a segurança do protocolo de comunicação entre nós da sidechain, garantindo o uso de canais criptografados para evitar ataques de intermediários ou violações de dados.
  • Comunicação entre Cadeias:
    Avalie os canais de comunicação entre a sidechain e a mainchain para garantir a integridade e autenticidade dos dados, evitando que a comunicação seja sequestrada ou adulterada.
  • Carimbo de data e Tempo de Bloco:
    Verifique o mecanismo de sincronização de tempo da sidechain para garantir consistência e precisão no tempo de geração de blocos, evitando ataques ou rollbacks de blocos causados por discrepâncias de tempo.
  • Segurança da Governança On-Chain:
    Reveja o mecanismo de governança da sidechain para garantir transparência e segurança nos processos de votação, proposta e tomada de decisão, evitando controle ou ataques maliciosos.
  • Auditoria da Economia do Token:
    Examine os tokenomics da sidechain, incluindo a distribuição de tokens, mecanismos de incentivo e modelos de inflação, garantindo que os incentivos econômicos não levem a comportamentos maliciosos ou instabilidade do sistema.
  • Mecanismo de Taxa:
    Reveja o mecanismo de taxa de transação da sidechain para garantir que esteja alinhado com as necessidades dos usuários da mainchain e da sidechain, evitando manipulação de taxas ou congestionamento de rede.
  • Segurança do Ativo:
    Auditar o mecanismo de gestão de ativos on-chain para garantir que os processos de armazenamento, transferência e queima de ativos sejam seguros e confiáveis, sem risco de acesso não autorizado ou roubo.
  • Gerenciamento de Chave:
    Inspeccionar a estratégia de gestão de chaves da sidechain para garantir a segurança das chaves privadas e o controlo de acesso, prevenindo a fuga ou uso indevido das chaves.

Rollup

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

Rollup vem em dois tipos principais: zk-Rollup e op-Rollup. No entanto, ao contrário do Ethereum, a falta de completude de Turing do Bitcoin impede o uso de contratos inteligentes para verificação de prova de conhecimento zero (ZKP) diretamente em sua rede. Isso significa que soluções tradicionais de zk-Rollup não podem ser implementadas no Bitcoin. Então, como o zk-Rollup pode ser usado para alcançar a escalabilidade da Camada 2 do Bitcoin? Vamos explorar o projeto da Rede B² como exemplo:

Para realizar a verificação de conhecimento zero (ZKP) no Bitcoin, a rede B² desenvolveu um script Taproot que integra a verificação de prova de conhecimento zero do zk-Rollup com o mecanismo de desafio de incentivo do op-Rollup. Veja como funciona:

  1. A B² Network primeiro agrega todas as transações do usuário em um Rollup.
  2. Um sequenciador então ordena essas transações Rollup, armazenando-as em armazenamento descentralizado e processando-as através de um zkEVM.
  3. Após sincronizar o estado da cadeia do Bitcoin, o zkEVM processa execuções de contratos e outras transações, consolidando os resultados e enviando-os para o agregador.
  4. O provador gera uma prova de conhecimento zero e a envia para o agregador, que combina as transações e a prova e as encaminha para os Nós B².
  5. Os nós B² verificam a prova de conhecimento zero e criam um script Taproot com base nos dados de Rollup armazenados em armazenamento descentralizado.
  6. O Taproot, que é um UTXO com um valor de 1 satoshi, contém a Inscrição B² em sua estrutura de dados, armazenando todos os dados do Rollup, enquanto o Tapleaf armazena os dados de verificação de todas as provas. Após passar pelo mecanismo de desafio de incentivo, é submetido ao Bitcoin como um compromisso baseado em zk-proof.

Vantagens do Rollup:

  • Rollup herda as características de segurança e descentralização da cadeia principal. Ao enviar regularmente dados de transação e estado para a cadeia principal, garante a integridade e transparência dos dados.
  • Rollup pode ser integrado de forma transparente nas redes de blockchain existentes, como Ethereum, permitindo que os desenvolvedores aproveitem facilmente seus benefícios sem modificações significativas nos contratos inteligentes e aplicações existentes.
  • Rollup aumenta significativamente a capacidade de transações ao processar um grande número de transações off-chain e enviá-las em lotes para a main chain, resultando em um aumento notável nas transações por segundo (TPS).
  • Uma vez que as transações Rollup são processadas fora da cadeia, isso reduz drasticamente os recursos computacionais e o espaço de armazenamento necessários para as transações na cadeia, diminuindo significativamente as taxas de transação do usuário.

Desafios do Rollup:

  • Se os dados off-chain se tornarem indisponíveis, os usuários podem não conseguir verificar transações e recuperar seu estado.
  • Transações Rollup precisam ser processadas em lotes e eventualmente enviadas para a cadeia principal, o que pode resultar em tempos de liquidação mais longos. Isso é especialmente verdadeiro no caso do op-Rollup, onde há um período de disputa, fazendo com que os usuários esperem mais tempo pela confirmação final da transação.
  • Embora o ZK Rollup forneça uma segurança maior e confirmação instantânea, ele requer recursos computacionais substanciais para gerar provas de conhecimento zero.

Dado que o Rollup é usado, seus principais itens de auditoria de segurança são consistentes com os da Camada 2 da Ethereum.

Outros (Babilônia)

Além das soluções tradicionais de camada 2 do BTC, surgiram alguns novos protocolos de terceiros relacionados ao ecossistema BTC, como o Babilônia:

Babylon tem como objetivo transformar 21 milhões de BTC em ativos de staking descentralizados. Ao contrário de outras soluções BTC de Camada 2, Babylon não foca em escalar a rede BTC. Em vez disso, é uma blockchain única com um protocolo especializado de staking BTC projetado principalmente para interagir com as cadeias de Proof of Stake (PoS). O objetivo é fazer staking de BTC para aumentar a segurança das cadeias PoS, abordando questões como ataques de longo alcance e riscos de centralização.

A arquitetura é dividida em três camadas:

  • Camada Bitcoin: Esta é a base sólida da Babilônia, aproveitando a renomada segurança do Bitcoin para garantir que todas as transações sejam ultra-seguras, assim como na rede Bitcoin.
  • Camada Babilônia:O núcleo de Babilônia, esta blockchain personalizada conecta o Bitcoin a várias cadeias PoS. Ele lida com transações, executa contratos inteligentes e garante a operação suave em todo o ecossistema.
  • Camada de cadeia PoS:A camada superior é composta por várias cadeias PoS, cada uma selecionada por suas vantagens únicas. Esta estrutura concede à BabylonChain uma escalabilidade e flexibilidade notáveis, permitindo que os usuários se beneficiem das melhores características de diferentes blockchains PoS.

Babylon opera assinando blocos finais na cadeia BTC para garantir cadeias PoS. Isso estende essencialmente o protocolo base com uma rodada adicional de assinaturas. Essas assinaturas na rodada final +1 têm uma característica única: são Assinaturas Únicas Extrativas (EOTS). O objetivo é integrar checkpoints PoS na cadeia BTC, abordando as questões de longos períodos de desvinculação e ataques de longo alcance em sistemas PoS.

Vantagens de Babylon:

  • Babilônia acelera o processo de desvinculação da participação PoS.
  • Ao apostar BTC, Babylon ajuda a aliviar as pressões inflacionárias na rede PoS correspondente.
  • Babilônia abre novos caminhos para os detentores de BTC ganharem retornos.

Desafios da Babilônia:

  • As taxas de recompensa de staking e outros fatores econômicos impactam significativamente o incentivo para o staking de BTC.
  • Não há uniformidade nos mecanismos de recompensa em diferentes cadeias PoS.

O foco na segurança varia dependendo da implementação específica de protocolos de terceiros. Para Babylon, alguns pontos-chave de auditoria de segurança incluem:

1. Segurança do Contrato Inteligente: Os contratos de staking no BTC são implementados através de scripts UTXO, que exigem atenção cuidadosa à segurança. 2. Segurança do Algoritmo de Assinatura: A segurança do algoritmo de assinatura usado para gerenciar o staking no contrato é crítica, pois afeta a geração e verificação de assinaturas. 3. Design do Modelo Econômico: O modelo econômico do protocolo, particularmente em termos de recompensas e penalidades, precisa ser examinado para garantir que não leve à perda de ativos do usuário.

Apêndice:

Itens Gerais de Auditoria para Cadeias Públicas & Camada 2

  • Estouro de inteiro:Verifique o estouro e subfluxo de inteiros.
  • Loop Infinito:Verifique se as condições do loop no programa são razoáveis.
  • Recursão Infinita:Certifique-se de que as condições de saída para chamadas recursivas estejam devidamente definidas.
  • Condição de corrida:Examinar operações de acesso a recursos compartilhados em condições concorrentes.
  • Exceções não tratadas:Identificar o código que lança exceções causando o encerramento inesperado do programa.
  • Divisão por Zero:Verifique se existem casos em que a divisão por zero possa ocorrer.
  • Conversão de Tipo:Garanta que as conversões de tipo sejam precisas e que nenhuma informação crítica seja perdida no processo.
  • Array Out-of-Bounds:Certifique-se de que os elementos do array sejam acessados dentro dos limites válidos.
  • Vulnerabilidades de desserialização:Verifique problemas durante o processo de desserialização.
  • Implementação de Segurança de Funcionalidade:Verifique se a implementação das interfaces RPC é segura e consistente com seu design funcional.
  • Configurações de Permissão Sensíveis da Interface RPC:Certifique-se de que as permissões de acesso para interfaces RPC sensíveis estejam configuradas adequadamente.
  • Mecanismo de Transmissão Criptografada:Verificar o uso de protocolos de transmissão criptografados, como TLS.
  • Análise do Formato de Dados da Solicitação:Verifique o processo de análise de formatos de dados de solicitação.
  • Ataque de Desbloqueio de Carteira:Garantir que os fundos não sejam roubados por meio de solicitações RPC quando um nó desbloqueia sua carteira.
  • 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 XXE, Vulnerabilidades de Desserialização, Vulnerabilidades de SSRF, Injeção de Código, Inclusão de Arquivo Local, Inclusão de Arquivo Remoto, Injeção de Comando, etc.
  • Mecanismo de Autenticação e Identificação de Nós da Rede:Garantir que exista um mecanismo de reconhecimento de identidade do nó e que não possa ser contornado.
  • Envenenamento da Tabela de Roteamento:Verifique se a tabela de roteamento pode ser manipulada ou sobrescrita arbitrariamente.
  • Algoritmo de Descoberta de Nós:Certifique-se de que o algoritmo de descoberta de nós seja equilibrado e imprevisível, abordando questões como desequilíbrios em algoritmos de distância.
  • Auditoria de Ocupação de Conexão:Certifique-se de que o limite e a gestão dos nós conectados na rede p2p sejam razoáveis.
  • Ataque Eclipse:Avalie o custo e o impacto dos ataques de eclipse, fornecendo análises quantitativas se necessário.
  • Ataque de Sybil:Avaliar o mecanismo de consenso de votação e analisar as estratégias para verificar a elegibilidade para votar.
  • Ataque de espionagem:Verifique se o protocolo de comunicação não vaza informações privadas.
  • Ataque Alienígena:Avalie se os nós podem reconhecer outros nós da mesma rede blockchain.
  • Sequestro de Tempo:Verifique o mecanismo de cálculo do tempo de rede nos nós.
  • Ataque de Exaustão de Memória:Verifique áreas de alta consumo de memória.
  • Ataque de Esgotamento de Disco:Verifique áreas envolvendo armazenamento de arquivos grandes.
  • Ataque de Estresse de Soquete:Verificar estratégias limitando o número de conexões.
  • Ataque de Exaustão de Manipulador de Kernel:Certifique-se de que os limites na criação do identificador do kernel, como identificadores de arquivo, sejam razoáveis.
  • Vazamentos de Memória Persistentes:Identificar áreas propensas a vazamentos de memória.
  • Algoritmo de Segurança de Hash:Certifique-se de que o algoritmo de hash seja resistente a colisões.
  • Segurança do Algoritmo de Assinatura Digital:Verifique a segurança do algoritmo de assinatura e sua implementação.
  • Segurança do Algoritmo de Criptografia:Garanta que o algoritmo de criptografia e sua implementação sejam seguros.
  • Segurança do Gerador de Números Aleatórios:Verifique se os algoritmos críticos de geração de números aleatórios são razoáveis.
  • Segurança na Implementação de BFT:Avalie a segurança da implementação do algoritmo de Tolerância a Falhas Bizantinas (BFT).
  • Regra de Escolha de Fork:Verifique a regra de escolha do fork para garantir a segurança.
  • Detecção de Centralização:Identificar qualquer centralização excessiva no design do sistema.
  • Auditoria do Mecanismo de Incentivo:Avaliar o impacto do mecanismo de incentivo na segurança.
  • Ataque de gastos duplos:Verificar se o consenso pode se defender contra ataques de gastos duplos.
  • Auditoria de Ataque MEV:Avalie o impacto do Valor Máximo Extraível (MEV) na equidade da cadeia durante a embalagem de blocos.
  • Auditoria do Processo de Sincronização de Blocos:Verifique os problemas de segurança durante o processo de sincronização.
  • Auditoria de Análise de Formato de Bloco:Avalie as preocupações de segurança durante a análise do formato de bloco, como erros de análise que levam a falhas.
  • Auditoria do Processo de Geração de Blocos:Revisar a segurança do processo de geração de blocos, incluindo a construção da raiz da árvore de Merkle.
  • Auditoria do Processo de Verificação de Blocos:Verifique os itens de conteúdo das assinaturas de bloco e se a lógica de verificação é adequada.
  • Auditoria da Lógica de Confirmação de Bloco:Avalie se o algoritmo de confirmação de bloco e sua implementação são razoáveis.
  • Colisão de Hash de Bloco:Verifique como as colisões de hash de bloco são construídas e se o tratamento de tais colisões é apropriado.
  • Limites de Recursos de Processamento de Blocos:Verifique se os limites de recursos para o pool de blocos órfãos, computação de verificação e endereçamento de disco são razoáveis.
  • Auditoria do Processo de Sincronização de Transações:Rever problemas de segurança durante o processo de sincronização da transação.
  • Colisão de Hash de Transação:Verifique como colisões de hash de transação são construídas e tratadas.
  • Análise de Formato de Transação:Avaliar as preocupações de segurança durante a análise do formato da transação, como erros de análise que levam a falhas.
  • Verificação de Legitimidade da Transação:Verifique os itens de conteúdo de várias assinaturas de transação e se a lógica de verificação é suficiente.
  • Limites de Recursos de Processamento de Transações:Reveja se os limites de recursos para o pool de transações, computação de verificação e endereçamento de disco são razoáveis.
  • Ataque de Maleabilidade de Transação:Avalie se as transações podem alterar campos internos (por exemplo, ScriptSig) para modificar o hash da transação sem afetar sua validade.
  • Auditoria de Ataque de Repetição de Transação:Verifique a detecção do sistema de ataques de repetição de transações.
  • Verificação de Código de Byte de Contrato Inteligente:Revisar a segurança do processo de verificação de contrato da máquina virtual, como verificar estouros de inteiro e loops infinitos.
  • Execução de Código de Byte de Contrato Inteligente:Avalie as preocupações de segurança durante a execução do bytecode pela máquina virtual, como estouros de inteiros e loops infinitos.
  • Modelo de Gás:Certifique-se de que as taxas de processamento de transações/execução de contratos para cada operação atômica sejam proporcionais ao consumo de recursos.
  • Integridade do registro:Certifique-se de que as informações críticas sejam registradas nos logs.
  • Segurança do Log:Verifique se o processamento de log introduz problemas de segurança, como sobrecargas de inteiros.
  • Registros Contendo Informações Sensíveis:Garanta que os logs não contenham chaves ou outras informações privadas.
  • Armazenamento de registros:Verifique se o registro excessivo leva ao consumo de recursos nos nós.
  • Segurança da Cadeia de Fornecimento de Código de Nó:Rever problemas conhecidos com todas as bibliotecas de terceiros, componentes e versões de estrutura de cadeia pública.

Como uma das primeiras empresas de segurança blockchain globalmente especializada em verificação formal, a Beosin concentra-se em um ecossistema abrangente de “segurança + conformidade”. A empresa estabeleceu filiais em mais de 10 países e regiões em todo o mundo. Seus serviços abrangem produtos de conformidade blockchain de balcão único e serviços de segurança, incluindo auditorias de segurança de código antes do lançamento do projeto, monitoramento de riscos de segurança em tempo real e interceptação durante a operação do projeto, recuperação de ativos roubados, lavagem de dinheiro (AML) para ativos virtuais e avaliações de conformidade que atendem aos requisitos regulatórios locais. Recebemos com satisfação os projetos com necessidades de auditoria para entrar em contato com a equipe de segurança da Beosin.

Aviso Legal:

  1. Este artigo é reproduzido a partir de [Beosin], Todos os direitos autorais pertencem ao autor original [Beosin]. Se houver objeções a essa reimpressão, entre em contato com o Gate Learnequipe e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: As visões e 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. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Superando os Limites do Bitcoin: Um Guia Completo para Auditoria da Escala da Camada2 do BTC

intermediário8/27/2024, 9:33:27 AM
Este artigo explora as soluções de escalabilidade da camada 2 do BTC, incluindo a Lightning Network, Sidechains e tecnologias Rollup, que facilitam transações rápidas e de baixo custo, mantendo a descentralização e segurança da rede BTC. A Lightning Network melhora a velocidade e privacidade das transações por meio de canais de pagamento e transações off-chain, enquanto Sidechains como CKB e Stacks oferecem recursos independentes e inovadores por meio de duas vias de ancoragem. A tecnologia Rollup aumenta a capacidade de processamento ao lidar com grandes volumes de transações off-chain, apesar dos desafios no tempo de liquidação e recursos computacionais.

Desde a sua criação em 2009, o Bitcoin (BTC), como a primeira criptomoeda do mundo, gradualmente se tornou a pedra angular dos ativos digitais e das finanças descentralizadas. No entanto, à medida que o número de usuários e volumes de transação crescem, vários problemas com a rede BTC tornaram-se cada vez mais evidentes:

  • Altas taxas de transação: Quando a rede Bitcoin está congestionada, os usuários precisam pagar taxas mais altas para garantir que suas transações sejam confirmadas prontamente.
  • Tempo de Confirmação da Transação: A blockchain do Bitcoin gera um novo bloco aproximadamente a cada 10 minutos, o que significa que as transações on-chain geralmente requerem múltiplas confirmações de bloco antes de serem consideradas finais.
  • Limitações do Contrato Inteligente: A linguagem de script do Bitcoin é limitada em funcionalidade, o que torna difícil a implementação de contratos inteligentes complexos.

Neste artigo, referimo-nos a tecnologias como oRede Lightning, Sidechains e Rollup coletivamente como soluções de escalonamento da camada 2 do BTC. Essas tecnologias possibilitam transações rápidas e de baixo custo, mantendo a descentralização e segurança da rede BTC. A introdução de tecnologias da camada 2 pode aprimorar a velocidade das transações, reduzir os custos das transações, otimizar a experiência do usuário e expandir a capacidade da rede, fornecendo suporte técnico crucial e inovação para o desenvolvimento futuro do BTC.

Atualmente, a Beosin se tornou a parceira oficial de segurança de vários projetos de camada 2 do BTC como a Merlin Chain e auditou múltiplos protocolos do ecossistema BTC, incluindo Bitmap.Games, Surf Protocol, Savmswap e Mineral. Em auditorias passadas, inúmeras cadeias públicas conhecidas, como Ronin Network, Clover, Self Chain e Crust Network, passaram com sucesso nas auditorias de segurança de cadeia pública da Beosin. A Beosin agora oferece uma solução de auditoria abrangente para a camada 2 do BTC, fornecendo serviços de auditoria de segurança confiáveis e abrangentes para todo o ecossistema BTC.

A Rede Lightning

O conceito inicial por trás da Lightning Network era conhecido como um "canal de pagamento". A filosofia de design era atualizar continuamente o status de transações não confirmadas por meio da substituição de transações até que fossem eventualmente transmitidas para a rede Bitcoin. Quando Satoshi Nakamoto criou o Bitcoin em 2009, ele já havia proposto a ideia de canais de pagamento, inclusive incluindo um código preliminar para canais de pagamento no Bitcoin 1.0. Este rascunho permitia aos usuários atualizar o status da transação antes que fosse confirmado pela rede. No entanto, só foi com o lançamento do white paper intitulado A Rede Lightning do Bitcoin: Pagamento Instantâneo Escalável Fora da Cadeiaque a Lightning Network realmente entrou em existência e ganhou atenção pública.

Atualmente, a implementação de canais de pagamento e da Lightning Network está bastante madura. Até o momento, a Lightning Network é composta por 13.325 nós e 49.417 canais, com um total de 4.975 BTC apostados.

https://1ml.com/

Na Lightning Network, garantir a segurança dos ativos dos usuários durante as transferências é crucial. Abaixo, explicaremos como a Lightning Network opera e como ela protege a segurança dos ativos do usuário, com base na escala dos nós da rede.

Ambas as partes envolvidas enviam duas transações para a rede principal do Bitcoin: uma para abrir o canal e outra para fechá-lo. O processo geralmente envolve três etapas:

1. Abertura de Canal:

Primeiro, ambos os usuários apostam Bitcoin em uma carteira multi-assinatura na rede BTC através da Lightning Network. Uma vez que o Bitcoin é apostado com sucesso e bloqueado, o canal de pagamento é aberto, permitindo que ambas as partes conduzam transações off-chain dentro deste canal.

2.Off-chain transactions:

Uma vez que o canal é aberto, todas as transações de transferência entre os usuários são processadas dentro da Lightning Network, e não há limite para o número dessas transações off-chain. Essas transações não precisam ser enviadas imediatamente para a mainnet do Bitcoin, mas são instantaneamente concluídas por meio do mecanismo off-chain da Lightning Network.

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

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

Quando um dos usuários decide sair do canal, ocorre um ajuste final do razão. Esse processo garante que todos os fundos no canal sejam distribuídos de acordo com o estado mais recente. Ambos os usuários, então, retiram seus saldos resolvidos respectivos da carteira multi-assinatura, refletindo a distribuição real dos fundos no momento em que o canal é fechado. Finalmente, a transação que representa o estado final do razão é submetida à mainnet do Bitcoin.

As vantagens da Lightning Network incluem:

  • Velocidade de transação aumentada:
    A Lightning Network permite que os usuários realizem transações off-chain, o que significa que as transações podem ser concluídas quase instantaneamente sem precisar esperar pelos tempos de confirmação dos blocos. Isso possibilita velocidades de transação de segundo nível, melhorando significativamente a experiência do usuário.
  • Privacidade Aprimorada:
    Transações fora da cadeia na Lightning Network não precisam ser registradas publicamente na principal cadeia do Bitcoin, melhorando a privacidade das transações. Apenas a abertura e o fechamento dos canais precisam ser registrados na principal cadeia, então as atividades de transação dos usuários não são totalmente divulgadas.
  • Suporte para Micro-Pagamentos:
    A Lightning Network é particularmente adequada para lidar com micropagamentos, como pagamentos de conteúdo e pagamentos entre dispositivos IoT. Transações tradicionais de Bitcoin, devido às altas taxas, não são ideais para micropagamentos frequentes, mas a Lightning Network aborda essa questão.

Os desafios enfrentados pela Rede Lightning incluem:

  • Liquidez da rede:
    A Rede Lightning depende do Bitcoin estar pré-bloqueado no canal. Isso significa que os usuários devem depositar Bitcoins suficientes em seus canais de pagamento com antecedência para facilitar as transações. Liquidez insuficiente pode levar a falhas de pagamento, especialmente para pagamentos maiores.
  • Encaminhamento:
    Encontrar uma rota eficaz do remetente para o destinatário pode ser uma questão complexa, especialmente à medida que a rede cresce em escala. À medida que o número de nós e canais de rede aumenta, garantir a conclusão bem-sucedida do pagamento se torna mais desafiador.
  • Custodial Trust: Os nós podem ser suscetíveis a ataques maliciosos, e os usuários precisam confiar que os nós aos quais estão conectados não tentarão roubar fundos. Também há a questão de saber se os nós podem evitar vazamentos de chaves privadas.
  • Padrões Técnicos e Interoperabilidade: Padrões técnicos e protocolos consistentes são necessários para garantir a interoperabilidade entre diferentes implementações da Lightning Network. Atualmente, várias equipes de desenvolvimento estão trabalhando em várias implementações da Lightning Network, o que poderia 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 de nós da rede podem ver as transações passando por seus nós, comprometendo potencialmente parte da privacidade.

A segurança da Lightning Network impacta diretamente a escalabilidade off-chain do Bitcoin e a segurança dos fundos dos usuários. Portanto, além dos itens de auditoria comuns para cadeias públicas (detalhados no apêndice no final deste documento), a Lightning Network também precisa lidar com os seguintes riscos de segurança-chave:

  • Congestão de Canal:
    Avalie a abrangência do design do sistema Lightning Network para garantir que não seja suscetível a ataques de negação de serviço que possam levar à congestão de canais.
  • Interferência de Canal:
    Avalie a segurança da estrutura de canais da Lightning Network para garantir que não seja vulnerável a ataques de congestionamento de canal.
  • Bloqueio e Desbloqueio de Ativos do Canal:
    Revisar os processos de bloqueio e desbloqueio de ativos na Lightning Network para garantir que as transferências de fundos entre on-chain e off-chain sejam seguras e confiáveis durante a abertura ou fechamento de canais de pagamento.
  • Atualizações do Estado e Encerramento do Canal:
    Avalie os processos de atualização do estado dos canais e o mecanismo de fechamento forçado para garantir que, em caso de situação anormal, o estado mais recente possa ser reconhecido e executado com precisão.
  • Travas de tempo e Contratos com Tempo Bloqueado por Hash (HTLCs):
    Avalie a implementação de HTLCs para garantir que as condições de bloqueio de tempo e de hash sejam corretamente aplicadas, evitando possíveis perdas de fundos devido a problemas de janela de tempo.
  • Dependência de carimbos de data/hora de blockchain:
    Avalie a dependência da Lightning Network dos horários de bloco da blockchain do Bitcoin para garantir a sincronização adequada dos tempos on-chain e off-chain, prevenindo ataques baseados no tempo.
  • Segurança do Algoritmo de Roteamento: Examine a eficiência e segurança dos algoritmos de roteamento para evitar riscos de exposição de privacidade e manipulação de roteamento malicioso.
  • 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 os estados do canal possam ser restaurados no caso de falhas de nós ou desconexões inesperadas, evitando a perda de fundos.

Sidechains

Ao contrário da Lightning Network, uma sidechain é uma blockchain independente que opera em paralelo com a mainchain (como a blockchain BTC) e interopera com ela através de um mecanismo conhecido como uma âncora bidirecional (2WP). O objetivo das sidechains é permitir funcionalidades adicionais e escalabilidade sem alterar o protocolo da mainchain.

Uma sidechain, como uma blockchain independente, possui seu próprio mecanismo de consenso, nós e regras de processamento de transações. Ela pode adotar diferentes tecnologias e protocolos de acordo com as necessidades de cenários de aplicação específicos. Através do mecanismo de pino de duas vias, a sidechain se comunica com a mainchain, garantindo que os ativos possam ser transferidos livre e seguramente entre elas. A operação do mecanismo de pino de duas vias geralmente envolve os seguintes passos:

  1. O usuário trava BTC na mainchain. Uma entidade confiável então obtém e usa Verificação de Pagamento Simplificada (SPV) para confirmar se a transação de travamento do usuário foi confirmada.

  2. A entidade confiável emite uma quantidade equivalente de tokens para o usuário na sidechain.

  3. Após concluir suas transações, o usuário trava as moedas restantes na sidechain.

  4. Após verificar a legitimidade das transações, a entidade confiável desbloqueia e libera o valor correspondente de BTC para o usuário na mainchain.

Nota 1: Entidades confiáveis desempenham um papel crítico no mecanismo de pino de duas vias, gerenciando o bloqueio e desbloqueio de ativos. Essas entidades devem possuir altos níveis de confiabilidade e capacidade técnica para garantir a segurança dos ativos dos usuários.

Nota 2: A verificação SPV permite que um nó verifique a validade de uma transação específica sem baixar toda a blockchain. Os nós SPV só precisam baixar os cabeçalhos dos blocos e usar a Árvore de Merkle para verificar se a transação está incluída no bloco.

Projetos de Sidechain Representativos

CKB (Rede Nervos) \
A Rede Nervos é um ecossistema de blockchain público de código aberto projetado para alavancar os benefícios de segurança e descentralização do mecanismo de consenso Proof of Work (PoW) do Bitcoin, ao mesmo tempo que introduz um modelo UTXO mais escalável e flexível para lidar com transações. Em seu núcleo está a Base de Conhecimento Comum (CKB), um blockchain de Camada 1 construído em RISC-V e utilizando PoW como seu mecanismo de consenso. Ele estende o modelo UTXO para o modelo de Células, permitindo armazenar qualquer dado e suportar scripts escritos em qualquer idioma para execução como contratos inteligentes on-chain.

Stacks

Stacks conecta cada bloco Stacks a um bloco Bitcoin por meio de seu mecanismo Proof of Transfer (PoX). Para facilitar o desenvolvimento de contratos inteligentes, Stacks projetou a linguagem de programação Clarity. Em Clarity, o obter-informações-de-bloqueio-de-queima?a função permite a entrada de uma altura de bloco Bitcoin para recuperar o hash do cabeçalho do bloco, enquanto o queimar-altura-do-blocoA palavra-chave recupera a altura do bloco atual da cadeia Bitcoin. Essas funções permitem que contratos inteligentes Clarity leiam o estado da cadeia base do Bitcoin, permitindo que transações de Bitcoin acionem contratos. Ao executar automaticamente esses contratos inteligentes, Stacks estende a funcionalidade do Bitcoin. Para uma análise detalhada do Stacks, você pode consultar o artigo de pesquisa anterior da Beosin: O que é Stacks? Quais desafios os Stacks de rede de camada 2 do BTC podem enfrentar?

Vantagens das Sidechains

  • Sidechains podem adotar diferentes tecnologias e protocolos, permitindo vários experimentos e inovações sem afetar a estabilidade e segurança da mainchain.
  • Sidechains podem introduzir recursos não presentes na mainchain, como contratos inteligentes, proteção de privacidade e emissão de tokens, enriquecendo os cenários de aplicação do ecossistema blockchain.

Desafios das Sidechains

  • As sidechains possuem mecanismos de consenso independentes, que podem não ser tão seguros quanto o mainchain do BTC. Se o mecanismo de consenso de uma sidechain for fraco ou tiver vulnerabilidades, isso poderá levar a um ataque de 51% ou a outras formas de ataques, colocando em risco a segurança dos ativos dos usuários. A segurança do mainchain do BTC depende de sua enorme potência de hash e distribuição ampla de nós, que uma sidechain pode não ser capaz de igualar.
  • Implementar o mecanismo de pino de duas vias requer algoritmos criptográficos e protocolos complexos. Se houver vulnerabilidades dentro deste mecanismo, poderia levar a problemas nas transferências de ativos entre a mainchain e a sidechain, potencialmente resultando em perda ou roubo de ativos.
  • Para equilibrar velocidade e segurança, a maioria das sidechains é mais centralizada do que a mainchain.

A Camada 2 é um sistema blockchain completo, então os itens gerais de auditoria para blockchains públicos também se aplicam às sidechains. Para mais detalhes, consulte o apêndice no final deste artigo.

Além disso, devido às suas características únicas, as sidechains requerem algumas auditorias adicionais:

  • Segurança do Protocolo de Consenso:
    Reveja se o protocolo de consenso da sidechain (por exemplo, PoW, PoS, DPoS) foi completamente validado e testado quanto a vulnerabilidades potenciais ou vetores de ataque, como ataques de 51% ou ataques de longo alcance.
  • Segurança do Nó de Consenso:
    Avalie a segurança dos nós de consenso, incluindo gerenciamento de chaves, proteção de nós e backups de redundância, para evitar que os nós sejam comprometidos ou abusados.
  • Bloqueio e Liberação de Ativos:
    Examine o mecanismo de pino de duas vias entre a sidechain e a mainchain para garantir que os contratos inteligentes responsáveis pelo bloqueio e liberação de ativos sejam seguros e confiáveis, evitando gastos duplos, perda de ativos ou falhas de bloqueio.
  • Verificação entre Cadeias:
    Verifique a precisão e segurança da verificação cruzada de cadeias para garantir que o processo seja descentralizado e à prova de violações, evitando falhas de verificação ou verificação maliciosa.
  • Auditoria de Código de Contrato Inteligente:
    Realize uma auditoria minuciosa de todos os contratos inteligentes em execução na sidechain, detectando quaisquer vulnerabilidades ou backdoors potenciais, especialmente na lógica do contrato que lida com operações entre cadeias.
  • Mecanismo de Atualização:
    Rever a segurança do mecanismo de atualização do contrato inteligente, garantindo que existam processos adequados de auditoria e consenso da comunidade para evitar atualizações maliciosas ou manipulação de contratos.
  • Comunicação entre nós:
    Inspeccionar a segurança do protocolo de comunicação entre nós da sidechain, garantindo o uso de canais criptografados para evitar ataques de intermediários ou violações de dados.
  • Comunicação entre Cadeias:
    Avalie os canais de comunicação entre a sidechain e a mainchain para garantir a integridade e autenticidade dos dados, evitando que a comunicação seja sequestrada ou adulterada.
  • Carimbo de data e Tempo de Bloco:
    Verifique o mecanismo de sincronização de tempo da sidechain para garantir consistência e precisão no tempo de geração de blocos, evitando ataques ou rollbacks de blocos causados por discrepâncias de tempo.
  • Segurança da Governança On-Chain:
    Reveja o mecanismo de governança da sidechain para garantir transparência e segurança nos processos de votação, proposta e tomada de decisão, evitando controle ou ataques maliciosos.
  • Auditoria da Economia do Token:
    Examine os tokenomics da sidechain, incluindo a distribuição de tokens, mecanismos de incentivo e modelos de inflação, garantindo que os incentivos econômicos não levem a comportamentos maliciosos ou instabilidade do sistema.
  • Mecanismo de Taxa:
    Reveja o mecanismo de taxa de transação da sidechain para garantir que esteja alinhado com as necessidades dos usuários da mainchain e da sidechain, evitando manipulação de taxas ou congestionamento de rede.
  • Segurança do Ativo:
    Auditar o mecanismo de gestão de ativos on-chain para garantir que os processos de armazenamento, transferência e queima de ativos sejam seguros e confiáveis, sem risco de acesso não autorizado ou roubo.
  • Gerenciamento de Chave:
    Inspeccionar a estratégia de gestão de chaves da sidechain para garantir a segurança das chaves privadas e o controlo de acesso, prevenindo a fuga ou uso indevido das chaves.

Rollup

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

Rollup vem em dois tipos principais: zk-Rollup e op-Rollup. No entanto, ao contrário do Ethereum, a falta de completude de Turing do Bitcoin impede o uso de contratos inteligentes para verificação de prova de conhecimento zero (ZKP) diretamente em sua rede. Isso significa que soluções tradicionais de zk-Rollup não podem ser implementadas no Bitcoin. Então, como o zk-Rollup pode ser usado para alcançar a escalabilidade da Camada 2 do Bitcoin? Vamos explorar o projeto da Rede B² como exemplo:

Para realizar a verificação de conhecimento zero (ZKP) no Bitcoin, a rede B² desenvolveu um script Taproot que integra a verificação de prova de conhecimento zero do zk-Rollup com o mecanismo de desafio de incentivo do op-Rollup. Veja como funciona:

  1. A B² Network primeiro agrega todas as transações do usuário em um Rollup.
  2. Um sequenciador então ordena essas transações Rollup, armazenando-as em armazenamento descentralizado e processando-as através de um zkEVM.
  3. Após sincronizar o estado da cadeia do Bitcoin, o zkEVM processa execuções de contratos e outras transações, consolidando os resultados e enviando-os para o agregador.
  4. O provador gera uma prova de conhecimento zero e a envia para o agregador, que combina as transações e a prova e as encaminha para os Nós B².
  5. Os nós B² verificam a prova de conhecimento zero e criam um script Taproot com base nos dados de Rollup armazenados em armazenamento descentralizado.
  6. O Taproot, que é um UTXO com um valor de 1 satoshi, contém a Inscrição B² em sua estrutura de dados, armazenando todos os dados do Rollup, enquanto o Tapleaf armazena os dados de verificação de todas as provas. Após passar pelo mecanismo de desafio de incentivo, é submetido ao Bitcoin como um compromisso baseado em zk-proof.

Vantagens do Rollup:

  • Rollup herda as características de segurança e descentralização da cadeia principal. Ao enviar regularmente dados de transação e estado para a cadeia principal, garante a integridade e transparência dos dados.
  • Rollup pode ser integrado de forma transparente nas redes de blockchain existentes, como Ethereum, permitindo que os desenvolvedores aproveitem facilmente seus benefícios sem modificações significativas nos contratos inteligentes e aplicações existentes.
  • Rollup aumenta significativamente a capacidade de transações ao processar um grande número de transações off-chain e enviá-las em lotes para a main chain, resultando em um aumento notável nas transações por segundo (TPS).
  • Uma vez que as transações Rollup são processadas fora da cadeia, isso reduz drasticamente os recursos computacionais e o espaço de armazenamento necessários para as transações na cadeia, diminuindo significativamente as taxas de transação do usuário.

Desafios do Rollup:

  • Se os dados off-chain se tornarem indisponíveis, os usuários podem não conseguir verificar transações e recuperar seu estado.
  • Transações Rollup precisam ser processadas em lotes e eventualmente enviadas para a cadeia principal, o que pode resultar em tempos de liquidação mais longos. Isso é especialmente verdadeiro no caso do op-Rollup, onde há um período de disputa, fazendo com que os usuários esperem mais tempo pela confirmação final da transação.
  • Embora o ZK Rollup forneça uma segurança maior e confirmação instantânea, ele requer recursos computacionais substanciais para gerar provas de conhecimento zero.

Dado que o Rollup é usado, seus principais itens de auditoria de segurança são consistentes com os da Camada 2 da Ethereum.

Outros (Babilônia)

Além das soluções tradicionais de camada 2 do BTC, surgiram alguns novos protocolos de terceiros relacionados ao ecossistema BTC, como o Babilônia:

Babylon tem como objetivo transformar 21 milhões de BTC em ativos de staking descentralizados. Ao contrário de outras soluções BTC de Camada 2, Babylon não foca em escalar a rede BTC. Em vez disso, é uma blockchain única com um protocolo especializado de staking BTC projetado principalmente para interagir com as cadeias de Proof of Stake (PoS). O objetivo é fazer staking de BTC para aumentar a segurança das cadeias PoS, abordando questões como ataques de longo alcance e riscos de centralização.

A arquitetura é dividida em três camadas:

  • Camada Bitcoin: Esta é a base sólida da Babilônia, aproveitando a renomada segurança do Bitcoin para garantir que todas as transações sejam ultra-seguras, assim como na rede Bitcoin.
  • Camada Babilônia:O núcleo de Babilônia, esta blockchain personalizada conecta o Bitcoin a várias cadeias PoS. Ele lida com transações, executa contratos inteligentes e garante a operação suave em todo o ecossistema.
  • Camada de cadeia PoS:A camada superior é composta por várias cadeias PoS, cada uma selecionada por suas vantagens únicas. Esta estrutura concede à BabylonChain uma escalabilidade e flexibilidade notáveis, permitindo que os usuários se beneficiem das melhores características de diferentes blockchains PoS.

Babylon opera assinando blocos finais na cadeia BTC para garantir cadeias PoS. Isso estende essencialmente o protocolo base com uma rodada adicional de assinaturas. Essas assinaturas na rodada final +1 têm uma característica única: são Assinaturas Únicas Extrativas (EOTS). O objetivo é integrar checkpoints PoS na cadeia BTC, abordando as questões de longos períodos de desvinculação e ataques de longo alcance em sistemas PoS.

Vantagens de Babylon:

  • Babilônia acelera o processo de desvinculação da participação PoS.
  • Ao apostar BTC, Babylon ajuda a aliviar as pressões inflacionárias na rede PoS correspondente.
  • Babilônia abre novos caminhos para os detentores de BTC ganharem retornos.

Desafios da Babilônia:

  • As taxas de recompensa de staking e outros fatores econômicos impactam significativamente o incentivo para o staking de BTC.
  • Não há uniformidade nos mecanismos de recompensa em diferentes cadeias PoS.

O foco na segurança varia dependendo da implementação específica de protocolos de terceiros. Para Babylon, alguns pontos-chave de auditoria de segurança incluem:

1. Segurança do Contrato Inteligente: Os contratos de staking no BTC são implementados através de scripts UTXO, que exigem atenção cuidadosa à segurança. 2. Segurança do Algoritmo de Assinatura: A segurança do algoritmo de assinatura usado para gerenciar o staking no contrato é crítica, pois afeta a geração e verificação de assinaturas. 3. Design do Modelo Econômico: O modelo econômico do protocolo, particularmente em termos de recompensas e penalidades, precisa ser examinado para garantir que não leve à perda de ativos do usuário.

Apêndice:

Itens Gerais de Auditoria para Cadeias Públicas & Camada 2

  • Estouro de inteiro:Verifique o estouro e subfluxo de inteiros.
  • Loop Infinito:Verifique se as condições do loop no programa são razoáveis.
  • Recursão Infinita:Certifique-se de que as condições de saída para chamadas recursivas estejam devidamente definidas.
  • Condição de corrida:Examinar operações de acesso a recursos compartilhados em condições concorrentes.
  • Exceções não tratadas:Identificar o código que lança exceções causando o encerramento inesperado do programa.
  • Divisão por Zero:Verifique se existem casos em que a divisão por zero possa ocorrer.
  • Conversão de Tipo:Garanta que as conversões de tipo sejam precisas e que nenhuma informação crítica seja perdida no processo.
  • Array Out-of-Bounds:Certifique-se de que os elementos do array sejam acessados dentro dos limites válidos.
  • Vulnerabilidades de desserialização:Verifique problemas durante o processo de desserialização.
  • Implementação de Segurança de Funcionalidade:Verifique se a implementação das interfaces RPC é segura e consistente com seu design funcional.
  • Configurações de Permissão Sensíveis da Interface RPC:Certifique-se de que as permissões de acesso para interfaces RPC sensíveis estejam configuradas adequadamente.
  • Mecanismo de Transmissão Criptografada:Verificar o uso de protocolos de transmissão criptografados, como TLS.
  • Análise do Formato de Dados da Solicitação:Verifique o processo de análise de formatos de dados de solicitação.
  • Ataque de Desbloqueio de Carteira:Garantir que os fundos não sejam roubados por meio de solicitações RPC quando um nó desbloqueia sua carteira.
  • 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 XXE, Vulnerabilidades de Desserialização, Vulnerabilidades de SSRF, Injeção de Código, Inclusão de Arquivo Local, Inclusão de Arquivo Remoto, Injeção de Comando, etc.
  • Mecanismo de Autenticação e Identificação de Nós da Rede:Garantir que exista um mecanismo de reconhecimento de identidade do nó e que não possa ser contornado.
  • Envenenamento da Tabela de Roteamento:Verifique se a tabela de roteamento pode ser manipulada ou sobrescrita arbitrariamente.
  • Algoritmo de Descoberta de Nós:Certifique-se de que o algoritmo de descoberta de nós seja equilibrado e imprevisível, abordando questões como desequilíbrios em algoritmos de distância.
  • Auditoria de Ocupação de Conexão:Certifique-se de que o limite e a gestão dos nós conectados na rede p2p sejam razoáveis.
  • Ataque Eclipse:Avalie o custo e o impacto dos ataques de eclipse, fornecendo análises quantitativas se necessário.
  • Ataque de Sybil:Avaliar o mecanismo de consenso de votação e analisar as estratégias para verificar a elegibilidade para votar.
  • Ataque de espionagem:Verifique se o protocolo de comunicação não vaza informações privadas.
  • Ataque Alienígena:Avalie se os nós podem reconhecer outros nós da mesma rede blockchain.
  • Sequestro de Tempo:Verifique o mecanismo de cálculo do tempo de rede nos nós.
  • Ataque de Exaustão de Memória:Verifique áreas de alta consumo de memória.
  • Ataque de Esgotamento de Disco:Verifique áreas envolvendo armazenamento de arquivos grandes.
  • Ataque de Estresse de Soquete:Verificar estratégias limitando o número de conexões.
  • Ataque de Exaustão de Manipulador de Kernel:Certifique-se de que os limites na criação do identificador do kernel, como identificadores de arquivo, sejam razoáveis.
  • Vazamentos de Memória Persistentes:Identificar áreas propensas a vazamentos de memória.
  • Algoritmo de Segurança de Hash:Certifique-se de que o algoritmo de hash seja resistente a colisões.
  • Segurança do Algoritmo de Assinatura Digital:Verifique a segurança do algoritmo de assinatura e sua implementação.
  • Segurança do Algoritmo de Criptografia:Garanta que o algoritmo de criptografia e sua implementação sejam seguros.
  • Segurança do Gerador de Números Aleatórios:Verifique se os algoritmos críticos de geração de números aleatórios são razoáveis.
  • Segurança na Implementação de BFT:Avalie a segurança da implementação do algoritmo de Tolerância a Falhas Bizantinas (BFT).
  • Regra de Escolha de Fork:Verifique a regra de escolha do fork para garantir a segurança.
  • Detecção de Centralização:Identificar qualquer centralização excessiva no design do sistema.
  • Auditoria do Mecanismo de Incentivo:Avaliar o impacto do mecanismo de incentivo na segurança.
  • Ataque de gastos duplos:Verificar se o consenso pode se defender contra ataques de gastos duplos.
  • Auditoria de Ataque MEV:Avalie o impacto do Valor Máximo Extraível (MEV) na equidade da cadeia durante a embalagem de blocos.
  • Auditoria do Processo de Sincronização de Blocos:Verifique os problemas de segurança durante o processo de sincronização.
  • Auditoria de Análise de Formato de Bloco:Avalie as preocupações de segurança durante a análise do formato de bloco, como erros de análise que levam a falhas.
  • Auditoria do Processo de Geração de Blocos:Revisar a segurança do processo de geração de blocos, incluindo a construção da raiz da árvore de Merkle.
  • Auditoria do Processo de Verificação de Blocos:Verifique os itens de conteúdo das assinaturas de bloco e se a lógica de verificação é adequada.
  • Auditoria da Lógica de Confirmação de Bloco:Avalie se o algoritmo de confirmação de bloco e sua implementação são razoáveis.
  • Colisão de Hash de Bloco:Verifique como as colisões de hash de bloco são construídas e se o tratamento de tais colisões é apropriado.
  • Limites de Recursos de Processamento de Blocos:Verifique se os limites de recursos para o pool de blocos órfãos, computação de verificação e endereçamento de disco são razoáveis.
  • Auditoria do Processo de Sincronização de Transações:Rever problemas de segurança durante o processo de sincronização da transação.
  • Colisão de Hash de Transação:Verifique como colisões de hash de transação são construídas e tratadas.
  • Análise de Formato de Transação:Avaliar as preocupações de segurança durante a análise do formato da transação, como erros de análise que levam a falhas.
  • Verificação de Legitimidade da Transação:Verifique os itens de conteúdo de várias assinaturas de transação e se a lógica de verificação é suficiente.
  • Limites de Recursos de Processamento de Transações:Reveja se os limites de recursos para o pool de transações, computação de verificação e endereçamento de disco são razoáveis.
  • Ataque de Maleabilidade de Transação:Avalie se as transações podem alterar campos internos (por exemplo, ScriptSig) para modificar o hash da transação sem afetar sua validade.
  • Auditoria de Ataque de Repetição de Transação:Verifique a detecção do sistema de ataques de repetição de transações.
  • Verificação de Código de Byte de Contrato Inteligente:Revisar a segurança do processo de verificação de contrato da máquina virtual, como verificar estouros de inteiro e loops infinitos.
  • Execução de Código de Byte de Contrato Inteligente:Avalie as preocupações de segurança durante a execução do bytecode pela máquina virtual, como estouros de inteiros e loops infinitos.
  • Modelo de Gás:Certifique-se de que as taxas de processamento de transações/execução de contratos para cada operação atômica sejam proporcionais ao consumo de recursos.
  • Integridade do registro:Certifique-se de que as informações críticas sejam registradas nos logs.
  • Segurança do Log:Verifique se o processamento de log introduz problemas de segurança, como sobrecargas de inteiros.
  • Registros Contendo Informações Sensíveis:Garanta que os logs não contenham chaves ou outras informações privadas.
  • Armazenamento de registros:Verifique se o registro excessivo leva ao consumo de recursos nos nós.
  • Segurança da Cadeia de Fornecimento de Código de Nó:Rever problemas conhecidos com todas as bibliotecas de terceiros, componentes e versões de estrutura de cadeia pública.

Como uma das primeiras empresas de segurança blockchain globalmente especializada em verificação formal, a Beosin concentra-se em um ecossistema abrangente de “segurança + conformidade”. A empresa estabeleceu filiais em mais de 10 países e regiões em todo o mundo. Seus serviços abrangem produtos de conformidade blockchain de balcão único e serviços de segurança, incluindo auditorias de segurança de código antes do lançamento do projeto, monitoramento de riscos de segurança em tempo real e interceptação durante a operação do projeto, recuperação de ativos roubados, lavagem de dinheiro (AML) para ativos virtuais e avaliações de conformidade que atendem aos requisitos regulatórios locais. Recebemos com satisfação os projetos com necessidades de auditoria para entrar em contato com a equipe de segurança da Beosin.

Aviso Legal:

  1. Este artigo é reproduzido a partir de [Beosin], Todos os direitos autorais pertencem ao autor original [Beosin]. Se houver objeções a essa reimpressão, entre em contato com o Gate Learnequipe e eles vão lidar com isso prontamente.
  2. Isenção de Responsabilidade: As visões e 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. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!