Zerokit FURPS
Functionality
- The Zerokit module supports big-endian operations
- Zerokit supports Poseidon2 as an alternative hash function alongside Poseidon
- Zerokit supports the automatic generation of round parameters for both Poseidon and Poseidon2
Usability
- The Zerokit public API is defined in a specification
- The Zerokit public API provides an easy-to-use interface for developers in Rust and C
- The Zerokit FFI, including WASM targets, supports big-endian arguments
- A Zerokit release is published introducing partial proof generation and multi-ID burning
- The Zerokit architecture is changed from compile-time feature flags to runtime configuration based on enums
- The hash function selection (Poseidon vs Poseidon2) is exposed via the runtime configuration enum
- The implementation of the new Poseidon2 circuit has been completed and documented in the circom-rln repo
Reliability
- Poseidon2 proofs verify correctly and Poseidon behavior remains unchanged when Poseidon2 is enabled
- Poseidon2 proof generation is benchmarked against Poseidon and demonstrates measurable improvement
Supportability
- Outstanding issues and dependency updates are addressed to keep the codebase maintainable
- Static analysis of the circuits for both Poseidon and Poseidon2 is performed and documented
- New Poseidon2-related functionality and APIs are fully exposed through the FFI and WASM interfaces