
Shadowpool
Private DeFi infrastructure > generation of web3
Demo
About
The problem it solves Blockchain transactions on Ethereum are fully transparent. Every transaction publicly exposes the sender address, receiver address, and transaction amount. While this transparency improves trust and auditability, it also creates serious privacy issues. Anyone can analyze blockchain data to track financial activity, link wallets together, and monitor user behavior. This project solves that problem by enabling private transactions using Zero-Knowledge Proofs (ZKPs). By using the Groth16 proving system and commitment-based deposits, the protocol breaks the link between deposits and withdrawals. Users can deposit funds into a pool and later withdraw them to a different address without revealing their identity. **As a result,** observers cannot determine who sent funds to whom. This significantly improves financial privacy, protects user identities, and prevents transaction graph analysis on-chain. The system allows users to benefit from blockchain technology while maintaining control over their financial privacy.
How it's made
Challenges we ran into One of the main challenges during development was implementing and verifying Groth16 Zero-Knowledge proofs using Circom and SnarkJS. While building the circuit, I encountered multiple issues such as circuit assertion failures, incorrect signal wiring, and proof verification mismatches between the generated proof and the on-chain verifier contract. These problems caused the proof verification step to fail during smart contract execution. To solve this, I carefully debugged the circuit constraints, validated the input signals, and ensured that the public signals generated by the circuit matched the verifier inputs expected by the smart contract. After fixing the constraint logic and re-compiling the circuit, I successfully generated valid proofs and verified them on-chain. This debugging process helped me better understand the interaction between Circom circuits, Groth16 proofs, and Solidity verifier contracts.