(Looking for feedback from CKB developers!)
Hi everyone,
I’ve been experimenting with privacy features on CKB and recently finished building a Stealth Address Lock Script along with a small Wallet Demo that implements it.
I’m sharing it here to get feedback, suggestions, and ideas from other developers who are interested in privacy, scripting, or building advanced wallet features.
What Is Stealth Address Support?
This implementation follows the “stealth address” pattern known from early Bitcoin proposals:
- The receiver publishes two public keys
(P, Q') - The sender generates an ephemeral key
R - A one-time derived public key is computed using ECDH
- The payment is locked to this unique derived key
- The receiver computes the matching private key locally and spends the output
This allows:
- Unlinkable payment addresses
- No on-chain exposure of the receiver’s real public keys
- No interaction needed between sender and receiver
The lock script uses CKB’s standard secp256k1 verification (via ckb-auth), so everything stays compatible with existing tooling.
Wallet Demo
I also built a small demo wallet that:
- Generates stealth key pairs
- Creates stealth payment addresses
- Constructs transactions that send funds to one-time derived keys
- Scans the blockchain for outputs that belong to the user (stealth cells)
- Automatically derives the matching private key to unlock those cells
This wallet works as a proof-of-concept showing how stealth addresses can be integrated into a real user workflow:
send → detect → derive → spend.
It is not a production wallet — just a prototype to test the contract logic and validate the privacy flow on CKB.
Confidential Transactions (CT)
Planned CT features include:
- Amount-hiding via Pedersen commitments
- Balance conservation enforced by Type Script
- Sender → receiver encrypted amount recovery
- Proof-based validation (Bulletproofs, SNARKs, or hybrid approaches)
This will enable:
- Private balances
- Private transfers
- Unlinkable transaction outputs
Why I’m Sharing
I’m planning to continue building a full Confidential Token (CT) system on top of CKB (Pedersen commitments, encrypted amounts, type scripts for validation, etc.), and the stealth lock is the first essential piece.
Before moving on, I want:
- Feedback on the stealth lock script
- Ideas for combining stealth address + CT in a clean way
- Discussion on potential standardization if the community is interested
Looking for Developers!
If you are working on:
- CKB scripting
- Privacy primitives (stealth, commitments, proofs)
- Wallet development
- Layer 1 crypto experiments
- Or just curious about privacy on CKB
Your input would be super valuable.
Let’s Discuss
github-repo: Rea-Don-Lycn/obscell and Rea-Don-Lycn/obscell-wallet (sorry, I cannot post link directly since I’m new user here)
Feel free to reply here or open issues/PRs on the repos.
Happy to answer any technical questions or walk through the design.
Thanks!