0x7ec1

Posted on Sep 21, 2023Read on Mirror.xyz

Announcing Anon Aadhaar

This post was written by the Anon Aadhaar team.

We’re excited to announce the public release of Anon Aadhaar!

What is 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.

Try our demo with your Aadhaar card or example files (signed pdf, certificate file). Follow our tutorial by building a voting app with Anon Aadhaar, fork our example app and build your own.

Why Aadhaar cards?

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.

Importance of Anonymity

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.

Highlight Features

  • 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)

What it contains

  • anon-aadhaar-contracts: import it directly in your smart contract to check on-chain that a user has a valid anon Aadhaar identity proof.

  • anon-aadhaar-pcd: PCD is a clever framework for programmable cryptography to facilitate composability and interoperability. This package facilitates building dapps using PCDs.

  • anon-aadhaar-react React component library to embed the anon-aadhaar circuit in your project, and let you verify that a user has a regular Aadhaar ID, by generating ZKProofs, and authenticating them.

Check our documentation and feel free to try our Integration Tutorial.

Building with Anon Aadhaar

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

  • Bandada credential groups: gatekept by Anon Aadhaar proofs and then integrated to anonymous chats using Discreetly.

  • 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.

Additional Links

Looking ahead

Our two key next features are 🏍️ Supporting Nullifiers & 🏍️ iOS Support. Future ideas include: faster proving times, supporting more countries, etc.

Check our roadmap and feel free to give feedback at #proof-of-citizenship

Thanks to @vuvoth, @Meyanis95 , @andy, @jmall, @xyz_pierre, @PSE design team

Recommended Reading