-
Notifications
You must be signed in to change notification settings - Fork 2
Description
We need to add the following fully decentralized verifiable issuer use case to the specification:
The National College Board would like to provide a verifiable credential to each State College to confirm that they would accept degrees issued by a specific college as legitimate proof of education. Since the National College Board does not operate technical infrastructure with high-availability guarantees, it wants to distribute this information in a way that can be presented by the State College issuer or the holder of a particular degree when presenting that degree to a verifier.
The minimum viable data model for achieving this use case for an issuer could be something like the following:
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": [
"VerifiableCredential",
"VerifiableRecognitionCredential"
],
"issuer": "did:web:recognizer.example",
"validFrom": "2025-01-01T00:00:00Z",
"validUntil": "2030-01-01T00:00:00Z",
"credentialSubject": {
"id": "did:web:issuer.example",
"type": "RecognizedIssuer",
"recognizedBy": "did:web:recognizer.example", /// hmm...
"recognitionCriteria": [{
"type": "Issuance",
"validFrom": "2021-01-01T00:00:00Z",
"validUntil": "2026-01-01T00:00:00Z",
"credentialSchema": {
"id": "https://recognizer.example/schemas/degrees/bachelors.json",
"type": "JsonSchema",
"digestMultibase": "uELqXcnlc5P7xp1u-5uJRDYKvc9FnJ5YLa5iAszyJ518b"
}
}, {
"type": "Issuance",
"validFrom": "2025-01-01T00:00:00Z",
"validUntil": "2026-01-01T00:00:00Z"
"credentialSchema": {
"id": "https://recognizer.example/schemas/degrees/masters.json",
"type": "JsonSchema",
"digestMultibase": "uELYKvc9FnJ5YLa5iARD18bszyJ5qXcnlc5P7xp1u-5uJ"
}
}]
},
"proof": {
"type": "DataIntegrityProof",
"created": "2025-08-10T20:08:22Z",
"verificationMethod": "did:web:recognizer.example#issuance-key-1",
"cryptosuite": "ecdsa-rdfc-2019",
"proofPurpose": "assertionMethod",
"proofValue": "z36XPGByaH3rvtKfwoEQXsnUXUAjwd2Ceiqke1GPfjAPAFYoXKo5ftPdwE7QZ8Mw22SC5LSRQg1d8bhe3252hYJoH"
}
}
The minimum viable data model for achieving this use case for an verifier could be something like the following:
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://www.w3.org/ns/credentials/examples/v2"
],
"type": [
"VerifiableCredential",
"VerifiableRecognitionCredential"
],
"issuer": "did:web:recognizer.example",
"validFrom": "2025-01-01T00:00:00Z",
"validUntil": "2030-01-01T00:00:00Z",
"credentialSubject": {
"id": "did:web:verifier.example",
"type": "RecognizedVerifier",
"recognizedBy": "did:web:recognizer.example", /// hmm...
"recognitionCriteria": [{
"type": "Verification",
"validFrom": "2021-01-01T00:00:00Z",
"validUntil": "2026-01-01T00:00:00Z",
"presentationSchema": {
"id": "https://recognizer.example/presentation-schemas/degrees/bachelors.json",
"type": "JsonSchema",
"digestMultibase": "uELqXcnlc5P7xp1u-5uJRDYKvc9FnJ5YLa5iAszyJ518b"
}
}, {
"type": "Verification",
"validFrom": "2025-01-01T00:00:00Z",
"validUntil": "2026-01-01T00:00:00Z"
"presentationSchema": {
"id": "https://recognizer.example/presentation-schemas/degrees/masters.json",
"type": "JsonSchema",
"digestMultibase": "uELYKvc9FnJ5YLa5iARD18bszyJ5qXcnlc5P7xp1u-5uJ"
}
}]
},
"proof": {
"type": "DataIntegrityProof",
"created": "2025-08-10T20:08:22Z",
"verificationMethod": "did:web:recognizer.example#issuance-key-1",
"cryptosuite": "ecdsa-rdfc-2019",
"proofPurpose": "assertionMethod",
"proofValue": "z36XPGByaH3rvtKfwoEQXsnUXUAjwd2Ceiqke1GPfjAPAFYoXKo5ftPdwE7QZ8Mw22SC5LSRQg1d8bhe3252hYJoH"
}
}