This post was written by the Anon Aadhaar team.
We’re excited to announce the public release of Anon Aadhaar!
Anon Aadhaar is a protocol that lets users anonymously prove their Aadhaar (Indian) identity, in a very fast and simple way. The core of the protocol is the circuits, but we also provide a SDK to let any app use the protocol.
The Aadhaar program is among the largest digital identity schemes in the world. There are 1.2 billion people enrolled, accounting for around 90% of India’s population.
Aadhaar cards carry both demographic and biometric data, including the holder’s date of birth and its fingerprint. They are used in a variety of contexts such as loan agreements or housing applications. Bring this onchain in a privacy preserving way opens the possibility for many more applications on Ethereum.
Anon Aadhaar is one instantiation of the broader “Anonymous Credentials" with the goals of “proof of citizenship”, “proof of identity”, “proof of passport”, “proof of personhood”, among others. Our approach leverages government identities, in this case Aadhaar Cards, to enhance digital interactions.
A healthy society enables people to voice their concerns, opinions and ideas without fear or reprimands. Although there are many protocols that provide anonymity, anonymity without context lowers the value of the interactions. How can I be sure the opinions shared are not part of a bot network, campaign, or external influence for my country/DAO/company?
Contextual anonymity is key to build trust and enhance the value of noise to signal.
In the broader context, Anon Aadhaar supports proof of personhood by adding a convenient privacy layer. We can talk about a “forth column” that leverages existing PKI and public government ID programs to enhance digital interactions.
Table modified from https://vitalik.ca/general/2023/07/24/biometric.html
*Low decentralization in regard to the Government being the single issuer of the IDs. But high decentralization in the verification and permissionless applications that can be built on top of them.
SDK to directly integrate with your dapp
PCD package to leverage this framework
React package to quickly integrate your front-end
Example app to try it and and fork
Proving time ~30s (avg on browser)
anon-aadhaar-contracts: import it directly in your smart contract to check on-chain that a user has a valid anon Aadhaar identity proof.
Anonymous protocols are very versatile, so get creating! If you want inspiration here are some ideas:
HeyIndia: a copy of HeyAnon app, but need to prove you’re from India in order to post.
Aadhaar Wallet: similar to Myna, create an ERC-4337 compatible wallet that uses your Aadhaar card to approve transactions or social recover with other users.
Voting App for Quadratic Voting: vote if you can prove your citizenship.
Telegram private groups: where you need to prove you’re an Indian citizen in order to join
SSO Server: anonymously login with your “proof of citizenship” in any website. Explore integrations with Sign in with Ethereum
Payment Channel: use Anon Aadhaar SDK to create payment channel. Help people can verify another party with zkp. This is only for demo how people can use our SDK.
Loan Approval Platform: create a platform for secure and anonymous loan approvals based on Aadhaar information.
Ethereum Wallet Recovery: design a dApp that helps users recover their Ethereum wallets using their Aadhaar credentials.
Web3 API Access Control: develop a dApp that enables developers to control access to their web3 APIs based on verified Aadhaar identities.
Privacy-Preserving Developer Communities: decentralized developer communities where members can engage in discussions and collaborations while maintaining their anonymity.
Our two key next features are 🏍️ Supporting Nullifiers & 🏍️ iOS Support. Future ideas include: faster proving times, supporting more countries, etc.