Cardano Proposes Native Poseidon Support for Zero Knowledge Applications

CIP-0199 proposes adding the Poseidon permutation as a native Plutus function, giving Cardano developers a more efficient foundation for applications combining smart contracts with zero knowledge proofs. The proposal is under formal review and is not available on mainnet.

By SongMarketCap

Updated:

Cardano News - Cardano Proposes Native Poseidon Support for Zero Knowledge Applications

Cardano Improvement Proposal 0199 dey introduce new Plutus cryptographic primitive wey go support zero knowledge applications. CIP editors don confirm am as candidate on September 15 after dem do first technical review. Regular ADA transactions no dey affected because dem never merge or activate the proposal.

CIP-0199 Introduces a New Plutus Primitive

The proposal wan add one Plutus built-in wey dem call bls12_381_poseidonPermutation. With this, smart contracts fit run the Poseidon permutation through Cardano native Plutus implementation instead of to dey re-calculate am inside script.

Poseidon na family of cryptographic functions wey dem design for zero knowledge systems. E different from traditional hashes like SHA-256 and Blake2b because e dey use the same kind finite field arithmetic wey many ZK circuits dey use.

Traditional hashes dey run well for normal processors but dem dey require plenty constraints inside zero knowledge circuit. Native Poseidon function fit reduce that computational gap when data dey processed inside proof and later verified by Cardano smart contract.

CIP-0199 na Gamze Orhon Kilic and Thomas Vellekoop write am. The pull request still open as dem dey discuss implementation details with the Plutus team.

Poseidon Connects Cardano With Existing ZK Tooling

Zero knowledge applications dey use Merkle trees often to prove say information belong to bigger dataset without to show the complete dataset. Dem fit store the root on-chain while dem go verify individual membership proofs when e needed.

According to CIP-0199, traditional hash functions fit need tens of thousands of circuit constraints just for one evaluation. Poseidon fit do similar work with several hundred constraints because e rely on native field additions and multiplications.

The first registry go contain two Poseidon variants. One base on midnight-zk, the zero knowledge library wey Midnight dey use. The second one follow the Circom-style R1CS ecosystem over the BLS12-381 scalar field.

Plutus scripts fit therefore verify commitments and proofs wey two established ZK development approaches produce. The proposal dey standardize the underlying permutation while e still allow applications to reproduce the hashing conventions wey each system require.

Preliminary benchmarks show say one Poseidon permutation dey around 22 to 24 microseconds for the Plutus cost model benchmarking machine. One call fit use around 0.24 percent of the current per-transaction CPU budget, while Merkle proof with depth of 20 go use around 4.8 percent. These results dey come from preliminary integration work, no be production Cardano release.

Security Review Defines the Activation Path

CIP-0199 dey propose Poseidon permutation, no be complete hash function. ZK ecosystems dey use different ways to arrange inputs, initialize internal state and choose final output.

Plutus go handle the heavy permutation work, while each application go still get responsibility to implement the correct hash structure around am. The proposal include test vectors and usage guidance because if dem no frame am well e fit cause incompatible or insecure constructions.

The preliminary implementation still rely on C-based Poseidon core wey never complete independent audit. Dem still need additional Plutus integration, final costing parameters, cross-checked test vectors and one external security review.

Candidate status no mean say dem don add the function to Cardano automatically. Dem still need complete implementation, technical approval and protocol activation before developers fit use am for mainnet.

If dem activate am, CIP-0199 go give Plutus native component to verify Poseidon-based commitments and zero knowledge proofs. E go expand Cardano development infrastructure around ADA and e go also create clear compatibility path for Midnight and Circom-based proving systems.