Overview

Jomo Connect enables applications to easily verify user data from various onchain or offchain sources via zero knowledge proof without getting user's raw data exposed to anyone.

Glossary

TermDefinitionExample

VC

A verifiable credential is a statement about some piece of information, that is verifiably attested by an attester.

A VC could be about someone or something, or not be about a specific entity. It could be bound to an unique identifier, or could just be stored by anyone anywhere. All VCs created for users by Jomo are stored in the form of EAS attestations.

  • Statement: The Earth is a sphere

  • Attester: Columbus

  • Signature: Columbus signing on the Statement

Private VC

A private VC is a VC that nobody except for its owner, knows about its detailed contents in the statement. The general public only sees a deterministically encrypted form of the statement but not the raw data.

  • Actual content (only the VC owner knows): passport number, country, issue and expiry date, name, etc

  • Statement: Some sort of hash of the content above

  • Attester: Government

  • Signature: The NFC chip on the physical passport containing a signature of the statement

Attributes

A data attribute is a field→value pair within a VC content.

Note that for private VCs, other than the owners themselves, no one else should know what attributes and their values exist in a private VC

  • <company_name, Jomo>

  • <passport_issue_country, USA>

Use Cases

The private VC verification framework enables users to use their private data and get benefits by proving they qualify for them, without revealing any tangible private information.

Example use cases include proving that:

  • I have donated to Gitcoin in total value of X (private information: all addresses I own)

  • Smart contracts I deployed over different chains have acquired activities of amount Y (private information: all addresses I own)

  • My Github repositories have a total stars of Z (private information: my github handle)

  • I have worked at company A for > B years (private information: who I am)

  • Owns a house valued > $1M (private information: my home address, house value)

Example Experience

  • User is redirected to Jomo Connect when you try to verify the private information of a user

  • User connects to the corresponding data source and have Jomo generate a private VC for them.

  • Jomo Connect frontend generates zero knowledge proof based on the user's private VC

  • You receive the zero knowledge proof and associated additional data

  • You verify the proof and additional data are valid with Jomo Connect Smart Contract or Backend

  • (Optional) Jomo Connect backend verifies the proof and share with you the validness of the proof and any corresponding results via a callback or subsequent API calls

  • You customize the UX based on the result

Last updated