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údos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
18 gostos
Recompensa
18
8
Republicar
Partilhar
Comentar
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.