*View: 2. DID Data Model and DID Document Data Model Viewpoint ()
*View: 2. DID Data Model and DID Document Data Model Viewpoint
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)