Oito principais pontos de segurança sobre a combinação de zk-SNARKs e Blockchain

robot
Geração do resumo em andamento

zk-SNARKs na discussão sobre a segurança do Blockchain

zk-SNARKs(ZKP) como um sistema de prova, sua essência é a desconstrução e verificação de problemas entre o provador e o verificador com base em uma série de circuitos lógicos. Com cada vez mais protocolos Layer 2 e cadeias públicas especiais adotando a tecnologia ZKP, e com os vários projetos de moedas anônimas baseados em ZKP anteriormente, a combinação de Blockchain e ZKP gerou mais riscos de segurança devido à complexidade do sistema. Este artigo abordará, a partir de uma perspectiva de segurança, as possíveis vulnerabilidades que podem surgir no processo de combinação de ZKP e Blockchain, oferecendo uma referência para a 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 afirmações verdadeiras, o provador sempre consegue provar sua correção ao validador.

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

  3. Zero conhecimento: durante o processo de verificação, o verificador não receberá nenhuma informação do provador sobre os dados em si.

Essas três características são fundamentais para a segurança e eficácia do sistema ZKP, e precisam de atenção especial nos serviços de segurança. Se a completude não for atendida, o sistema pode não conseguir fornecer provas corretas em condições extremas, resultando em negação de serviço. Se a confiabilidade não for atendida, um atacante pode falsificar provas para enganar o validador, levando a uma contorna de permissões. Se a propriedade de conhecimento zero não for atendida, pode haver uma divulgação dos parâmetros originais durante o processo interativo, permitindo que o atacante construa provas de ataque ou que o provador aja de má fé.

Preocupações de segurança dos projetos ZKP

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

1. zk-SNARKs circuito

É necessário garantir a segurança, eficácia e escalabilidade dos circuitos ZKP, que incluem principalmente:

  • Erro de design de circuito: pode levar a um processo de prova que não atende às propriedades de segurança como zero conhecimento, completude ou confiabilidade.

  • Erro na implementação de primitivas criptográficas: se houver problemas na implementação de funções de hash, algoritmos de criptografia, etc., isso pode comprometer a segurança de todo o sistema de provas.

  • Falta de aleatoriedade: Se houver problemas no processo de geração de números aleatórios, isso pode comprometer a segurança da prova.

2. Segurança de Contrato

Para projetos de moedas privadas em Layer 2 ou implementados através de contratos inteligentes, além das vulnerabilidades comuns como reentrância e injeção, é necessário prestar especial atenção à segurança da validação de mensagens entre cadeias e da validação de proof, pois isso está diretamente relacionado à confiabilidade do sistema.

3. Disponibilidade de dados

É necessário prestar atenção em como o projeto resolve o problema da disponibilidade de dados, garantindo que os dados off-chain possam ser acessados e verificados de forma segura e eficaz. Pode-se abordar a partir de aspectos como armazenamento de dados, mecanismos de verificação e processo de transmissão.

4. Incentivos econômicos

Avaliar se o mecanismo de incentivo do projeto é razoável, se pode efetivamente estimular a participação de todas as partes e manter a segurança e a estabilidade do sistema. Inclui design do modelo de incentivo, distribuição de recompensas, mecanismos de penalização, etc.

5. Proteção de Privacidade

Para projetos que envolvem proteção de privacidade, é necessário auditar a implementação de seus mecanismos de privacidade, garantindo que os dados dos usuários sejam adequadamente protegidos durante a transmissão, armazenamento e verificação, ao mesmo tempo em que se mantém a disponibilidade e confiabilidade do sistema.

6. Otimização de desempenho

Avaliar as estratégias de otimização de desempenho do projeto, como a velocidade de processamento de transações, eficiência do processo de validação, etc., auditar as medidas de otimização na implementação do código.

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

Estratégias de tolerância a falhas e recuperação para auditoria de projetos enfrentando situações inesperadas (, como falhas de rede, ataques maliciosos, etc., garantindo que o sistema possa se recuperar automaticamente e manter operação normal sempre que possível.

) 8. Qualidade do código

A qualidade geral do código do projeto de auditoria, focando na legibilidade, manutenibilidade e robustez, avaliando se existem práticas de programação não conformes, código redundante, erros potenciais e outros problemas.

A importância dos serviços de segurança

Para projetos ZKP, serviços de segurança profissionais podem oferecer proteção abrangente. Além da auditoria convencional de código de contratos inteligentes, é necessário ter a capacidade de auditar a lógica de codificação de circuitos, podendo utilizar métodos manuais e automatizados para auditar a correção das condições de restrição e da geração de testemunhas. Para lógicas importantes, é possível simular vários comportamentos de ataque através da montagem manual de testemunhas de lógica personalizadas para testes.

Além disso, em relação ao código Sequencer/Prover e aos contratos de validação, é necessário ter capacidade de Fuzz e testes de segurança, ao mesmo tempo em que se proporciona proteção às entidades de nós e aos dados dos nós. Após o lançamento do projeto, o monitoramento em tempo real e o sistema de proteção também são muito importantes, pois podem fornecer capacidade de percepção da situação de segurança na blockchain, alertas de risco, rastreamento na blockchain, entre outros.

Resumo

Ao discutir a segurança de projetos ZKP, é primeiro necessário esclarecer onde o projeto irá aplicar o ZKP. Os ### de diferentes tipos de projetos, como Layer 2, moedas de privacidade e blockchains públicas (, têm diferentes ênfases de segurança. Mas, de qualquer forma, é importante garantir que as três características centrais do ZKP: completude, confiabilidade e propriedade do zero conhecimento, sejam efetivamente protegidas. Somente considerando amplamente todos os fatores de segurança é que se pode construir uma sólida linha de defesa de segurança para os projetos ZKP.

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
  • 8
  • Compartilhar
Comentário
0/400
PumpDetectorvip
· 08-03 00:42
tenho assistido a provas zk desde os dias da silk road... ainda não consigo confiar nelas para ser honesto
Ver originalResponder0
StealthDeployervip
· 08-03 00:35
Parece tão complicado que não consigo entender.
Ver originalResponder0
LiquidityNinjavip
· 08-01 14:02
Não pense mais, o projeto já está morto.
Ver originalResponder0
SchrodingerWalletvip
· 07-31 01:15
É apenas teoria novamente. E a prática?
Ver originalResponder0
SchroedingerGasvip
· 07-31 01:14
gás a cobrança é a maior incerteza
Ver originalResponder0
MissingSatsvip
· 07-31 01:12
Mais uma vez layer2? Não me responsabilizo por perder dinheiro.
Ver originalResponder0
ReverseTradingGuruvip
· 07-31 01:05
Quem consegue entender isso? Estou confuso.
Ver originalResponder0
DeFiCaffeinatorvip
· 07-31 01:00
A vulnerabilidade está a deixar-me de cabelos em pé~
Ver originalResponder0
  • Marcar
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)