DID(去中心化标识符)的位数

问题描述 投票:0回答:1

W3C规定的DID(Decentralized Identifier)位数是固定的吗?

我尝试在 https://www.w3.org/TR/did-core/ 检查规范,但在那里找不到任何解释。我特别检查了“3.1 DID 语法”https://www.w3.org/TR/did-core/#did-syntax

我问的是第二个冒号后面的位数。 如果出现以下情况,我想了解以“123...”开头的最后一部分 做了:方法:123456789abcdefghi

在w3c文档中,我看到了6位和20位的示例。 因此,看起来位数并不是固定的,可以由开发者指定。

我最好的猜测是DID的位数不是固定的。

有了解这方面情况的朋友请告诉我我的猜测是否正确。

w3c decentralized-identifiers
1个回答
0
投票

您问题中提到的部分称为方法特定ID方法特定标识符,这是第二个冒号(

:
)之后的部分。它被称为特定方法,这告诉我们它不受任何最大限制的约束,完全取决于确定其性质、结构和长度的方法以及如何确定它。

您在https://www.w3.org/TR/did-core/#did-syntax中引用的形成 DID 语法的 w3c 标准的部分也说明了相同的内容:

根据 DID ABNF 语法规则

method-specific-id = *( *idchar ":" ) 1*idchar

idchar = ALPHA / DIGIT / "." / "-" / "_" / pct-encoded

我们可以看到这些语法规则是基于ABNF规则的,ABNF中星号(

*
)代表重复(https://www.rfc-editor.org/rfc/rfc5234#section-3.6)。指定某个元素可以出现的次数。

  • *idchar
    表示 idchar 出现零次或多次。
  • 1*idchar
    表示 idchar 出现一次或多次。

这里的 idchar 可以包含大小写字母、数字、句点、连字符、下划线和百分比编码字符。

注意:语法规则中的冒号(:)表示方法特定的ID确实可以有由冒号分隔的各个部分。示例:did:example:foo:bar:baz

所以,是的,您的猜测是正确的,DID 中第二个冒号之后的字符数不是固定的,而是通过 DID 的方法定义的,该方法最终由开发人员定义。

虽然语法规则没有明确规定method-specific-id的最大长度,但我们应该避免过长的DID,这会导致管理、存储、共享、记忆变得繁琐,影响用户体验。

© www.soinside.com 2019 - 2024. All rights reserved.