Hub Specification Planning
An exhaustive list of all the things members believe Hubs should support.
High-Level Feature Areas
|
Description |
MVP |
Profile Discovery |
Mechanism to expose a basic profile object |
โ |
Semantic Data CRUD/Discovery |
Storage and retrieval of discoverable semantic data |
โ |
Action Inbox for Agents |
Intake and relay messages that are prompts to do something |
โ |
Items pending assessment:
- Peer DID Support: Ability to host/resolve Peer DIDs
Capabilities
|
Description |
MVP |
Semantic JSON Storage |
Store and fetch semantically typed objects |
โ |
Non-JSON Data Storage |
Storage of non-JSON data, like binary objects |
โ |
Commit Abstraction |
Ability to store data in various ways for the purpose of state correctness - basic timestamp, CRDT, etc. |
โ |
Encrypted Data |
Mechanism for encrypting data, either fully private, or to specified parties |
โ |
Encrypted Metadata |
Ability to encrypt and index metadata while encrypted |
โ |
Control Access to Data |
Ability to permit an external entity to retrieve/view data |
โ |
Sync |
Ability to sync data with wallets and other Hubs |
โ |
Replication |
Ability to proactively reach a shared state with wallets or other Hubs with an active/active replication mechanism |
โ |
Note
- Guidance: make sure to pave the path for attachments/blobs
- Follow-up: incorporate feedback from the folks who want encrypted indexing/search of metadata
- Permissions are only a means of policy enforcement, based on the signed permission objects it holds (which are from the DID controller)
- Bikeshed on the name "Control Access to Data"
- Make it clear that the Hub has no access to any private key material for users/data
- Dealing with commitment and fetch of unencrypted permissioned objects
Data Types
This is orthogonal work that includes defining the objects below, which may take place in other WGs.
|
Description |
MVP |
Key Descriptors/Lists |
Active and revoked keys |
โ |
Credentials |
Various credential formats (VC, JWT, etc.) |
โ |
Credential Manifests |
How and what is required to get a credential |
โ |
Credential Revocation |
Declare revoked credentials |
โ |
Trust Lists |
Express relationships with other DIDs |
โ |
Note
- Follow-up with on-boarding existing data schemas