Skip to content

0428: Prerequisites to Issue Rich Credential

Summary

Describes the prerequisites an issuer must ensure are in place before issuing a rich credential.

Motivation

To inform issuers of the steps they should take in order to make sure they have the necessary rich schema objects in place before they use them to issue credentials.

Tutorial

Rich Schema Credential Workflow

  1. The issuer checks the ledger to see if the credential definition he wants to use is already present.
  2. If not, the issuer checks the ledger to see if the mapping he wants to use is already present.
    1. If not, the issuer checks the ledger to see if the schemas he wants to use are already present.
      1. If not, anchor the context used by each schema to the ledger.
      2. Anchor the schemas on the ledger. Schema objects may refer to one or more context objects.
    2. Anchor to the ledger the mapping object that associates each claim with one or more encoding objects and a corresponding attribute. (The issuer selects schema properties and associated encodings to be included as claims in the credential. Encoding objects refer to transformation algorithms, documentation, and code which implements the transformation. The claim is the data; the attribute is the transformed data represented as a 256 bit integer that is signed. The mapping object refers to the schema objects and encoding objects.)
  3. Anchor a credential definition that refers to a single mapping object. The credential definition contains public keys for each attribute. The credential definition refers to the issuer DID.
  4. Using the credential definition, mapping, and schema(s) issue to the holder a credential based on the credential definition and the supplied claim data. The Issue Credential Protocol 1.0 will be the model for another RFC containing minor modifications to issue a credential using the new rich schema objects.

Subsequent credentials may be issued by repeating only the last step.

Reference

Unresolved questions

RFCs for Rich Schema Mappings and Rich Schema Credential Definitions are incomplete.

Implementations

The following lists the implementations (if any) of this RFC. Please do a pull request to add your implementation. If the implementation is open source, include a link to the repo or to the implementation within the repo. Please be consistent in the "Name" field so that a mechanical processing of the RFCs can generate a list of all RFCs supported by an Aries implementation.

Name / Link Implementation Notes