第3部分 原理篇2去中心化数字身份标识符(DID)(2)

3.2.2. DID相关概念

3.2.2.1. 去中心化标识符 (Decentralized identifier,DID)

本聪老师:DID有两个含义,一是Decentralized identity,就是去中心化身份,是广泛意义的DID。另外一个是Decentralized identifier,是去中心化标识符,是指对应现实世界某个实体(entity)的全局唯一的id号。

小明:是,经常听到DID这个词,感觉更多是指去中心化身份。

本聪老师:对,DID出现在不同的语境中会分别对应不同的含义。为了区分,本书中提到的去中心化身份称为DID,将后者称为DID标识符。

本聪老师:我们接下来看下DID标识符的形式和组成部分(图3-3):

图3-3DID标识符

小天:看起来DID标识符组成包括3部分:Scheme、DID Method及其特定字符串。

本聪老师:对。第1部分称为scheme identifier,方案标识符。这里的did是固定不变的,用于区别身份标识符所属的不同方案,表明这个身份标识符遵循DID的规范,并且兼容所有遵循DID规范的系统。

小天:也就是说,看到一个身份标识符开头是DID,就能明确它是遵从DID规范所生成的DID标识符。

本聪老师:是的。第2部分example称为DID Method identifier,用于说明这个身份标识符采用的是遵循DID规范的具体哪个方法(我们可以理解为自治域)。DID Method一般会由搭建DID平台的组织机构自己定义,比如组织机构名称或简称,然后到W3C网站(https://w3c.github.io/did-spec-registries/#did-methods)去注册就可以。我们后面会详细介绍一下DID方法。

小云:W3C这些国际组织只规划设计DID相关规范,具体的实施部署是由这些方法运营商根据规范进行实现的。

本聪老师:对,这是DID去中心化体现的一方面吧。最后第3部分的字母数字组合就是特定DID方法中代表特定实体身份的一个唯一标识字符串。

小天:我理解由DID标识符这三部分形成的一个DID标识符一定是全局唯一的ID标识符,它就是对应主体的唯一数字身份。

本聪老师:对。一个DID标识符,形如did:ytm:653ca82******45d85a47代表含义就是说这个身份标识符遵循数字身份标识符的DID方案,存在于ytm方法中,具备某个唯一id。对照下面的图3-4URN规范,就能更好理解了。

图3-4URN规范

小天:我理解DID标识符就像公民身份证号码,是现实世界中的实体身份映射到数字世界身份的一个编号。

本聪老师:可以这么理解。我们再深入思考一下,DID标识符和人之间是一一对应吗?

小明:一个人需要有多个数字身份吗?我觉得当然需要。我是这么理解,每个人的身份证号码只有一个,是国家政府为了管理方便强制要求的。但是在商业社会,不同的应用场景会存在不同的需求,就像一个人会有多个银行的银行卡一样,每个银行卡的id编号就类似与一个DID标识符,主要是用于不同的用途。

本聪老师:我赞同小明的理解。还有个问题,DID标识符只是一个id编号,除了表示人的数字身份,还可以与现实世界哪些实体有关系呢?

3.2.2.2. DID主体 ( DID Subject )

本聪老师:根据W3C《DID规范 v1.0》中的说法:"任何东西都可以是 DID 主体:人、团体、组织、物理事物、数字事物、逻辑事物等。"也就是说除了人之外,DID标识符可以与现实世界的一切进行映射,只要其数字身份有价值。

小明:这极大拓展了DID标识符的想象空间。可以想到的有商业公司、学校、社会机构。

小天:还有设备物资、固定资产。

小云:还有知识产权类的艺术作品、文学著作,甚至是品牌。

本聪老师:大家发散一下就能想到许多使用场景。

3.2.2.3. DID URL

本聪老师:还有一个概念是DID URL。DID URL 是特定资源的网络位置标识符,其中包含DID标识符,它扩展了基本 DID 的语法以包含其他标准组件,增加路径(path)、查询(query)和片段(fragment)等参数,可以定位特定资源,例如,DID 文档内的加密公钥,或DID 文档以外的资源。一般业务场景中会大量使用DID URL这种形式,可用于检索 DID 主体、验证方法、服务、DID 文档的特定部分或其他资源的表示形式。

它的语法形式是:did-url = did path-abempty [ "?" query ] [ "#" fragment ]

小明:似乎没看明白。能举几个例子吗?

本聪老师:好的。

比如DID路径URL形如:did:example:123456/path

DID 查询 URI:did:example:123456?versionId=1

DID文档外部的资源:did:example:123?service=agent&relativeRef=/credentials#degree


本文内容摘自《对话去中心化数字身份》。作者:乔布施。首发平台:https://ytm.app

欢迎转载,请注明出处及作者。

相关推荐
web3探路者8 小时前
深入探索Solana链上的Meme生态:创新、潜力与挑战#区块链开发#dapp开发
web3·区块链·团队开发·dapp开发·区块链技术·链游开发·交易所开发
加密新世界21 小时前
指南: 如何在 MEV 项目中使用 Yul
区块链
MavenTalk3 天前
solana链上智能合约开发案例一则
rust·区块链·智能合约·dapp·solana
kejijianwen3 天前
Algen的跨链互操作性:增强区块链连接性
运维·centos·区块链
Sui_Network4 天前
World Wide Walrus:下一代数据存储协议
大数据·人工智能·web3·去中心化·区块链
Huazzi.4 天前
区块链中的wasm合约是什么?
区块链·wasm
一水鉴天4 天前
智能工厂的设计软件 为了监管控一体化的全能Supervisor 的监督学习 之 序6 进化论及科学的信息技术创新:分布式账本/区块链/智能合约
开发语言·人工智能·学习·区块链·智能合约·分布式账本
电报号dapp1194 天前
TON商城与Telegram App:生态融合与去中心化未来的精彩碰撞
去中心化·区块链
加密新世界4 天前
掌控 Solidity:事件日志、继承和接口的深度解析
区块链
MavenTalk4 天前
两大新兴开发语言大比拼:Move PK Rust
开发语言·后端·rust·区块链