💡 What inspired us Digital age verification today is broken. Every time you prove you're old enough for a service, you surrender your entire identity – birth date, full name, government ID numbers. This creates massive privacy risks and data honeypots for hackers.
We asked: What if you could prove you're 18+ without revealing you're actually 23, 35, or 67?
The inspiration struck when we realized zero-knowledge proofs could solve this elegantly. Using cutting-edge cryptography, we can mathematically prove age requirements while keeping personal data completely private.
🧠 What we learned Building AgeProofZK taught us incredible lessons about:
Zero-Knowledge Cryptography Circuit Design: Writing Noir circuits that prove $$age \geq threshold$$ without revealing $$age$$
Commitment Schemes: Using Pedersen hashes for cryptographic commitments: $$C = H(age, salt)$$
Proof Verification: Integrating Garaga SDK for efficient ZK proof verification on Starknet
Blockchain Development Cairo Language: Advanced smart contract patterns for access control and event logging
Starknet Scalability: Leveraging STARKs for cost-effective proof verification
Multi-network Deployment: Managing deployments across devnet, testnet, and mainnet
Privacy Engineering Data Minimization: Designing systems that never collect unnecessary information
Cryptographic Security: Implementing secure random salt generation and replay attack prevention
User Experience: Making complex cryptography accessible through intuitive interfaces
Built With
- 14
- 18
- backend
- barretenberg
- blockchain
- cairo
- connect
- contracts:
- css
- deployment
- foundry
- framer
- frontend:
- functions
- garaga
- hash
- integration:
- language
- motion
- multi-network
- next.js
- noir
- pedersen
- react
- sats
- scarb
- sdk
- smart
- starknet
- starknet.js
- tailwind
- typescript
- xverse)
- zero-knowledge:
- zustand
Log in or sign up for Devpost to join the conversation.