...
The in-call discussion about the proposals:
- Eliminated the DNS-based one as not desirable because of dependency on DNS
- Eliminated the hash and DNS-based alias because of the complexity in using the two names for the identifier in signing scenarios, and the use of DNS.
- Eliminated the hash only approach because of the lack of benefit of doing the hash vs. the downsides
- The verifiability in using the hash is lost by using just 5 characters, but using a sufficient number makes the identifier too long
- Micha generated a new Sovrin genesis file with a matching hash by varying only the alias name of one of the nodes in 30 minutes
- Since we assume there will be in the low thousands of networks at the outside, the decentralization inherent in using the hash is not crucial
- The verifiability in using the hash is lost by using just 5 characters, but using a sufficient number makes the identifier too long
- Eliminated the hash + arbitrary name because the hash is not providing additional value.
- Leaving "Arbitrary Name" as the selected solution.
Online Discussion (from RocketChat this week)
Discussion:
- Third level names for subsidiary ledgers – e.g. Sovrin Staging and Sovrin Builder net?
- We could use ":", but that creates lots of colons.
- Andrew Whitehead mentioned in chat that "." is a valid character per the DID Spec. What about that?
did = "did:" method-name ":" method-specific-id method-name = 1*method-char method-char = %x61-7A / DIGIT method-specific-id = *( *idchar ":" ) 1*idchar idchar = ALPHA / DIGIT / "." / "-" / "_"
- How to find the nodes of the network once the ledger is known? Config files, registries, gossiped names, etc.
- How to find previous versions of DIDs and what are the implementation ramifications of that?
- <did>?version-id=<txnid>
- <did>?version-time=<timestamp>
...