W3C : Towards a common standard for DIDs
The World Wide Web Consortium (W3C) (1), founded in October 1994 by Tim Berners-Lee after his departure from the European Organization for Nuclear Research (CERN), is an international non-profit organization whose primary mission is to implement web standards in order to unify its content.
After its creation at MIT/LCS (Massachussets Institute of Technology / Laboratory for Computer Science), the organization develops in Europe since April 1995 with the support of the French National Institute for Research in Computer Science and Control (INRIA) and the European Commission. In 1996, the private university Keiō hosts the W3C working group in Asia in Tokyo.
With the rise of the Internet in the late 1990s, W3C played an increasingly important role in the development of standards and expanded to all regions of the world. It now has 92 offices in about 20 countries on all continents.
Today, it is an international consortium with more than 450 companies and partner organizations and more than 60 employees guaranteeing the proper respect of the W3C’s operating charter and existing protocols, working to establish new standards for the Internet of tomorrow.
The creation of standards: from URIs to DIDs
The W3C was originally formed to create a universal normative structure for the World Wide Web (WWW) and thus participated in the development of its very first standards, which laid its foundations and enabled its use and development.
“The World Wide Web is defined as a universal space containing the entire Internet and all other resources referenced by Uniform Resource Identifiers (URIs).
In Tim Berners-Lee’s initial proposal, as well as in the first implementation of the Web, relatively few technologies were implemented. These were URIs (Uniform Resource Identifiers), the Hypertext Transfer Protocol (HTTP) and the HyperText Markup Language (HTML). ” (2)
If the W3C is also known for having, in addition to HTML, established standards used daily by many web developers such as CSS or XML, its members are now working on the development of many other Internet standards less known, covering a wide variety of areas including web design and applications, the Internet of Things (IOT), web architecture, protocols of the social web, the semantic web, the web of services, browsers, online payment etc.
The working groups
The new W3C standards are developed within thematic working groups governed by a specific “charter” defining the scope of their missions, the methods used and the operating rules of each group. Today, there are just under 40 of them.
The structure of the group is headed by one or two chairmen who are W3C members or come from W3C member organizations, as well as a “staff contact” employed by W3C. The group can then count from 10 to several hundred W3C member participants. The group itself is composed of a core of more active participants whose interventions are systematic and of other members, simple observers or only intervening occasionally. Invited experts can also be part of the group and take part in discussions.
The DID Working Group is headed by two chairmen: Brent Zundel of Evernym and Daniel Burnett, an invited expert, as well as a contact staff: Ivan Herman. The group itself is composed of 97 participants, including 5 invited experts representing 40 different organizations.
W3C DID Working Group: Structure and Methodology
A W3C working group has been involved since 2019 in the creation of a standard for decentralized identifiers (DIDs) (3) that we presented in a previous series of articles (4): the W3C DID Working Group. In their essential structure, DIDs differ little from the fundamental referencing elements of the Web, which are URIs, of which they are only a particular type.
“URIs, arguably more essential than HTTP or HTML, are simple strings of characters that reference any type of Internet resource, such as documents, people, etc. URIs can be considered the glue that holds the Web together. “(2) DIDs, like URIs, are strings that reference a resource. It is the environment in which it is developed that allows this particular URI to become a decentralized Identifier, through its involvement in a system consisting of a DID Document and Verifiable Credentials.
The DID Working Group aims to define both theoretical and technical standards for these identifiers and operates in a collaborative manner, with each member adding his contribution to the construction of a common standard.
In particular, the working group will guarantee the interoperability of the various DID methods, and through the rules it will set for the various DIDs developed, it will provide a common technical basis. In order to guarantee the homogeneity of these DIDs and to avoid everyone “speaking a different language”, the consortium is setting up a working protocol and providing developers with a certain number of validation tools to help them comply with current standards. XSL Labs is working to develop its solution based on W3C standards to make the SDI fully interoperable.
The W3C plays the role of an arbitrator and it depends on them to validate the latest innovations in the technologies developed according to the working group’s criteria grids, but also according to criteria that apply to any new standard development process.
In the case of the DID working group, its main tool is a mailing list, complemented by weekly meetings, by telephone or video conference, and also by rare physical meetings. All reports are public, from the content of the mailing lists to the working documents and the minutes of the meetings. The entire community interested in the development of the DID standard can thus follow the work and contribute directly to the development of the standard by reacting to the decisions made by the group, by making suggestions and by sharing their opinions.
But the working group cannot make progress only during its weekly teleconferences. The group makes intensive use of GitHub (5).
The development of this new W3C standard for decentralized identifiers is therefore taking place in a fully participatory and interactive way. XSL Labs should be part of the DID Working Group by the second half of 2021. But before becoming a W3C-supported standard or W3C Recommendation (REC), the standard under development must go through different ratification phases that determine different levels of project progress.
The different stages in the creation of a standard
A W3C Recommendation is the final step in a W3C Working Group ratification process for a technical standard. The qualification of “W3C Recommendation” means that the document has been submitted to a public review and to the members of the W3C organization and that it has reached consensus. It then becomes the equivalent of a technical standard published by other industries.
In general, the search for consensus always governs the development of a recommendation. In the absence of consensus, the group chairs can call for a vote and in case of conflict, the W3C director, Tim Berners-Lee, acts as arbitrator and makes the final decision.
The role of the chairs of each group is to take into account all opinions, remarks and objections and to judge whether or not they are legitimate to open a discussion within the group. Consensus is considered to have been reached when there are no more categorical and reasoned objections to a decision.
According to the W3C procedures document, a Recommendation evolves through different levels of maturity.
Working Draft (WD)
When the first Recommendation is sufficiently structured and developed, the working group publishes the first document. At this level, it is called a Working Draft (WD). The standard is then published for review by the “community” (W3C members, other organizations, the public) for review, comment, and feedback on this first stage of development. Some parts of the document may not have reached consensus, and in the case of significant changes from the previous document, another version of the Working Draft may be republished and go through the same review, comment and deliberation stages. After several successive versions of the Working Draft and once the document has reached full consensus, the specification is published as a Candidate Recommendation (CR).
At this stage, the specification document may have significant differences from its final version. In the case of DIDs, a decentralized identifier that would have been developed according to this preliminary standard would have to be modified to conform to the final standard.
Candidate Recommendation (CR)
A candidate recommendation is a firmer version of the standard than the working draft. In this case, the working group responsible for the standard considers it to be functional as it stands. The purpose of the candidate recommendation is to test the feasibility of its implementation.
The standard document can still change, but at this stage, the core functionality is fixed. The design of these features may still change based on feedback from its implementation in software.
Proposed Recommendation (PR)
A proposed recommendation is a later version of the standard. Feedback on this standard has been available, and the standard has been implemented. Now the document has been submitted to the W3C Advisory Council for final approval.
While this is an important step, it rarely results in a significant change to the standard when moving to the next step.
W3C Recommendation (REC)
This is the most mature stage of development. At this stage, the standard has undergone extensive review and testing, on both theoretical and practical considerations. From this point on, the standard is supported by the W3C as a standard that can be widely used in its domain.
A Recommendation may be updated with separately published Errata before a new edition of the Recommendation is produced (e.g. XML is now in its fifth edition). The W3C also publishes various types of informational notes that are not intended to be treated as standards. (6)
What is the status of DIDs?
” The W3C Decentralized Identifier Working Group has published its document as a W3C Candidate Recommendation (CR) and is requesting that software developers and DID Method specification authors provide experimental implementations designed to test the implementability of all of the features in this document.
To exit the W3C Candidate Recommendation phase, the W3C DID Working Group will require two things: 1) for normative statements that are machine testable, at least two interoperable implementations per feature, and 2) for normative statements that are not machine testable, at least two demonstrations of implementation per feature. A feature is defined as one or more functionally related normative statements in the specification.
At present, there exist 82 experimental DID Method specifications, 32 experimental DID Method driver implementations, and a Candidate Recommendation test suite that determines whether or not a given implementation is conformant with this specification.” (7)
As we have seen, the DID working group still has a long way to go before it reaches REC status. Indeed, the time spent in the process of demonstrating the implementability and interoperability of standards is considerable and can be fraught with difficulties. A standard that at the Candidate Recommendation and Proposed Recommendation stages had to undergo significant changes, especially after failing some tests, could be demoted to Working Draft status and have to go through all the stages again.
But it is this long process that guarantees the solidity of the W3C recommendations, passed through the examination and counter-examination of many experts, the result of enlightened and passionate debates that will ensure that the use of each word is justified and that each sentence is as clear and precise as possible, so that there is no room for interpretation and error.
The W3C DIDs Working Group will therefore enable, through a process rich in the informed individual contributions of all its members, the development of an accessible and interoperable standard in order to lay the first stones of a self-sovereign digital identity for the Internet of tomorrow, to which XSL Labs wishes to be an active contributor.