Cardano propõe suporte nativo a Poseidon para aplicações de conhecimento zero
CIP-0199 propõe adicionar a permutação Poseidon como uma função nativa do Plutus, oferecendo aos desenvolvedores de Cardano uma base mais eficiente para aplicações que combinam contratos inteligentes com provas de conhecimento zero. A proposta está em revisão formal e não está disponível na mainnet.
By SongMarketCap
Updated:
A Proposta de Melhoria da Cardano 0199 introduz uma nova primitiva criptográfica do Plutus para aplicações de conhecimento zero. Os editores do CIP a confirmaram como candidata em 15 de setembro após uma revisão técnica inicial. As transações regulares de ADA não são afetadas porque a proposta não foi incorporada nem ativada.
CIP-0199 introduz uma nova primitiva do Plutus
A proposta adicionaria um recurso interno do Plutus chamado bls12_381_poseidonPermutation. Contratos inteligentes poderiam executar a permutação Poseidon por meio da implementação nativa do Plutus da Cardano em vez de reproduzir o cálculo dentro de um script.
Poseidon é uma família de funções criptográficas projetadas para sistemas de conhecimento zero. Diferentemente dos hashes tradicionais como SHA-256 e Blake2b, ela usa o mesmo tipo de aritmética de corpo finito encontrada em muitos circuitos ZK.
Hashes tradicionais têm bom desempenho em processadores convencionais, mas exigem substancialmente mais restrições dentro de um circuito de conhecimento zero. Uma função nativa de Poseidon poderia reduzir essa lacuna computacional quando os dados são processados dentro de uma prova e posteriormente verificados por um contrato inteligente da Cardano.
A CIP-0199 foi escrita por Gamze Orhon Kilic e Thomas Vellekoop. Sua pull request permanece aberta enquanto os detalhes de implementação são discutidos com a equipe do Plutus.
Poseidon conecta Cardano às ferramentas ZK existentes
Aplicações de conhecimento zero usam com frequência árvores de Merkle para provar que uma informação pertence a um conjunto de dados maior sem revelar o conjunto completo. Uma raiz pode ser armazenada on-chain enquanto provas individuais de pertencimento são verificadas quando necessário.
Segundo a CIP-0199, funções de hash tradicionais podem exigir dezenas de milhares de restrições de circuito para uma única avaliação. Poseidon pode realizar trabalho comparável com algumas centenas de restrições porque se baseia em adições e multiplicaçes nativas no campo.
O registro inicial conteria duas variantes de Poseidon. Uma é baseada em midnight-zk, a biblioteca de conhecimento zero usada por Midnight. A segunda segue o ecossistema R1CS no estilo Circom sobre o campo escalar BLS12-381.
Scripts do Plutus poderiam, portanto, verificar compromissos e provas produzidos por meio de duas abordagens de desenvolvimento ZK estabelecidas. A proposta padroniza a permutação subjacente ao mesmo tempo em que permite que as aplicações reproduzam as convenções de hashing exigidas por cada sistema.
Medições preliminares colocam uma permutação de Poseidon em aproximadamente 22 a 24 microssegundos na máquina de benchmark do modelo de custos do Plutus. Estima-se que uma chamada consuma cerca de 0,24 por cento do orçamento de CPU por transação atual, enquanto uma prova de Merkle com profundidade 20 usaria aproximadamente 4,8 por cento. Esses resultados vêm de um trabalho preliminar de integração, não de uma versão de produção da Cardano.
Revisão de segurança define o caminho de ativação
A CIP-0199 propõe uma permutação de Poseidon em vez de uma função de hash completa. Ecossistemas ZK usam convenções diferentes para organizar as entradas, inicializar o estado interno e selecionar a saída final.
O Plutus executaria a permutação computacionalmente intensiva, enquanto cada aplicação continuaria responsável por implementar a estrutura de hash adequada ao redor. A proposta inclui vetores de teste e orientações de uso porque uma estruturação incorreta pode criar construções incompatíveis ou inseguras.
A implementação preliminar também depende de um núcleo Poseidon baseado em C que não concluiu uma auditoria independente. Integração adicional ao Plutus, parâmetros de custo finalizados, vetores de teste verificados de forma cruzada e uma revisão de segurança externa ainda são necessários.
O status de candidata não adiciona automaticamente a função à Cardano. Uma implementação concluída, aprovação técnica e ativação de protocolo ainda seriam necessárias antes que os desenvolvedores pudessem usá-la na mainnet.
Se ativada, a CIP-0199 daria ao Plutus um componente nativo para verificar compromissos e provas de conhecimento zero baseados em Poseidon. Ela ampliaria a infraestrutura de desenvolvimento da Cardano em torno de ADA ao mesmo tempo em que estabeleceria um caminho de compatibilidade definido para sistemas de prova baseados em Midnight e Circom.