Cointelegraph
Ana Paula PereiraAna Paula Pereira

Pesquisadores identificam vulnerabilidades da camada de circuito chave em sistemas SNARK

Um estudo do Imperial College London examinou 141 vulnerabilidades nos sistemas SNARK, impactando principalmente a solidez e a integridade do sistema.

Pesquisadores identificam vulnerabilidades da camada de circuito chave em sistemas SNARK
Evento

De acordo com pesquisadores do Imperial College London, as vulnerabilidades na camada de circuitos representam a maior ameaça para sistemas baseados em Succinct Non-Interactive Arguments of Knowledge, ou SNARKs. 

A investigação examinou 141 vulnerabilidades a partir de 107 relatórios de auditoria, 16 divulgações de vulnerabilidades e vários rastreadores de bugs associados a projetos populares de SNARKs. As descobertas foram apresentadas em 7 de agosto na Science of Blockchain Conference realizada na Universidade de Columbia.

SNARKs são um tipo de prova de conhecimento zero (ZK) que permite demonstrar que uma declaração é verdadeira sem revelar nenhuma informação sobre a declaração.

De acordo com Stefanos Chaliasos, candidato a PhD no Imperial College London, a equipe de pesquisa identificou três tipos principais de vulnerabilidades nas camadas de circuito — sub-restritas, super-restritas e erro de computação/dicas:

“A maioria das vulnerabilidades está na camada de circuitos, e a maioria também está relacionada à solidez, que é a pior parte que pode acontecer quando você usa ZKps porque, basicamente, no contexto de um ZK-rollup, se houver esse tipo de bug e alguém quiser explorá-lo, então todos os fundos poderiam ser drenados da camada de circuitos.”

A vulnerabilidade mais frequente encontrada em circuitos de conhecimento zero surge de restrições insuficientes, que fazem com que um verificador aceite provas inválidas, comprometendo a solidez ou completude de um sistema. Segundo a pesquisa, 95 dos problemas identificados em sistemas baseados em SNARKs afetaram a solidez e quatro afetaram a completude.

“O principal desafio para os desenvolvedores reside em se adaptar a um nível diferente de abstração e otimizar os circuitos para eficiência, o que impacta diretamente o custo de uso de SNARKs”, observa o artigo.

As causas raiz para vulnerabilidades em circuitos ZK incluem a distinção entre atribuições e restrições, restrições de entrada ausentes e reutilização insegura de circuitos, entre outros.

Fonte: SoK: What Don’t We Know? Understanding Security Vulnerabilities in SNARKs

VRFs Ponderadas

O primeiro dia da conferência também contou com a equipe da Aptos apresentando suas recentemente implementadas funções aleatórias verificáveis ponderadas, ou VRFs ponderadas — um mecanismo projetado para aprimorar a aleatoriedade no processo de consenso.

A abordagem estende o conceito de VRFs incorporando pesos no processo de seleção aleatória de verificação de entradas e saídas on-chain. Com os pesos, os participantes no mecanismo de consenso têm diferentes probabilidades de serem escolhidos com base em suas participações (pesos).

A Aptos implantou o mecanismo em sua mainnet em junho. “Tanto quanto sabemos, esta é a primeira vez que você vê um script granular previamente que é não enviesado, imprevisível e opera tão rápido quanto a rede”, observou Alin Tomescu, chefe de criptografia da Aptos.

De acordo com Tomescu, a Aptos processou meio milhão de chamadas através da nova API de aleatoriedade, com a geração de chave distribuída (DKG) durando cerca de 20 segundos.

“Nossa latência de aleatoriedade, que é a latência medida desde o momento em que um bloco é confirmado até o momento em que a aleatoriedade para esse bloco está disponível, era inicialmente de 160 milissegundos. Mas conseguimos reduzir isso para 25 milissegundos usando algumas otimizações.”