As 8 principais vulnerabilidades de segurança e estratégias de proteção em projetos de Blockchain com zk-SNARKs

robot
Geração do resumo em andamento

zk-SNARKs e considerações de segurança na combinação com Blockchain

zk-SNARKs(ZKP) como uma tecnologia criptográfica avançada, está se fundindo profundamente com a tecnologia Blockchain. Com o crescente número de protocolos Layer 2 e cadeias públicas especiais adotando ZKP, sua complexidade também trouxe novos desafios de segurança. Este artigo abordará, a partir da perspectiva de segurança, as vulnerabilidades potenciais do ZKP em aplicações Blockchain, fornecendo referências para a proteção de segurança de projetos relacionados.

Características principais do ZKP

Antes de analisar a segurança do sistema ZKP, precisamos entender suas três características principais:

  1. Completude: para declarações verdadeiras, o provador consegue sempre demonstrar ao verificador a sua correção.

  2. Confiabilidade: em relação a declarações incorretas, os provadores maliciosos não conseguem enganar os validadores.

  3. Prova de zero conhecimento: durante o processo de verificação, o verificador não obterá nenhuma informação sobre os dados originais.

Estas três características são a base para garantir a segurança e eficácia dos sistemas ZKP. Se alguma dessas características for comprometida, pode levar ao colapso da segurança do sistema. Por exemplo, a falta de completude pode resultar em negação de serviço; a falta de confiabilidade pode ser explorada por atacantes para criar provas falsas; a deterioração da zero-knowledge pode resultar na divulgação de informações sensíveis. Portanto, na avaliação de segurança, é essencial dar ênfase à implementação dessas características.

Preocupações de segurança em projetos de Blockchain ZKP

Para projetos de blockchain baseados em ZKP, é necessário prestar atenção às seguintes questões de segurança:

1. zk-SNARKs circuito

Os circuitos ZKP são o núcleo de todo o sistema, e sua segurança afeta diretamente a confiabilidade do projeto. Os principais pontos de foco incluem:

  • Erro de design de circuito: pode levar a um processo de prova que não cumpre as propriedades de segurança. Por exemplo, o Zcash descobriu em 2018, durante a atualização Sapling, um erro de design de circuito que poderia levar à falsificação ilimitada de tokens.

  • Erro na implementação de primitivas criptográficas: se houver falhas nas primitivas criptográficas subjacentes, isso pode levar ao colapso de todo o sistema. Esse tipo de problema não é raro, como o caso da ponte cross-chain da BNB Chain, que sofreu grandes perdas devido a um erro na implementação da verificação da árvore Merkle.

  • Falta de aleatoriedade: O sistema ZKP depende de números aleatórios de alta qualidade, e problemas na geração de números aleatórios podem comprometer a segurança da prova. Por exemplo, a Dfinity descobriu uma vulnerabilidade na geração de números aleatórios que poderia comprometer as características de zero conhecimento.

2. Segurança de contratos inteligentes

Para projetos de moedas privadas baseados em Layer 2 ou contratos inteligentes, a segurança do contrato é crucial. Além das vulnerabilidades comuns, como reentrância e estouro, é necessário prestar atenção especial à validação de mensagens entre cadeias e à validação de provas, pois isso pode afetar diretamente a confiabilidade do sistema. Por exemplo, a vulnerabilidade do contrato Verify da Circom permitiu que atacantes realizassem um double spend através de um pseudônimo.

3. Disponibilidade de dados

Garantir o acesso seguro e a validação eficaz dos dados off-chain é crucial para projetos de Layer 2. Em 2019, a Plasma Chain enfrentou interrupções nas transações e retiradas devido à incapacidade dos validadores de acessar dados off-chain. Além de adotar provas de disponibilidade de dados, deve-se também reforçar a proteção do host e o monitoramento do estado dos dados.

4. Mecanismos de incentivos econômicos

Um mecanismo de incentivo razoável é crucial para manter a segurança e a estabilidade do sistema. É necessário avaliar se o design do modelo de incentivos, a distribuição de recompensas e o mecanismo de penalização podem efetivamente incentivar todos os participantes.

5. Proteção de Privacidade

Para projetos que envolvem proteção de privacidade, é necessário revisar a implementação de suas soluções de privacidade. Garantir que os dados dos usuários estejam plenamente protegidos durante todo o processo, ao mesmo tempo em que se assegura a disponibilidade e a confiabilidade do sistema. É possível avaliar se há risco de vazamento de privacidade analisando o fluxo de comunicação do protocolo.

6. Otimização de desempenho

Avaliar as estratégias de otimização de desempenho do projeto, incluindo a velocidade de processamento de transações e a eficiência do processo de validação, entre outros. Rever as medidas de otimização na implementação do código, garantindo que atendam aos requisitos de desempenho.

7. Mecanismos de tolerância a falhas e recuperação

Estratégias de resposta a situações imprevistas, como falhas de rede e ataques maliciosos, enfrentadas pelos projetos de auditoria. Garantir que o sistema tenha a capacidade de recuperação automática e de manter o funcionamento normal.

8. Qualidade do código

Auditar a qualidade do código do projeto de forma abrangente, focando na legibilidade, manutenibilidade e robustez. Avaliar se existem práticas de programação não conformes, código redundante ou erros potenciais.

Serviços de Segurança e Soluções de Proteção

Para proteger completamente a segurança do projeto ZKP, podem ser tomadas as seguintes medidas:

  1. Auditoria de código em todas as áreas: inclui auditoria de contratos inteligentes, lógica de codificação de circuitos, condições de restrição e geração de testemunhas em todas as etapas.

  2. Testes automatizados: Realização de testes Fuzz e testes de segurança para o código Sequencer/Prover e contratos de verificação.

  3. Monitorização em tempo real: Implementar um sistema de monitorização de segurança em blockchain, permitindo a perceção, alerta e rastreio de riscos em tempo real.

  4. Proteção do Host: utilizar produtos de segurança de host com capacidades CWPP e ASA, garantindo a operação segura e confiável do servidor.

  5. Simulação de Ataques: Testar vários cenários de ataque simulando logicamente testemunhos personalizados montados manualmente.

Em suma, a proteção de segurança dos projetos ZKP precisa ser direcionada para seus cenários de aplicação específicos, considerando de forma abrangente todos os aspectos, desde a criptografia de base até as aplicações de nível superior. Somente garantindo a completude, confiabilidade e zero conhecimento do ZKP é que se pode construir um sistema verdadeiramente seguro e confiável.

BNB-1.01%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 5
  • Compartilhar
Comentário
0/400
fork_in_the_roadvip
· 07-20 04:34
Vale a pena estudar e pesquisar em profundidade
Ver originalResponder0
WinterWarmthCatvip
· 07-17 12:05
A segurança deve ser sólida para ser confiável
Ver originalResponder0
BottomMisservip
· 07-17 05:25
A segurança é a verdadeira produtividade.
Ver originalResponder0
DegenRecoveryGroupvip
· 07-17 05:23
A segurança em primeiro lugar, as regras acima de tudo.
Ver originalResponder0
NFTFreezervip
· 07-17 05:10
Vale a pena uma profundidade de estudo a este artigo.
Ver originalResponder0
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)