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

Derived Credential Presentations #1187

Closed
abhishekmaha23 opened this issue Jul 7, 2023 · 4 comments
Closed

Derived Credential Presentations #1187

abhishekmaha23 opened this issue Jul 7, 2023 · 4 comments
Labels

Comments

@abhishekmaha23
Copy link

abhishekmaha23 commented Jul 7, 2023

I'm working on a blog post describing a basic (largely independent) implementation of an SSI use-case integrating with ZKPs (hopefully in a modern SNARK system) and I'm at this point in the specs:

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://www.w3.org/2018/credentials/examples/v1"
  ],
  "type": "VerifiablePresentation",
  "verifiableCredential": [
    {
      "@context": [
        "https://www.w3.org/2018/credentials/v1",
        "https://www.w3.org/2018/credentials/examples/v1"
      ],
      "type": ["VerifiableCredential", "UniversityDegreeCredential"],
      "credentialSchema": {
        "id": "did:example:cdf:35LB7w9ueWbagPL94T9bMLtyXDj9pX5o",
        "type": "did:example:schema:22KpkXgecryx9k7N6XN1QoN3gXwBkSU8SfyyYQG"
      },
      "issuer": "did:example:Wz4eUg7SetGfaUVCn8U9d62oDYrUJLuUtcy619",
      "credentialSubject": {
        "degreeType": "BachelorDegree",
        "degreeSchool": "College of Engineering"
      },
      "proof": {
        "type": "AnonCredDerivedCredentialv1",
        "primaryProof": "cg7wLNSi48K5qNyAVMwdYqVHSMv1Ur8i...Fg2ZvWF6zGvcSAsym2sgSk737",
        "nonRevocationProof": "mu6fg24MfJPU1HvSXsf3ybzKARib4WxG...RSce53M6UwQCxYshCuS3d2h"
      }
  }],
  "proof": {
    "type": "AnonCredPresentationProofv1",
    "proofValue": "DgYdYMUYHURJLD7xdnWRinqWCEY5u5fK...j915Lt3hMzLHoPiPQ9sSVfRrs1D"
  }
}

The example provided uses the CL Signature method. Are there other examples or references available?
I couldn't find any other signature schemes that have been used for this, and am struggling to track down/identify what the implementations from the VC Implementation Report use.

In addition, where may I find a repository of Credential templates for interoperability purposes?

@abhishekmaha23 abhishekmaha23 changed the title Regarding Derived Presentations Derived Presentations Jul 7, 2023
@abhishekmaha23 abhishekmaha23 changed the title Derived Presentations Derived Credential Presentations Jul 7, 2023
@brentzundel
Copy link
Member

The implementations in the VC Implementation report that supported the ZKP features used CL Signatures.
CL Signatures are still used by the Hyperledger Indy project and Sovrin.

There is currently work in the VCWG on BBS Data Integrity signature suite that has a similar set of capabilities, as well as work at IRTF to define BBS more formally in a general setting.

@abhishekmaha23
Copy link
Author

@brentzundel Thank you for these very relevant leads! This was an interesting rabbithole to go through - I was struggling a bit to find exactly the right search terms to find relevant signature schemes here.
It seems MattrGlobal has a working implementation of BBS+, and the field is seeing active work, also interesting research.

Any other directions I might be missing to apply selective disclosure beyond CL or BBS Signatures?

@brentzundel
Copy link
Member

For an effort specific to selective disclosure you might want to check out the SD-JWT work (also at IETF), though the compatibility of SD-JWT with VC is still being worked out, if I understand correctly.

Do you feel that your questions have been answered sufficiently for us to close this issue?

@abhishekmaha23
Copy link
Author

Thanks again, that helps also!
Closing the issue now.

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

No branches or pull requests

3 participants