-
Notifications
You must be signed in to change notification settings - Fork 206
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add did:tdw, did:keys, did:svc, and did:proof plus DID Categories (13x) (Trusted Digital Web / Web 7.0). Remove bluetoque*.json (4x) #603
base: main
Are you sure you want to change the base?
Conversation
In his last Zoom call, @swcurran and I agreed that, to avoid confusion for the next several months, Web 7.0 Ultraweb/Trusted Digital Web (TDW) would postpone using Reference: Nov. 21, 2024 DIF Call: Timecode 20:00 in https://us02web.zoom.us/rec/share/UsNpfqags9z3oprz-DbXQZQX-xPEnJlBZhTn8AWfY-35hNdFkBk9QJQfVKXmU867.mbd57z9owlBoP-oi UPDATE: Related, I've proposed a future solution to the "attestation of unique DID Method names" problem here: #597 |
…istory Mathematics Nature People Philosophy Religion Society Technology
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mwherman2000 Apart from the fact that (at the moment) your specification links return a 404 error, I don't think doing this is a good idea. DID methods are meant to distinguish between different technical approaches to how DID syntax and DID operations work. Defining a new DID method only makes sense if there is a new technical way of implementing the abstract DID operations.
DID methods are NOT meant to be used to identify certain types or classes of subjects. This can be done in DID documents or (better) in Verifiable Credentials or other places.
-1 to this PR.
Copy and paste error. Fixed. Thank you.
@peacekeeper Can you provide a specific reference or link for your above assertion? DID Methods are a classification or naming convention for grouping and naming related subjects together as flat collections or as hierarchical-structured collections:
[DID CORE] A DID refers to any subject (e.g., a person, organization, thing, data model, abstract entity, etc.) as determined by the controller of the DID.
[DID CORE] Anything can be a DID subject: person, group, organization, physical thing, digital thing, logical thing, etc.
I believe it is outside the pervue of the W3C to mandate how software architects/developers can or should use DID Methods from the perspective of being a naming convention for every little thing (ELT) on the planet. This is established in the opening paragraphs of the [DID CORE] (see above). |
Yes, but this doesn't mean that DID method names should be used to identify certain types or classes of subjects. I'm not aware of any DID method today which does this.
No they are not.
https://www.w3.org/TR/did-core/#methods A DID method defines how implementers can realize the features described by this specification. In addition to defining a specific DID scheme, a DID method specification also defines the mechanisms for creating, resolving, updating, and deactivating DIDs and DID documents using a specific type of verifiable data registry. https://www.w3.org/TR/did-extensions/#the-registration-process Any method name SHOULD avoid generic terms such as "mymethod" or "registry". |
This approach would also violate rule 1 in https://www.w3.org/TR/did-core/#method-syntax: A DID method specification MUST define exactly one method-specific DID scheme that is identified by exactly one method name In my opinion this would still apply if e.g. the same document was copied&pasted multiple times, and if there was no technical difference between the copies. |
Also, it's not clear to me what the verifiable data registry would be in this case? The specification seems to show abstract API interfaces that can be called, but there is no information about how the DID is created/resolved/etc. in the verifiable data registry? |
@peacekeeper There needs to be provision and protection for public DID Method names as well as internal/private DID Method names. svc, keys, and proof are internal DID Method names that need to be protected. did:object is the public facing DID Method name. I guess I can create 3 stub specs that contain a single link to the common spec. Absurd as this sounds, here it comes... |
Again, an assertion with no justification/no backup Markus.
This is irrelevant to the current discussion.
My DID Method registry applications meet all of the criteria. |
@peacekeeper Again, do you have a link where this requirement stated? I have a large number of previously approved registrations and they all use the same text. The elaboration of DID Specifcations is being handled by the DIF did-methods working group. I look forward to seeing that that WG produces. These registrations are solely for the purpose of registration - that's all. As an aside, all Web 7.0 Sharded DID Registry hosted methods are implemented the same way at both the logical architecture and physical deployment layers of the Web 7.0 decentralized operating system architecture. One single specification will be needed to describe these 2 layers - but this latter specification is not required for registration. (Hopefully) lastly, the Web 7.0 Sharded DID Registry supports a DID CORE compliant data model - that's the most important requirement as one starts this journey. |
I already provided the relevant links and references in an earlier comment. Your specifications do NOT meet the requirements. Please see the section of DID Core that defines requirements for DID methods.
In this case, I would really urge you to just register a single DID method. If you really want to use the identifier itself to identify specific classes or types of subjects - which I think is not a good idea - consider using the method-specific identifier for these sub-divisions, e.g.:
|
We've been designing the Web 7.0 DOS based on what we think is best based on several decades of experience working for some of the largest software organizations on the planet, actual app developer feedback, and living through the births and maturation of BSD Unix, AIX, Thoth, Port, Linux, every version of Windows, Groove, SharePoint, .NET, Java, ARPANET, Internet, Browser Wars, and Web 1/2/3. |
Do you think 'religion', 'geography', 'history' and many others aren't generic enough to meet this criteria? I agree with @peacekeeper's proposed solution to achieve a classification using method-specific identifier rather than using the method name itself. It is good to push to make specifications as clear as possible and remove any ambiguity on them. But sometimes we just need to use common sense. And unfortunately it's hard to put that common sense into words. |
SDOs need to do their work (develop and publish standards) and then get out of the way - no running interference. That is, follow the Open To Innovation principle: https://hyperonomy.com/2019/03/12/internet-protocols-and-standards-not-only-need-to-be-open-but-more-importantly-open-to-innovation/ |
RE: Any method name SHOULD avoid generic terms such as "mymethod" or "registry".
@genaris SHOULD avoid is not a requirement. |
I object to the registration of I will withhold further comment on the rest of these registrations which are quite clearly a bad idea. |
@brianorwhatever Two wrongs don't make it right. W3C has no basis for interfering with my rights as the trademark holder. @swcurran and I made an arrangement documented at the top of this thread. @brianorwhatever what is your stake in this issue? ...any further grievances? @swcurran and I resolved this issue weeks ago: #603 (comment) |
Actually I remember that arrangement differently than it is expressed in this thread. |
@peacekeeper What is your evidence? Please don't make assertions based on what someone does or does not remember - the truth is what's recorded in the call: |
@mwherman2000 I can't speak for others, but my thoughts on this:
|
@davidlehn I appreciate the time you invested to write the above reply. It is thoughtful. That being said, it is suffering from a Circle of Competence problem: the difference between what you know to be true and is true and what you believe to be true that is not true. This is a disease that is pervasive in all of these discussions: too many people articulating what they believe to be true that simply isn't. They are outside their Circle of Competence. Reference: #599 I simply don't have the time, energy, or resources to correct every untrue statement that is made. Tomorrow, I leave for a month in France and Malta. Friday, I'm a member of The Digitial Economist Fractured Futures panel. In January, I've been invited to the World Economic Forum in Davos, Switzerland to discuss decentralized systems architectures and futures - followed my some time off in Barcelona, Malaga, and Frankfurt. Here's a couple corrections:
I've been a named Contributor to DID CORE since the first drafts of the specification. I believe I've driven over 75+ changes in the spec - most notably the inclusion of Things as a first-class subject class in both the DID CORE as well as the Sovrin Glossary (this was done in parallel with @talltree). I am extraordinary passionate about Things and will continue to be. I've been doing it for longer that most community members have been alive (a software career spanning ~50 years). As a First Principles Thinker (https://hyperonomy.com/2021/03/10/first-principles-thinking/), I know and understand the DID CORE Principles and contributed to them. Although my view may be different from others, I am aligned with the original and current ideals related to Decentralized Identifiers.
There is no need to. Currently, there is no specific support for private, internal DID Methods in DID CORE. That being said, they are core to the design of Web 7.0 Sharded DID Registries and in fact, the DID Methods are public facing even though they are conceptually private and internal to the implementation.
Of course, they are! When do you register a domain for a web site? ...before you create the website? ...or after, hoping the domain is still available? These domains were acquired earlier today on schedule and on plan. If you are truly interested in wanting to see a working example, here's an early implementation:
Over & out. |
@mwherman2000 It is not nice to ask people for evidence if you can't produce evidence yourself. Your link points to the 5th December 2024 meeting of the did:webvh Method work item at DIF. As far as I can tell, you were not even on this call! Perhaps you meant to share the link to the 21st November 2024 meeting of this work item at DIF, which is here: https://us02web.zoom.us/rec/share/mh3dI2YQe9p9Y4KJZDmFw57nPU_kHTEkJbXJ66ERzCpn7qyMj5Bn0TTvt4MyHrEQ.PNLEb9WVXUWU8sva The agreement on this call was that your PR would not be accepted until 1st December 2025, whereas now you are claiming that the agreement was that you would postpone using did:tdw until Nov. 1, 2025. Clear difference. |
@peacekeeper The above statement is inaccurate/untrue - this is why evidence is needed. The final date that @swcurran and I agreed to was Dec. 1, 2025. Reference: Nov. 21, 2024 DIF Call: Timecode 20:00 in https://us02web.zoom.us/rec/share/UsNpfqags9z3oprz-DbXQZQX-xPEnJlBZhTn8AWfY-35hNdFkBk9QJQfVKXmU867.mbd57z9owlBoP-oi @swcurran initiated the conversation at timecode 18:00 and suggested a delay of 12 months/1 year. I rounded it up to Dec. 1, 2025 and that's the date we agreed upon. End of story. |
@mwherman2000 We both had typos in our comments above, and we both fixed them now, which is visible in the comment edits. You wrote 1st Nov 2025 and meant 1st Dec 2025. I wrote 21st Dec 2025 and meant 1st Dec 2025. So there is agreement on the date being 1st Dec 2025. I hope there is also still agreement that this date is for accepting the registration. |
This is an interesting PR. It brings into focus some challenges that the WG has been grappling about the purpose of maintaining a list of DID methods and the processes around how we maintain this list over time.
Chair hat off - that feels really problematic to me. I think this PR highlights why. @mwherman2000 has arguably met the very low bar required to register a method in this list. Does that mean he get "protection" over all of these method names he wishes to register. To me this is a good argument for why we need to double down on emphasizing that this is just a informative list of known DID methods and their specifications. It provides no protection or any W3C stamp of approval whatsoever. It feels like what we should be doing is encouraging other authorities, who are motivated to, to manage their own lists/registries/whatever with the registration rules and governance processes they deem fit for their needs. The overhead of maintaining this list as anything other than informative feels too great. I also believe strongly it is not our place, as a W3C WG, to fill any other role. If anything, I would be in favor of publishing a point in time WG Note that contains a set of DID methods with implementations that have passed some to be defined set of conformance/interop tests.
This PR contains multiple DID methods each with a different specification, accept these specifications are equivalent apart from the method name. As @mwherman2000 points out, he has already registered a number of DID methods in this list in a similar manner. I too share @peacekeeper's opinion that these do not meet the requirement:
Regardless, I think this issue demonstrates the challenges of maintaining a list. We, the working group, do not have the time to properly evaluate DID method registrations against anything but the most minimal of criteria for entry in this list. I am confident there are numerous entries in the current list that are non-conformant. The fact that they are in this list gives them a sense of legitimacy, whether we like it or not. We need to spend more time as a group discussing these issues to find a path forward. |
@wip-abramson @peacekeeper @talltree How does the concept of a purpose-built Glossary of DID Methods sound/meet the bill? The ToIP CTWC* WG has built some simple and very easy to use GitHub-based tooling I believe they would like to share for this purpose. Checkout https://github.com/trustoverip/ctwg-main-glossary/tree/main/spec%2Fterms-definitions for an example of the "production" ToIP Glossary. Here is a link to the high-function published version of the ToIP Glossary: https://glossary.trustoverip.org/ Is this an answer? *Mnemonic: Colonial Turkey With Cranberries (CTWC) |
----- DID METHOD REGISTRATION FORM: DELETE EVERYTHING ABOVE THIS LINE ------
DID Method Registration
As a DID method registrant, I have ensured that my DID method registration complies with the following statements:
contactEmail
address [OPTIONAL].verifiableDataRegistry
entry [OPTIONAL].