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 introduces a new Plutus cryptographic primitive for zero knowledge applications. CIP editors confirmed it as a candidate on September 15 following an initial technical review. Regular ADA transactions are unaffected because the proposal has not been merged or activated.

CIP-0199 Introduces a New Plutus Primitive

The proposal would add a Plutus built-in called bls12_381_poseidonPermutation. Smart contracts could execute the Poseidon permutation through Cardano’s native Plutus implementation instead of reproducing the calculation within a script.

Poseidon is a family of cryptographic functions designed for zero knowledge systems. Unlike traditional hashes such as SHA-256 and Blake2b, it uses the same type of finite field arithmetic found in many ZK circuits.

Traditional hashes perform efficiently on conventional processors but require substantially more constraints inside a zero knowledge circuit. A native Poseidon function could reduce that computational gap when data is processed within a proof and later verified by a Cardano smart contract.

CIP-0199 was authored by Gamze Orhon Kilic and Thomas Vellekoop. Its pull request remains open while implementation details are discussed with the Plutus team.

Poseidon Connects Cardano With Existing ZK Tooling

Zero knowledge applications frequently use Merkle trees to prove that information belongs to a larger dataset without revealing the complete dataset. A root can be stored on-chain while individual membership proofs are verified when required.

According to CIP-0199, traditional hash functions can require tens of thousands of circuit constraints for one evaluation. Poseidon can perform comparable work with several hundred constraints because it relies on native field additions and multiplications.

The initial registry would contain two Poseidon variants. One is based on midnight-zk, the zero knowledge library used by Midnight. The second follows the Circom-style R1CS ecosystem over the BLS12-381 scalar field.

Plutus scripts could therefore verify commitments and proofs produced through two established ZK development approaches. The proposal standardizes the underlying permutation while allowing applications to reproduce the hashing conventions required by each system.

Preliminary benchmarks place one Poseidon permutation at approximately 22 to 24 microseconds on the Plutus cost model benchmarking machine. One call is estimated to consume around 0.24 percent of the current per-transaction CPU budget, while a Merkle proof with a depth of 20 would use approximately 4.8 percent. These results come from preliminary integration work, not a production Cardano release.

Security Review Defines the Activation Path

CIP-0199 proposes a Poseidon permutation rather than a complete hash function. ZK ecosystems use different conventions for arranging inputs, initializing the internal state and selecting the final output.

Plutus would perform the computationally intensive permutation, while each application would remain responsible for implementing the correct surrounding hash structure. The proposal includes test vectors and usage guidance because incorrect framing could create incompatible or insecure constructions.

The preliminary implementation also relies on a C-based Poseidon core that has not completed an independent audit. Additional Plutus integration, finalized costing parameters, cross-checked test vectors and an external security review remain necessary.

Candidate status does not automatically add the function to Cardano. A completed implementation, technical approval and protocol activation would still be required before developers could use it on mainnet.

If activated, CIP-0199 would give Plutus a native component for verifying Poseidon-based commitments and zero knowledge proofs. It would expand Cardano’s development infrastructure around ADA while establishing a defined compatibility path for Midnight and Circom-based proving systems.