A privacy-focused shielded pool implementation using Zero-Knowledge Proofs (ZKPs). It enables private transactions with verifiable commitments and nullifiers in a blockchain ecosystem.
This project is a cryptographic shielded pool framework leveraging @protokit Zero-Knowledge Proofs (ZKPs) to facilitate secure and private transactions. It implements a JoinSplit transaction model, where users can privately deposit, transfer, and withdraw funds while maintaining verifiable integrity and privacy.
The system uses a Merkle tree structure to track commitments and nullifiers, ensuring spent assets cannot be reused. It supports input-output balance verification, cryptographic nullifier tracking, and efficient note management. Integration with a runtime module provides seamless blockchain operation, including setting roots and processing transactions with enforced privacy guarantees.
The project is built using the Protokit Framework from Mina.
Technologies:
Components:
Hacky Details:
IndexedMerkleTree
was created for precise leaf handling and proof generation, streamlining root updates and witness creation.Note
abstraction simplifies cryptographic encoding of user-specific transactions, making it easy to work with commitments and nullifiers programmatically.Integration:
TestingAppChain
) to simulate transaction workflows, enabling end-to-end validation.Proto-kit
for seamless runtime deployment and proof-of-concept testing.