Introduction
You should now be able to setup an issuer, issue claims to yourself and/or other identities and publish the state on-chain.
Now it comes the cool part: being able to verify Claims with Zero Knowledge.
Bob can verify that Alice is over 18 without having to access Alice's date of birth
In this example:
- Alice holds a Claim that certifies her date of birth
- Bob designs a Query "You must be over 18"
- Alice generates a ZK Proof starting from her Claim and Bob's Query
- Bob verifies Alice's proof and provides access rights
Both Claim
and Query
are broad and customizable data primitives allowing to create any type of identity based verification.
The claims associated to an identity are resuable across platforms so any integrator can leverage existing claims and create customized queries. For example exchanges that require KYC claim or DAOs that require proof-of-personhood claim.
This section illustrates a set of simple APIs to integrate Iden3 ZK login inside your application for user authentication, abstracting away all the complexity involved with ZK proofs.
In particular:
- ZKLogin workflow, to understand the user workflow
- ZKLogin integration, to integrate it in your platform with a few lines of code
- Demo, to demo it
- JSON Web ZeroKnowledge - JWZ, to understand the core primitive of web2 ZK-based communication
- Query Language, to understand how to design customized queries
The tutorial is designed to integrate ZKP verification on the web client side. The user interacting with the client must have the identity wallet app installed.
Libraries
The authentication flow can be implemented either in GoLang or Javascript