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