Plurality

Plurality

Plurality is an identity-lego-building block for dapp creators that lets them identify their users without using any third-party KYC provider or middleman, whilst preserving the privacy of users.

The problem Plurality solves

Plurality aims to bring identity on the chain by creating a zero knowledge-based identity layer so that dapps can verify the users interacting with them. Plurality uses self-sovereign identity and verifiable credentials to do off-chain identity verification and then links the user's DID with on-chain zero-knowledge proof. Thus eliminating the need for a middleman in the identity verification process so the dapps can get rid of centralized KYC processes.

We see plurality as a DEFI Lego block that would help (1) the builders/developers for verification and (2) the blockchain users to prove their real-life identity to on-chain actors through simple wallet interactions, while keeping them in control of their identity. If got adoption, the plurality would enable a plethora of on-chain use cases in the future that are not considered easily achievable currently. Some of these use cases are:

  1. Undercollateralized DEFI
  2. Decentralized Social Platforms based on verifiable credentials
  3. On-chain inheritance solutions (Automatic funds transfer to provable family members in case of proof of death)
  4. Representation of real-life assets on the chain
  5. Metaverse Identity
  6. DAO Governance
  7. Decentralized Elections
  8. Peer to Peer Gig Economy

The guiding principles of plurality are:

  1. Decentralization and privacy preservation
  2. Real life verifiable credentials used for verification
  3. Zero Knowledge smart contracts to store proof of verification
  4. DIDs connected with wallet (ETH) addresses
  5. Costs saving through digitization

tl;dr:
A short intro of the project with a simple demo:

Challenges we ran into

The challenges are not over yet!
We are far from an ideal solution here, but we are glad that we were able to pull off a proof of concept that can help in idea validation and finding product market fit in future discussions. However, in the work we have done so far, the main challenge we had was how to link the off-chain proof to the on-chain proof without compromising the user's privacy. We have been brainstorming on this theoretical problem also on Ethereum community forums as well (https://ethereum-magicians.org/t/eliminating-the-middleman-from-kyc-verification-of-blockchain-addresses/13671).

The way we are solving this challenge is that we are using a zero-knowledge protocol called semaphore that provides all the necessary tools that we need for the identity use case. We have created a wrapper around semaphore, a so-called 'Semaphore Identity Extension'. This enables us to publish a zero-knowledge 'proof of verification' on-chain every time a new member is verified in an off-chain way. Besides this, we are also working on a DID-ZKP linking mechanism that would enable the identity layer in the true sense. In this case, the identity layer can exist vertically along with all other layers, thus enabling a Lego block that could be integrated across multiple chains and would serve as an overarching solution that would make blockchains identity aware.

Another challenge that we are still facing is the decentralized protocol side of things and how would we be able to get adoption in the future. And last but not the least we are in process of gathering as much feedback as possible that would help us grow.

Discussion