1 of 8

Verifiable Profiles

Bundling Verifiable Credentials

1

2 of 8

Verifiable Claims Ecosystem

2

Issuer

(Website)

Issues

Verifier

(Website)

Requests

Holder

(Digital Wallet)

Stores, Presents

Issue Credentials

Present

Profiles

3 of 8

Verifiable Credential

3

Verifiable Credential

Issuer Signature

Claims

Claims

Claim

Credential Identifier

Credential Metadata

Credential Metadata

Credential Metadata

4 of 8

Verifiable Profile

4

Verifiable Profile

Subject Identifier

Verifiable Credentials

Verifiable Credentials

Verifiable Credential

Counter Signature

Counter Signature

Counter Signature

5 of 8

Query Mechanism (Credential Handler API)

5

self.credential = await navigator.credentials.get({

web: {

VerifiableProfile: {

'@context': ['https://w3id.org/vc/v1',

'https://w3id.org/traveldocs/v1'],

'passport': { 'isOptional': true }

}

}

});

6 of 8

Example Verifiable Profile

6

{� "@context": [ "https://w3id.org/vc/v1",

"https://w3id.org/travelcreds/v1" ],� "id": "did:example:ebfeb1f712ebc6f1c276e12ec21",� "credential": [ /* 1…n credentials */ ],� "signature": [ /* 1…n signatures/proofs */ ]�}

https://w3c.github.io/vc-data-model/#verifiable-profile-0

7 of 8

Discussion

7

  • Does this work for all use cases?
  • Is there any data we can’t encapsulate?
  • Will this work for ZKP approaches?
  • Who else should review this?

8 of 8

Dave Longley | CTO | Digital Bazaar

Questions?

https://digitalbazaar.com/

dlongley@digitalbazaar.com

Copyright © 2017 Digital Bazaar - CC-BY-NC - Photos by Negative Space on Stock Snap

8