Try โ€‚โ€‰HackMD

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