@colealbon I don’t think the properties of ION DIDs are important here or should be compared (what encryption methods, did format, etc…). It is more important that the project uses the Sidetree protocol. It will allow services to discover DIDs across blockchains using a unified REST API. Blockstack Subdomains could benefit from that maybe.
From what I can tell, the sidetree nodes do not eagerly replicate DID operations to one another and may even unpin previously-processed state, thereby making it impossible for new nodes to reconstruct the state of all DIDs. The system’s reliance on IPFS to distribute DID operation logs means that anyone in the world can trivially disrupt a public-use sidetree deployment by polluting the IPFS routing tables and rendering DID update log chunks unresolvable.
I’m also surprised that the DID working groups don’t allow human-readable names in their DIDs, despite the fact that doing so makes them easier to remember (i.e. judecn.id versusdid:stack:v0:1KVzcgurJmTr4Cr44h6raEVtoGhm7ZZxzm-0). This is surprising because DIDs are not content-addresses – the data they point to is meant to change, so the DID string itself doesn’t need to be derived from the DID document.
Looking through the DIF Github, some folks seem interested in adding did:facebook as a DID method. This seems counterproductive to me because the whole point of decentralized identifiers is to move away from implementing identity systems that depend on a specific instance of an administrative domain (e.g. Facebook Inc). It also looks like I’m not the only one surprised by this development.
ION is an implementation of the sidetree protocol, the protocol does not define which storage to use. Therefore, I think IPFS is not the selling point here, just the easiest to implement.
I see DIDs similar to IP addresses, nobody but the protocol implementer cares. And as an app developer, I don’t want to get into the sign in button stack again. Therefore, for me it makes sense to have interoperability between identity providers and an unified API for authenticating users.
It is a good thing that private keys (that is how you prove your DID) are not transferable. How these keys are mapped to something useful is up to the identity providers, also whether this “something useful” (e.g. Blockstack IDs) are transferable or not.