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

3.2.2. DID相关概念

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

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

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

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

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

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

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

图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部分 原理篇2去中心化数字身份标识符(DID)(2)

图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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/697162.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Web性能优化-浏览器工作原理-MDN文档学习笔记

浏览器工作原理 查看更多学习笔记:GitHub:LoveEmiliaForever MDN中文官网 导航 导航是加载 web 页面的第一步:输入 URL、点击一个链接、提交表单等等 DNS查询 导航的第一步是要去寻找页面资源的位置 例如访问https://example.com&#x…

qt-动画圆圈等待-LED数字

qt-动画圆圈等待-LED数字 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "LedNumber.h" #include <QLabel>LEDNumber::LEDNumber(QWidget *parent) : QWidget(parent) {//设置默认宽高比setScale((float)0.6);//设置默认背景色se…

websocket与Socket的区别

概念讲解 网络&#xff1a;通俗意义上&#xff0c;也就是连接两台计算器 五层网络模型&#xff1a;应用层、传输层、网络层、数据链路层、物理层 应用层 (application layer)&#xff1a;直接为应用进程提供服务。应用层协议定义的是应用进程间通讯和交互的规则&#xff0c;不…

排序第三篇 直接插入排序

插入排序的基本思想是&#xff1a; 每次将一个待排序的记录按其关键字的大小插入到前面已排好序的文件中的适当位置&#xff0c; 直到全部记录插入完为止。 一 简介 插入排序可分为2类 本文介绍 直接插入排序 它的基本操作是&#xff1a; 假设待排充序的记录存储在数组 R[1……

电路设计(27)——交通信号灯的multisim仿真

1.功能要求 使用数字芯片设计一款交通信号灯&#xff0c;使得&#xff1a; 主干道的绿灯时间为60S&#xff0c;红灯时间为45S 次干道的红灯时间为60S&#xff0c;绿灯时间为45S 主、次干道&#xff0c;绿灯的最后5S内&#xff0c;黄灯闪烁 使用数码管显示各自的倒计时时间。 按…

JavaScript 数组、遍历

数组 多维数组&#xff1a;数组里面嵌套 一层数组为二维数组。一维数组的使用频率是最高的。 如果数组访问越界会返回undefined。 数组遍历 数组方法Array.isArray() 这个方法可以去判定一个内容是否是数组。

AndroidStudio 2024-2-21 Win10/11最新安装配置(Kotlin快速构建配置,gradle镜像源)

AndroidStudio 2024 Win10/11最新安装配置 教程目的&#xff1a; (从安装到卸载) &#xff0c;针对Kotlin开发配置&#xff0c;gradle-8.2-src/bin下载慢&#xff0c;以及Kotlin构建慢的解决 好久没玩AS了,下载发现装个AS很麻烦,就觉得有必要出个教程了(就是记录一下:嘻嘻) 因…

java 时间格式 YYYY 于yyyy的区别

java formatDate 时间时&#xff0c;经常需要输入格式比如 YYYYMMDD,yyyyMMdd 这两个是有区别的 具体每个参数可以看下面

igolang学习1,dea的golang-1.22.0

参考&#xff1a;使用IDEA配置GO的开发环境备忘录-CSDN博客 1.下载All releases - The Go Programming Language (google.cn) 2.直接next 3.window环境变量配置 4.idea的go插件安装 5.新建go项目找不到jdk解决 https://blog.csdn.net/ouyang111222/article/details/1361657…

【js】无限虚拟列表的原理及实现

什么是虚拟列表 虚拟列表是长列表按需显示思路的一种实现&#xff0c;即虚拟列表是一种根据滚动容器元素的可视区域来渲染长列表数据中某一个部分数据的技术。 简而言之&#xff0c;虚拟列表指的就是「可视区域渲染」的列表。有三个概念需要了解一下&#xff1a; 视口容器元…

python专业版破解激活(超详细)

python专业版破解激活 1.下载pycharm应用程序 这里我使用的版本是pycharm-professional-2023.3.2 下载pycharm程序的连接为&#xff1a; 百度网盘 请输入提取码 提取码为&#xff1a;nym0 2.安装 选择安装路径 下一步 这里全选 下一步 这里直接点击安装就可&#xff0c;其…

Opencv(2)深浅拷贝与基本绘图(c++python

Opencv(2)深浅拷贝与基本绘图 文章目录 Opencv(2)深浅拷贝与基本绘图三、深浅拷贝四、HSV色域(1).意义(2).cvtColor()(3).inRange()(4).适应光线 三、深浅拷贝 浅拷贝是指当图像之间进行赋值时&#xff0c;图像数据并未发生复制&#xff0c;而是两个对象都指向同一块内存块。 …

光伏气象站:实现自动化、高精度的气象监测

型号推荐&#xff1a;云境天合 TH-FGF9】光伏气象站是一种基于光伏技术的气象监测设备&#xff0c;它利用太阳能转化为电能&#xff0c;为气象站提供持续的电力供应&#xff0c;并实现自动化、高精度的气象监测。 光伏气象站的工作原理可以分为以下几个部分&#xff1a; 光伏发…

SpringCloud Nacos安装

1. Nacos的下载&#xff1a;下载的是1.4的版本。 2. Nacos的安装&#xff1a; startup.cmd -m standalone 以单机模式启动Nacos。 登录的账号密码 都是nacos。

Android LruCache源码分析

文章目录 Android LruCache源码分析概述LruCache和LinkedHashMap关系源码分析属性写入数据读取数据删除缓存 Android LruCache源码分析 概述 LruCache&#xff08;Least Recently Used Cache&#xff0c;最近最少使用缓存&#xff09;是 Android 中的一种缓存机制。 根据数据…

MySQL 索引原理以及 SQL 优化

索引 索引&#xff1a;一种有序的存储结构&#xff0c;按照单个或者多个列的值进行排序。索引的目的&#xff1a;提升搜索效率。索引分类&#xff1a; 数据结构 B 树索引&#xff08;映射的是磁盘数据&#xff09;hash 索引&#xff08;快速锁定内存数据&#xff09;全文索引 …

ChatGPT调教指南 | 咒语指南 | Prompts提示词教程(一)

在我们开始探索人工智能的世界时&#xff0c;了解如何与之有效沉浸交流是至关重要的。想象一下&#xff0c;你手中有一把钥匙&#xff0c;可以解锁与OpenAI的GPT模型沟通的无限可能。这把钥匙就是——正确的提示词&#xff08;prompts&#xff09;。无论你是AI领域的新手&#…

SpringCloud全家桶---常用微服务组件(1)

注册中心: *作用: 服务管理 Eureka(不推荐)[读音: 优瑞卡] Nacos(推荐) Zookeeper [读音: 如k波] Consul [读音:康寿] **注册中心的核心功能原理(nacos)** 服务注册: 当服务启动时,会通过rest接口请求的方式向Nacos注册自己的服务 服务心跳: NacosClient 会维护一个定时心跳持…

Sora背后的论文(1):使用 lstms 对视频展现进行无监督学习

之前那篇《Sora背后的32篇论文》发出后&#xff0c;大家都觉得不错&#xff0c;有很多小伙伴都开始啃论文了。 那么我就趁热打铁&#xff0c;把这32篇论文的通俗解读版贴一下。 从去年开始&#xff0c;我基本上形成了一个思维方式&#xff0c;任何事情做之前先看看 有没有好的…

个人博客系列-环境配置-gitee(2)

注册gitee账户 地址&#xff1a;https://gitee.com/ 此步骤省略 新建仓库 执行以下命令 即可 拉取代码 创建目录 mkdir myCode && cd myCode 登录gitee找到项目&#xff0c;点击克隆&#xff0c;拉取代码 连接远程仓库命令 git remote add origin 仓库地址http…