Privacy Boost Overview
Privacy Boost is a privacy-preserving transaction protocol that enables confidential token transfers on EVM-compatible blockchains. This document explains the core concepts and how the system works.What Problem Does Privacy Boost Solve?
On public blockchains like Ethereum, all transactions are visible to everyone. When you transfer tokens, anyone can see:- Your wallet address
- The recipient’s address
- The amount transferred
- Your complete transaction history
- Your balance is hidden from public view
- Transfer amounts are encrypted
- The link between sender and recipient is broken
- Only you (and optionally, auditors) can see your transaction history
How It Works
High-Level Flow
The Three Core Operations
1. Deposit (Shield)
Move tokens from your public wallet into your private balance:- Tokens are locked in the Shield smart contract
- A cryptographic “note” is created representing your private balance
- Only you can access these tokens using your privacy keys
2. Transfer (Private Send)
Send tokens privately to another user:- Specify the recipient’s privacy address
- The transaction is processed through zero-knowledge proofs
- No one can see who sent tokens to whom or how much
3. Withdraw (Unshield)
Move tokens from your private balance back to any public address:- Provide a zero-knowledge proof that you own the tokens
- Tokens are released from the Shield contract
- The receiving address gets the tokens
Privacy Keys
When you “login” to Privacy Boost, you derive three privacy keys from your wallet signature:Master Public Key (MPK)
- Your public identifier in the privacy system
- Used to compute your privacy address
- Can be shared publicly (like an email address)
Viewing Key
- Allows decryption of incoming transactions
- Used to see your balance and transaction history
- Should be kept private
Nullifying Key
- Used to spend your private balance
- Creates “nullifiers” that prevent double-spending
- Must be kept secret
Privacy Address
Your privacy address is a compact encoding of your MPK and viewing key. It looks like:Notes and Commitments
Notes
A “note” represents a specific amount of tokens in your private balance. Each note contains:- Token address
- Amount
- Owner’s MPK
- Random blinding factor
Commitments
When you deposit or receive tokens, a “commitment” is published on-chain. This commitment:- Is a cryptographic hash of your note
- Reveals nothing about the note’s contents
- Is stored in a Merkle tree for efficient verification
Nullifiers
When you spend a note, you publish a “nullifier” that:- Is derived from the note and your nullifying key
- Prevents the same note from being spent twice
- Cannot be linked back to the original commitment
Zero-Knowledge Proofs
Privacy Boost uses zero-knowledge proofs to verify transactions without revealing details:- Proof of Ownership: You know the secret values in a note
- Proof of Inclusion: Your note’s commitment exists in the Merkle tree
- Proof of Correctness: The transaction math is valid (inputs = outputs)
System Components
SDK (Client-Side)
- Manages wallet connection and key derivation
- Encrypts/decrypts notes
- Prepares transaction data
- Handles session persistence
Indexer Service
- Scans blockchain for relevant events
- Maintains the commitment Merkle tree
- Stores encrypted notes for users
- Provides balance and history queries
Prover Service
- Generates zero-knowledge proofs
- Handles complex cryptographic computation
- Submits proven transactions to the blockchain
Shield Contract
- Holds deposited tokens
- Verifies zero-knowledge proofs
- Maintains the commitment tree root
- Tracks spent nullifiers
Next Steps
- Glossary - Technical terminology reference
- Quickstart Guides - Get started with your platform