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.

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.”