II. The Mechanism: Breaking the Link

How Voidify Works

At the core of Voidify’s design are zero-knowledge proofs (zk-SNARKs) and zk-optimized hash functions built to suit Solana’s high-throughput architecture.


Anonymity Pools

Voidify pools serve as fixed-denomination mixing contracts. Users deposit a standard amount of tokens into a shared pool. After a delay (for anonymity), they can withdraw those tokens to a different wallet.

  • Deposit: A user deposits a fixed amount into a privacy pool.

  • Withdrawal: After generating a zero-knowledge proof, the user withdraws the funds to a separate address.

This process breaks any observable on-chain connection between the deposit and withdrawal actions.


How Deposits Work

When a user deposits tokens into Voidify:

  • A private note is generated, containing two random values: a secret and a nullifier.

  • These values are hashed together using the Poseidon hash function, creating a commitment.

  • This commitment is added as a leaf to a Merkle tree stored on-chain.

  • The user must store the private note securely, as it will be required to withdraw later.


How Withdrawals Work

To withdraw from the pool:

  • The user generates a zk-proof that they know a valid, unused commitment in the Merkle tree.

  • A nullifier hash is submitted, ensuring the commitment cannot be spent twice.

  • The smart contract verifies the zk-proof and nullifier.

  • If valid, the contract releases the funds to the recipient address.

Since the proof reveals no information about the original commitment’s position in the Merkle tree, and the nullifier cannot be linked back to the deposit, the source of funds remains private.


Zero-Knowledge Proofs (zk-Proofs)

Voidify uses zk-SNARKs — succinct, non-interactive cryptographic proofs that verify claims without revealing the underlying data.

  • Privacy: Proves ownership of a deposit without revealing which one.

  • Security: Prevents double-spending through nullifier tracking.

  • Efficiency: Proofs are generated off-chain and verified on-chain.


Poseidon Hash: Optimized for zk-Proofs on Solana

Voidify uses the Poseidon hash instead of older hash functions like Pedersen. This switch dramatically improves performance on Solana:

Feature
Pedersen Hash
Poseidon Hash

zk-Proof Efficiency

High constraint cost

Minimal constraints

Compatibility

EVM-optimized

zk-circuit optimized

Cost & Latency

Expensive

Fast & cheap

Suitability for Solana

Poor

Excellent

Why Poseidon Hash Matters:

  • Reduced computation = faster proof generation

  • Optimized for Solana’s low-latency execution

  • Lower contract execution cost

  • Maintains strong zk-security guarantees


Privacy Tips

To enhance your privacy:

  • Use relayers to hide your withdrawal origin

  • Wait for additional deposits before withdrawing to increase your anonymity set

  • Never reuse notes or expose secret values

  • Consider different gas parameters and timing for transactions


Summary

Voidify allows you to transact privately on Solana by combining:

  • Zero-knowledge cryptography (zk-SNARKs)

  • ZK-optimized hashing (Poseidon)

  • High-speed, low-cost smart contracts

  • A fully self-custodial architecture

The protocol empowers users to move assets without revealing their activity — giving them privacy without compromising security or decentralization.

Last updated