Process | |
Actor (Person) | |
Actor (Software Agent) | |
Thing (Product, Assembly, Part) | |
Thing (Business Document) | |
Thing (Pet, Car, House) | |
Actor (Organization) | |
P2. A Thing must have a Controller. The Controller of a Thing is an Actor. | |
P6. Drummond's DID Principles - Rocketchat - Dec. 18, 2018: "One thing I can easily clarify, since it's straight out of the spec: *DID* always refers to the *decentralized identifier*, period. If you want to talk about the JSON-LD document that the DID resolution process returns, that's called the *DID document*. The DID document contains a copy of the DID itself, but the *DID document is not the DID* and the *DID is not the DID document*." | |
P5. A DID Document is a JSON-LD serialization of a DID Entity. | |
P1. Michael's Thing Principles - Dec. 30, 2018: A Subject is an Actor or a Thing. Actors (Persons, Organizations, and Software Agents) participate in Processes. A Process acts on/accesses Things (e.g. a Pet (with a chip), Car, House, Business Document, Product, Assembly, Part) to perform work. Business Documents and Products are different from the traditional Sovrin concept of a Thing (e.g. Pet (w/chip), Car, House). | |
P4. A DID Entity is a data structure comprised of a collection of key-value pairs with keys such as: id (DID), service (endpoints), authentication, publicKey, @context, etc. | |
DID Entity | |
id (DID) | |
service (endpoints) | |
authentication | |
publicKey | |
@context | |
... | |
DID Document (JSON) | |
id (DID) | |
... | |
@context | |
publicKey | |
authentication | |
service (endpoints) | |
DID Resolver Response | |
... | |
methodMetadata | |
didDocument | |
... | |
... | |
resolverMetadata | |
P3. Actors and Things are mutually exclusive categories of Subjects. | |
P7. An Actor can have a Controller. The Controller of a Actor is an Actor. | |
P8. A Thing must be a Non-Fungible Entity (NFE). | |
P9. A Non-Fungible Entity (NFE) is a good or asset that is not exchangeable or replaceable with another individual good or asset of the same type. An NFE is not interchangeable, is unique, and is not divisible (without loss of identity). | |
Verifiable Data Registry (VDR) | |
... | |
NYM Tx | |
ATTRIB Tx | |
ATTRIB Tx | |
... | |
... | |
SCHEMA Tx | |
CLAIM_DEF Tx | |
... | |
... | |
NYM Transaction (Detail) | |
dest | |
alias | |
verkey | |
role | |
id (DID) | |
verkey | |
SEND_NYM Message | |
reqId | |
identifier | |
operation | |
dest | |
role (optional) | |
type | |
verkey | |
protocolVersion | |
id (TRUST_ANCHOR DID) | |