Verifiable Conditions - implementation progress

<https://github.com/w3c-ccg/verifiable-conditions>Hi

Team Gimly is leading the implementation of the Verifiable Credentials standard<https://github.com/w3c-ccg/verifiable-conditions> as part of the EOSIO DID<https://github.com/Gimly-Blockchain/eosio-did-resolver/blob/c49d23b3053a174cb78e1b7704f2bd43f9be3ab4/src/resolver.ts#L80>. The standard specifies a new verification method type that looks like this:
{
    "id": "did:example:123",
    "controller": "did:example:123",
    "type": ["VerifiableCondition", "VerifiableConditionAnd"],
    "verificationMethod": {...},
}

We think there may be a problem with the Verifiable Credentials standard<https://github.com/w3c-ccg/verifiable-conditions>, as the type property does not conform to the DID-core<https://w3c.github.io/did-core/#verification-methods> spec regarding the type property of verification methods:
The value of the type property MUST be a string that references exactly one verification method type. In order to maximize global interoperability, the verification method type SHOULD be registered in the DID Specification Registries [DID-SPEC-REGISTRIES].

As such, I propose that the Verifiable Condition is a single type, and that subtypes can be expressed like below. Please let me know what you think, especially @markus@danubetech.com<mailto:markus@danubetech.com> and @Manu Sporny<mailto:msporny@digitalbazaar.com>!
{
    "id": "did:example:123",
    "controller": "did:example:123",
    "type": "VerifiableCondition",
    "conditionType": ["VerifiableConditionAnd"],
    "verificationMethod": {...},
}

Cheers,
Jack Tanner

Received on Tuesday, 18 May 2021 14:34:24 UTC