DID Method Rubric v2.0

W3C Group Note

More details about this document
This version:
https://www.w3.org/TR/2026/NOTE-did-rubric-20260714/
Latest published version:
https://www.w3.org/TR/did-rubric/
Latest editor's draft:
https://w3c.github.io/did-rubric/
History:
https://www.w3.org/standards/history/did-rubric/
Commit history
Editors:
(Legendary Requirements)
(Legendary Requirements)
Authors:
(Legendary Requirements)
Ryan Grant (Digital Contract Design)
Daniel Hardman (Invited Expert)
Shannon Appelcline
Amy Guy
Joachim Lohkamp
Drummond Reed (Evernym)
Markus Sabadello (Danube Tech)
Oliver Terbu
Feedback:
GitHub w3c/did-rubric (pull requests, new issue, open issues)
public-did-wg@w3.org with subject line [did-rubric] … message topic … (archives)

Abstract

The decentralized nature of DIDs has inspired a wide range of DID methods, as different innovators document novel approaches for using DIDs with different Verifiable Data Registries. At last count, there were 226 methods listed in the W3C extensions registry and countless others in use. This means that implementers are faced with the challenge of choosing which methods to support. This is true not only for components like DID Resolvers, which necessarily process method-specific features, but also for issuers and verifiers, who must decide independently with method meets their business needs for features like revocation, provenance, and cost.

How do implementers decide which methods are suitable for their use?

Applying the DID Method Rubric is one answer to that question. This document defines a coherent way to evaluate multiple DID methods on a feature-to-feature basis, tailored to the business context addressed by implementers.

The rubric presents a set of criteria which an Evaluator can apply to any DID Method based on the use cases most relevant to them. Rather than reducing this Evaluation to a single number, the rubric retains the sensibility that requirements for use tend to be multidimensional and many of the possible responses are not necessarily good or bad. It is up to the Evaluator to understand how each response in each criteria might illuminate favorable or unfavorable consequences for their needs.

While this rubric assists in the evaluation of many aspects of a DID Method, it is not intended to be exhaustive. Evaluators are encouraged to extend the framework to incorporate their own criteria (and hopefully share those criteria back to the community when possible).

Status of This Document

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C standards and drafts index.

This document was published by the Decentralized Identifier Working Group as a Group Note using the Note track.

This Group Note is endorsed by the Decentralized Identifier Working Group, but is not endorsed by W3C itself nor its Members.

The W3C Patent Policy does not carry any licensing requirements or commitments on this document.

This document is governed by the 18 August 2025 W3C Process Document.

1. Introduction

This section is non-normative.

1.1 Background

A rubric is a tool used in academia to communicate expectations and evaluate performance. It consists of a set of criteria to be evaluated, possible responses for each criteria, and a scoring guide explaining how to both choose and interpret each response. The act of evaluating a rubric, which we call an Evaluation, provides basis for self-evaluation, procurement decisions, or even marketing points. Written records of an evaluation, which we'll call an Evaluation Report, document how a particular subject is measured against the criteria. For students, a rubric helps to clarify how their work will be evaluated by others. For Evaluators, a rubric provides a consistent framework for investigating and documenting the performance of a subject against a particular set of criteria.

We were inspired to develop a rubric for decentralization when discussions about the requirements for decentralized identifiers, aka DIDs, led to intractable disagreement. It became clear that no single definition of "decentralized" would suffice for all of the motivations that inspired developers of DID Methods to work on a new decentralized approach to identity. Despite this challenge, two facts remained clear:

  1. the people invested in this work shared a common goal of reversing the problems with centralized identity systems and
  2. they also had numerous, distinct reasons for doing so.

Rather than attempt to force a definition of "decentralized" that might work for many but would alienate others, the group set out to capture the measurable factors that could enable Evaluators to judge the decentralization of DID Methods based on their own independent requirements, with minimal embedded bias.

This approach identified several useful criteria about methods that have nothing to do with decentralization. Rather than create a separate rubric for these criteria, the DID WG extended the scope of the rubric to include any criteria that might be useful for evaluators.

1.2 How to apply this rubric

Pick the most important criteria for your use, ask each question, and select the most appropriate response. Do this for all of the DID Methods under consideration.

Each Evaluation should start with an explicit framing of the use under consideration. Are you evaluating the Method for use in Internet-of-Things (IoT)? For school childrens' extra-curricular activities? For international travel? The use, or set of uses, will directly affect how some of the questions are answered.

Where a given Method offers variability, such as multiple networks for the same Method, then evaluate each variant. For example, did:ethr supports Ethereum mainnet, multiple testnets and permissioned EVM-compliant networks such as Quorum. To apply a criteria to did:ethr, you will evaluate it against all the variations that matter to you. Each variation should get its own Assessment. This applies to Level 2 Networks that can operate on multiple Level 1 Networks as well as DID Methods that directly offer support for multiple underlying DID registries.

When creating an Evaluation Report, we recommend noting both the Evaluator and the date of the Evaluation. Many of the criteria are subjective and all of them may evolve. Tracking who made the Evaluation and when they made it will help readers better understand any biases or timeliness issues that may affect the applicability of the Evaluation.

Be selective and acknowledge the subjective. Evaluations do not need to be exhaustive. There is no requirement to answer all the questions. Simply answer the ones most relevant to the use contemplated. Similarly, understand that any recorded Evaluation is going to represent the biases of the Evaluator in the context of their target use. Even the same Evaluator, evaluating the same Method for a different use, may come up with slightly different answers—for example, that which is economically accessible for small businesses might not be cost-effective for refugees, and that could affect how well-suited a given Method is for a specific use.

Finally, note that the rubric is not just about decentralization. There are security, privacy, and economic concerns that are considered. However, no such list of criteria could ever be exhaustive and none should be considered "complete". We encourage Evaluators to use this rubric as a starting point for their own work rather than the final say in the merit of any given Method.

In short, use this rubric to help understand if a given DID Method is appropriate for your needs, whatever your use cases may be.

1.3 Evaluation reports

To record and report an Evaluation, we recommend two possible formats, either comprehensive or comparative.

A comprehensive Evaluation applies a single set of criteria to just one Method. This set is chosen by the Evaluator; it need not be all possible criteria, but it is all relevant criteria as judged by the Evaluator.

A comparative Evaluation includes multiple Methods in the same table to easily compare and contrast two or more different Methods. This may include any number of criteria.

In addition to the selected criteria, we recommend each report specify

  1. The Method(s) being evaluated
  2. A link to the evaluated Methods' specification(s)
  3. The Evaluator(s)
  4. The date of the Evaluation
  5. A description of the use case(s) for which the Method is being evaluated
  6. The rubric used for the Evaluation, along with reference to the specific version.
  7. Optionally, a URL for retrieving the report.

1.4 Categories of criteria

We have grouped our criteria into several categories:

  1. Rulemaking
  2. Design
  3. Operations
  4. Enforcement
  5. Adoption & Diversity
  6. Security
  7. Privacy

Evaluators should consider criteria from all groups, as best fits your use cases.

Three categories cover how a given Method is governed: Rulemaking, Operations, and Enforcement. Our approach parallels the same separation of authority embodied in the tripartite governments.

Rulemaking addresses who makes the rules and how. (This is the legislative branch.)

Operations addresses how those rules are executed and how everyone knows that they are carried out. (This is the executive branch.)

Enforcement addresses how we find and respond to rule breaking. (This is the judicial branch in the US.)

This mental model is key to understanding the criteria of each section as well as why we included some criteria and not others.

The remaining categories each covers different areas worth considering when evaluating DID Methods.

Design addresses the method as designed. In other words, the output of the rulemaking: what rules apply to this DID method?

Adoption & Diversity covers questions related to how widely a DID Method is used.

Security influences overall trust in the ecosystem. Different DID methods offer different security guarantees, or guarantees of different strengths.

Privacy addresses the ability of a DID method to ensure various privacy mechanisms. When DIDs are used as identifiers for people, it becomes important to consider what tools a DID method offers to operate at different levels of privacy.

1.5 The architecture

When evaluating the governance of DID Methods, three potentially independent layers should be considered: the specification, the network, and the registry.

For Rulemaking, the criteria should be evaluated against all three of the above layers.

For Operations, the criteria should be evaluated against the network and the registry. The specification is taken as a given (it is the core output of Rulemaking).

For Adoption, the criteria should be evaluated for each major software component: wallet, resolver, and registry.

For the examples in the rest of this document we refer to a set of Methods that are familiar to the authors and exhibit interesting characteristics for Evaluation. See the tables below.

1.6 DID Evaluations Cited

The following sources provided example evaluations for this rubric. These are not presented as objective fact, but rather as attempts by contributors to illustrate noteworthy differences using their subjective judgement. Additional contributions that flow into the registry should include a section that documents their source with an additional row in the table.

Relative ID Title Evaluator(s) Evaluation Date Evaluation URL
eval-1 DID Method Rubric Joe Andrieu 2021-11-19 https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/
eval-2 DID Method Rubric Daniel Hardman 2021-11-19 https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/
eval-3 VeresOne Rubric Evaluation Joe Andrieu, Eric Schuh 2022-03-01 https://didevaluations.com/evals/v1.2022.03.01.pdf
eval-4 DID Web Rubric Evaluation Joe Andrieu, Eric Schuh 2022-03-01 https://didevaluations.com/evals/web.2022.03.01.pdf
eval-5 DID Ion Rubric Evaluation Joe Andrieu, Eric Schuh 2022-03-01 https://didevaluations.com/evals/ion.2022.03.01.pdf

1.7 Methods Considered

This is not a comprehensive list (see the DID Specification Registries for a current list of registered Methods). Rather, this section aggregates the methods used in Example Assessments of current criteria for easy reference.

Method Specification Network Registry
did:btcr DID Method BTCR Bitcoin Bitcoin
did:ethr ethr DID Method Spec Ethereum Specific smart contracts for each network.
did:git DID git Spec git (an open source version control system) Any Method-compliant git repository
did:hedera Hedera Hashgraph DID Method Specification Hashgraph, Inc DIDs written to a ledger that uses Hashgraph consensus as an alternative to traditional blockchain.
did:indy did:indy Method Spec Hyperledger Indy community Supersedes did:sov to service all Indy-based ledgers.
did:ion did:ion Method Spec Bitcoin and IPFS Bitcoin and IPFS
did:jlinc JLINC DID Method Specification JLincLabs Register DIDs over the JLinc protocol for sharing data with terms and conditions.
did:jolo Jolocom DID Method Specification Ethereum Specific smart contracts for different networks and subnetworks.
did:key The did:key Method v0.7 CCG work item Use a keypair as a DID.
did:peer Peer DID Method Spec n/a (communications can flow over any agreeable channel) Held by each peer
did:pkh did:pkh Method Specification Spruce ID Wrap an identifier (e.g., payment address) from one of many existing blockchains in did format.
did:sov Sovrin DID Method Spec Hyperledger Indy A particular instance of Hyperledger Indy
did:trustbloc TrustBloc DID Method Specification 0.1 Trustbloc Persist DIDs via Sidetree wrapper around a permissioned ledger.
did:twit Twit DID method specification Gabe Cohen Publish a DID via Twitter feed.
did:v1.production did:v1 Method Specification https://veres.one/network/ Same as network
did:v1.testnet did:v1 Method Specification https://veres.one/network/ Same as network
did:web did:web Method Specification CCG work item DIDs associated with control of a domain name (DNS).

1.8 Criteria and Criterion

The term "criteria" is often treated as both a singular and a plural noun. In the singular, we say "The most important criteria is the buyer's age". This singular use of criteria has been in use for over half a century https://www.merriam-webster.com/dictionary/criterion#usage-1 In the plural we say "That proposal doesn't meet all of the criteria." Sometimes people use both in the same sentence: "Select one criteria from the list of criteria."

However, for formal use, "criteria" is more broadly accepted as plural while "criterion" is singular. By this style rule, the last sentence in the previous paragraph should be "Select one criterion from the list of criteria."

As editors of a Note published by the World Wide Web Consortium, we are torn. We would prefer to use rigorous grammar and be consistent in doing so. At the same time, we find attempts to enforce the formal rule sometimes leads people to using the inverse, such as "Select a criteria from the list of criterion." This is the exact opposite of our desired outcome.

In our own work with implementers and developers of the DID Core specification, we have found that the singular "criteria" is readily accepted and understood and leads to no confusion when used, even alongside plural usage. Since the DID Method Rubric is, at its core, a set of criteria with ample reason to refer to, for example, "Criteria #23", we find the combined singular and plural use is cleaner (just stick with "criteria"), less confusing, and more aligned with common usage among our audience.

As such, throughout the DID Method Rubric, we use the term "criteria" to refer to both singular instances of criteria and plural sets of criteria.

2. Registration Process

This registry — the DID Method Rubric Registry — provides a public vehicle for publishing updated DID Method Rubric criteria. In order to add or update a criteria, a submitter MUST submit a modification request for this registry, as a pull request on the repository where this registry is hosted, where the modification request adheres to the following policies:

2.1 General Requirements

  1. If there are copyright, trademark, or intellectual property rights concerns, the addition and use MUST be authorized in writing by the intellectual property rights holder under a F/RAND license. For example, criteria that use trademarked brand names, use the titles or excerpts from copyrighted works, or require patented technology to perform the evaluation.
  2. Additions MUST NOT create unreasonable legal, security, moral, or privacy issues that may result in direct or indirect harm to others, including violations of the W3C Code Of Ethics And Professional Conduct https://www.w3.org/Consortium/cepc/ Examples of unacceptable additions include any containing hate speech, unprofessional or unethical attacks, proprietary information, and any personal data or personally identifiable information (excepting identification details of the submitter).
  3. All criteria MUST be uniquely identified and versioned to ensure permanent linkability with version trackability. Those identifiers MUST be present as an href anchor in the HTML for the criteria itself. See the sections below on identifiers and versioning. Subcomponents, such as questions, responses, relevance, and examples, are not separately versioned; any change to a subcomponent triggers an appropriate version change to its primary component.
  4. Methods, and evaluations cited within a criteria MUST include a local link to a full citation in the relevant citation section: Methods Considered and Evaluations Cited, respectively.
  5. Rubric criteria and associated metadata in the DID Method Rubric Registry MAY be updated or removed at the editors' discretion, including the addition or removal of categories of metadata such as Evaluations Cited.
  6. Removed criteria SHOULD be listed as Retired, e.g., placed in the retired.js file, with a permalink to the last version of the registry where each criteria was active.

2.2 Component Requirements

The primary components managed by this registry are criteria for evaluating DID Methods, with as many as eight subcomponents: name, id, version, question, assessmentTemplate, response, relevance, exampleAssessments, and, optionally, a source. In addition, the DID Method Rubric maintains a list of cited DID methods and evaluations. The criteria are independently identified and versioned (see those sections for details) while references cited in the criteria themselves link to their full citation in the appropriate list.

2.2.1 Criteria

  1. Updates to criteria MUST follow the following versioning guidelines.
  2. Accepted criteria MUST have at least three example assessments, and generally SHOULD have no more example assessments than there are possible responses to its question. Each example should distinctly illustrate one possible response to the criteria's question.
  3. DID Method Rubric criteria can be proposed by submitting a pull request that defines the criteria in a file under the rubric/criteria/ directory. The file name MUST be the criteria's number (from its id, e.g., 1 for criteria-1) followed by a kebab-case slug of the criteria name and the .json file extension (e.g., 1-open-contribution-participation.json).
  4. The pull request MUST also add the criteria's id to the appropriate category in rubric/rubric-outline.json. The rubric outline determines the organization and ordering of criteria within the rendered document. A criteria file that is not referenced in the outline will not appear in the Rubric.
  5. To be considered, criteria MUST have the following subcomponents:
    1. Name
    2. Identifier
    3. Version
    4. Question
    5. Assessment Template
    6. Response
    7. Relevance
    8. Example Assessments
  6. Additionally, criteria MAY have the following optional subcomponents:
    1. Source

The following is an example of a complete criteria JSON file:

Example 1: Example Criteria JSON
{
  "name": "Offline creation",
  "id": "https://www.w3.org/TR/did-rubric#criteria-42",
  "version": "1.0.0",
  "source": "https://didcriteria.com/criteria/7",
  "question": {
    "question": "Does the Method require network communications to create a DID?"
  },
  "response": {
    "type": "multipleChoice",
    "possibleResponses": [
      {
        "label": "A",
        "meaning": "No. Creation is expected to be off-line."
      },
      {
        "label": "B",
        "meaning": "Yes. Creation requires network coordination with a single party."
      },
      {
        "label": "C",
        "meaning": "Yes. Creation requires network coordination with multiple parties."
      }
    ]
  },
  "assessmentTemplate": {
    "columns": [
      {
        "heading": "Method",
        "type": "method",
        "propertyRef": "method"
      },
      {
        "heading": "Spec.",
        "type": "enhancedLetter",
        "propertyRef": "spec"
      },
      {
        "heading": "Notes",
        "type": "note",
        "propertyRef": "note"
      }
    ]
  },
  "relevance": "Communication is costly, with increasing costs the more parties are involved.",
  "exampleAssessments": [
    {
      "id": "a-29",
      "method": "did:v1.testnet",
      "spec": "A",
      "note": "Veres One DID creation is a local cryptographic process.",
      "evaluationCitation": "#eval-3"
    },
    {
      "id": "a-31",
      "method": "did:web",
      "spec": "B+",
      "note": "The DID controller must be able to communicate with the web server.",
      "evaluationCitation": "#eval-4"
    }
  ]
}

2.2.2 Criteria.Name

Each criteria needs a human-friendly, short, descriptive name that captures the essence of the criteria as concisely as possible.

2.2.3 Criteria.Id

The criteria id must be explicit, unique, and persistent. See the section on Identifiers for details. Criteria ids under the DID Method Rubric namespace will be assigned by the rubric maintainers.

2.2.4 Criteria.Version

The criteria version must increment, as appropriate, any time the criteria, or any of its subcomponents, is updated. See the section on Versioning for details.

2.2.5 Criteria.Question

2.2.5.1 Criteria.Question.Question

The key question for evaluating the criteria. This property is REQUIRED.

2.2.5.2 Criteria.Question.Instruction

Any additional instructions for how the evaluator should interpret or apply the question when making their assessment. This property is OPTIONAL.

2.2.6 Criteria.AssessmentTemplate

2.2.6.1 Criteria.AssessmentTemplate.Columns

An ordered array of column definitions. Each column specifies a heading, a type, and a property reference. This property is REQUIRED. The columns array MUST include a column with a type of method as the first entry, which identifies the specific DID method being assessed.

Criteria.AssessmentTemplate.Columns.Heading

The display label for the column in the assessment table. This property is REQUIRED.

Criteria.AssessmentTemplate.Columns.Type

The type of data expected in this column. This property is REQUIRED. The following types are currently defined, but additional types MAY be introduced as needed:

method
The DID method being assessed. Every assessment template MUST include a column of this type.
enhancedLetter
A letter response from the possible responses, optionally enhanced with modifiers (e.g., "A-", "C/D").
multipleChoice
A response selected from the defined possible responses.
note
Free-text notes providing context for the assessment.
Criteria.AssessmentTemplate.Columns.PropertyRef

The property name used in example assessments to provide the value for this column. This property is REQUIRED.

2.2.7 Criteria.Response

This subcomponent defines the options an evaluator has for responding to the criteria's question.

2.2.7.1 Criteria.Response.Type

The type of response expected from evaluators. This property is REQUIRED. Currently defined types include:

multipleChoice
The evaluator selects from a predefined set of labeled responses.
2.2.7.2 Criteria.Response.PossibleResponses

An ordered array of the possible responses available to evaluators. This property is REQUIRED when the response type is multipleChoice.

Criteria.Response.PossibleResponses.Label

A short identifier for the response. Labels MUST start with "A" and progress sequentially through the English alphabet. This property is REQUIRED.

Criteria.Response.PossibleResponses.Meaning

A description of what the label represents. This property is REQUIRED.

2.2.8 Criteria.Relevance

This subcomponent explains why this criteria is useful. Readers should be able to understand the extent to which this particular criteria is applicable to their situation.

2.2.9 Criteria.ExampleAssessments

This subcomponent lists example assessments of different DID methods against this criteria. Each example assessment is an evaluation of a specific DID method, structured according to the criteria's assessmentTemplate. The set of example assessments is presented as a table for easy comparison across methods.

  1. Example assessments for a given criteria SHOULD highlight distinct responses. That is, each assessment should have a different set of responses from the other example assessments. The point of the examples is to illustrate how different DID methods score differently.
  2. The editors will curate the list of proposed examples to provide a best effort illustration of each criteria, with consideration to highlighting a broad corpus of methods.
  3. Criteria SHOULD have no more example assessments than there are possible responses.

2.2.10 Criteria.Source

This OPTIONAL subcomponent tracks the provenance of the criteria. Criteria in the Rubric may be independently versioned and developed externally under their own identifiers. When such iterations are folded back into the Rubric, the source MUST point to the external origin so that the versioning history is preserved.

The value MUST be either:

"."
The criteria originated in this document.
A URL
The criteria was developed externally. The URL SHOULD point to the specific criteria at its external source.

If no source is provided, the default value is ".".

2.3 Identifiers

Each criteria must be explicitly, uniquely, and persistently identified using incremental numbers. New criteria should use the next available increment based on the highest numbered identifier in the current publication.

Previous numbered identifiers MUST NOT be re-used, even if the criteria so identified are no longer published; this maintains the persistent linkability of previously published versions. Such "retired" criteria MAY be listed in a Prior Criteria section linking directly to the latest published Rubric containing the retired criteria; this Prior Criteria section MUST also contain an anchor with the canonical id.

The registry shall maintain an entry with the "next available" number. Additions should use the "next available" number to construct an identifier for the new criteria, and update the "next available" entry at the same time. Editors will manage any sequencing errors when accepting PRs.

Identifiers must be constructed by appending that numerical value to the string "criteria-" and incorporated in the ID of the heading element for that criteria, which when placed in the Rubric appears as something like (note the version in its own span after the permalink):

Example 2: Example criteria numbering
<h4 id="criteria-1">Open contribution (participation)</h4>
<a href="#criteria-1">https://www.w3.org/TR/did-rubric#criteria-1</a> <span>1.0.0</span>

This allows permanent links to citations based on the publication date of a given Rubric: https://www.w3.org/TR/2021/NOTE-did-rubric-20210826/#criteria-32 as well as version-free links that resolve to the latest version of the criteria, and if retired, to an entry in the Prior Criteria list which itself links to the last valid presentation of the criteria. So that, for example, https://www.w3.org/TR/did-rubric/#criteria-32 points to the current criteria-32 in the latest published document. When that criteria is retired, that same URL points to the entry in the Prior Criteria list, which links to its last versioned publication, e.g., https://www.w3.org/TR/2021/NOTE-did-rubric-20210826/#criteria-32

2.4 Versioning

Criteria versions allow for incremental improvements while retaining long-term referenceability.

  1. Versions contain a Major, Minor, and Patch number, based on SemVer 2.0
  2. Every new criteria has a version of 1.0.0.
  3. Updates to criteria must increment the appropriate version number based on the scope of change:
    1. Major number MUST increment if, and only if, the criteria is fundamentally changed in a way that invalidates existing evaluations. This could be a material change to any subcomponent of the criteria, including removing or changing Possible Responses.
    2. Minor number MUST increment if, and only if, new responses are added, without invalidating existing responses. It's understood that an evaluator of an existing evaluation may desire to choose the new response if they were evaluating the criteria anew; however, as long as prior evaluations remain valid, a Minor increment SHOULD be applied.
    3. Patch number MUST increment if, and only if, the change to the question is "editorial", defined by clarifying the original intent of the criteria WITHOUT invalidating existing evaluations.
  4. As long as a given criteria is an evolution of essentially the same consideration, it retains the original identifier, even as its version is updated throughout its lifetime.
  5. Criteria that address fundamentally different considerations MUST be assigned a new criteria number rather than iterating an existing version number.

2.5 Metadata Tables

The registry maintains several tables of metadata, which aggregate references cited in Criteria. Each table presents an internally referenceable label, anchor tag, and the necessary details for the contents of each.

2.5.1 Evaluations Cited

Every example evaluation cited in the Notes entry in a assessment MUST link to a proper citation in this DID Evaluations Cited table.

This is not a comprehensive listing of DID Method Rubric evaluations. It is expected that such evaluations are developed and published elsewhere, in support of various methods and use cases. Only those evaluations cited as Example Assessments in current criteria will be listed.

Evaluation entries defined by creating a JSON file under the rubric/evaluationCitations folder in the github repository. This JSON file MUST include:

  1. ID A identifier for the evaluation, that can be used as a relative reference to cite the evaluation throughout the DID Method rubric.
  2. Title A short, descriptive title for the evaluation.
  3. Evaluators The names of the individuals accepting responsibility for the evaluation.
  4. Evaluation Date The performance date of the evaluation.
  5. Evaluation URL A permalink where readers can read or download the published evaluation for additional details including use cases, funding, and contact information.

2.5.2 Methods Considered

Every DID method cited in an Example Assessment MUST link to a proper citation in the Methods Considered table. The table MUST only contain methods that are explicitly cited in the Example Assessments.

The table is generated from individual JSON files under rubric/methodsConsidered/. To add or update a method, edit the corresponding JSON file rather than this table directly.

Each entry SHOULD contain the following:

  1. A label for the DID method within the registry.
  2. An anchor tag so that the entry in the table can be linked by fragment from Example Assessments.
  3. Columns for the Specification, the Network, and the Registry (SNR) considered with this label.
  4. In the case that all three SNR entries would be identical for different rows in the same table, subsequent entries MAY refer to the prior entry by Method (with link), along with a description of the difference, in a single column spanning all three SNR columns.
  5. Each SNR entry should uniquely describe the component considered.
    1. Specification identifies the DID Method specification under consideration, with a hyperlink to the specification (at the time of the assessment).
    2. Network identifies the communications mechanism through which DID operations (create, read, update, and deactivate) are communicated.
    3. Registry should unambiguously identify the state management substrate of the method's Verifiable Data Registry.
  6. Each SNR entry SHOULD include a hyperlinked URL when additional details are available.

2.6 Editorial Acceptance & Publication

The Editors of the DID Method Rubric Registry MUST consider all of the policies above when reviewing additions to the registry and MUST reject registry entries if they violate any of the policies in this section. Entities registering additions can challenge rejections first with the W3C DID Working Group and then, if they are not satisfied with the outcome, with the W3C Staff. W3C Staff need not be consulted on changes to the DID Method Rubric Registry, but do have the final authority on registry contents. This is to ensure that W3C can adequately respond to time sensitive legal, privacy, security, moral, or other pressing concerns without putting an undue operational burden on W3C Staff.

Submissions to the registry that meet all the criteria listed above will be considered for inclusion, however the editors retain the responsibility of curating the content to ensure the broadest applicability of the DID Method Rubric with the goal of enabling effective evaluations of any DID Method for any legitimate use case.

3. The Criteria

3.1 Rulemaking

Rulemaking criteria address who makes the rules and how. Output of rulemaking are the rules.

3.1.1 Open contribution (participation)

Version: v1.0.1
How open is participation in governance decisions?
Responses
A: Anyone can participate in an open, fair process where all participants have equal opportunity to be heard and influence decisions.
B: Anyone can comment and contribute to open debate, but decisions are ultimately made by a closed group.
C: Debate is restricted to a selected but known group.
D: Debate is conducted in secret by an unknown group.
Relevance
Governance determines how the rules of the underlying network are set and maintained. The more parties that are able to contribute to governance debates, the more decentralized the governance.
Example Assessments
MethodSpec.Net.Reg.Notes
did:web A B C/D Spec (A): Owned by CCG at W3C, anyone can join. Net (B): Most of the network is controlled by public or private entities. Reg: Controlled by the Domain Holder, which is a restricted set (C) and in some cases may not be known to the resolving party (D). [eval-4]
did:git B C D The git network is the git source code, which is controlled (currently) by 16 people. They do not have a public issues process. The spec is openly developed on github by a listed set of contributors and issues may be raised by anyone. Each registry is controlled by potentially unknown parties as negotiated in "meatspace". [eval-1]
did:btcr B D D Changes to the bitcoin protocol are chaotic and uncertain. They use BIPs, but the path to adoption is uncertain and the relative power of developers, miners, and users is open to debate. The spec is openly developed on github by a listed set of contributors and issues may be raised by anyone. [eval-1]

3.1.2 Transparency

Version: v1.0.1
How visible are rulemaking processes?
Responses
A: Agendas and participation details for all meetings are publicly announced, the meetings are broadcast in real-time to any listeners, and all minutes and recordings are captured in realtime and publicly reviewable in perpetuity.
B: Minutes of meetings are reviewable by the public, including all votes and who cast them, but real-time observation may be limited.
C: All current rules are publicly available.
D: Rules may be changed without public notice.
Relevance
While participation measures active contribution, transparency measures the visibility of discussions affecting rule making. If such discussions are only visible to a limited group, it centralizes decision making in ways that Evaluators and users cannot easily see.
Example Assessments
MethodSpec.Net.Reg.Notes
did:btcr C C C The spec is maintained by volunteers, operating in an open fashion but without formal processes for announcements and meeting notes. The network and registry are bitcoin, which has a fairly public but messy innovation process, without formal meetings or votes. [eval-1]
did:ion A A-/A A-/A Spec (A): method spec maintained by DIF, using open and transparent processes. Net (A-/A) and Reg (A-/A): It can be hard to track conversations about Bitcoin Improvement Proposals (BIPs) and decision processes differ for different BIPs, which can affect visibility (A-). IPFS has great support for realtime zoom participation and Notes(A) [eval-5]
did:peer C n/a B Rules for accepting changes to the business rules are bilaterally negotiated between the peers, subject to conformance with the specification. [eval-1]

3.1.3 Separation of Power

Version: v1.0.0
What decision making bodies are involved in rulemaking?
Responses
A: Rulemaking rarely occurs in simple structures. Identifying the different organizational entities that participate in setting rules allows evaluators to understand how rules get made. Understanding how rules get helps predict possible future developments.
Relevance
It is worth noting that all entities who are beholden to sovereign states, which is pretty much all corporations, non-profits, and individuals, have consequences for violating the laws, regulations, and lawful court orders within their jurisdiction. Some decentralized systems go to great lengths to minimize the impact of possible coercion, including actions by nation states. It is understood that any participant in the process may be subject to the rule of law from any number of jurisdictions, e.g., patent law, employment law, financial reporting laws, dumping laws, zoning, environmental regulations, etc. As a result, all decision making bodies are subject to the jurisdictions in which they operate.This complexity is true for all DID methods and, to our knowledge, most, if not all, DID methods have no intrinsic relationship to any particular jurisdiction. As such, we do not recommend including jurisdictional players, e.g., nation-states, cities, provinces, etc., as distinct operational layers, unless those players have a distinct role to play for that particular DID method.
Example Assessments
MethodDecision Making BodyNotes
did:v1.testnet Digital Bazaar Digital Bazaar created Veres One and is shepherding it through development to production. [eval-3]
did:v1.production Veres One Community Group In production, the Veres One Community Group is the public-facing decision making body designed for discussing technical matters. [eval-3]
did:v1.production Veres Foundation Board The Veres Foundation holds responsibility for the financial and legal decisions necessary to keep the network operational. [eval-3]

3.1.4 Decision Making Structures

Version: v1.0.0
How is each decision making body structured?
Instructions Evaluate this criteria for each decision making body from https://www.w3.org/TR/did-rubric#criteria-37.
Responses
A: Individual. Sole proprietorship
B: Informal Group. Unincorporated Partnership / Open Community
C: For-profit formal organization. For-profit Corporation / LLC / Partnership
D: Quasi not-for-profit formal organization. B-Corp https://bcorporation.net/ / CIC https://en.wikipedia.org/wiki/Community_interest_company
E: Recognized not-for-profit formal organization. Not-for-profit public benefit organization (NGOs, 501c(3/4/6), etc)
F: NGO
G: Trade Association
H: Charity
I: Public agency (federal, state, or local)
J: Other
Relevance
Different governance structures have different implications for how decisions are made and who wields influence throughout the process.
Example Assessments
MethodDecision Making BodyGovernance StructureNotes
did:v1.testnet Digital Bazaar C Digital Bazaar is a closely held startup with a seventeen year track record. (C) [eval-3]
did:v1.production Veres One Community Group E The Veres One Community Group is a community group operating under the rules of the World Wide Web Consortium. Open to the public, self-elected leadership (E) [eval-3]
did:v1.production Veres Foundation Board E The Veres Foundation operates under the non-profit regulations of Ontario, Canada. Self-propagating board of directors overseeing a non-profit organization. (E) [eval-3]

3.1.5 Cost to introduce rule change

Version: v1.0.0
How expensive is it to get a governance decision before each of the deliberating bodies?
Instructions Evaluate this criteria for each decision making body from https://www.w3.org/TR/did-rubric#criteria-37.
Responses
A: Free to all
B: Inexpensive, but accessible
C: Modest cost for interested parties
D: Expensive and restricted
E: Not possible to participate because the rules are immutable
Relevance
Governance takes resources, which can limit the ability of interested parties to influence rulemaking. Generally, the more expensive it is to participate, the more governance centralizes to those parties most able to make the investment.
Example Assessments
MethodDecision Making BodyCostNotes
did:v1.testnet Digital Bazaar D+ Digital Bazaar is a small development team working with select customers to define Veres One. There is no explicit mechanism for outside participation, however, the governance framework has been developed with high transparency through github and the W3C Veres One Community Group. (D+) [eval-3]
did:v1.production Veres One Community Group B Community group is open to the public. Any member of the community group can propose changes to the method. Group consensus then determines which proposals advance to the Veres Foundation. (B) [eval-3]
did:v1.production Veres Foundation Board C- For technical decisions, the Foundation strongly prefers proposals to reach consensus in the community group. For operational, financial, and legal decisions, the board will likely reserve the right to make decisions independent of the community group. Board bylaws are under development as of this evaluation. (C-) [eval-3]

3.1.6 Cost to decide on rule changes

Version: v1.0.0
How expensive is it to participate as a peer in a governance decision by the governing body?
Instructions Evaluate this criteria for each decision making body from https://www.w3.org/TR/did-rubric#criteria-37.
Responses
A: Free to all
B: Inexpensive, but accessible
C: Modest cost for interested parties
D: Expensive and restricted
E: Not possible to participate because the rules are immutable
Relevance
Governance takes resources, which can limit the ability of interested parties to influence rulemaking. Generally, the more expensive it is to participate, the more governance centralizes to those parties most able to make the investment.
Example Assessments
MethodDecision Making BodyCostNotes
did:v1.testnet Digital Bazaar D The most common way to be involved is by invitation from Digital Bazaar, either as an employee, subcontractor, or advisor. (D) [eval-3]
did:v1.production Veres One Community Group B The largest cost is time to participate and a track record for credibility. (B) [eval-3]
did:v1.production Veres Foundation Board D Foundation leadership is initially selected by Digital Bazaar and self-selecting thereafter. (D) [eval-3]

3.2 Design

Design criteria addresses the method as designed. In other words, the output of the rulemaking: what rules apply to this DID method?

3.2.1 Permissioned Operation

Version: v1.0.1
Does one need permission to use the DID Method?
Responses
A: Anyone can participate fully (full read/write and participation in consensus).
B: Anyone can read/write, but consensus mechanism is permissioned.
C: Anyone can read, but writing and consensus is permissioned.
D: All participation is permissioned.
Relevance
Permissioned operation impacts the availability of the network to various participants, which can affect inclusivity with regard to underserved or vulnerable populations. Permissioned networks also expose the permission giver to legal or other attacks.
Example Assessments
MethodNet.Reg.Notes
did:ethr A A Ethereum is open to anyone. The registry is accessible to anyone. [eval-1]
did:v1.production B+ B+ Net (B+) and Reg (B+)The ledger is available to the public for reading, and anyone can submit a transaction (either through paying an accelerator or in-kind contribution), however, only Witnesses are able to approve updates to the chain. The propagation rules of the peer network restrict the ability for Witnesses to selectively approve transactions, but ultimately, the decision remains with a supermajority of Witnesses. [eval-3]
did:git A D Git software is available to anyone. Participation and access is controlled by the repo maintainers. [eval-1]

3.2.2 Interoperability

Version: v2.0.0
Does the DID Method restrict access or functionality to particular client software implementations?
Responses
A: Any wallet can work with any resolver on any registry,
B: Any wallet can work with multiple resolvers and multiple registries,
C: Some implementations of some wallets can work with some resolvers,
D: There is a single combined suite of resolver, registry, and wallet.
Relevance
The ability to communicate with different (ideally all) resolvers and registries significantly increases the applicability of a decentralized identity layer / usability of a given wallet. Vice versa, limited capability to work with other Methods and registries restrict usage.
Example Assessments
MethodSpec.Net.Reg.Notes
did:v1.production A A A Spec (A), Net (A) and Reg (A): Veres One uses 100% W3C conformant representations, without regard to which wallet implementation is used. [eval-3]
did:btcr A A A Bitcoin has no restrictions on the software used to access the network. [eval-1]
did:web A A- A- Spec (A), Net (A-) and Reg (A-): Web-based wallets may have complications from CORS (cross-origin resource sharing), but in general any “wallet” is compatible. Although a given service (hosting or website, etc.) could add a layer of permissioned restrictions, the did:web Method does not require it. Similarly, nation-state level firewalls could restrict access at various layers, but, again, the Method does not require it. [eval-4]

3.2.3 Scope of Usage

Version: v1.0.1
How widely can DIDs of this Method be used?
Responses
A: Universal: DIDs can only be created and used universally, between any number of parties.
B: Contextual: DIDs can be created and used contextually, between any set of collaborating parties.
C: Paired: DID can be created and used pairwise, between any two parties.
D: Central: DIDs can only be created and used with a single, centralized party.
Relevance
Different Methods enable different scopes in which a DID might be considered usable or valid. Some DIDs are only resolvable within a limited context, others are suitable for global use. Contextual DIDs are a middle ground that allow a set of parties to use DIDs, while those outside that group cannot meaningfully do so. Finally, central DIDs use the DID syntax and DID Documents to establish secure communications, but authority to use these DIDs resides with the central party, who may revoke that ability at their discretion.
Example Assessments
MethodNet.Reg.Notes
did:peer A+ C Did:peer is communication-layer independent, so it can be used on any network, including direct physical links. However, only those parties to the creation of the DID can actually use it. The DIDs have no use outside that direct peer-to-peer relationship. [eval-1]
did:web A/B A/B In general, did:web DIDs can be used for anything, by anyone (A). However, some implementers believe did:web should only be used to represent institutional entities (who tend to already have good systemic controls over web infrastructure). (B) [eval-4]
did:ethr A A Open, permissionless, and globally resolvable. [eval-1]

3.2.4 Cryptocurrency

Version: v1.0.0
What cryptocurrency, if any, is required for Method operations?
Responses
A: None
B: At least one. [List the required crypto-currencies in the Notes]
Relevance
The use of particular cryptocurrencies create a long term dependency on the viability of those currencies. Such dependency may be a deterrent for some applications. Similarly, if no cryptocurrency is used, there is likely a dependency elsewhere, such as on the organization managing consensus rules and operation.
Example Assessments
MethodSpec.Notes
did:v1.testnet A Spec (A): The V1 DID Method operates on its own blockchain with a novel, non-cryptocurrency consensus algorithm. [eval-3]
did:v1.production A Spec (A): The V1 DID Method operates on its own blockchain with a novel, non-cryptocurrency consensus algorithm. [eval-3]
did:web A Spec (B): did:web, which is based on the World Wide Web and DNS does not rely on any cryptocurrency. [eval-4]
did:ion B Spec (B): One must use bitcoin. BTC is required for anchoring transactions. The IPFS layer does not require cryptocurrency, but the bitcoin layer is required for all operations. [eval-5]

3.2.5 Offline creation

Version: v1.0.0
Does the Method require network communications to create a DID?
Responses
A: No. Creation is expected to be off-line. Only resolution, updates and deactivations require network or registry interaction
B: Yes. Creation requires network coordination with a single party to complete the DID creation
C: Yes. Creation requires network coordination with multiple parties in a known, constrained group to complete the DID creation
D: Yes. Creation requires network coordination with and acceptance by an open, global consensus system to complete DID creation
Relevance
Communication is costly, with increasing costs the more parties are involved. This cost is not just in terms of the connection expense, but also the latency in processing transactions. The ability to create a DID without registering it on a global shared state greatly reduces the technical and financial cost of the method.
Example Assessments
MethodSpec.Notes
did:v1.testnet A Veres One DID creation is a local cryptographic process. There is no network or registry involved. [eval-3]
did:v1.production A Veres One DID creation is a local cryptographic process. There is no network or registry involved. [eval-3]
did:web B+ The DID controller must be able to communicate with the web server that is hosting the DID Document. However, in some configurations, this may not mean accessing the global network. For example, if you are physically present at the hosting server, one can create the DID Document files directly without network access. To resolve the DID Document those files must be published at an accessible endpoint, but creation doesn’t need the network. [eval-4]
did:ion A All new did:ions start offline. Only updates need to be published. [eval-5]

3.2.6 Update Scalability

Version: v1.0.0
Assuming an average of no more than 1 update per quarter, how many DIDs can this method support?
Responses
A: Greater than 5 billion
B: Greater than 1 billion
C: Greater than 500 million
D: Greater than 50 million
E: Greater than 5 million
F: Less than 5 million
Relevance
Some DID methods may be able to support the world's population, others may be more suitable to a particular type of use where only a small number of DIDs need to be supported. This gives a rough idea of the population base you may expect a particular DID method to support.
Example Assessments
MethodReg.Notes
did:v1.testnet C Veres One can handle ~750 million updates per quarter at the current architecture of 13 witnesses running stock amazon instances. Performance can be improved through a variety of approaches with different cost and engineering tradeoffs. [eval-3]
did:v1.production C Veres One can handle ~750 million updates per quarter at the current architecture of 13 witnesses running stock amazon instances. Performance can be improved through a variety of approaches with different cost and engineering tradeoffs. [eval-3]
did:web A did:web is a partitioned namespace where any given partition could support billions of DIDs. The URL behind the DID could be hosted by a small hosting service that can only handle a limited # of DIDs, but the hosting of a given domain could also be scaled arbitrarily. [eval-4]
did:ion A A single did:ion node, which limits its operations to 10,000 ops per transaction, is capable of anchoring ~131 million DIDs, updated every quarter. However, any number of did:ion nodes can independently anchor different did:ion operations, making the capacity effectively limited only by the blocksize of bitcoin (and the impact from other transactions competing for space in each block). [eval-5]

3.2.7 Creation Cost

Version: v1.0.0
How much does it cost a DID creator to create a DID?
Responses
A: Only operational costs of running the algorithm (no externalized expense)
B: Less than $0.01
C: Less than $0.10
D: Less than $1
E: Less than $10
F: $10 or greater
Relevance
Almost all operations are sensitive to the cost of creating the underlying identifiers. If such costs are close to zero, broad use of ephemeral keys is possible. As costs increase, it becomes more and more necessary to limit the number of identifiers created in order to keep systems.
Example Assessments
MethodReg.Notes
did:v1.testnet A Creation is FREE [eval-3]
did:v1.production A Creation is FREE [eval-3]
did:web A Assuming you already have a hosting provider providing a website, this cost is essentially free. If you don’t, you may incur the cost of establishing a website (and perhaps a domain purchase or TLD application). [eval-4]
did:ion A Offline creation has no network costs, just local computation. [eval-5]

3.2.8 Update & Deletion Cost (Out-of-pocket)

Version: v1.0.0
How much does it cost*, out of pocket, to update or deactivate a DID Document? If the method has a tiered or variable cost structure, list all responses that apply and specify the cost structure in the Notes *This is the cost to the DID Document controller.
Responses
A: Only operational costs of running the algorithm (no externalized expense)
B: Less than $0.01
C: Less than $0.10
D: Less than $1
E: Less than $10
F: $10 or greater
Relevance
Depending on the method and governance, the price of updating and deleting a DID Document will inform the cost of doing business with the particular method. Depending on the use case in mind this can be used, along with the scalability questions, to estimate the cost of maintaining a network using this DID method.
Example Assessments
MethodReg.Notes
did:v1.testnet n/a Veres One Test Net does not have pricing. [eval-3]
did:v1.production D/A Veres One updates target a retail cost of ~$0.25, which will be set based on operational costs of the Veres Foundation, for wholesale pricing. Accelerators may mark up these prices based on their business model and approach. The estimates for these costs are currently under evaluation. Prices will also vary based on the size of the update, with larger updates costing more. (D) The costs and in-kind requirements will be managed by the Foundation based on market dynamics. (A) [eval-3]
did:web A Assuming you already have a hosting provider providing a website, this cost is essentially free. If you don’t, you may incur the cost of establishing a website (and perhaps a domain purchase or TLD application). [eval-4]
did:ion B/C Node operators who have staked ~$100,000 USD in BTC may update 10,000 DIDs in a single bitcoin transaction; at an average transaction fee of $3 (the current annualized average), that is $0.0003 per update. (B) Node operators who have not staked any BTC may update up to 100 DIDs in a single bitcoin transaction; at an average transaction fee of $3 (the current annualized average), that is $0.03 per update. (C) Cost scales deterministically between these two ends of the price spectrum. [eval-5]

3.2.9 Update & Deletion Cost (in-kind)

Version: v1.0.0
How much does it cost to update or deactivate a DID Document using in-kind contributions?
Responses
A: Only operational costs of running the algorithm (no externalized expense)
B: Less than $0.01
C: Less than $0.10
D: Less than $1
E: Less than $10
F: $10 or greater
Relevance
Depending on the method and governance, there may be ways of reducing (or removing) the cost of Updating or Deleting a DID Document, such as volunteering with the governance body or doing a set of work the network needs done.
Example Assessments
MethodReg.Notes
did:v1.testnet n/a Veres One Testnet does not have pricing. [eval-3]
did:v1.production B The Foundation-established cost can be earned by in-kind contributions, allowing hosted participants to post transactions without out-of-pocket expense. The amortized cost of this is expected to be less than “retail” but remain subject to several variables. For this evaluation, we estimate the in-kind costs for Veres One can be reduced to less than $0.01 per update, but ultimately this will be subject both to the Foundation’s in-kind rules as well as the marginal cost of satisfying those rules. [eval-3]
did:web n/a The method itself does not provide for in-kind contributions. [eval-4]
did:ion n/a The method does not provide for any kind of in-kind contributions. It is worth noting that some node operators are offering free updates to the public based on a modest Proof of Work. [eval-5]

3.3 Operation

Operation criteria address how the rules are operationalized, ie., how are the rules embodied in a working system.

3.3.1 Financial accountability

Version: v1.0.1
How transparent are the economics of the Method?
Responses
A: All operational finances are transparent and accounted for.
B: Compensation for primary operators is transparent.
C: Some financial flows are visible.
D: Operation is privatized with no visibility.
Relevance
Similar to Governance, financial accountability reflects the integrity and sustainability of the DID registry. The more open, transparent, and accountable the system, the greater the confidence a DID controller may have that it will remain stable and operational, and therefore continue to provide service.
Example Assessments
MethodNet.Reg.Notes
did:peer D D The financials of both parties have no visibility. [eval-1]
did:v1.production B B Net (B) and Reg (B): Once operations are transferred to the Foundation, finances should be considerably more transparent. [eval-3]
did:btcr A- A- Bitcoin is transparent, although operations are somewhat obscured by pseudonymous transaction addresses. [eval-1]

3.3.2 Limited resource resolution

Version: v1.0.0
How much memory is required for DID resolution, without relying on authoritative intermediaries (e.g. blockchain explorer APIs)? We consider the amount of memory required to fully resolve a DID of the method, whether that memory is stored locally or processed ephemerally via communications.
Responses
A: Minimal. Less than 1MB
B: Modest. 1MB to 1GB
C: Substantial. 1GB to 128 GB
D: Exceptional. Over 128GB in memory
Relevance
Whether or not one can resolve a DID directly on a resource-constrained device affects the granularity at which smaller devices can be part of the ecosystem. If small edge devices, such as a smart watch, smart speaker, or even a mobile phone, are incapable of directly resolving a DID of the DID Method, then the method will lead to cloud-based services like blockchain explorer APIs, which themselves become a point of centralization. Many find this option an acceptable engineering trade-off. Others would prefer solutions that allow even the smallest devices to be fully capable of resolving DIDs in an authoritative manner.
Example Assessments
MethodNet.Reg.Notes
did:peer A A Resolution typically requires looking up a file in the file system, which uses minimal RAM. [eval-2]
did:git B varies Git for Windows is just shy of 50 MB (please update if there are smaller versions available). However, one must still download the entire repo containing the registry material. [eval-1]
did:btcr D D To definitively resolve, one must operate a full node. [eval-1]
did:sov A A The Sovrin ledger is based on Hyperledger Indy which supports highly efficient state proofs for cryptographic verification of resolution responses. A full node is not required. [eval-1]
did:ethr B B A full ethereum node takes >100GB, but a light ethereum node can support this method with less than 256kb. [eval-1]
did:jolo B B A full ethereum node takes >100GB, but a light ethereum node can support this method with less than 256kb. [eval-1]

3.3.3 Limited resource registration

Version: v1.0.0
What are the minimum resources required to create a trusted DID without relying on intermediaries?
Responses
A: Minimal. Less than 1MB
B: Modest. 1MB to 1GB
C: Substantial. 1GB to 128 GB
D: Exceptional. Over 128GB in memory
Relevance
Being able to create a DID in constrained situations enables certain types of decentralized applications that otherwise are not possible. On the edge, many devices rely on gateways to manage compute-, memory-, and bandwidth- intensive tasks. For example, while a smart lightbulb might use ZigBee or 6LowPAN, it will typically use a hub to connect to the Internet, even for access from devices within the local IP network. The more resources it takes for small devices to participate in registration, the greater the percentage of those that will need to rely on centralizing factors like hubs and gateways.
Example Assessments
MethodNet.Reg.Notes
did:peer A A Registration may require a few KB of RAM as a DID doc is written to disk. [eval-2]
did:git B varies Git for Windows is just shy of 50 MB (please update if there are smaller versions available). However, one must still download the entire repo containing the registry material. [eval-1]
did:btcr A- A- To register a DID, one must simply get a transaction on the ledger, unless you choose to host a continuation DID Document elsewhere, which would require its own resources. [eval-1]
did:sov A A Registration of a DID is a single transaction that can be performed by a thin client. [eval-1]
did:ethr A+ A+ The smart contract used for did:ethr recognizes any valid public key as a DID, without requiring registration. This means DIDs can even be created offline with full usability. Only rotation and the registration of service endpoints require network access. [eval-1]
did:jolo A+ A+ The smart contract used for did:ethr recognizes any valid public key as a DID, without requiring registration. Only rotation and the registration of service endpoints require network access. [eval-1]

3.3.4 Transactional Performance - Global Create Bandwidth

Version: v1.0.0
How many DIDs of this method can be created per time period, globally?
Responses
A: More than 1,000,000 Transactions Per Second
B: 100,001 - 1,000,000 TPS
C: 10,001 - 100,000 TPS
D: 1,001 - 10,000 TPS
E: 101 - 1,000 TPS
F: 11 - 100 TPS
G: 1-10 TPS
H: Less than 1 TPS
Relevance
The number of new DIDs that can be created in a second inform the scalability of the network in regards to onboarding new users and allowing for new uses by existing users.
Example Assessments
MethodNet.Reg.Notes
did:v1.testnet n/a n/a Net (n/a) and Reg (n/a): Veres One DID creation is a local cryptographic process. There is no network or registry involved. [eval-3]
did:v1.production n/a n/a Net (n/a) and Reg (n/a): Veres One DID creation is a local cryptographic process. There is no network or registry involved. [eval-3]
did:web A A Net (A) and Reg (A): Architecturally, the World Wide Web can easily handle +1,000,000 transactions per second. Thanks to the way domain names can be routed to specific servers in a round-robin fashion, a given domain could, theoretically, reach 1,000,000 TPS. However, we know of no single domain currently engineered to handle that scale. [eval-4]
did:ion n/a n/a Net (n/a) and Reg (n/a): Creation is offline, so there is effectively no limit. [eval-5]

3.3.5 Transactional Performance -- Global Update Bandwidth

Version: v1.0.0
How many DIDs can be updated per second, globally?
Responses
A: More than 1,000,000 Transactions Per Second
B: 10,001 - 1,000,000 TPS
C: 101 - 10,000 TPS
D: 11 - 100 TPS
E: 1-10 TPS
F: Less than 1 TPS
Relevance
Along with creation, update performance of the registry can inform as to how many users make use of the Method at any given time.
Example Assessments
MethodReg.Notes
did:v1.testnet C Updates on Veres One have been demonstrated at >100 TPS. This could go considerably higher with various technical trade-offs. [eval-3]
did:v1.production C Updates on Veres One have been demonstrated at >100 TPS. This could go considerably higher with various technical trade-offs. [eval-3]
did:web A DID:web update performance is highly sensitive to both implementation choices (http server, database, etc.) and network latency. [eval-4]
did:ion B Assuming 500 bytes per BTC tx, 1 MB block size, and 1 block per 10 minutes, if ALL transactions in a BTC block contain updates, there could be as many as 35,000 updates per second with did:ion. [eval-5]

3.3.6 Update Latency

Version: v1.0.0
How much time does it take for an update to become globally available after submission by the DID controller?
Responses
A: Less than 1 second
B: 1 to < 60 seconds
C: 1 to < 10 min
D: 10 min to < 1 hour
E: 1 hour to < 1 day
F: 1 day to 2 weeks
G: Greater than two weeks
H: Updates not guaranteed
Relevance
Different registry mechanisms have different guarantees for some notion of finality. The longer one has to wait for confirmation, the greater the latency for high security transactions. The shorter the duration, the more one has to critically validate the race conditions that may be present in determining finality. Depending on the algorithm, there are likely trade-offs between the stability of consensus and the speed at which consensus is pursued.
Example Assessments
MethodNetRegNotes
did:v1.testnet B B Net (B) and Reg (B):Provable Finality for Veres One updates ranged from 1 to 60 seconds in testing (1-3 seconds in a single data center) [eval-3]
did:v1.production B B Net (B) and Reg (B):Provable Finality for Veres One updates ranged from 1 to 60 seconds in testing (1-3 seconds in a single data center) [eval-3]
did:web B B Net (B) and Reg (B): Depends on your network (and network configuration), but generally, did:web document updates are as fast as updates to any web resource. [eval-4]
did:ion D/H D/H Net and Reg:Updates to did:ion DIDs are ultimately anchored on BTC, which averages one block per every ten minutes. Some nodes may batch the BTC anchor operation, which could add to the delay, but this is not a requirement of the method. (D and D) Similarly, due to the dynamically adjusting market for bitcoin transactions, it is possible for a controller to submit a transaction to the ION node and for it to go un-anchored because the ION node is not configured with a competitively priced bitcoin transaction fee. (H and H) [eval-5]

3.3.7 Operational Reliability

Version: v1.0.0
For each layer, how many operational components may be offline without that layer losing availability?
Responses
A: Equation based on the consensus algorithm
B: Known number
C: Percentage
D: NONE (specific components MUST be operational)
E: OPTIONAL (operations do not depend on the layer being available)
Relevance
Along with the type of consensus algorithm the number of offline nodes has both security--i.e. DDOS attacks--and reliability implications.
Example Assessments
MethodLayerResponseNotes
did:v1.testnet Witnesses 4 The BFT consensus algorithm used by Veres One requires a supermajority of 9/13 witness nodes to formulate consensus. [eval-3]
did:v1.testnet Peers N/A Peer nodes are not needed in the formulation of consensus. [eval-3]
did:v1.production Witnesses 4 The BFT consensus algorithm used by Veres One requires a supermajority of 9/13 witness nodes to formulate consensus. [eval-3]
did:v1.production Peers N/A Peer nodes are not needed in the formulation of consensus. [eval-3]

3.3.8 Operational Security

Version: v1.0.0
How many operational components may be compromised without compromising the network?
Responses
A: Equation based on the consensus algorithm
B: Known number
C: Percentage
D: Unknown
E: N/A -- If the algorithm isn’t dependent on the particular layer
Relevance
Informs how easy it may be to orchestrate a take over of the network and get false transactions accepted by the consensus mechanism.
Example Assessments
MethodLayerResponseNotes
did:v1.testnet Witnesses 4 Since a supermajority of 9/13 witness nodes is needed for consensus to be reached, compromising more than 4 of these nodes means an attacker could halt consensus formulation. [eval-3]
did:v1.testnet Peers N/A Peers being compromised does not lead to network failure. [eval-3]
did:v1.production Witnesses 4 Since a supermajority of 9/13 witness nodes is needed for consensus to be reached, compromising more than 4 of these nodes means an attacker could halt consensus formulation. [eval-3]
did:v1.production Peers N/A Peers being compromised does not lead to network failure. [eval-3]

3.4 Enforcement

Criteria in this section deal with the design rules that enable maintaining the integrity of the verifiable data registry (VDR) and the means of applying those rules. Enforcement is the proper execution of the process of ensuring compliance with laws, regulations, rules, standards, and social norms. This includes how the rule of law is applied to entities involved in governance and operation of the method.

3.4.1 Auditability

Version: v1.0.1
Who can retrieve cryptographic proof of the history of changes to a given DID Document?
Responses
A: Anyone
B: Only a select group, including parties not involved in a given DID transaction
C: Only parties to the transaction
D: Not available
Relevance
Trustlessness is a prerequisite of a decentralized system. If you have to trust the source of a DID Document (i.e., if you can’t verify cryptographically a DID Document that is returned from resolution), then you are at the mercy of a potentially centralized authority. If, instead, you have a cryptographic audit trail, then the current state of a DID cannot be compromised by an intermediary or central party.
Example Assessments
MethodReg.Notes
did:btcr A Anyone can see everything. [eval-1]
did:git B- If you have access to the authoritative git repo, you can see the cryptographic journal. However, within the method specification, there is no way to know if the repo you are inspecting is, in fact, definitive. [eval-1]
did:web D The web server hosting the DID Document has no requirement to preserve cryptographic history. [eval-4]

3.4.2 Governance Jurisdiction

Version: v1.0.0
In which jurisdiction is the governing body located?
Relevance
Different jurisdictions have different laws which may affect the operation of the method.
Example Assessments
MethodDecision Making BodyNotes
did:v1.testnet Digital Bazaar, Inc. Digital Bazaar created Veres One. It is a corporation formed in the commonwealth of Virginia, USA. [eval-3]
did:v1.production Veres One Community Group In production, the Veres One Community Group is the public-facing decision making body designed for discussing technical matters. It operates under the auspices of the World Wide Web Consortium. The W3C does not have a single physical headquarters. There are four institutions that "host" W3C: MIT (in Cambridge, MA, USA), ERCIM (in Sophia-Antipolis, France), Keio University (near Tokyo, Japan), and Beihang University (in Beijing, China). [eval-3]
did:v1.production Veres Foundation Board The Veres Foundation holds responsibility for the financial and legal decisions necessary to keep the network operational. It is based in Ottawa, Canada. [eval-3]

3.4.3 Operational Diversity

Version: v1.0.0
How many independent legal entities currently maintain the operational integrity of the Verifiable Data Registries?
Responses
A: Open ended, unknown, or unknowable.
B: Capped. [State lower and upper bounds in Notes]
C: One
D: Zero
Relevance
Singular--or small numbers of--entities controlling the consensus of a network can orchestrate malicious attacks.
Example Assessments
MethodReg.Notes
did:v1.testnet B [13] Veres One is designed for 13 Witnesses; only Witnesses are able to approve updates to the chain. The propagation rules of the peer network restrict the ability for Witnesses to selectively approve transactions, but ultimately, the decision remains with a supermajority of nine Witnesses. [eval-3]
did:v1.production B [13] Veres One is designed for 13 Witnesses; only Witnesses are able to approve updates to the chain. The propagation rules of the peer network restrict the ability for Witnesses to selectively approve transactions, but ultimately, the decision remains with a supermajority of nine Witnesses. [eval-3]
did:web C Any of the layers could be compromised by that particular party. [eval-4]
did:ion A Bitcoin and IPFS allow any number of legal entities to participate in consensus. [eval-5]

3.4.4 Registry Consensus

Version: v1.0.0
What type of integrity mechanism is used by the method’s Verifiable Data Registry?
Responses
A: Proof of Work
B: Proof of Stake
C: BFT algorithm based
D: Electoral ‒ Select parties vote with thresholds
E: Unanimous ‒ All parties countersign
F: Unilateral ‒ Latest signed version defined as authentic
G: Standards-based specifications determined by institutional authority, used by anyone
H: Other ‒ Add your own
Relevance
The consensus mechanism used by the method registry has implications for scalability, speed of operations, security and possibly environmental impact.
Example Assessments
MethodReg.Notes
did:v1.testnet C There Veres One registry consensus algorithm uses a BFT algorithm which formulates consensus through a super majority of witness nodes with any number of peer nodes allowed to participate in the gossip network. [eval-3]
did:v1.production C There Veres One registry consensus algorithm uses a BFT algorithm which formulates consensus through a super majority of 13 witness nodes with any number of peer nodes allowed to participate in the gossip network. [eval-3]
did:web F/G ICANN sets the specification for consensus (F). DNS works by participants agreeing that ICANN’s rules determine global state. [eval-4]
did:ion A The VDR for did:ion is Bitcoin, which is Proof of Work [eval-5]

3.4.5 Operational Layers

Version: v1.0.0
What layers of operational components establish and maintain integrity of the Verifiable Data Registry?
Instructions For each layer, evaluate criteria https://www.w3.org/TR/did-rubric#criteria-50, https://www.w3.org/TR/did-rubric#criteria-51, and https://www.w3.org/TR/did-rubric#criteria-56.
Responses
A: List each layer
Relevance
The manner in which a Verifiable Data Registry (VDR) manages integrity defines how that integrity might be compromised. To understand how the VDR of a given Method maintains integrity, this criteria identifies the operational components of the VDR for further evaluation in other criteria, namely https://www.w3.org/TR/did-rubric#criteria-50, https://www.w3.org/TR/did-rubric#criteria-51, and https://www.w3.org/TR/did-rubric#criteria-56. Unfortunately, network topology inevitably introduces parties that may be able to disrupt or compromise network interactions. For example, DNS servers--often under the control of the user’s ISP or the corporate IT department--can return “fake” IP addresses; corporate firewalls can prevent traffic to or from certain addresses; corporate system administrators may prevent users from configuring alternative Certificate Authorities, even international internet traffic can be restricted or denied, purely at the network layer.Because nearly every DID method known at this point depends on Internet-based networking, every DID method faces these same problems. As such, we don’t recommend specifying common network components as distinct layers unless those layers have specific roles unique to the particular DID method.For this criteria, we are talking about the operational components that have specific, unique, or privileged roles with regard to the evaluated DID Method(s). The parties which fulfill said roles should be considered when evaluating the fitness of the given method(s).
Example Assessments
MethodLayerNotes
did:v1.testnet Witnesses In the test net the number of peer nodes is limited but the same number of witness nodes are used as in production. [eval-3]
did:v1.testnet Peers [eval-3]
did:v1.production Witnesses In production the number of peer nodes is expected to increase greatly. [eval-3]
did:v1.production Peers [eval-3]

3.4.6 Layer Diversity

Version: v1.0.0
How many operational components need to be compromised to compromise the verifiable data registry (evaluate for each operational component)?
Responses
A: Open ended, unknown, or unknowable.
B: Capped. [State upper and lower bounds in Notes]
C: One
Relevance
Along with the type of consensus algorithm, the number of nodes that can participate in consensus has implications towards network security and reliability.
Example Assessments
MethodLayerResponseNotes
did:v1.testnet Witnesses B [4] Veres One’s consensus requires 9 of 13 Witness nodes to agree, as such if more than 4 were compromised the network may cease to function. (B) [eval-3]
did:v1.testnet Peers A Peer nodes are not directly involved in maintaining the verifiable data registry and only propagate state. As such compromising any number of Peer nodes does not compromise the network. (A) [eval-3]
did:v1.production Witnesses B [4] Veres One’s consensus requires 9 of 13 Witness nodes to agree, as such if more than 4 were compromised the network may cease to function. (B) [eval-3]
did:v1.production Peers A Peer nodes are not directly involved in maintaining the verifiable data registry and only propagate state. As such compromising any number of Peer nodes does not compromise the network. (A) [eval-3]

3.4.7 Verification Relationships

Version: v1.0.0
What verification relationships are supported by the method per specification?
Responses
A: None
B: Authentication
C: AssertionMethod
D: Key Agreement
E: CapabilityInvocation
F: CapabilityDelegation
G: Other
H: Any
Relevance
The verification relationships a method supports inform the ways in which DIDs of the method can be used. See section 5.3 of the DID-Core specification for details on verification relationships. https://www.w3.org/TR/did-core/#verification-relationships
Example Assessments
MethodSpec.Notes
did:v1.testnet H The did.v1 specification does not have any restrictions to the Verification Relationships supported. [eval-3]
did:v1.production H The did.v1 specification does not have any restrictions to the Verification Relationships supported. [eval-3]
did:web H The did:web specification does not restrict Verification Relationships. [eval-4]
did:ion B,C,D,E,F The did:ion specification only enumerates the Verification Relationships as they appear at the time of this assessment in the did-core specification. [eval-5]

3.4.8 Authentication Model

Version: v1.0.0
How does the method authenticate a given DID operation as coming from the legitimate DID controller?
Instructions Include as many as apply to this Method.
Responses
A: None
B: Cryptographically signed transactions
C: Cryptographic challenge string & signed response
D: Authenticator App
E: Biometrics
F: Email
G: DNS Record
H: HTML over HTTP
I: SMS/MMS
J: DID document update
K: Other
L: Any
Relevance
The way in which DID updates are authenticated can have implications on not only the trustworthiness of the method but also informs someone who wants to use the method what they may need to implement technologically to properly make use of the method.
Example Assessments
MethodResponseNotes
did:ion B ION uses JWK and JWS to ensure that DID operations are properly authorized. [eval-5]

3.5 Adoption (and diversity)

Adoption criteria address how widely the method and its implementations are used by various parties and systems.

3.5.1 Financial Entanglements

Version: v1.0.0
How was the Method funded?
Responses
A: State-sponsored funding
B: Regulated not-for-profit entity
C: Private equity
D: Operational budget
E: Cryptocurrency
F: Tokenized Initial Coin Offering
G: Initial Public Offering (public equity funding)
H: Other -- State what in the notes
Relevance
Funding can create financial entanglements. Those methods that depend on outside financing should be further evaluated to understand the potential consequences of funding to-date.
Example Assessments
MethodSpec.Net.Reg.Notes
did:v1.testnet D D D Spec (D), Net (D), and Reg (D): did:v1 was funded by Digital Bazaar through internal operational budgets [eval-3]
did:v1.production D D D Spec (D), Net (D), and Reg (D): did:v1 was funded by Digital Bazaar through internal operational budgets [eval-3]
did:web D A/B/C/D/G H Spec (D): Specification was developed largely by independent firms using operational budgets . Net: The web was funded initially by the US Department of Defense and national TLD Administrators are funded by nation-states (A). Network infrastructure of TLD Administrators, hosting services, etc., have largely been funded by non-profits (B), private firms using either private equity (C), operational budgets (D), or public equity offerings (G). Reg (H): Individual websites and network services have been funded in just about every way imaginable. [eval-4]
did:ion D E/C/D E/C/D Spec (D): Specification was developed largely by independent firms using operational budgets Net and Reg: Bitcoin is a self-funding cryptocurrency (E), IPFS was developed by Protocol Labs, using some combination of private equity and operating budget (C/D). [eval-5]

3.5.2 Organizational Maturity in Time

Version: v1.0.0
How long has the organization(s) behind the Method been operational?
Responses
A: Over 20 years
B: Over 10 years
C: Over 5 years
D: Over 1 year
E: Less than 1 year
F: There is no organization per se
Relevance
The age of the organization(s) behind a Method can be used to give an idea into organizational maturity. It is not a sole indicator and should be taken as a data point in evaluating the Method organization’s current state.
Example Assessments
MethodSpec.Net.Reg.Notes
did:v1.testnet B D D Spec: Digital Bazaar, the team behind the spec has been in business for over 17 years. (B) Net (D) and Reg (D): The Veres One Foundation was founded in 2019. [eval-3]
did:v1.production B D D Spec: Digital Bazaar, the team behind the spec has been in business for over 17 years. (B) Net (D) and Reg (D): The Veres One Foundation was founded in 2019. [eval-3]
did:web F A * Spec (F): did:web specification development began in earnest in 2019 by a variety of interested parties. Net (A): The Internet and the World Wide Web have been around for over 20 years. Reg (*): The individual web servers that might be used depend on the organizational maturity of the hosting company and the website operator. [eval-4]
did:ion A/D C C Spec: The major organizations behind the did:ion specification are DIF (D) and Microsoft (A). DIF is also the organization driving the Sidetree specification, which did:ion is based on. Net (C) and Reg (C): Are based on bitcoin and IPFS Microsoft has existed for more than 20 years. DIF and Protocol Labs (the organization behind IPFS) are younger, but each have existed for at least five years. Bitcoin started in 2009, but really has no formal organization. [eval-5]

3.5.3 Release Status

Version: v1.0.0
Can the method be used for production today?
Responses
A: Yes. A production system is available to the general population.
B: No. A test network is operational.
C: No. Only an internal developer network is operational.
D: No. The software is not yet running on any network.
Relevance
Some errors only become apparent after sufficient time to test edge cases and performance boundaries.
Example Assessments
MethodNet.Reg.Notes
did:v1.testnet B B Net (B) and Reg (B): The Veres One test network has been operational for over 3 years, in three major release iterations. It is not yet in production. [eval-3]
did:v1.production B B Net (B) and Reg (B): The Veres One test network has been operational for over 3 years, in three major release iterations. It is not yet in production. [eval-3]
did:web A A Net (A) and Reg (A): The web has been in general use for 30+ years. Multiple production deployments are in use today. [eval-4]
did:ion A A Net (A) and Reg (A): All major components are in production and available to the public. [eval-5]

3.5.4 Maturity

Version: v1.0.0
How long has the underlying network/registry been available to third parties for non-trivial use?
Responses
A: The network/registry has been operationalized for ten years or more.
B: The network/registry has been operationalized for five years or more
C: The network/registry has been operationalized for one year or more
D: The network/registry has been operationalized for less than one year
E: The network/registry is not operationalized for non-trivial use
Relevance
Some errors only become apparent after sufficient time to test edge cases and performance boundaries.
Example Assessments
MethodNet.Reg.Notes
did:v1.testnet C C Net (C) and Reg (C): The Veres One test network has been operational for over 3 years in three major release iterations. [eval-3]
did:v1.production E E Net (E) and Reg (E): The Veres One production network has not yet been released. [eval-3]
did:web A D Net (A): The web has been around since 1991. Reg (D): We know of no websites that have operationalized did:web earlier than July 2021. [eval-4]
did:ion D/A/B D/A/B Net and Reg: did:ion entered production on Jan 22, 2021 (less than one year at the point of this Evaluation) (D). Bitcoin has been in operation since 2009 (A) and IPFS since 2015 (B). [eval-5]

3.6 Security

Security criteria address how the method is cryptographically secured.

3.6.1 Robust Crypto

Version: v2.0.0
What is the lowest security level (“bits of security”) allowed in the processes that ensure integrity of the verifiable data registry?
Instructions Evaluate the security level according to https://en.wikipedia.org/wiki/Security_level
Responses
A: No combination of required features produces a profile with less than 256 bits of security.
B: Between 128 and 256 bits. (Conventional wisdom — NIST recommendation — says that this level of security is adequate until the next revolutionary breakthrough.)
C: Less than 128 bits. (NIST recommends replacing this security by 2030.)
D: Less than 112 bits. (Security is obsolete today.)
Relevance
A DID method that requires implementations to support something weak (e.g., 1024-bit RSA) is guaranteeing that its users will cooperate by default with encryption that's relatively easy to crack, with hashing that's not adequately collision-resistant, etc.
Example Assessments
MethodReg.Notes
did:web C Although the DNS subsystem that supports did:web does not provide strong security, control of a DID is proved by accessing /.well-known over TLS. Thus, the security is tied to certificate config. Most web server certificates use 2048- bit RSA, which gives 112 bits of security. [eval-2]
did:indy B Hashes are SHA2-256. Keys are Ed25519/Curve25519 (128 bits of security). Reads and writes to the Indy ledger use CurveZMQ rather than TLS. This gives 128 bits of security in the aggregate. [eval-2]
did:ion B- Secp256k1 theoretically guarantees 128 bit security. However, some theoretical attacks have shown a reduction of approximately 5 bits. (B-) [eval-5]

3.6.2 Availability

Version: v2.0.0
How robust are protections against attempts to suppress information flow, whether legal (cease and desist) or technical (denial of service)?
Responses
A: The VDR is practically immune from this risk.
B: The VDR has reasonable protections in place. However, motivated and well resourced attackers could temporarily disrupt access in a targeted context.
C: Attackers could permanently disrupt access in a targeted context.
Relevance
Control over an identifier is far less valuable if the propagation of that control can be limited by someone else.
Example Assessments
MethodReg.Notes
did:btcr A The global bitcoin network has a strong track record of uptime , stretching back for well over a decade, even in the face of motivated attack. [eval-2]
did:v1.production B Veres One is operated by known parties; if all such parties are attacked, especially via legal means, the network could be shut down or additional rules applied. However, no single party can deny the consensus process. Like any publicly accessible service, Veres One is subject to distributed denial of service attacks. Counter measures are in place, but cannot be 100% ameliorated. (B) [eval-3]
did:web C There are a number of attack vectors for each layer in the system; however, each layer also has its own mechanisms for addressing disruption. (C) [eval-4]

3.6.3 Many Eyes

Version: v1.0.0
Is the code of the method published, does it have many contributors, and does it have a published vulnerability reporting (responsible disclosure) mechanism?
Responses
A: The code is public. It has hundreds of contributors. CVEs or similar reports have been published and handled appropriately.
B: The code is public, but the list of contributors is small. No vulnerability reporting mechanism has been announced, or it's been announced but has no demonstrable track record.
C: The code is partly private.
D: The code is entirely private.
Relevance
Security vulnerabilities tend to be found and fixed best in code that has many active contributions and a strong history of correctly handled responsible disclosure.
Example Assessments
MethodScoreNotes
did:sov A The most prominent codebases that implement this method, github.com/hyperledger/indy-* have over 1000 forks, about 200 unique contributors from over a dozen organizations, spanning 5 years and about 25000 commits as of 2021. Sovrin's Technical Governance Board, which vets some aspects of the design, is composed of numerous independent experts, and meets regularly. Both Hyperledger and Sovrin Foundation have responsible disclosure mechanisms for vulnerabilities, and both have successfully handled vulnerabilities from initial report to patch and public disclosure. [eval-2]
did:peer B The spec and implementations of code are entirely public, with incubation through DIF's identifiers WG. However, contributors are limited to a dozen developers, activity is light, and there is no announced vulnerability mechanism. [eval-2]

3.6.4 Diffuse Control

Version: v1.0.0
To what extent does the system support mechanisms where DID control is distributed across multiple parties (m-of-n control, threshold signatures, etc.)?
Responses
A: Rich diffuse control mechanisms are a first-class feature, and anyone who resolves a DID can see whether they are in use so confidence is increased. This may include device revocation (where keys must be exercised on a particular device to be valid).
B: Some diffuse control is possible but has important deficits in documentation, maturity, or visibility.
C: Multiple parties can exercise control independently. Diffuse control is possible outside the system (e.g., using Shamir secret sharing to reconstitute a single key before updating a DID document). It's not possible to know whether such mechanisms are in use.
D: Only a single party can exercise control at a time.
Relevance
Diffuse trust makes hacking harder and recovery more robust (but maybe more complex).
Example Assessments
MethodScoreNotes
did:key C did:key is controlled by a single key. If aggregate control is desired, these keys can be sharded, but that is outside the method's feature set. [eval-2]
did:peer A Dynamic peer DIDs explicitly define an m-of-n scheme that can be used to authorize any evolution of state, or any verification method supported by the DID. [eval-2]

3.6.5 Expert Review (Cryptography)

Version: v1.0.0
Does the system use cryptographic and security primitives that are well vetted by technical experts, and battle hardened in the school of experience?
Responses
A: Experts generally consider the system very secure, and this opinion is reinforced by a track record of secure production use.
B: The theoretical security of the system looks excellent, and no known attacks or substantive criticisms are unaddressed. However, limited review or limited experience informs the opinion.
C: Credible reports of vulnerabilities or design shortcomings have not been addressed.
D: The system actively uses mechanisms that are officially deprecated.
E: The system uses mechanisms that have not been vetted.
Relevance
Exotic crypto and other security mechanisms without expert review and a production track record is likely to contain hidden risks.
Example Assessments
MethodReg.Notes
did:v1.testnet A Ed25519 and SHA256 are highly regarded cryptographic algorithms and are the only cryptographic primitives used in Veres One. (A) [eval-3]
did:v1.production A Ed25519 and SHA256 are highly regarded cryptographic algorithms and are the only cryptographic primitives used in Veres One. (A) [eval-3]
did:web A/E TLS/SSL (a requirement for did:web) is the most widespread adoption of cryptographic technology with well-tested, proven implementations (A). The method itself does not require any additional cryptographic primitives. The did:web method does inherit the known short-comings of DNS, which can be mitigated with DNSSec, in some cases. However, this is not a cryptographic problem. In addition, each webserver is free to use any authentication and authorization technique for creating, updating, and deactivating a DID and DID Document. The method relies on this layer to function, but the implementation of this layer may or may not use vetted cryptography (E). [eval-4]
did:ion A Bitcoin’s security has proven robust. (A) [eval-5]

3.6.6 Expert Review (Consensus)

Version: v1.0.0
If the method makes use of a distributed consensus mechanism, has the registry’s consensus mechanism undergone sufficient review?
Responses
A: Yes. A formal proof has been published in a peer reviewed journal
B: Yes. A formal proof has been published
C: No. An informal argument has been published
D: No. The consensus algorithm is opaque to registry users.
Relevance
Decentralized systems are notoriously difficult to get right. Consensus ordering, in particular, is known to be a hard problem solved by distributed ledgers. Even simpler registries may trade off provable finality with probabilistic finality. It is vital that the Method used for high-value or life-critical application be rigorously evaluated for potential flaws.
Example Assessments
MethodNet.Reg.Notes
did:v1.testnet B B Net (B) and Reg (B): Mathematical proofs have been peer reviewed for publication in a not-yet-published book on consensus algorithms and as a special IEEE journal publication on network consensus algorithms. [eval-3]
did:v1.production B B Net (B) and Reg (B): Mathematical proofs have been peer reviewed for publication in a not-yet-published book on consensus algorithms and as a special IEEE journal publication on network consensus algorithms. [eval-3]
did:web A n/a Net (A): The DNS and TLS systems have been thoroughly reviewed in academic literature in research about the Internet and the World Wide Web. Reg (n/a) : The method provides no consensus mechanism with regard to the https server itself. The entity controlling the server operates independently. (n/a) [eval-4]
did:ion A A Net (A) and Reg (A): Bitcoin’s proof of work consensus algorithm has been thoroughly reviewed. IPFS uses a Kademlia hash table algorithm, which has also undergone thorough academic review since publication in 2002. However, compromising the hash table would not compromise the content of a DID Document; rather it would affect the ability to resolve the DID to that DID Document. IPFS’s content-hash addressing is based on multihash, and did:ion requires using the SHA-256 variant of multihash. SHA-256 is extremely well reviewed. [eval-5]

3.6.7 Provenance

Version: v1.0.0
Is the current state of a DID document provably correct from a history that's visible to anyone who can resolve the DID?
Responses
A: The update history of the DID document is recorded, accessible, and linked appropriately to its predecessor. Arbitrary versions can be queried and proved correct, and they have a reasonably useful timestamp.
B: The update history of the DID document exists, and a forensic analysis could prove correctness. However, it's not exposed for consumption of ordinary resolvers, it lacks supporting metadata, or it's exposed in a very suboptimal way.
C: Limited evidence of proper DID document updates exists.
D: No evidence of proper DID document updates exist; the user has to trust the system's assertion that the current state resulted from something appropriate.
Relevance
It's possible to tamper with systems that don't actively prove the correctness of their current state. Such tampering is not easy to discover.
Example Assessments
MethodReg.Notes
did:v1.testnet A All document updates are recorded in a non-repudiable manner on the Veres One Ledger. [eval-3]
did:v1.production A All document updates are recorded in a non-repudiable manner on the Veres One Ledger. [eval-3]
did:web D The method does not require the website serving the DID Document to demonstrate any form of provenance. [eval-4]
did:ion B As long as the IPFS-based transaction bundles are available (either via IPFS or somewhere else), the provenance of each DID Document is independently validatable. Similarly, if bitcoin state is lost, it would be impossible to verify the provenance of did:ion DID Documents. In both cases, it is relatively straightforward to address this by retaining your own copy of the state information, e.g., running your own bitcoin node and hosting the did:ion transaction bundles on your own IPFS node. In addition, late publishing https://identity.foundation/sidetree/spec/#late-publishing could allow multiple versions of DID Documents to be simultaneously seen as canonical. [eval-5]

3.6.8 United States Federal Compliance

Version: v1.0.0
Is the Method compliant with US Federal requirements for the use of cryptography?
Responses
A: Both registry consensus *and* transaction validation are compliant
B: Transaction validation is compliant but consensus is not
C: No. Neither consensus nor transactions are compliant
Relevance
Many US Federal programs and projects require use of cryptography according to standards set by the National Institute of Standards and Technology (NIST), such as:FIPS 186-5 (https://csrc.nist.gov/publications/detail/fips/186/5/draft)NIST 800-131Ar2 (https://csrc.nist.gov/publications/detail/sp/800-131a/rev-2/final)SP 800-186 (https://csrc.nist.gov/publications/detail/sp/800-186/draft)NIST FIPS 186-4 https://csrc.nist.gov/publications/detail/fips/186/4/final)NIST 800-38D (https://csrc.nist.gov/publications/detail/sp/800-38d/final)NIST 800-38F (https://csrc.nist.gov/publications/detail/sp/800-38f/final)FIPS 180-4 (https://csrc.nist.gov/publications/detail/fips/180/4/final)FIPS 800-107r1. (https://csrc.nist.gov/publications/detail/sp/800-107/rev-1/final)
Example Assessments
MethodSpec.Net.Reg.Notes
did:v1.testnet A A A Spec (A), Net (A), and Reg (A): did:v1 was written to be compatible with all NIST requirements, including those specified in the Relevance section (6.8.3) [eval-3]
did:v1.production A A A Spec (A), Net (A), and Reg (A): did:v1 was written to be compatible with all NIST requirements, including those specified in the Relevance section (6.8.3) [eval-3]
did:web A A A Spec (A), Net (A), and Reg (A): Due to the flexibility of the underlying web architecture, any layer *might* be non-compliant; However, the web is a mature platform with many years of solutions that do, in fact, meet US federal requirements. [eval-4]
did:ion B B B Spec (B), Net (B), and Reg (B): Bitcoin is likely not NIST compliant thanks to the adoption of Schnorr signatures (with the taproot extension), which are not yet NIST approved. However, recent signals from NIST suggest that (1) bitcoin use of cryptography is not prima facie out of compliance and (2) NIST’s previous evaluations of Schnorr hinged on patent concerns; now that those patents are expired, many are optimistic that Schnoor will be given serious consideration in future evaluations. IPFS allows non-approved hash algorithms through multihash, however did:ion adds the requirement that all hashes be SHA-256, which is NIST compliant. [eval-5]

3.7 Privacy

Addresses the ability of a DID method to ensure various privacy mechanisms. When DIDs are used as identifiers for people, it becomes important to consider what tools a DID method offers to operate at different levels of privacy. Use cases that focus on IoT or institutions may not feel that this dimension is especially important (though institutional privacy may sometimes be desirable).

3.7.1 Per-DID constraints on visibility

Version: v1.0.0
What provisions are made for restricting visibility of DIDs to audiences other than the general public?
Responses
A: Fully private is possible.
B: VDR is visible to "all", but "all" is a restricted audience with enforced terms of service or other disincentives to abuse.
C: VDR is fully public with no constraints.
Relevance
Restricting the audience for a DID is a way to discourage crawling and secondary, possibly abusive publication. However, no mechanism can completely prevent this; creating disincentives, accountability, and/or costs that encourage the DID owner's wishes to be respected is the best we can hope for.
Example Assessments
MethodScoreNotes
did:twit C A did:tweet is created and updated by posting to a public twitter feed; it is always completely public. [eval-2]
did:key A Nothing about the did:key method requires it to be published anywhere. It is as private or as public as the mechanism used to share it. [eval-2]
did:trustbloc B A did:trustbloc is public to all users of the Hyperledger Fabric instance where it is published -- but that blockchain may be permissioned and restricted to a private audience. [eval-2]

3.7.2 Incentives for Multicontext DIDs

Version: v1.0.0
To what extent does the method incentivize (due to cost, hassle, etc.) a DID to be reused in multiple contexts?
Responses
A: The natural and default behavior is to create a new DID in each new context, and there is no meaningful incentive to do otherwise.
B: It is possible to create and manage numerous DIDs, but the latency, complexity, or monetary expense of doing so results in modest pressure to reuse a DID.
C: Each DID is expensive in at least one important dimension. Incentives to reuse are strong.
Relevance
People will often trade away privacy for a low price or ease of use. Methods that encourage this tradeoff are less optimal from a privacy perspective, even if their privacy features are theoretically reasonable.
Example Assessments
MethodScoreNotes
did:btcr C At times when Bitcoin value has spiked, creating a DID on Bitcoin has required an expensive transaction. Finality also takes a significant amount of time. This creates incentives to reuse a DID in multiple contexts. [eval-2]
did:sov C The Sovrin ledger deliberately charges for ledger writes to discourage its use for privacy-oriented identifiers. [eval-2]
did:peer A Creating a peer DIDs is free and nearly instantaneous. There are no incentives for reuse. [eval-2]

4. Retired criteria

The following criteria have been retired. We link to their last canonical publication for historical provenance. Many of these criteria have evolved into newer criteria, others have simply been removed from this Rubric for lack of completeness, currency and/or relevance.

Permalink
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-3
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-4
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-5
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-13
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-14
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-15
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-16
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-17
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-18
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-19
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-20
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-21
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-22
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-23
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-26
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-27
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-32
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-34
https://www.w3.org/TR/2021/NOTE-did-rubric-20211119/#criteria-36

5. Conclusion

This DID Method Rubric one framework for evaluating DID Methods. It offers a set of criteria which can be used selectively by Evaluators to better understand and document their considerations when deciding to support or adopt a given DID Method.

A. Terminology

Assessment
A single answer to a criteria question for a single DID method variant.
Evaluator
The individual or organization applying this rubric to evaluate a DID Method.
Evaluation
The process of producing a collection of assessments for a given set of criteria and DID methods. An Evaluator identifies a use case, selects a set of criteria and performs an evaluation over some set of DID methods by producing an assessment for each criteria and DID method combination.
Evaluation Report
The output of an Evaluation. The written documentation of the result of evaluating one or more DID Methods against this rubric. In practice, this is a completed report template, with answers for all of the criteria selected by the Evaluator.
Network
the channel that enables communication of DID Method operations, .e.g, for BTCR, any of the main bitcoin networks can be used (mainnet, testnet, etc.). For did:ethr, the network is any EVM-compliant network (each DID specifies one and only one such network).
Registry
the instantiated storage and integrated business logic that record the effect of DID Method operations. In did:ethr, the registry is a smart contract. In did:btcr, the registry is the specific bitcoin network (the network and the registry are the same).
you
Throughout this document we use the second-person pronoun "you" to refer to Evaluators of a DID Method applying this Rubric.

B. Possible additional criteria

B.1 Maturity

  1. How long has the specification been published?
    1. Just a concept sketch
    2. A complete draft...
    3. ...
    4. Published as a fixed, recommended specification
    5. [Published for X years]
  2. How mature is the entity who controls the specification?
  3. How long has the specification been in live usage?

B.2 Cryptography

  1. Can the individual use their own cryptographic material for key generation without sharing secrets?
  2. Can DID Controllers specify their own cryptographic suite for key generation / signing / hashing / etc.?
  3. Can DID Controllers specify ANY cryptographic suite for key generation / signing / hashing / etc.?
  4. Do DID Controllers have cryptographically provable control over DID Documents?
  5. Are all registry transactions publicly inspectable and cryptographically verifiable?Does the Method support specific cryptographic capabilities?
    1. Multi-sig
    2. Shamir secret sharing
    3. HD Keys
    4. Object capabilities
  6. Does the Method provide a cryptographic DID, or does it try to provide a human-readable name?
  7. Do DIDs with a few random substitutions result in different valid DIDs, or is there cryptographic error correction to identify transmission errors and typosquatting?
  8. Can the Method-specific-id be generated without the use of a per-Method centralized registry service (as required in the DID specification [DID-CORE])?

B.3 Fiduciary commitments

  1. Do operators of resolvers accept fiduciary responsibility to users?
  2. Do operators of registry nodes accept fiduciary responsibility to users?
  3. Do the parties in charge of governance accept fiduciary responsibility to users?
  4. Do wallet creators & maintainers accept fiduciary responsibility to users?

B.4 Reliable recovery

  1. Are there mechanisms to recover from key loss?
  2. Are there non-administrative mechanisms to recover from key loss?
  3. Are there cryptographically robust mechanisms for key recovery that allow individuals to select specific advocates or stewards?

B.5 Substitutability

  1. Are the DIDs portable to other Methods?
  2. Are the DIDs portable to multiple registries?
  3. Does the Method allow DID Controllers to specify where the DID Document resides?
  4. Does the Method allow DID Controllers to specify wherever they want the DID Document to reside?

B.6 Revocation / deactivation / deletion

  1. Is it possible to provably remove a DID from the system (and all nodes)?
  2. Is it possible to provably remove a DID Document from the system (and all nodes)?
  3. Are revocations and deactivations provably documented?
  4. Do revocations and deactivations allow for publicly visible explanations?
  5. Can cryptographic material be selectively revoked or rotated?
  6. Resolution
  7. Are all DIDs globally resolvable to a definitive, provably current DID Document?
  8. Are private DIDs (which are NOT globally resolvable) supported?
  9. Can access to DID Documents be limited to authorized parties?
  10. Can you get older versions by version number and by timestamp?
  11. Can you get cryptographic proof of the history of changes to a given DID Document?

B.7 Costs

  1. How much does DID creation and key rotation cost a DID Controller?
  2. Must individual DIDs be written to the registry?
  3. How much do changes to a DID Document cost the DID Controller?
  4. Do changes to DID Documents require updating the registry?
  5. What is the total cost of ownership for a typical DID and DID Document?
  6. Are there free versions of wallets?
  7. Are there free versions of registry software?
  8. Are the free versions of resolvers?

B.8 Censorship resistance

  1. Is there a single legal or natural entity, or set of known entities, who can be targeted with intent to manipulate the operation or governance of the Method?
  2. Is participation in operation of the Method dependent on identification using traditional legal credentials, such as a birth certificate, driver's license, or passport?
  3. Are activities on the registry traceable to real world individuals?
  4. Can DIDs be disabled or revoked by an administrator?
  5. Can DID Documents be edited or removed by an administrator?

B.9 Uncategorized

  1. Is the Method name definitive? (there are no known alternative forks or namespace collisions)
  2. Is the Method resilient against registry forks?
  3. Permissioned: governed/operation vs. use/creation
  4. Open source: multiple independent implementations
  5. Open standard
  6. Does the individual create and control?
  7. Can the individual choose how keys are managed?
  8. Does the issuer/controller have a fiduciary responsibility to DID Controller?
  9. Does it support social recovery?
  10. What does a single DID cost? TCO
  11. Is resolution observable?
  12. Are stealth DIDs supported?
  13. Is deactivation publicly documented?
  14. After control is lost can other people deactivate?
  15. Possible confusion between implementations and DID Methods
  16. Does it support HD Keys?
  17. Are transactions publicly cryptographically verifiable?
  18. Are DIDs permanent (unremovable--still able to be deactivated but all traces can never vanish)?
  19. Can you get the latest version and older versions? Provable order of versions?
  20. Is the Method published?
  21. Is that Method independently implementable?
  22. Is there a centralized database?
  23. Is its blockchain byzantine fault tolerant?
  24. Does a single party control a majority of the source of truth? (Under what conditions can the DID controller lose capability?)
  25. If you give control away, can you get it back?

C. Acknowledgements

This Note is a derivative work of A Rubric for Decentralization of DID Methods, a collaborative paper written at Rebooting the Web of Trust IX by Joe Andrieu, Shannon Appelcline, Amy Guy, Joachim Lohkamp, Drummond Reed, Markus Sabadello, and Oliver Terbu.

D. References

D.1 Informative references

[DID-CORE]
Decentralized Identifiers (DIDs) v1.0. Manu Sporny; Amy Guy; Markus Sabadello; Drummond Reed. W3C. 19 July 2022. W3C Recommendation. URL: https://www.w3.org/TR/did-core/
[DID-DEC-RUBRIC]
A Rubric for Decentralization of DID Methods. Joe Andrieu; Shannon Appelcline; Amy Guy; Joachim Lohkamp; Drummond Reed; Markus Sabadello; Oliver Terbu. Rebooting the Web of Trust. Published. URL: https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/final-documents/decentralization-rubric.pdf