NotVault enables developers to create robust and secure data integrity verification systems. This feature is critical in developing functional, real-world workflows in trustless environments.

Objects in the Workflow

Three primary objects are involved in this workflow:

  • Dataset: This is a collection of data, the utility of which depends on the integrity of its contents.

  • Credential: This is an object derived from the Dataset that contains additional information about the Dataset's validity and integrity.

  • Query: This is a set of questions concerning the validity and integrity of a Credential.

Roles in the Workflow

There are three roles in this workflow:

  • Person: This can be an individual or entity that relates to or is the subject of a certain Dataset.

  • Issuer: An individual or entity that attests to the validity of a Person's Dataset. The Issuer creates a Credential, which is an atomic Dataset that has been verified, encrypted, and signed.

  • Verifier: An individual or entity that wishes to verify that a Query relating to a Credential is true.

Workflow Steps

Here is the step-by-step process of this workflow:

  1. Dataset Creation: A Person creates a Dataset that is dependant on the integrity of its contents. An example of such a Dataset is a Passport, where its utility is tied to its recognized integrity.

  2. Credential Creation: An Issuer verifies the integrity of the Person's Dataset and generates a Credential. This new object contains an encrypted version of the Dataset that is signed by the Issuer. For instance, in the Passport example, the Issuer would be the specific government responsible for issuing the passport.

  3. Query Creation: A Verifier who wishes to check if the Dataset matches specific criteria or features creates a Query outlining these constraints. The Verifier then shares the Query with the Person who owns the Credential. In the Passport example, the Verifier might be a border control officer who checks the validity of the passport.

  4. Proof Generation: The Person generates a proof showing that their Credential meets the constraints or criteria specified in the Query. This proof is then sent to the Verifier.

  5. Proof Verification: The Verifier validates the proof. It's important to note that the underlying Credential or data is never shared throughout this workflow—only the Query criteria and the proof corresponding to the Query.

This functionality of NotVault offers a robust method to verify data integrity without exposing the actual data, thereby maintaining the privacy and security of the information. Developers can use this functionality to build a wide range of applications, from identity verification to secure data access controls.

Last updated