VII. From Commit to Silence
Transaction Lifecycle
Deposit
User generates secret
(nullifier, secret)
Computes commitment
C = H(nullifier, secret)
Sends
C
to Voidify smart contractContract inserts
C
into the Merkle tree
Withdraw
User generates a zk-proof showing:
Knowledge of
(nullifier, secret)
linked to a Merkle rootThat the
nullifier
hasn’t been used before
Sends:
zk-proof,
recipient address,
nullifier
Contract verifies the proof and nullifier, then transfers funds
Last updated