Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an OCA-Bundle object type to the ledger #1800

Open
swcurran opened this issue Feb 28, 2023 · 0 comments
Open

Add an OCA-Bundle object type to the ledger #1800

swcurran opened this issue Feb 28, 2023 · 0 comments

Comments

@swcurran
Copy link
Member

We've had some conversations (presentation and recording at a recent Indy Contributors Meeting) in the community about adding support on an Indy ledger for storing OCA Bundles such that they can be used in alignment with the OCA for Aries (PR for two RFCs -- OCA for Aries and OCA for Aries Style Guide) initiative.

Proposed approach:

  • Add a new transaction type OCABundle for writing and resolving.
  • The OCABundles must be JSON and compliant with OCA Specification.
    • Some validation of the OCABundle must be performed, including verifying the SAIDs for the Capture Base and each overlay.
    • Consideration may be given to additional verification checking of the OCABundle, such as the permitted overlay types.
  • Each OCABundle object MUST be associated with either a Schema object or a CredDef object, and MUST be published by the creator of the object to which the OCABundle is associated.
  • A publisher of a Schema or CredDef MAY publish multiple OCABundle transaction associated with the Schema or CredDef.
  • A client may resolve OCABundle objects using the following read transactions:
    • A read transaction for an OCABundle will by default return the latest version of the given OCABundle.
    • A read transaction of a Schema will return the latest associated OCABundle, if any.
    • A read transaction of a CredDef will return the latest associated OCABundles to the CredDef and the Schema associated with the CredDef, if any.
    • Any of the read transactions that returns an OCABundle may include a time (aka versionTime from the DID Core Spec.) and the ledger will return the OCABundle(s) active on the ledger at that time, if any.
    • Any specific OCABundle object may be retrieved via its ledger TxnID

In addition to changes to Indy Node and Indy Plenum to implement this capability, corresponding changes are needed to Indy VDR to enable clients to write and read OCABundle objects, as well as to the Indy CLI.

The capability should be implemented in alignment with the Hyperledger AnonCreds specification such that the same capability can be added to other Verifiable Data Registries (VDRs).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant