Hyperledger Indy/Sovrin/DID Comprehensive Architecture Reference Model (INDY ARM)
-
-
-
- ...
- Business Document Create Event
- Operational Business Processes
- Data Warehousing
- Data Analytics
- Artificial Human & Artificial Machine Intelligence
- Machine Learning
- Data Mining
- Data Analytics
- Business Analytics
- Statistics
- Data Reporting and Visualization
- UBL 2.2 Specification
- BPMN 2.2 Specification
- DW Schemas
- Data Query
- ETL
- SQL
- ...
- ...
- ...
- XBRL
- ...
- Reporting
- Charting
- Data Visualization
- Interactive Analysis
- Business Document Receive Event
- Business Document Delete Event
- Machine Automation
- Data Vault
- Feedback
- Issuer Role
- Holder Role
- Verifier Role
- Holder Role
- Business Services: Issue, Store, Request, Present, Verify, Register, ...
- Automated Decision Support
- Agents
- Bots
- Robotics
- Decentralized Resource
- SS Digital Identity
- SS Digital Identity
- SS Digital Identity
- Actor (Person)
- Actor (Organization)
- SS Digital Identity
- Process
- Thing (Pet, Car, House)
- SS Digital Identity
- Thing (Product, Assembly, Part)
- SS Digital Identity
- Actor (Software Agent)
- Real-Life Actor "Alice" (Person, Organization, Software Agent)
- Thing (Business Document)
- Real-Life Thing "ThingamaBob" (Pet, Car, House, Business Document, Product, Assembly, Part)
- Virtual Actor "Alice" (Person, Organization, Software Agent)
- Virtual Thing "ThingamaBob" (Pet, Car, House, Business Document, Product, Assembly, Part)
- Inspector Role
- Issue
- Verify
- Present
- Request
- SSI for a Subject (e.g. Birth Certificate, Purchase Order)
- SSI for a Subject (e.g. Birth Certificate, Purchase Order)
- 1. DID Identifier Layer: DID Syntax
- 6. Agent to Agent (A2A) Communications Protocol Layer
- 2. DID Private/Public Key Pair Layer: Private/Public Keys, Wallet
- 3. Verifiable DID Layer: (DID, Keys) => Verifiable NYM Transaction (or equiv)
- 4. DID Document Layer: DID Document, Resolution Protocol, Element Access Protocol
- 5. Agent Layer: Agents, Service Endpoints, Verifiable ATTRIB Transactions (or equiv)
- DID Specification
- DID Resolution Specification
- Indy Agent-2-Agent Communication HIPEs
- HTTP, FTP, SMTP, etc. protocols
- DNS (Domain Name Resolution) protocol
- IP Addresses, TCP-IP and related protocols
- DID Specification
- DID Resolution Specification
- Device Sensor Data (IoT)
- Other Instrumentation (Process Control Systems)
- Gateway
- Router
- Ingestion
- Subject
-
-
-
- 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.
- P2. A Thing must have a Controller. The Controller of a Thing is an Actor.
- 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).
-
-
-
-
(Business Document Create Event - Operational Business Processes)
-
(Operational Business Processes - Data Warehousing)
-
(Operational Business Processes - ETL)
-
(ETL - Data Warehousing)
-
(Data Warehousing - Data Query)
-
(Data Query - Data Mining)
-
(Data Mining - Statistics)
-
(Statistics - Data Analytics)
-
(Data Mining - Artificial Human & Artificial Machine Intelligence)
-
(Artificial Human & Artificial Machine Intelligence - Machine Learning)
-
(Statistics - Machine Learning)
-
(Machine Learning - Business Analytics)
-
(Data Analytics - Business Analytics)
-
(Data Analytics - Reporting)
-
(Business Analytics - Reporting)
-
(Reporting - Charting)
-
(Charting - Data Visualization)
-
(Reporting - Interactive Analysis)
-
(Interactive Analysis - Charting)
-
(Interactive Analysis - Data Visualization)
-
(Business Document Receive Event - Operational Business Processes)
-
(Business Document Delete Event - Operational Business Processes)
-
(Artificial Human & Artificial Machine Intelligence - Business Analytics)
-
(Machine Learning - Machine Automation)
-
(Operational Business Processes - Data Vault)
-
(Data Vault - Data Query)
-
(ETL - Data Vault)
-
(Machine Automation - Feedback)
-
(Feedback - Machine Learning)
-
(Indy-Node Distribution - Ledger Node Component)
-
(Indy-Plenum Distribution - Ledger Node Component)
-
(Ledger Node Component - Ledger Node Functions)
-
(Ledger Node Functions - Verifiable Data Registry (VDR) (replica))
-
(Ledger Node Functions - Ledger Node Service Endpoint)
-
(Indy Agent Component - Indy Agent Functions)
-
(Indy Agent Functions - Indy Agent Service Endpoint)
-
(Indy Wallet Component - Indy Wallet Functions)
-
(Indy Wallet Functions - Indy Wallet Service)
-
(Indy Wallet Component - Indy Wallet API)
-
(Indy Wallet API - Indy Wallet Service)
-
(Indy Agent API - Indy Agent Service Endpoint)
-
(Indy Agent Component - Indy Agent API)
-
(Ledger Node Component - Ledger Node API)
-
(Ledger Node API - Ledger Node Service Endpoint)
-
(Indy Agent API - Indy Agent Service Endpoint)
-
(Indy Agent Component - Indy Agent Functions)
-
(Indy Wallet API - Indy Wallet Service)
-
(Indy Wallet Component - Indy Wallet Functions)
-
(Indy Agent Component - Indy Agent API)
-
(Indy Wallet Component - Indy Wallet API)
-
(Indy Wallet Functions - Indy Wallet Service)
-
(Indy Agent Functions - Indy Agent Service Endpoint)
-
(libIndy Distribution - Indy Wallet Component)
-
(Indy-Agent Distribution - Indy Agent Component)
-
(Issuer Role - Issue)
-
(Holder Role - Present)
-
(Indy Agent Functions - Indy Agent Storage)
-
(Indy Wallet Functions - Indy Wallet Pluggable Storage)
-
(Indy Agent Functions - Indy Agent Storage)
-
(Indy Wallet Functions - Indy Wallet Pluggable Storage)
-
(Indy Agent API - Indy Wallet Component)
-
(Indy Agent Service Endpoint - Indy Wallet Functions)
-
(Indy Wallet API - Indy Agent Component)
-
(Indy Wallet Service - Indy Agent Functions)
-
(Indy Wallet API - Indy Agent Component)
-
(Indy Wallet Service - Indy Agent Functions)
-
(Ledger Node API - Indy Wallet Component)
-
(Ledger Node Service Endpoint - Indy Agent Functions)
-
(Indy Agent API - Business Services: Issue, Store, Request, Present, Verify, Register, ... )
-
(Indy Agent Service Endpoint - Business Services: Issue, Store, Request, Present, Verify, Register, ... )
-
(Business Services: Issue, Store, Request, Present, Verify, Register, ... - Issue)
-
(Business Services: Issue, Store, Request, Present, Verify, Register, ... - Present)
-
(Business Services: Issue, Store, Request, Present, Verify, Register, ... - Request)
-
(Business Services: Issue, Store, Request, Present, Verify, Register, ... - Verify)
-
(Indy-Agent Distribution - Indy Agent Component)
-
(libIndy Distribution - Indy Wallet Component)
-
(Ledger Node Service Endpoint - Indy Agent Service Endpoint)
-
(Indy Credential Registry Node Component - Indy Credential Registry Node Functions)
-
(Indy Credential Registry Node Functions - Credential Registry Node Storage)
-
(Indy Credential Registry Node Functions - Indy Credential Registry Node Service Endpoint)
-
(Indy Credential Registry Node API - Indy Credential Registry Node Service Endpoint)
-
(Indy Credential Registry Node Component - Indy Credential Registry Node API)
-
(Indy-Agent Distribution - Indy Credential Registry Node Component)
-
(Edge Web App Functions - Edge Web App Services)
-
(Edge Web App Component - Edge Web App Functions)
-
(Edge Web App UI - Edge Web App Services)
-
(Edge Web App Component - Edge Web App UI)
-
(Indy Agent API - Edge Web App Component)
-
(Indy Agent Service Endpoint - Edge Web App Functions)
-
(Edge Lightweight App Component - Edge Lightweight App Functions)
-
(Edge Lightweight App Component - Edge Lightweight App UI)
-
(Edge Lightweight App UI - Edge Lightweight App Services)
-
(Edge Lightweight App Functions - Edge Lightweight App Services)
-
(Indy Agent API - Edge Lightweight App Component)
-
(Indy Agent Service Endpoint - Edge Lightweight App Functions)
-
(Edge Web App UI - Business Services: Issue, Store, Request, Present, Verify, Register, ... )
-
(Edge Web App Services - Business Services: Issue, Store, Request, Present, Verify, Register, ... )
-
(Edge Lightweight App UI - Business Services: Issue, Store, Request, Present, Verify, Register, ... )
-
(Edge Lightweight App Services - Business Services: Issue, Store, Request, Present, Verify, Register, ... )
-
(DID Resolver Node Functions - DID Resolver Node Service Endpoint)
-
(DID Resolver Node Component - DID Resolver Node Functions)
-
(DID Resolver Node Component - DID Resolver Node API)
-
(DID Resolver Node API - DID Resolver Node Service Endpoint)
-
(DID Resolver Node Service Endpoint - DID Resolver Response)
-
(DID Document (JSON) - Schema ID)
-
(Schema ID - Schema Document)
-
(Schema Document - Schema ID)
-
(Schema Document - Mapping Document: flatten entity graph into a flat serialized format)
-
(Credential Definition Document - ...)
-
(Mapping Document: flatten entity graph into a flat serialized format - Credential Definition Document)
-
(Credential Definition Document - Correctness Proof)
-
(Edge Wallet - Verifiable Credential)
-
(Cloud Wallet - Verifiable Credential)
-
(Credential Registry - Verifiable Credential)
-
(Credential Definition Document - Revocation Requirements)
-
(DID Document (JSON) - UUID (app specific))
-
(DID Document (JSON) - Keys)
-
(DID Document (JSON) - Service Endpoints)
-
(DID Document (JSON) - Revocation ...)
-
(Business Analytics - Automated Decision Support)
-
(Interactive Analysis - Bots)
-
(Automated Decision Support - Agents)
-
(Bots - Interactive Analysis)
-
(Machine Automation - Robotics)
-
(DID Document - id (DID))
-
(DID Entity - Decentralized Resource)
-
(DID Entity - id (DID))
-
(DID Entity - service (endpoints))
-
(DID Entity - authentication)
-
(DID Entity - publicKey)
-
(DID Entity - @context)
-
(DID Entity - ...)
-
(Ledger Node - Verifiable Data Registry (VDR))
-
(Ledger Node - DID Resolver)
-
(Client API - DID Document (JSON-LD))
-
(DID Resolver - Client API)
-
(Client API - Ledger Node)
-
(SS Digital Identity - Decentralized Resource)
-
(SS Digital Identity - Decentralized Resource)
-
(SS Digital Identity - Decentralized Resource)
-
(SS Digital Identity - Actor (Person))
-
(SS Digital Identity - Actor (Organization))
-
(SS Digital Identity - Thing (Pet, Car, House))
-
(DID Entity - SS Digital Identity)
-
(DID Entity - SS Digital Identity)
-
(DID Entity - SS Digital Identity)
-
(DID Entity - SS Digital Identity)
-
(SS Digital Identity - Thing (Business Document))
-
(Actor (Person) - Process)
-
(Actor (Organization) - Process)
-
(Process - Thing (Business Document))
-
(Process - Thing (Pet, Car, House))
-
(DID Entity - SS Digital Identity)
-
(Process - Thing (Product, Assembly, Part))
-
(SS Digital Identity - Thing (Product, Assembly, Part))
-
(Actor (Software Agent) - Process)
-
(SS Digital Identity - Actor (Software Agent))
-
(DID Entity - SS Digital Identity)
-
(DID Document (XML) - DID Entity)
-
(DID Document (JSON-LD) - DID Entity)
-
(id (DID) - id (DID))
-
(service (endpoints) - Software Service Endpoint (for the entity identified by this id (DID) and DID Document))
-
(Software Service Endpoint (for the entity identified by this id (DID) and DID Document) - Client App (or Service))
-
(Software Service Endpoint (for the entity identified by this id (DID) and DID Document) - Metadata Document for Virtual (Real-life) Something (returned by the Service Endpoint for id (DID)))
-
(Metadata Document for Virtual (Real-life) Something (returned by the Service Endpoint for id (DID)) - Virtual Actor "Alice" (Person, Organization, Software Agent))
-
Things are Owned by Actors
(Real-Life Thing "ThingamaBob" (Pet, Car, House, Business Document, Product, Assembly, Part) - Real-Life Actor "Alice" (Person, Organization, Software Agent))
-
(Metadata Document for Virtual (Real-life) Something (returned by the Service Endpoint for id (DID)) - Virtual Thing "ThingamaBob" (Pet, Car, House, Business Document, Product, Assembly, Part))
-
(DID Resolver - DID Document (JSON-LD))
-
(DID Resolver - Client App (or Service))
-
(Metadata Document for Virtual (Real-life) Something (returned by the Service Endpoint for id (DID)) - Metadata Document Repository)
-
(DID Document (JSON-LD) - Verifiable Data Registry (VDR))
-
(Virtual Actor "Alice" (Person, Organization, Software Agent) - Software Service Endpoint (for the entity identified by this id (DID) and DID Document))
-
(Virtual Thing "ThingamaBob" (Pet, Car, House, Business Document, Product, Assembly, Part) - Software Service Endpoint (for the entity identified by this id (DID) and DID Document))
-
(Virtual Thing "ThingamaBob" (Pet, Car, House, Business Document, Product, Assembly, Part) - Real-Life Thing "ThingamaBob" (Pet, Car, House, Business Document, Product, Assembly, Part))
-
(Virtual Actor "Alice" (Person, Organization, Software Agent) - Real-Life Actor "Alice" (Person, Organization, Software Agent))
-
Things are Owned by Actors
(Virtual Thing "ThingamaBob" (Pet, Car, House, Business Document, Product, Assembly, Part) - Virtual Actor "Alice" (Person, Organization, Software Agent))
-
(Holder Role - Request)
-
(DID Document (JSON) - DID Entity)
-
(DID Entity - Thing (Product, Assembly, Part))
-
(DID Entity - Thing (Business Document))
-
(DID Entity - Actor (Software Agent))
-
(DID Entity - Actor (Organization))
-
(DID Entity - Actor (Person))
-
(DID Entity - Thing (Pet, Car, House))
-
(DID Entity - id (DID))
-
(DID Entity - service (endpoints))
-
(DID Entity - authentication)
-
(DID Entity - publicKey)
-
(DID Entity - @context)
-
(DID Entity - ...)
-
(id (DID) - id (DID))
-
(DID Document (JSON) - id (DID))
-
(DID Document (JSON) - ...)
-
(DID Document (JSON) - @context)
-
(DID Document (JSON) - publicKey)
-
(DID Document (JSON) - authentication)
-
(DID Document (JSON) - service (endpoints))
-
(Ledger Node API - DID Resolver Node Component)
-
(Ledger Node Service Endpoint - DID Resolver Node Functions)
-
(Indy-Agent Distribution - Ledger Node Component)
-
(DID Resolver Node API - Edge Lightweight App Component)
-
(DID Resolver Node Service Endpoint - Edge Lightweight App Functions)
-
(DID Resolver Node API - Indy Agent Component)
-
(DID Resolver Node Service Endpoint - Indy Agent Functions)
-
(DID Resolver Node API - Indy Agent Component)
-
(DID Resolver Node Service Endpoint - Indy Agent Functions)
-
(Indy Agent Functions - Indy Agent Service Endpoint)
-
(Indy Agent Functions - ...)
-
(Indy Agent Functions - A2A Protocol)
-
(A2A Protocol - Indy Agent Service Endpoint)
-
(Indy Agent Functions - A2A Protocol)
-
(A2A Protocol - Indy Agent Service Endpoint)
-
(Indy Agent Service Endpoint - Indy Agent Functions)
-
(Indy Agent Functions - Indy Agent Service Endpoint)
-
(Indy Agent Functions - ...)
-
(Ledger Node Functions - Ledger-to-Ledger Protocol)
-
(Ledger-to-Ledger Protocol - Ledger Node Service Endpoint)
-
(Ledger Node Functions - Ledger Node Service Endpoint)
-
(Ledger Node Functions - Verifiable Data Registry (VDR) (replica))
-
(Verifiable Data Registry (VDR) (replica) - Verifiable Data Registry (VDR))
-
(Verifiable Data Registry (VDR) - didDocument)
-
(Issue - Holder Role)
-
(Verifier Role - Verify)
-
(Present - Holder Role)
-
(Request - Inspector Role)
-
(Inspector Role - Verify)
-
(Issue - SSI for a Subject (e.g. Birth Certificate, Purchase Order))
-
(Present - SSI for a Subject (e.g. Birth Certificate, Purchase Order))
-
(Request - SSI for a Subject (e.g. Birth Certificate, Purchase Order))
-
(Verify - SSI for a Subject (e.g. Birth Certificate, Purchase Order))
-
(Indy Agent Service Endpoint - Business Services: Issue, Store, Request, Present, Verify, Register, ... )
-
(DID Resolver Response - ...)
-
(DID Resolver Response - methodMetadata)
-
(DID Resolver Response - resolverMetadata)
-
(DID Resolver Response - didDocument)
-
(didDocument - DID Document (JSON))
-
(Universal-Resolver drivers/sov Distribution - DID Resolver Node Component)
-
(Present - SSI for a Subject (e.g. Birth Certificate, Purchase Order))
-
(Verifiable Data Registry (VDR) (replica) - Verifiable Data Registry (VDR))
-
(6. Agent to Agent (A2A) Communications Protocol - 6. DID Document Verification Layer)
-
(6. DID Document Verification Layer - 5. Agents and Service Endpoints)
-
(5. Agents and Service Endpoints - 4. DID Document Data Model)
-
(4. DID Document Data Model - 3. Verifiable DID Layer: (DID, Keys) => Verifiable NYM Transaction (or equiv))
-
(3. Verifiable DID Layer: (DID, Keys) => Verifiable NYM Transaction (or equiv) - 2. DID Private/Public Key Pairs and Wallets)
-
(2. DID Private/Public Key Pairs and Wallets - 1. DID Identifier Data Model: DID Syntax)
-
(NYM Transaction (Detail) - alias)
-
(NYM Transaction (Detail) - role)
-
(NYM Transaction (Detail) - dest)
-
(NYM Transaction (Detail) - verkey)
-
(NYM Transaction (Detail) - NYM Tx)
-
(id (DID) - dest)
-
(verkey - verkey)
-
(id (TRUST_ANCHOR DID) - identifier)
-
(NYM Tx - SEND_NYM Message)
-
(1. DID Identifier Layer: DID Syntax - 2. DID Private/Public Key Pair Layer: Private/Public Keys, Wallet)
-
(2. DID Private/Public Key Pair Layer: Private/Public Keys, Wallet - 3. Verifiable DID Layer: (DID, Keys) => Verifiable NYM Transaction (or equiv))
-
(3. Verifiable DID Layer: (DID, Keys) => Verifiable NYM Transaction (or equiv) - 4. DID Document Layer: DID Document, Resolution Protocol, Element Access Protocol)
-
(4. DID Document Layer: DID Document, Resolution Protocol, Element Access Protocol - 5. Agent Layer: Agents, Service Endpoints, Verifiable ATTRIB Transactions (or equiv))
-
(5. Agent Layer: Agents, Service Endpoints, Verifiable ATTRIB Transactions (or equiv) - 6. Agent to Agent (A2A) Communications Protocol Layer)
-
(Device Sensor Data (IoT) - Gateway)
-
(Other Instrumentation (Process Control Systems) - Gateway)
-
(Gateway - Router)
-
(Router - Ingestion)
-
(Ingestion - Operational Business Processes)
-
(Actor (Person) - Subject)
-
(Actor (Organization) - Subject)
-
(Actor (Software Agent) - Subject)
-
(Thing (Pet, Car, House) - Subject)
-
(Thing (Business Document) - Subject)
-
(Thing (Product, Assembly, Part) - Subject)
-