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

news/发布时间2024/5/14 5:56:06

3.2. 去中心化数字身份标识符(DID)

3.2.1. 本节主要内容

3.2.1.1. 本节内容概述

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

本聪老师:首先是DID标识符。

小明:能否先简单介绍一下DID标识符是什么?工作原理是什么?

本聪老师:好的。DID身份标识符是现实世界的实体映射到数字世界的身份id,其实是一串字符串,用于唯一代表实体开展行为。DID标识符工作机制包括创建、使用、读取、更新和删除。DID主体(或者实际控制人,叫控制器)使用符合DID规范的软件系统创建DID标识符(包括后面提到的DID文档),创建过程实际上是使用加密材料,比如使用公钥/私钥对衍生出DID标识符,然后登记到相应的注册表中。

小天:是不是主体一般会采用类似数字货币钱包方式创建DID标识符?

本聪老师:如果把钱包的概念定义为“私钥的容器”,那么就是这样的。DID标识符的使用包括展示、认证、签名、验证签名等环节。展示环节就是以机器可读的方式,例如二维码,展示DID标识符。认证环节就是使用 DID文档中的加密材料,来测试主体(或者控制器)的控制权是否真实。DID控制器还可以对文件或者资产等资源进行数字签名,资源需求方可以使用DID文档中的加密材料验证数字签名。

小云:刚才提到的DID文档是做什么的?

本聪老师:DID文档与DID标识符同时创建,后者只是一个id,前者记录了后者的某些属性,比如加密公钥,使用的加密算法、创建时间等等。DID平台可以读取DID标识符,解析出DID文档。DID标识符是一串id,不能更新,但是可以对DID文档进行更新,修改,满足实际需求。最后不建议删除DID标识符,建议的动作是停用,避免引起实际使用过程的不一致。

小天:明白了。不过本节涉及的概念还真的挺多。

本聪老师:是,刚接触一门技术,首先都会面临大量专业术语。我们就从概念术语开始,我们首先学习DID相关概念,包括DID的存在形式、与DID有关系的身份各方、DID文档、DID控制器、DID解析器、DID方法以及可验证注册表。

本聪老师:另外我们还会重点学习下DID解析和认证,这是DID概念的重点。概念的示例。下面图3-2是本节主要内容的思维导图,有助于我们把握DID概念的全貌。

3.2.1.2. 本节思维导图

本聪老师:简单解释一下思维导图内容。DID文档是DID标识符的应用形式,因此这里以DID文档为中心,DID文档包括三部分内容:DID标识符、DIDAuth认证相关内容以及服务端点。DID标识符又包括三部分内容:Scheme方案也就是标记,DID方法和唯一字符串。DID标识符一定会关联到某个主体,因此DIDAuth认证包括主体的公钥和签名算法。DID控制器负责对主体的属性进行修改。服务端点后面介绍。红色字体是针对DID文档的行为,可验证数据注册表负责存储DID文档等内容,DID解析器根据VDR数据负责把接收的DID标识符解析出DID文档。

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

图3-2 本节思维导图


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

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

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

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

相关文章

MyBatis---初阶

一、MyBatis作用 是一种更简单的操作和读取数据库的工具。 二、MyBatis准备工作 1、引入依赖 2、配置Mybatis(数据库连接信息) 3、定义接口 Mapper注解是MyBatis中用来标识接口为Mapper接口的注解。在MyBatis中,Mapper接口是用来定义SQL映射的接口,通…

目标检测卷王YOLO卷出新高度:YOLOv9问世

论文摘要:如今的深度学习方法重点关注如何设计最合适的目标函数,使得模型的预测结果能够最接近真实情况。 同时,必须设计一个适当的架构,可以帮助获取足够的信息进行预测。 现有方法忽略了一个事实,即当输入数据经过逐层特征提取和空间变换时,大量信息将会丢失。 本文将深…

【flutter】环境安装

安装flutter sdk 下载sdk flutter sdk就包含dart,所以我们只用安装flutter sdk就可以了。 我们去清华大学开源软件镜像站下载,flutter开发中,版本对不上基本项目就跑步起来,如果是团队协同开发的话,建议统一下载指定版…

HarmonyOS Stage模型 应用配置文件讲解

好,上文 HarmonyOS Stage模型基本概念讲解 中,我们简单讲解了HarmonyOS 中 Stage模型的基本概念 那么 我们继续学习Stage模型的相关知识 上文之后 我们肯定对它的概念和基本结构 有了一个了解 那么 我们就来看一下 基于Stage模型 它里面一些基本的配置文…

电脑蓝牙在哪里打开?1分钟轻松打开蓝牙!

“我在操作电脑的时候想将电脑的蓝牙打开来连接音响和键盘,但是不知道电脑蓝牙应该如何打开,有什么比较简单的方法吗?” 随着无线技术的日益发展,蓝牙已成为连接各种设备的重要桥梁。无论是传输文件、音频还是与外部设备进行通信&…

驶向未来:3D可视化模型重塑我们的道路认知

在科技的浪潮中,每一个革新都是对人类未来生活的深度洞察。而今,当可视化这一技术走进我们的视野,它不仅是一场视觉盛宴,更是一次对未来出行方式的全新探索。 一、从平面到立体,解锁道路新视角 你是否曾站在十字路口&…

Spring Boot项目中TaskDecorator的应用实践

一、前言 TaskDecorator是一个执行回调方法的装饰器,主要应用于传递上下文,或者提供任务的监控/统计信息,可以用于处理子线程与主线程间数据传递的问题。 二、开发示例 1.自定义TaskDecorator import org.springframework.core.task.Task…

websocket入门及应用

websocket When to use a HTTP call instead of a WebSocket (or HTTP 2.0) WebSocket 是基于TCP/IP协议,独立于HTTP协议的通信协议。WebSocket 是双向通讯,有状态,客户端一(多)个与服务端一(多&#xff09…

java数据结构与算法刷题-----LeetCode106. 从中序与后序遍历序列构造二叉树

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 1. 法一:递归 解题思路:时间复杂度O(n),空间复杂度…

运维SRE-15 自动化批量管理-ansible1

## 1.什么是自动化批量管理重复性工作与内容: 思考如何自动化完成. 部署环境,批量查看信息,批量检查:自动化 一般步骤:1.如何手动实现2.如何自动化管理工具,批量实现3.注意事项:想要自动化一定要先标准化(所有环境,软件,目录一致)…

vue+node.js美食分享推荐管理系统 io551

,本系统采用了 MySQL数据库的架构,在开始这项工作前,首先要设计好要用到的数据库表。该系统的使用者有二类:管理员和用户,主要功能包括个人信息修改,用户、美食类型、美食信息、订单信息、美食分享、课程大…

基于Python网络爬虫的IT招聘就业岗位可视化分析推荐系统

文章目录 基于Python网络爬虫的IT招聘就业岗位可视化分析推荐系统项目概述招聘岗位数据爬虫分析系统展示用户注册登录系统首页IT招聘数据开发岗-javaIT招聘数据开发岗-PythonIT招聘数据开发岗-AndroidIT招聘数据开发岗-其它招聘岗位数据分析算法方面运维方面测试方面招聘岗位薪…

xff注入 [CISCN2019 华东南赛区]Web111

打开题目 看见smarty 想到模板注入 又看见ip 想到xff注入 一般情况下输入{$smarty.version}就可以看到返回的smarty的版本号。该题目的Smarty版本是3.1.30 在Smarty3的官方手册里有以下描述: Smarty已经废弃{php}标签,强烈建议不要使用。在Smarty 3.1&#xff…

vue3+js 实现记住密码功能

常见的几种实现方式 1 基于spring security 的remember me 功能 ​​​​​​​ localStorage 除非主动清除localStorage 里的信息 ,不然永远存在,关闭浏览器之后下次启动仍然存在 存放数据大小一般为5M 不与服务器进行交互通信 cookies 可以…

解决弹性布局父元素设置高自动换行,子元素均分高度问题(align-content: flex-start)

案例&#xff1a; <view class"abc"><view class"abc-item" v-for"(item,index) in 8" :key"index">看我</view> </view> <style lang"less">.abc{height: 100px;display: flex;flex-wrap: …

Sublime Text4配置C#运行环境

这里写自定义目录标题 前言部署.NET环境Sublime Text4配置C#编译环境1. 下载插件 运行测试 前言 今天把家里的9年前的远古神机搬了出来&#xff0c;重装了个win7的精简版&#xff0c;本打算装个VScode测试一下是否能写C#代码&#xff0c;结果是可以的&#xff0c;但&#xff0…

ESP8266智能家居(4)——开发APP基础篇

1.前期准备 安装好Android studio 开发环境 准备一台完好的安卓手机 手机要处于开发者模式 设置 --->关于手机---> 一直点击版本号 &#xff08;不同手机进入开发者模式的步骤可能不太一样&#xff09; 进入开发者模式后&#xff0c;找到辅助功能&#xff0c;打开开…

C++基础学习——哈希表的封装

目录 ​编辑 一&#xff0c;实现一个可封装的哈希表 1&#xff0c;哈希表的节点 2&#xff0c;哈希表的成员 3&#xff0c;哈希表成员方法的实现 4&#xff0c;迭代器的实现 5&#xff0c;在哈希表中加入迭代器 二&#xff0c;封装哈希表 1&#xff0c;unorder_map封装 2…

HarmonyOS—代码Code Linter检查

Code Linter代码检查 Code-Linter针对ArkTS/TS代码进行最佳实践、编程规范方面的检查&#xff0c;目前还会检查ArkTS语法规则。开发者可根据扫描结果中告警提示手工修复代码缺陷&#xff0c;或者执行一键式自动修复&#xff0c;在代码开发阶段&#xff0c;确保代码质量。 检查…

unity学习(41)——创建(create)角色脚本(panel)——UserHandler(收)+CreateClick(发)——发包!

1.客户端的程序结构被我精简过&#xff0c;现在去MessageManager.cs中增加一个UserHandler函数&#xff0c;根据收到的包做对应的GameInfo赋值。 2.在Model文件夹下新增一个协议文件UserProtocol&#xff0c;内容很简单。 using System;public class UserProtocol {public co…
推荐文章