A discussão sobre a segurança do zk-SNARKs no Blockchain
zk-SNARKs(ZKP) como uma nova técnica criptográfica, está sendo adotada por um número crescente de projetos de Blockchain. No entanto, devido à complexidade do sistema, a combinação de ZKP com Blockchain também trouxe novos desafios de segurança. Este artigo abordará, a partir da perspectiva de segurança, os possíveis problemas de segurança que ZKP pode enfrentar em aplicações de Blockchain, fornecendo referências para o design de segurança de projetos relacionados.
Características principais do ZKP
Um sistema completo de zk-SNARKs precisa satisfazer simultaneamente três características-chave:
Completude: para declarações verdadeiras, o provador consegue sempre provar com sucesso a sua veracidade ao validador.
Confiabilidade: para declarações incorretas, o provador malicioso não pode enganar o validador.
zk-SNARKs: No processo de verificação, o verificador não obterá nenhuma informação do provador sobre os dados em si.
Estas três características são a base para a segurança e eficácia dos sistemas de zk-SNARKs. Se a completude não for satisfeita, o sistema pode não ser capaz de fornecer uma prova correta em certas situações, resultando em interrupções no serviço. Se a confiabilidade não for satisfeita, um atacante pode falsificar provas para enganar o verificador, levando a sérios problemas de bypass de autorização. Se a propriedade de zero conhecimento não for satisfeita, pode haver vazamento de parâmetros originais durante o processo de interação, permitindo que um atacante construa provas de ataque ou leve o provedor a agir de forma maliciosa.
Portanto, ao realizar serviços de segurança, é necessário prestar atenção especial se o sistema de zk-SNARKs atende a essas três características principais.
Preocupações de segurança em projetos de Blockchain ZKP
Para projetos de blockchain baseados em ZKP, é importante prestar atenção às seguintes direções de segurança:
1. zk-SNARKs circuito
Os circuitos ZKP são o núcleo de todo o sistema, e é necessário garantir a sua segurança, eficácia e escalabilidade. Os principais pontos de foco incluem:
Design de circuitos: evitar erros lógicos, garantir que as propriedades de segurança, como a zero conhecimento, completude e confiabilidade, sejam atendidas.
Implementação de primitivas criptográficas: implementar corretamente funções de hash, algoritmos de criptografia e outras primitivas criptográficas, evitando vulnerabilidades de segurança.
Garantia de aleatoriedade: garantir a segurança do processo de geração de números aleatórios, evitando que seja quebrado por atacantes.
2. Segurança de contratos inteligentes
Para projetos de moedas privadas que utilizam Layer 2 ou contratos inteligentes, a segurança dos contratos é crucial. Além das vulnerabilidades comuns como reentrância, injeção e estouro, também é importante prestar atenção especial à segurança na validação de mensagens entre cadeias e na validação de proofs, a fim de evitar falhas de confiabilidade.
3. Disponibilidade de dados
Assegurar que os dados off-chain possam ser acedidos e verificados de forma segura e eficaz quando necessário. Focar na segurança do armazenamento de dados, mecanismos de verificação e processo de transmissão. Além de usar provas de disponibilidade de dados, também se pode reforçar a proteção do host e a monitorização do estado dos dados.
4. Mecanismo de incentivos econômicos
Avaliar o design do mecanismo de incentivos do projeto, garantindo que possa efetivamente estimular todas as partes envolvidas a manter a segurança e a estabilidade do sistema. Prestar atenção ao design do modelo de incentivos, à distribuição de recompensas e aos mecanismos de penalização.
5. Proteção de Privacidade
Para projetos que envolvam proteção de privacidade, é necessário auditar a implementação do seu plano de privacidade. Garantir que os dados dos usuários estejam adequadamente protegidos durante a transmissão, armazenamento e verificação, mantendo ao mesmo tempo a disponibilidade e a confiabilidade do sistema. É possível inferir se a privacidade do provador foi comprometida analisando o fluxo de comunicação do protocolo.
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. Rever as medidas de otimização na implementação do código, garantindo que atendam às exigências de desempenho.
7. Mecanismos de tolerância a falhas e recuperação
Estratégias de tolerância a falhas e recuperação do projeto de auditoria em casos de falhas de rede, ataques maliciosos e outras situações inesperadas. Garantir que o sistema possa se recuperar automaticamente e manter a operação normal sempre que possível.
8. Qualidade do código
Revisar a qualidade geral do código do projeto, focando na legibilidade, manutenibilidade e robustez. Avaliar se existem problemas como práticas de programação não padrão, código redundante ou erros potenciais.
Resumo
Ao avaliar a segurança de projetos de Blockchain ZKP, é necessário determinar o foco com base no tipo de projeto (, como Layer 2, moedas de privacidade, blockchain pública, etc. ). Mas, independentemente do tipo de projeto, é essencial garantir que as três características centrais do ZKP - completude, confiabilidade e propriedade de conhecimento zero sejam efetivamente protegidas. Somente com uma consideração adequada desses fatores de segurança é possível construir um sistema de Blockchain ZKP verdadeiramente seguro e confiável.
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.
15 Curtidas
Recompensa
15
4
Compartilhar
Comentário
0/400
zkProofInThePudding
· 7h atrás
Já estão a falar de zkp outra vez? A segurança ainda não está clara...
Ver originalResponder0
ShamedApeSeller
· 7h atrás
por que a zkp é tão complicada?
Ver originalResponder0
MEVSandwich
· 7h atrás
Quem se importa com a segurança? O lucro é que importa!
Guia de Avaliação de Segurança de Projetos de Blockchain ZKP: Análise de 8 Pontos Chave
A discussão sobre a segurança do zk-SNARKs no Blockchain
zk-SNARKs(ZKP) como uma nova técnica criptográfica, está sendo adotada por um número crescente de projetos de Blockchain. No entanto, devido à complexidade do sistema, a combinação de ZKP com Blockchain também trouxe novos desafios de segurança. Este artigo abordará, a partir da perspectiva de segurança, os possíveis problemas de segurança que ZKP pode enfrentar em aplicações de Blockchain, fornecendo referências para o design de segurança de projetos relacionados.
Características principais do ZKP
Um sistema completo de zk-SNARKs precisa satisfazer simultaneamente três características-chave:
Completude: para declarações verdadeiras, o provador consegue sempre provar com sucesso a sua veracidade ao validador.
Confiabilidade: para declarações incorretas, o provador malicioso não pode enganar o validador.
zk-SNARKs: No processo de verificação, o verificador não obterá nenhuma informação do provador sobre os dados em si.
Estas três características são a base para a segurança e eficácia dos sistemas de zk-SNARKs. Se a completude não for satisfeita, o sistema pode não ser capaz de fornecer uma prova correta em certas situações, resultando em interrupções no serviço. Se a confiabilidade não for satisfeita, um atacante pode falsificar provas para enganar o verificador, levando a sérios problemas de bypass de autorização. Se a propriedade de zero conhecimento não for satisfeita, pode haver vazamento de parâmetros originais durante o processo de interação, permitindo que um atacante construa provas de ataque ou leve o provedor a agir de forma maliciosa.
Portanto, ao realizar serviços de segurança, é necessário prestar atenção especial se o sistema de zk-SNARKs atende a essas três características principais.
Preocupações de segurança em projetos de Blockchain ZKP
Para projetos de blockchain baseados em ZKP, é importante prestar atenção às seguintes direções de segurança:
1. zk-SNARKs circuito
Os circuitos ZKP são o núcleo de todo o sistema, e é necessário garantir a sua segurança, eficácia e escalabilidade. Os principais pontos de foco incluem:
Design de circuitos: evitar erros lógicos, garantir que as propriedades de segurança, como a zero conhecimento, completude e confiabilidade, sejam atendidas.
Implementação de primitivas criptográficas: implementar corretamente funções de hash, algoritmos de criptografia e outras primitivas criptográficas, evitando vulnerabilidades de segurança.
Garantia de aleatoriedade: garantir a segurança do processo de geração de números aleatórios, evitando que seja quebrado por atacantes.
2. Segurança de contratos inteligentes
Para projetos de moedas privadas que utilizam Layer 2 ou contratos inteligentes, a segurança dos contratos é crucial. Além das vulnerabilidades comuns como reentrância, injeção e estouro, também é importante prestar atenção especial à segurança na validação de mensagens entre cadeias e na validação de proofs, a fim de evitar falhas de confiabilidade.
3. Disponibilidade de dados
Assegurar que os dados off-chain possam ser acedidos e verificados de forma segura e eficaz quando necessário. Focar na segurança do armazenamento de dados, mecanismos de verificação e processo de transmissão. Além de usar provas de disponibilidade de dados, também se pode reforçar a proteção do host e a monitorização do estado dos dados.
4. Mecanismo de incentivos econômicos
Avaliar o design do mecanismo de incentivos do projeto, garantindo que possa efetivamente estimular todas as partes envolvidas a manter a segurança e a estabilidade do sistema. Prestar atenção ao design do modelo de incentivos, à distribuição de recompensas e aos mecanismos de penalização.
5. Proteção de Privacidade
Para projetos que envolvam proteção de privacidade, é necessário auditar a implementação do seu plano de privacidade. Garantir que os dados dos usuários estejam adequadamente protegidos durante a transmissão, armazenamento e verificação, mantendo ao mesmo tempo a disponibilidade e a confiabilidade do sistema. É possível inferir se a privacidade do provador foi comprometida analisando o fluxo de comunicação do protocolo.
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. Rever as medidas de otimização na implementação do código, garantindo que atendam às exigências de desempenho.
7. Mecanismos de tolerância a falhas e recuperação
Estratégias de tolerância a falhas e recuperação do projeto de auditoria em casos de falhas de rede, ataques maliciosos e outras situações inesperadas. Garantir que o sistema possa se recuperar automaticamente e manter a operação normal sempre que possível.
8. Qualidade do código
Revisar a qualidade geral do código do projeto, focando na legibilidade, manutenibilidade e robustez. Avaliar se existem problemas como práticas de programação não padrão, código redundante ou erros potenciais.
Resumo
Ao avaliar a segurança de projetos de Blockchain ZKP, é necessário determinar o foco com base no tipo de projeto (, como Layer 2, moedas de privacidade, blockchain pública, etc. ). Mas, independentemente do tipo de projeto, é essencial garantir que as três características centrais do ZKP - completude, confiabilidade e propriedade de conhecimento zero sejam efetivamente protegidas. Somente com uma consideração adequada desses fatores de segurança é possível construir um sistema de Blockchain ZKP verdadeiramente seguro e confiável.