Skip to content
This repository was archived by the owner on Dec 17, 2023. It is now read-only.

Web3-Plurality/plurality-kyc-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Plurality

Plurality is an identity-lego-building-block for dApp creators that lets them identify their users on blockchain without compromising their privacy.

Plurality supercharges DApps by helping them to:

  1. Setup a verification mechanism tied to off-chain credentials in a few clicks
  2. Use ZK-Proofs to prove on-chain that a user has been verified
  3. Verify Personal Identifiable Information of user off-chain and never publish any sensitive information on chain - not even the blockchain address!

Adding zero knowledge verification proofs on chain after verifying through Verifiable Credentials (VCs)

A demo to demonstrate how a user can use off-chain W3C Verifiable Credentials to prove its identity to a DApp's verifier.

The DApp in this case is a mortgage lending platform that needs to check the identity of its users before allowing them access to lending resources. The DApp sets up a verifier and requests users to provide proof of valid german identity card. After verification, the verifier pushes zero knowledge proof of identification on chain so that the DApp can allow/disallow the user from accessing its services on-chain.

Problem loading image, please report!

Video

The short intro and demo video of this project can be found here: https://youtu.be/7fA5Kyl2NcA

To run this demo, you need:

  • an SSI wallet (android, apple)
  • the wallet needs to be on the Bcovrin Test Ledger (you can change the ledger from settings by uploading the genesis file )

This demo has three different perspectives: Issuer's, Verifier's and Dapp's

The Issuer:

The Verifier:

  • Asks the user to connect using QR code scanning by mobile wallet
  • Asks the user to present off-chain proof using the credentials in his/her mobile wallet
  • Verifies the credentials to check if proof requirements are satisfied
  • Create a new identity for this user correlated with this user's Decentralized Identifier (DID)
  • Adds this user's identity to the SemaphoreIdentity contract to the appropriate group
  • Can revoke this user's access at a later point in time
  • The verifier demo service can be accessed at this public address verifier

The DApp:

  • Asks the user to submit zero knowledge proof that he/she is already verified on the SemaphoreIdentity contract
  • Approves the (mortgage/loan) request if the user's zero knowledge proof is correct.

The deployed SemaphoreIdentity contract can be found here: 0xe8758638fD2E34f230b99e9b6D8587508B6D90EA

The discussion thread on ethereum magicians forum for this idea can be found here: https://ethereum-magicians.org/t/eliminating-the-middleman-from-kyc-verification-of-blockchain-addresses/13671

About

Bringing identity on blockchain while ensuring data privacy

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published