Updated 139 days ago

Iris Identity

Have you ever attempted to sign up to a platform that required KYC but the KYC verification service had so many issues while trying to take your details and documents? Or are you tired of having to twist, or turn, or rotate your head? Or open your mouth, close it, tongue out? All of those frustrating attempts at just trying to prove that you are a human being. Now, imagine you could do all of that just once, yes, just once and everywhere that it is requested, you just submit the proof without having to submit your identity documents or doing a liveness check everytime. Iris Identity is a verifiable credential (VC) system that provides zk decentralised identities (DID) for users (Identity Holders) in a trust-less, decentralised and verifiable manner.

Iris Identity (Iris-I) is a zk Verifiable Credential (VC) system that allows users to upload and verify their identity and documents in compliance with most jurisdiction's KYC requirements. Verifying their identities on Iris-I allows users to generate zk proofs of their identities that they can submit and use on services that use Iris-I as a documents and identity verification tool. Iris-I develops on decentralised identities (DID) where it allows users the flexibility of not having to identify themselves repeatedly on every new platform that they sign up to. They can just simply ensure that their proof is valid while keeping their details and identity to themselves. Trust-less trust is a core component of this system, just because a zero-knowledge proof is valid, it does not mean that it is true. Since anyone can send VCs, the DID of where those VCs are issued from: Iris-I, must be a reputable trusted source for the Verifier.

Iris-I creates a triangle which is made up of stakeholders: the identity holder, the issuer, and the verifier. The IDENTITY HOLDER holds verifiable credentials (VCs) and generates zero-knowledge proof. The ISSUER (we: Iris-I) sends VCs to the Identity Holder in the form of a KYC hash. A VERIFIER (which can be on-chain or off-chain) verifies the validity of the zero-knowledge proof and uses it in their business.

Iris-I incorporates and uses the services of Persona to verify the identity documents and liveness check submitted to Iris-I's verification system, upon successfully completing the verification from Persona, Iris-I will generate a zk proof of that process and bind it to the user. Allowing the identity holder to be able to verify their identity in a private and secure manner.

Brief overview of the technologies used in the building of IRIS-I:

  • NOIR ZK Circuits: The project utilises NOIR, a domain-specific language for writing zero-knowledge circuits, to define the cryptographic operations needed for generating and verifying proofs. You can find the circuits in the Circuits folder in the GitHub repo
  • Persona: Persona is a globally reputable identity verifier, we used their API to verify that the identity documents and liveness check were submitted to Iris-I.
  • Solidity and Smart Contracts: Deployed to the Scroll Sepolia testnet.
  • Frontend: The entire frontend is developed with Vite-React. All assets, including fonts, images, and sprites for animations, are sourced from the internet or developed by the team.

Links: