decentralized-identity / trust-establishment

https://identity.foundation/trust-establishment
https://identity.foundation/trust-establishment/
Apache License 2.0
10 stars 5 forks source link

Schema Based vs Issuer Based #9

Closed decentralgabe closed 2 years ago

decentralgabe commented 2 years ago

The first draft strawman of the Trust List takes the position of schema-based trust lists. We have trusted_entities and then what they are trusted_for.

 "trusted_for": [
          {
            "name": "Person's Name",
            "description": "A person's name",
            "schemas": ["schema.org/name", "example.com/name-schema.json"]
          }
        ],
        "trusted_entities": [
            {
                "identifiers": ["did:test:1234"],
                "name": "Identifiers for Corporation A.",
                "description": "Corporation A is a universally recognized authority on names and date of birth"
            },
            {
                "identifiers": ["did:test:5678"],
                "name": "Identifiers for Corporation B.",
                "description": "Corporation B is a universally recognized authority on human credentials"
            },
        ]

This design works best when there are a set of entities (Issuers) that are all trusted for the same type of credentials, identified by a common set of schemas.

Instead, we can consider a model that trusts on a per-issuer basis. Meaning, for a given issuer, here is what I trust them for...

"trusted_entity": 
         {
                "identifiers": ["did:test:5678"],
                "name": "Identifiers for Corporation B.",
                "description": "Corporation B is a universally recognized authority on human credentials"
         },
 "trusted_for": [
          {
            "name": "Person's Name",
            "description": "A person's name",
            "schemas": ["schema.org/name", "example.com/name-schema.json"]
          },
          {
            "name": "Date of Birth",
            "description": "A person's date of birth",
            "schemas": ["schema.org/dob"]
          }
        ]

Should the specification allow this configurability, or take a stance on a schema or issuer based perspective?