Desafios de segurança na combinação de zk-SNARKs e Blockchain
zk-SNARKs(ZKP) como uma tecnologia criptográfica avançada, está sendo cada vez mais adotada por projetos de Blockchain. No entanto, a complexidade dos sistemas ZKP também traz várias vulnerabilidades de segurança. Este artigo irá explorar, a partir da perspectiva de segurança, as possíveis falhas que podem surgir no processo de combinação de ZKP com Blockchain, oferecendo referências para a segurança de projetos relacionados.
Características principais do ZKP
Um sistema completo de zk-SNARKs precisa atender a três características chave ao mesmo tempo:
Completude: para declarações verdadeiras, o provador consegue sempre provar com sucesso a sua correção ao verificador.
Confiabilidade: para declarações incorretas, os provadores maliciosos não podem enganar os validadores.
zk-SNARKs: Durante o processo de verificação, o verificador não receberá nenhuma informação sobre os dados originais.
Estas três características são a base da segurança e eficácia dos sistemas de zk-SNARKs. Se alguma dessas características não for atendida, pode levar a problemas graves, como negação de serviço, contorno de permissões ou vazamento de dados. Portanto, ao realizar uma avaliação de segurança, é necessário prestar especial atenção a se essas características estão garantidas.
Principais preocupações de segurança
Para projetos de blockchain baseados em zk-SNARKs, é importante prestar atenção às seguintes questões de segurança:
1. zk-SNARKs circuit
O circuito ZKP é o núcleo de todo o sistema, sendo necessário garantir a segurança do seu design e implementação. Inclui principalmente:
Erro de design de circuito: pode levar a que o processo de prova não cumpra atributos de segurança como zero conhecimento, completude ou fiabilidade.
Erro na implementação do primitivo criptográfico: se houver problemas na implementação da função de hash, algoritmo de criptografia, etc., isso pode comprometer a segurança de todo o sistema de prova.
Falta de aleatoriedade: Se o processo de geração de números aleatórios tiver falhas, isso pode comprometer a segurança da prova.
2. Segurança de contratos inteligentes
Para projetos de moedas privadas em Layer2 ou implementados através de contratos inteligentes, a segurança dos contratos é fundamental. Além das vulnerabilidades comuns, é necessário prestar especial atenção a problemas de validação de mensagens entre cadeias e validação de provas, pois estes podem impactar diretamente a confiabilidade do sistema.
3. Disponibilidade de dados
É necessário garantir que os dados off-chain possam ser acessados e verificados de forma segura e eficaz quando necessário. Preste atenção à segurança do armazenamento de dados, mecanismos de verificação e ao processo de transmissão. Além de usar provas de disponibilidade de dados, também é possível fortalecer a proteção do host e o monitoramento do estado dos dados.
4. Mecanismos de incentivo econômico
Avaliar o design do modelo de incentivos do projeto, a distribuição de recompensas e o mecanismo de penalização, garantindo que todas as partes envolvidas tenham motivação para manter a segurança e a operação estável do sistema.
5. Proteção de Privacidade
A implementação de um plano de proteção de privacidade para projetos de auditoria garante que os dados dos usuários sejam adequadamente protegidos durante a transmissão, armazenamento e verificação, ao mesmo tempo em que mantém a disponibilidade e a confiabilidade do sistema. Pode-se inferir a existência de riscos de vazamento de privacidade do provador através da análise do fluxo de comunicação do protocolo.
6. Otimização de desempenho
Avaliar as estratégias de otimização de desempenho do projeto, como velocidade de processamento de transações, eficiência do processo de verificação, etc. Auditar as medidas de otimização implementadas no código, garantindo que atendam às necessidades de desempenho.
7. Mecanismos de tolerância a falhas e recuperação
Rever as estratégias de tolerância a falhas e recuperação do projeto diante de situações inesperadas, como falhas de rede e ataques maliciosos, garantindo que o sistema possa se recuperar automaticamente e manter a operação normal.
8. Qualidade do código
A qualidade geral do código do projeto de auditoria, com foco 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 Proteção
Fornecer proteção de segurança abrangente para projetos ZKP pode ser abordado a partir dos seguintes aspectos:
Auditoria de código de circuito: utilizar métodos manuais e automatizados para auditar a correção das condições de restrição e da geração de testemunhos, analisando profundamente as vulnerabilidades de cálculo de restrições que faltam.
Teste de segurança do código do nó: realizar testes de Fuzz no código Sequencer/Prover e no contrato de verificação, ao mesmo tempo que fornece proteção para as entidades do nó e os dados.
Monitorização de segurança em blockchain: implementar sistemas de percepção da situação de segurança em blockchain, alerta de riscos e rastreamento em blockchain, para alcançar a percepção de riscos em tempo real.
Proteção de segurança do servidor: produtos de proteção de segurança do servidor que aplicam capacidades CWPP e ASA, fornecendo gestão de ativos, riscos, ameaças e respostas em ciclo fechado a nível de servidor.
Conclusão
A avaliação de segurança de projetos ZKP deve ser focada em cenários de aplicação específicos como Layer2, moedas de privacidade, blockchains públicas, etc., (. Mas, independentemente do tipo, é essencial garantir que as três características principais do ZKP sejam totalmente protegidas. Somente considerando todos os fatores de segurança é que se pode construir um sistema de Blockchain ZKP verdadeiramente seguro e confiável.
Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
15 Curtidas
Recompensa
15
9
Compartilhar
Comentário
0/400
ChainWatcher
· 20h atrás
Continuar a contar a história está muito incompleto.
Ver originalResponder0
Fren_Not_Food
· 07-08 15:09
zkp é algo interessante!
Ver originalResponder0
DataBartender
· 07-07 09:46
Qual é a utilidade da privacidade se os outros também sabem que a sua conta não tem dinheiro?
Ver originalResponder0
FUDwatcher
· 07-06 08:15
zkp não é万能的, quem entende, entende.
Ver originalResponder0
MainnetDelayedAgain
· 07-06 08:15
De acordo com as estatísticas, este projeto já desenhou 328 dias de provas de conhecimento zero.
Ver originalResponder0
Lonely_Validator
· 07-06 08:07
A teoria foi compreendida, mas a prática ainda é um pouco confusa.
Ver originalResponder0
fork_in_the_road
· 07-06 08:01
zk+Blockchain também não salva este mercado quebrado
Ver originalResponder0
Layer3Dreamer
· 07-06 07:55
teoricamente falando, o trilema zk atinge mais forte do que o trilema do blockchain, para ser honesto
Ver originalResponder0
NftDataDetective
· 07-06 07:52
aqui vamos nós de novo... zkp recebendo atenção mas ninguém fala sobre os vetores de ataque smh
Os oito grandes desafios de segurança da combinação de ZKP e Blockchain e estratégias de resposta
Desafios de segurança na combinação de zk-SNARKs e Blockchain
zk-SNARKs(ZKP) como uma tecnologia criptográfica avançada, está sendo cada vez mais adotada por projetos de Blockchain. No entanto, a complexidade dos sistemas ZKP também traz várias vulnerabilidades de segurança. Este artigo irá explorar, a partir da perspectiva de segurança, as possíveis falhas que podem surgir no processo de combinação de ZKP com Blockchain, oferecendo referências para a segurança de projetos relacionados.
Características principais do ZKP
Um sistema completo de zk-SNARKs precisa atender a três características chave ao mesmo tempo:
Completude: para declarações verdadeiras, o provador consegue sempre provar com sucesso a sua correção ao verificador.
Confiabilidade: para declarações incorretas, os provadores maliciosos não podem enganar os validadores.
zk-SNARKs: Durante o processo de verificação, o verificador não receberá nenhuma informação sobre os dados originais.
Estas três características são a base da segurança e eficácia dos sistemas de zk-SNARKs. Se alguma dessas características não for atendida, pode levar a problemas graves, como negação de serviço, contorno de permissões ou vazamento de dados. Portanto, ao realizar uma avaliação de segurança, é necessário prestar especial atenção a se essas características estão garantidas.
Principais preocupações de segurança
Para projetos de blockchain baseados em zk-SNARKs, é importante prestar atenção às seguintes questões de segurança:
1. zk-SNARKs circuit
O circuito ZKP é o núcleo de todo o sistema, sendo necessário garantir a segurança do seu design e implementação. Inclui principalmente:
Erro de design de circuito: pode levar a que o processo de prova não cumpra atributos de segurança como zero conhecimento, completude ou fiabilidade.
Erro na implementação do primitivo criptográfico: se houver problemas na implementação da função de hash, algoritmo de criptografia, etc., isso pode comprometer a segurança de todo o sistema de prova.
Falta de aleatoriedade: Se o processo de geração de números aleatórios tiver falhas, isso pode comprometer a segurança da prova.
2. Segurança de contratos inteligentes
Para projetos de moedas privadas em Layer2 ou implementados através de contratos inteligentes, a segurança dos contratos é fundamental. Além das vulnerabilidades comuns, é necessário prestar especial atenção a problemas de validação de mensagens entre cadeias e validação de provas, pois estes podem impactar diretamente a confiabilidade do sistema.
3. Disponibilidade de dados
É necessário garantir que os dados off-chain possam ser acessados e verificados de forma segura e eficaz quando necessário. Preste atenção à segurança do armazenamento de dados, mecanismos de verificação e ao processo de transmissão. Além de usar provas de disponibilidade de dados, também é possível fortalecer a proteção do host e o monitoramento do estado dos dados.
4. Mecanismos de incentivo econômico
Avaliar o design do modelo de incentivos do projeto, a distribuição de recompensas e o mecanismo de penalização, garantindo que todas as partes envolvidas tenham motivação para manter a segurança e a operação estável do sistema.
5. Proteção de Privacidade
A implementação de um plano de proteção de privacidade para projetos de auditoria garante que os dados dos usuários sejam adequadamente protegidos durante a transmissão, armazenamento e verificação, ao mesmo tempo em que mantém a disponibilidade e a confiabilidade do sistema. Pode-se inferir a existência de riscos de vazamento de privacidade do provador através da análise do fluxo de comunicação do protocolo.
6. Otimização de desempenho
Avaliar as estratégias de otimização de desempenho do projeto, como velocidade de processamento de transações, eficiência do processo de verificação, etc. Auditar as medidas de otimização implementadas no código, garantindo que atendam às necessidades de desempenho.
7. Mecanismos de tolerância a falhas e recuperação
Rever as estratégias de tolerância a falhas e recuperação do projeto diante de situações inesperadas, como falhas de rede e ataques maliciosos, garantindo que o sistema possa se recuperar automaticamente e manter a operação normal.
8. Qualidade do código
A qualidade geral do código do projeto de auditoria, com foco 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 Proteção
Fornecer proteção de segurança abrangente para projetos ZKP pode ser abordado a partir dos seguintes aspectos:
Auditoria de código de circuito: utilizar métodos manuais e automatizados para auditar a correção das condições de restrição e da geração de testemunhos, analisando profundamente as vulnerabilidades de cálculo de restrições que faltam.
Teste de segurança do código do nó: realizar testes de Fuzz no código Sequencer/Prover e no contrato de verificação, ao mesmo tempo que fornece proteção para as entidades do nó e os dados.
Monitorização de segurança em blockchain: implementar sistemas de percepção da situação de segurança em blockchain, alerta de riscos e rastreamento em blockchain, para alcançar a percepção de riscos em tempo real.
Proteção de segurança do servidor: produtos de proteção de segurança do servidor que aplicam capacidades CWPP e ASA, fornecendo gestão de ativos, riscos, ameaças e respostas em ciclo fechado a nível de servidor.
Conclusão
A avaliação de segurança de projetos ZKP deve ser focada em cenários de aplicação específicos como Layer2, moedas de privacidade, blockchains públicas, etc., (. Mas, independentemente do tipo, é essencial garantir que as três características principais do ZKP sejam totalmente protegidas. Somente considerando todos os fatores de segurança é que se pode construir um sistema de Blockchain ZKP verdadeiramente seguro e confiável.