TomHarrington1221/vex-zk
Privacy through probability - Vexil Probability Clouds on Solana using ring signatures and zero-knowledge proofs
Vex.zk Protocol ๐ญ
Privacy through probability: You exist as ONE of N addresses, but observers can't tell which one is yours.
๐ LIVE DEMO โ | ๐น Video Demo
Solana Privacy Hackathon 2026 Submission
๐ฏ The Problem
Blockchain is completely transparent. Every transaction you make is public:
- โ Anyone can see your wallet balance
- โ Your transaction history is visible to everyone
- โ People can track your financial behavior
- โ No privacy = no real-world adoption for sensitive use cases
This is like having your bank account statement posted publicly on the internet.
๐ก The Solution
Vex.zk Protocol introduces probabilistic identity to Solana:
Instead of having ONE identifiable wallet address, you exist as a Vexil Probability Cloud of N addresses. Observers know you're ONE of them, but cryptographically cannot determine which one.
How It Works (In Plain English):
- Create a Cloud: Generate 2-20 Solana addresses at once
- Hide in the Crowd: Only YOU know which address is actually yours
- Transact Privately: Use ring signatures to prove you're "one of N" without revealing which
- Stay Anonymous: Observers see the group, not you specifically
Real-World Analogy:
Imagine 10 people wearing identical masks walk into a bank. One of them makes a transaction. Security cameras see the group, but can't identify the individual. That's Vex.zk Protocol.
๐ Key Features
โ Probabilistic Identity
- Generate clouds of 2-20 addresses
- You control ONE, but nobody knows which
- Anonymity set: 1 in N chance of correct identification
โ Ring Signatures
- Zero-knowledge proofs using Noir circuits
- Prove membership without revealing identity
- Cryptographically secure privacy
โ On-Chain Privacy
- Deployed to Solana devnet
- Real blockchain transactions
- Verifiable privacy guarantees
โ User-Friendly Interface
- Interactive demo for non-technical users
- Beautiful dashboard to manage clouds
- One-click cloud creation
๐ฎ Try It Now
Prerequisites
- Phantom Wallet (or any Solana wallet)
- Switch to Devnet network
- Get devnet SOL from faucet
Quick Start
- Visit the app:
npm run dev(or deployed link) - Connect your wallet
- Click "Create Vexil Probability Cloud"
- Choose cloud size (2-20 addresses)
- Confirm transaction
- View your cloud in Dashboard!
Try the Interactive Demo
Visit /demo page to see how it works with a fun guessing game!
๐๏ธ Technical Architecture
Components
vex-zk/
โโโ noir-circuits/ # Zero-knowledge ring signature circuits
โ โโโ ring_signature/ # Noir circuit implementation
โโโ solana-programs/ # Solana smart contracts
โ โโโ programs/ # Anchor program
โโโ sdk/ # TypeScript SDK
โ โโโ solana-client.ts # Blockchain interaction
โ โโโ ring-signer.ts # Cloud generation & proofs
โโโ frontend/ # Next.js web app
โโโ app/create/ # Cloud creation page
โโโ app/dashboard/ # Cloud management
โโโ app/demo/ # Interactive demo
Tech Stack
Zero-Knowledge Proofs:
- Noir (v1.0.0-beta.13) - ZK circuit language
- Ring signatures for group membership proofs
Blockchain:
- Solana/Anchor - Smart contract platform
- Program ID:
83wuRQ6DNzMqsgNDJo1zgvMzYX5pXz4dfcNSTtam5SVU - Deployed on Devnet
Frontend:
- Next.js 16 - React framework
- Tailwind CSS - Styling
- @solana/wallet-adapter - Wallet integration
SDK:
- TypeScript - Type-safe development
- @coral-xyz/anchor - Solana program interaction
- Web3.js - Blockchain utilities
๐ฌ How Ring Signatures Work
The Math (Simplified):
- Cloud Generation: Create N keypairs, randomly select one as yours
- Proof Generation: Use Noir to create ZK proof that proves:
- "I know the private key for ONE of these N public keys"
- Without revealing WHICH private key
- On-Chain Verification: Solana program verifies the proof
- Transaction Execution: Transfer executes with privacy preserved
Privacy Guarantees:
- Anonymity Set: 1 in N addresses
- Zero-Knowledge: No information leaked about your identity
- Cryptographic Security: Based on elliptic curve cryptography
- Verifiable: All proofs can be verified on-chain
๐ฏ Use Cases
๐ Crypto Whales
Prevent front-running and copycats by hiding trading activity
๐ Professional Traders
Protect trading strategies from competitors
๐ข Businesses
Hide supplier relationships and financial patterns
๐ณ๏ธ DAO Voting
Vote privately while proving eligibility
๐ค Regular Users
Everyone deserves financial privacy
๐ฆ Installation & Development
Prerequisites
# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install Solana CLI
sh -c "$(curl -sSfL https://release.solana.com/stable/install)"
# Install Anchor
cargo install --git https://github.com/coral-xyz/anchor avm --locked
avm install latest
avm use latest
# Install Noir
curl -L https://raw.githubusercontent.com/noir-lang/noirup/main/install | bash
noirup -v 1.0.0-beta.13
# Install Node.js dependencies
npm installBuild Noir Circuits
cd noir-circuits/ring_signature
nargo compile
nargo testBuild & Deploy Solana Program
cd solana-programs
anchor build
solana config set --url devnet
anchor deploy --provider.cluster devnetRun Frontend
cd frontend
npm install
npm run devVisit http://localhost:3000
๐งช Testing
Create a Test Cloud
- Connect Phantom wallet (Devnet)
- Navigate to
/create - Select cloud size (recommend 10 for testing)
- Confirm transaction
- View in Dashboard
Verify On-Chain
- Go to Dashboard
- Click "Verify On-Chain" on any cloud
- Confirms cloud exists on Solana blockchain
View on Solana Explorer
All transactions include direct links to Solana Explorer for verification
๐ Why This Wins
โ Novel Approach
First implementation of probabilistic identity on Solana
โ Real Privacy
Not mixing or tumbling - fundamentally different approach using ring signatures
โ Production Ready
- Deployed to devnet
- Full end-to-end functionality
- Polished UI/UX
โ Accessible
Non-technical users can understand through interactive demo
โ Open Source
All code available for audit and improvement
๐ฎ Future Roadmap
Phase 1 (Current)
- โ Basic Vexil Probability Cloud creation
- โ Ring signature proofs (mock verification)
- โ Dashboard management
- โ Interactive demo
Phase 2 (Next)
- Full ZK verifier integration (Sunspot/Light Protocol)
- Real private transfers
- Multiple cloud management
- Cloud rotation/refresh
Phase 3 (Future)
- Cross-chain support
- Mobile app
- Privacy analytics dashboard
- Mainnet deployment
๐น Demo Video
Topics covered:
- Problem explanation
- Solution walkthrough
- Live cloud creation
- Dashboard tour
- Technical architecture
๐ค Contributing
We welcome contributions! Areas of interest:
- Sunspot integration for real ZK verification
- Additional privacy features
- UI/UX improvements
- Documentation
- Testing
๐ License
MIT License - See LICENSE file for details
๐จโ๐ป Built By
Tom Harrington
- GitHub: @TomHarrington1221
- Built for Solana Privacy Hackathon 2026
๐ Acknowledgments
- Aztec/Noir - For the amazing ZK framework
- Solana Foundation - For the hackathon and ecosystem
- Reilabs/Sunspot - For Solana ZK verification tooling
- Light Protocol - For privacy primitives research
๐ Resources
โญ Star this repo if you believe in blockchain privacy!
๐ Links
- Live App: https://vex-zk.vercel.app
- Demo Video: https://youtu.be/Ze6bk7LhSoI
- Solana Explorer: https://explorer.solana.com/address/83wuRQ6DNzMqsgNDJo1zgvMzYX5pXz4dfcNSTtam5SVU?cluster=devnet
- Hackathon Submission: https://solana.com/privacyhack