Hi ICP devs,
I’m exploring the idea of a privacy-enhanced version of ckBTC (let’s call it pckBTC for now).
Core Idea:
Fork the existing ckBTC minter and ledger canisters, then add optional (or default) shielded transactions using zk-SNARKs (inspired by Zcash’s Orchard/Sapling protocols). This would hide sender, receiver, and amounts for on-ICP transfers, while keeping the trustless 1:1 BTC backing via chain-key ECDSA. Deposits/withdrawals to Bitcoin would remain hybrid (partially visible for compliance), but internal movements could be fully private. Leverage ICP’s strengths like vetKeys for extra encryption and fast/low-cost execution.Why this could be useful
-
Private Bitcoin DeFi on ICP (lending, DEX trades, etc.) without metadata leaks.
-
Combines ckBTC’s bridge-less security with mathematical privacy guarantees.
-
Could bootstrap more BTC liquidity into ICP ecosystem with privacy-focused users/apps.
Main Tasks
-
Fork ckBTC repo and understand/extend minter + ledger canisters (Rust).
-
Design and implement zk-SNARK circuits for shielded spends (e.g., using Halo 2 or ark-groth16).
-
Add on-chain proof verification and shielded pool logic to ledger.
-
Build client-side proof generation (wallet integration).
-
Add mitigations like batching/delays for early low-volume privacy.
-
Test, audit, deploy to mainnet.
Main Difficulties/Challenges
-
zk-SNARK integration in Rust canisters: Keeping verification cheap (within cycle limits) and proofs succinct.
-
Bootstrapping anonymity set: Low initial liquidity/users could allow timing/amount correlations to link deposits withdrawals.
-
Balancing privacy with compliance (e.g., view keys, KYT on BTC side).
-
Compute-intensive proof generation (client-side only) and potential regulatory scrutiny.
I’m starting solo (learning Rust along the way), planning partial open-sourcing for potential grants.What do you think?
-
Is this worth building? Any prior art or similar projects I’m missing?
-
Feedback on feasibility, pitfalls, or better approaches (e.g., using existing ICP zk tools)?
-
Interested in collaborating (code, crypto expertise, testing)? Or even competing – criticism welcome!
-
Suggestions for grants/RFPs?
Looking forward to your thoughts!