Summary
Excerpt |
---|
|
Recording from the call: 20201124 Indy DID Method Specification Call Recording
Hyperledger is committed to creating a safe and welcoming community for all. For more information please visit the Hyperledger Code of Conduct. |
---|
Welcome and Introductions
...
- Discussion led by Daniel Hardman about how to implement the gossiping mechanism via "networks" ledger DIDs -
- Daniel Hardman presentation
- DID Namespace DID: https://github.com/WebOfTrustInfo/rwot8-barcelona/blob/master/topics-and-advance-readings/did-namespace-records.md
- How to find config files in a centralized place?
- ToIP, DIF, OrgBook for networks
- Folder where the spec is – indy-did-method repo
- How to find previous versions of DIDs and what are the implementation ramifications of that?
- <did>?version-id=<txnid>
- Return the txnid as part of DID resolution so it can be included in URIs
- <did>?version-time=<timestamp>
- Indy does do timestamping - coarse:
- tracked as part of consensus to (a) within 5 minutes (b) batch time greater than the last one
- leader node picks, but vetted by other nodes, understanding that the leader node's time could drift.
- How to do time based querying?
- Probably not indexed
- Could do binary search querying of the txnids
- Code needs to be written to do this.
- Indy does do timestamping - coarse:
- <did>?version-id=<txnid>
Summary - Cross-Registering Networks on a Ledger
- Start with a config file for one or more networks
- The config file will contain at least the pool transactions for the ledger – could contain more; see below
- On the ledger will be one or more DIDs that have associated "Network Metadata" information that includes (and might be limited to) information about cross-registered networks.
- Proposed options for finding the "Network Metadata DID(s)" with the network listings:
- A "network metadata" DID embedded in the config file.
- Proposed that writing to the DID would be controlled, such as by a Trustee or some other config rules.
- Could be found via resolving "known DIDs" so that knowledge of the "special" DID is not needed:
- DIDs of each Trustee on the network (requires search by role)
- DIDs of each Steward on the network (requires search by role)
- A DID with a new "Network Metadata" role (requires search by role)
- Same as putting the DID in the config file, but this enables finding it by role.
- Resolving the "namespace DID" (e.g. DID with no ledger specific identifier). Requires change to DID Core Spec.
- A "network metadata" DID embedded in the config file.
- Decision: DID in Config File, Trustee DID, Steward DID, New Role DID, Namespace DID
- Impact: What code needs to be written?
- Impact: If trustee or steward DIDs – what processing rules should be applied?
- Proposed options for finding the "Network Metadata DID(s)" with the network listings:
- Decision: Does the network metadata go into an ATTRIB, or does it go into the DIDDoc associated with the DID?
- Data associated with the "Network Metadata" DID(s):
- For cross-registered networks, an array:
- Namespace
- Pool Transactions file contents or
- Location of Pool Transactions file
- Metadata about the ledger
- Link to Governance Framework information
- Other?
- Decision: What categories of data should go into a DID holding Network Metadata?
- Decision: What is the exact format of the data?
- For cross-registered networks, an array:
- Centralized publishing of ledger config files
- All the publishing of ledger config files in a known place – e.g. github – and under the control of an entity such as Hyperledger or DIF
- This is centralized control because the maintainers accept the PRs that update the data
- Decision: Do we want to propose a location to publish config files?
- If yes, Decision: Where?
- All the publishing of ledger config files in a known place – e.g. github – and under the control of an entity such as Hyperledger or DIF