Skip to content

Is central registration of methods antithetical to the concept of decentralization and are there better solutions to solve the problem? #924

@TyIsI

Description

@TyIsI

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussNeeds further discussion before a pull request can be created

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions