Incremental SHA256 / Poseidon Commitment Tree (Height: 3, Capacity: 8 leaves)
Current Root: 0x9b7e...4c82
● Yellow: Active Selected Note
● Blue: Sibling Audit Path (ZK Auth Path)
● Green: Valid On-Chain Bitcoin Root
Selected Note Secret & Commitment
Leaf #0: Secret: 0x4a9f... | Nullifier Seed: 0x81e2... | Value: 1.00 BTC
Double-Spend Nullifier Registry
Spent Nullifiers on Bitcoin: [ 0x3d0f41... (Spent) ]
Zero-Knowledge Spend Circuit (Groth16 / R1CS constraints)
Proof Status: Synthesized
// Private Inputs: note_value, secret_key, auth_path[]
// Public Inputs: root, nullifier_hash
template ShieldedSpendVerify(depth = 3) {
signal input root;
signal input nullifier_hash;
signal private input secret;
signal private input path_indices[depth];
signal private input siblings[depth];
// 1. Compute leaf commitment = Hash(secret, note_value)
leaf_commitment = Hash(secret);
// 2. Verify leaf is member of current Bitcoin Merkle root
computed_root = MerkleCheck(leaf_commitment, siblings);
root === computed_root;
// 3. Enforce deterministic nullifier without leaking index
nullifier_hash === Hash(secret, 0x5350454e44);
}
Bitcoin L1 Script / Taproot BitVM Leaf Logic
OP_CHECKSIG & OP_EQUAL
# Bitcoin Taproot Tapscript (Verifiable on mainnet today)
# Enforces: Nullifier must be unspent + ZK Proof is valid
OP_DUP
OP_HASH160 <Nullifier_Registry_Hash> OP_EQUALVERIFY
# BitVM / TapLeaf 1-of-N ZK Proof Gate:
<ZK_Public_Root>
OP_ROT
OP_SHA256
<Expected_Merkle_Accumulator>
OP_EQUALVERIFY
# Check optimistic challenge signature (BitVM bridge verifier)
<Verifier_Pubkey>
OP_CHECKSIG
Verification Result: Bitcoin Script evaluation succeeded with OP_TRUE.
The spender demonstrated knowledge of a valid UTXO inside the shielded root without disclosing which leaf was spent or the transaction amount.
Observed Bitcoin Block Transactions
Testing chain analysis heuristics: Multi-input clustering, round-value matching, and time-correlation