Forgive me if this has been done before, but I was not immediately able to find anything in the issues or PRs.
As someone who has been active in the global internet community for 25+ years, I do get the necessity for standardization and the potential for trust issues.
However, is central registration of methods antithetical to the concept of decentralization and are there better solutions to solve the problem at hand?
As I see driver and method used interchangeably, I was wondering would this be more easily solved by using Go/Kubernetes style import/kind definitions to allow for not only more flexible decentralized development but also allow for more implicit or explicit ownership in identification/namespacing?
Examples:
did:github.com/w3c/did-extensions/methods/example.json:0123456789
did:w3c.github.io/did-extensions/methods/example.json:0123456789
did:github.com/TyIsI/did-example:RXhhbXBsZSBwYXlsb2FkLiBEaWQgeW91IGV4cGVjdCBhY3R1YWwgY29udGVudCBoZXJlPwo=
did:github.com/TyIsI/did-mastodon#v5:RXhhbXBsZSBwYXlsb2FkLiBPcGUhIEkgY2hhbmdlZCBpdCBhZ2FpbiEK
did:github.com/TyIsI/did-mastodon#v6:RXhhbXBsZSBwYXlsb2FkLiBZZXMsIEkgY2hhbmdlZCBpdCB1cCBhZ2Fpbi4gQ2FuJ3QgaGF2ZSB0aGUgc3RyaW5nIGxvb2sgdGhlIHNhbWUsIG5vdyBjYW4gd2U/Cg==
did:github.com/w3c-ccg/did-method-web#f2a14bb5ada1452c9a514c31caeeb2c56cfbcb29:w3c-ccg.github.io
did:github.com/w3c-ccg/did-method-web#f2a14bb5ada1452c9a514c31caeeb2c56cfbcb29:w3c-ccg.github.io:user:alice
This could potentially also all be proven by well-known files that attest to the ownership and integrity.
As the specification states that not all methods(/namespaces) have to be implemented by every implementation, this could make adoption, support and review of individual methods/drivers a lot easier.
Short names (as a global namespace) could still be protected and guaranteed to be collision free regardless.
But I do believe that by updating the spec to allow for specifically referenced methods/drivers, that it would not just help prevent potential name collisions, butt would be beneficial for the community as a whole, allow wider adoption, development and experimentation, as well as provide more flexibility long-term. I believe that this could also pave the way for a pluggable driver/method lookup architecture and improve the DID ecosystem on a whole.
I believe that quality attestation of the drivers/methods could similarly be done by the community in the form of a web of trust, similarly to how the current root CA system functions. For which I believe DID already has support.
What I'm asking here is primarily about support for it from a spec point of view for globally unique methods/drivers. Automatic lookups and potential dynamic loading would obviously up for consideration by the implementers.
Again, if I have missed any previous discussion about this, my apologies.
Full disclosure, I came across DID looking for existing technologies for a project I'm working on and DID is 99% there. Being able to specify custom methods/drivers/parsers would remove one of the last barriers for my project.
Thanks,
Ty
Forgive me if this has been done before, but I was not immediately able to find anything in the issues or PRs.
As someone who has been active in the global internet community for 25+ years, I do get the necessity for standardization and the potential for trust issues.
However, is central registration of methods antithetical to the concept of decentralization and are there better solutions to solve the problem at hand?
As I see driver and method used interchangeably, I was wondering would this be more easily solved by using Go/Kubernetes style import/kind definitions to allow for not only more flexible decentralized development but also allow for more implicit or explicit ownership in identification/namespacing?
Examples:
did:github.com/w3c/did-extensions/methods/example.json:0123456789did:w3c.github.io/did-extensions/methods/example.json:0123456789did:github.com/TyIsI/did-example:RXhhbXBsZSBwYXlsb2FkLiBEaWQgeW91IGV4cGVjdCBhY3R1YWwgY29udGVudCBoZXJlPwo=did:github.com/TyIsI/did-mastodon#v5:RXhhbXBsZSBwYXlsb2FkLiBPcGUhIEkgY2hhbmdlZCBpdCBhZ2FpbiEKdid:github.com/TyIsI/did-mastodon#v6:RXhhbXBsZSBwYXlsb2FkLiBZZXMsIEkgY2hhbmdlZCBpdCB1cCBhZ2Fpbi4gQ2FuJ3QgaGF2ZSB0aGUgc3RyaW5nIGxvb2sgdGhlIHNhbWUsIG5vdyBjYW4gd2U/Cg==did:github.com/w3c-ccg/did-method-web#f2a14bb5ada1452c9a514c31caeeb2c56cfbcb29:w3c-ccg.github.iodid:github.com/w3c-ccg/did-method-web#f2a14bb5ada1452c9a514c31caeeb2c56cfbcb29:w3c-ccg.github.io:user:aliceThis could potentially also all be proven by well-known files that attest to the ownership and integrity.
As the specification states that not all methods(/namespaces) have to be implemented by every implementation, this could make adoption, support and review of individual methods/drivers a lot easier.
Short names (as a global namespace) could still be protected and guaranteed to be collision free regardless.
But I do believe that by updating the spec to allow for specifically referenced methods/drivers, that it would not just help prevent potential name collisions, butt would be beneficial for the community as a whole, allow wider adoption, development and experimentation, as well as provide more flexibility long-term. I believe that this could also pave the way for a pluggable driver/method lookup architecture and improve the DID ecosystem on a whole.
I believe that quality attestation of the drivers/methods could similarly be done by the community in the form of a web of trust, similarly to how the current root CA system functions. For which I believe DID already has support.
What I'm asking here is primarily about support for it from a spec point of view for globally unique methods/drivers. Automatic lookups and potential dynamic loading would obviously up for consideration by the implementers.
Again, if I have missed any previous discussion about this, my apologies.
Full disclosure, I came across DID looking for existing technologies for a project I'm working on and DID is 99% there. Being able to specify custom methods/drivers/parsers would remove one of the last barriers for my project.
Thanks,
Ty