Idea: Privacy-Enhanced ckBTC with Zcash-Style Shielded Transactions (pckBTC) – Feedback & Collaboration Welcome

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

  1. Fork ckBTC repo and understand/extend minter + ledger canisters (Rust).

  2. Design and implement zk-SNARK circuits for shielded spends (e.g., using Halo 2 or ark-groth16).

  3. Add on-chain proof verification and shielded pool logic to ledger.

  4. Build client-side proof generation (wallet integration).

  5. Add mitigations like batching/delays for early low-volume privacy.

  6. 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!

We are working with a privacy coin community to bring over their token to ICP. It was a Bitcoin variant but with a privacy built element. Very decent community, but devs left it(it got 40 mils mcap but was delisted from binance) . We did a an address derivation and now integrating their built in wallet and doing an explorer. It should allow for a ck implementation and defi. It’s honestly a side project I and a couple of engineers are playing with. We already did derivations and finding some cool ways to integrate ICP to the client side wallet. If you are interested we could collaborate on it.

Are you aware of https://spnr.app ? You don’t need ckBTC to have zcash style BTC.