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:
Completude: para afirmações verdadeiras, o provador sempre consegue provar sua correção ao validador.
Confiabilidade: em relação a declarações incorretas, provadores maliciosos não conseguem enganar os validadores.
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.
18 Curtidas
Recompensa
18
8
Compartilhar
Comentário
0/400
PumpDetector
· 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
StealthDeployer
· 08-03 00:35
Parece tão complicado que não consigo entender.
Ver originalResponder0
LiquidityNinja
· 08-01 14:02
Não pense mais, o projeto já está morto.
Ver originalResponder0
SchrodingerWallet
· 07-31 01:15
É apenas teoria novamente. E a prática?
Ver originalResponder0
SchroedingerGas
· 07-31 01:14
gás a cobrança é a maior incerteza
Ver originalResponder0
MissingSats
· 07-31 01:12
Mais uma vez layer2? Não me responsabilizo por perder dinheiro.
Ver originalResponder0
ReverseTradingGuru
· 07-31 01:05
Quem consegue entender isso? Estou confuso.
Ver originalResponder0
DeFiCaffeinator
· 07-31 01:00
A vulnerabilidade está a deixar-me de cabelos em pé~
Oito principais pontos de segurança sobre a combinação de zk-SNARKs e Blockchain
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:
Completude: para afirmações verdadeiras, o provador sempre consegue provar sua correção ao validador.
Confiabilidade: em relação a declarações incorretas, provadores maliciosos não conseguem enganar os validadores.
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.