【1】导言

github 看的舒服一点
PDF和MD格式文本也在其中
如有不足,还请指教

摘要

去中心化标识符(DID)是一种新型标识符,支持可验证的、去中心化的数字身份。一个 DID 可以标识由 DID 控制者决定的任何主题(例如个人、组织、事物、数据模型、抽象实体等)。与典型的联合标识符相比,DIDs的设计使其分离于集中式注册表、身份提供者以及证书颁发机。具体来说,虽然可借助第三方协助发现与DID相关的信息,但该设计允许DID控制者无需任何第三方授权的情况下即可证明对其的控制。DIDs 是将 DID 主题与DID 文档相关联的URIs,允许与该主题相关联的可信交互每个 DID 文档都可以表达加密材料、验证方法或服务,提供了一组让DID控制者能够证明对 DID 控制的机制。服务可实现与 DID 主题相关的可信交互。如果 DID 主题是数据模型等信息资源,则 DID 可提供返回 DID 主题本身的方法。本文档规定了 DID 语法、通用数据模型、核心属性、序列化表示、DID 操作,并解释了将 DID 解析为其所代表的资源的过程。

本文现状

本节介绍本文档出版时的状态。当前 W3C 出版物和本技术报告最新修订版的列表可在 https://www.w3.org/TR/ 的 W3C 技术报告索引中找到。

此版本的 DID 核心标准(1.1 版)是试验性的。请勿实施。如果要实施 DID,请使用当前的 1.0 版标准: Decentralized Identifiers (DIDs) v1.0.

本文档由 Decentralized Identifier Working Group 作为编辑草案发布。

作为编辑草案发布并不意味着得到 W3C 及其成员的认可。

本文件为草案,可能随时被其他文件更新、取代或废止。除正在进行的工作外,不宜引用本文件。

本文档由一个根据 W3C 专利政策运作的小组编写。W3C 保留一份公开清单,记录与该小组交付成果相关的任何专利披露;该页面

还包括披露专利的说明。如果个人实际知晓一项专利,并认为该专利包含必要权利要求,则必须根据 W3C 专利政策第 6 节披露该信息。

本文件受 2023 年 11 月 3 日 W3C 流程文件管辖。

1. 导言

本节为非规范性内容。

作为个人和组织,我们中的许多人都在各种场合使用全球唯一标识符。它们可用作通信地址(电话号码、电子邮件地址、社交媒体上的用户名)、身份证号码(护照、驾照、纳税 ID、医疗保险)和产品标识符(序列号、条形码、RFIDs)。URIs(统一资源标识符)用于网络资源,您在浏览器中浏览的每个网页都有一个全球唯一的 URL(统一资源定位符 Uniform Resource Locator)。

这些全球唯一标识符绝大多数不受我们控制。它们是由外部机构发布的,这些机构决定它们所指的是谁或什么,以及何时可以撤销。它们只在某些情况下有用,只被某些机构认可,而不是由我们选择。它们可能会随着组织的倒闭而消失或失效。它们可能泄露个人信息。在许多情况下,它们可能会被恶意的第三方以欺诈方式复制和利用,这就是通常所说的 “身份盗窃”。

本规范定义的去中心化标识符(DID)是一种新型的全球唯一标识符。其目的是让个人和组织能够使用他们信任的系统生成自己的标识符。这些新标识符使实体能够通过使用数字签名等加密证明进行验证,从而证明对标识符的控制权。

由于去中心化标识符的生成和声明是由实体控制的,每个实体都可以根据需要拥有尽可能多的去中心化标识符,以保持其所需的身份、角色和互动的分离。这些标识符的使用范围可以根据不同的情况进行适当调整。它们支持与其他人、机构或系统的交互,这些交互要求实体识别自己或自己控制的事物,同时提供对个人隐私数据披露程度的控制,而所有这些都不依赖于中央机构来保证标识符的持续存在。DID 用例文档 [DID-USE-CASES] 对这些想法进行了探讨。

本规范并不预设任何特定的技术或加密技术来支持 DID 的生成、持久性、解析或解释。例如,实施者可以根据在联合或中心化身份管理系统中注册的标识符创建去中心化标识符。事实上,几乎所有类型的标识符系统都可以增加对 DID 的支持。这就在中心化、联合式和去中心化标识符之间架起了一座互操作性桥梁。这也使实施者能够设计特定类型的 DID,以便与他们信任的计算基础设施(如分布式账本、去中心化文件系统、分布式数据库和点对点网络)协同工作。

本规范适用于:

  • 希望了解作为去中心化标识符基础的核心架构原则的任何人;
  • 希望生产和使用去中心化标识符及其相关数据格式的软件开发人员;
  • 希望了解如何在其软件和硬件系统中使用去中心化标识符的系统集成商;
  • 希望创建符合本文档所述生态系统的新 DID 基础设施(称为 DID 方法)的标准作者。

除本标准外,读者可能会发现去中心化标识符的用例和要求 [DID-USE-CASES] 文档也很有用。

1.1 一个简单的例子

本节为非规范性内容。

DID 是一个简单的文本字符串,由三部分组成:

1)DID URI 方案标识符;(did URI scheme identifier)

2)DID 方法标识符;(DID method)

3)DID 方法特定标识符。(DID method-specific identifier)

在这里插入图片描述
上面的 DID 示例解析为一个 DID 文档。DID 文档包含与 DID 相关的信息,如对 DID 控制器进行加密验证的方法。

示例 1: 一个简单的DID文档

{
  "@context": [
    "https://www.w3.org/ns/did/v1",
    "https://w3id.org/security/suites/ed25519-2020/v1"
  ],
  "id": "did:example:123456789abcdefghi",
  "authentication": [{
    // used to authenticate as did:...fghi
    "id": "did:example:123456789abcdefghi#keys-1",
    "type": "Ed25519VerificationKey2020",
    "controller": "did:example:123456789abcdefghi",
    "publicKeyMultibase": "z6MkmM42vxfqZQsv4ehtTjFFxQ4sQKS2w6WR7emozFAn5cxu"
  }]
}

1.2 设计目标

本节为非规范性内容。

去中心化标识符是更大系统的一个组成部分,如可验证凭证生态系统 [VC-DATA-MODEL],这影响了本规范的设计目标。这里总结了去中心化标识符的设计目标。

目标描述
去中心化在标识符管理(包括全球唯一标识符、公共验证密钥、服务和其他信息的注册)中消除对中心化机构或单点故障的要求。
控制权赋予实体(包括人类和非人类实体)直接控制其数字标识符的权力,而无需依赖外部机构。
隐私使实体能够控制其信息的隐私,包括最小化、选择性和渐进式地披露属性或其他数据。
安全性为请求方提供足够的安全性,使其能够依赖 DID 文档来获得所需的保证级别。
基于证明让 DID 控制者在与其他实体交互时提供加密证明。
可发现性使实体可以发现其他实体的 DID,以了解更多信息或与这些实体进行交互。
互操作性使用互操作性标准,使 DID 基础设施可以利用为实现互操作性而设计的现有工具和软件库。
可移植性与系统和网络无关,使实体能够在任何支持 DID 和 DID 方法的系统中使用其数字标识符。
简便性简化功能,使技术更易于理解、实施和部署。
可扩展性只要不严重妨碍互操作性、可移植性或简易性,应尽可能实现可扩展性。

1.3 架构概述

本节为非规范性内容。

本节提供去中心化标识符架构主要组件的基本概述。

在这里插入图片描述

DIDs 和 DID URLs
去中心化标识符或 DID 是由三部分组成的 URI:方案 did:(scheme did:)、方法标识符(method identifier)和 DID 方法(DID method)指定的唯一特定方法标识符。DID 可解析为 DID 文档(DID documents)。DID URL 扩展了基本 DID 的语法,纳入了路径、查询和片段等其他标准 URI 组件,用于定位特定资源–例如,DID 文档中的加密公钥或 DID 文档外部的资源。这些概念将在3.1 DID 语法3.2 DID URL 语法中详细阐述。

DID 主题
DID 主题顾名思义就是 DID 所标识的实体。DID 主题也可以是 DID 控制器。任何东西都可以是 DID 的主题:人、团体、组织、事物或概念。5.1.1 DID 主题对此有进一步定义。

DID 控制者
DID 控制者是指有能力(如 DID 方法所定义)对 DID 文档进行更改的实体(个人、组织或自主软件)。这种能力通常由代表控制者的软件对一组加密密钥的控制来实现,但也可能通过其他机制来实现。请注意,一个 DID 可能有不止一个控制器,而 DID 主题可以是 DID 控制器,也可以是其中之一。这一概念在 5.1.2 DID 控制器中有所阐述。

可验证的数据注册
为了能解析 DID 文档,DID 通常会记录在某种底层系统或网络中。无论使用何种特定技术,任何支持记录 DID 并返回生成 DID 文档所需数据的系统都称为可验证数据注册中心。这方面的例子包括分布式分类账、去中心化文件系统、各种数据库、点对点网络以及其他形式的可信数据存储。这一概念将在8. 方法中进一步阐述。

DID 文档
DID 文档包含与 DID 相关的信息。它们通常表达与 DID 主题交互相关的验证方法(如加密公钥)和服务。DID 文档支持的通用属性在5.核心属性中。DID 文档可序列化为字节流(见 6.表示法)。DID 文档中的属性可根据 8.方法

DID 方法
DID 方法是创建、解析、更新和停用特定类型 DID 及其关联 DID 文档的机制。DID 方法使用单独的 DID 方法规范来定义,如8. 方法中的定义。

DID 解析器和 DID 解析
DID 解析器是一个系统组件,它将 DID 作为输入,并将符合要求的 DID 文档作为输出。这一过程称为 DID 解析。解析特定类型 DID 的步骤由相关 DID 方法规范定义。DID 解析过程详见 7. 解析

DID URL 解除引用器和 DID URL 解除引用
DID URL 解除引用器是一个将 DID URL 作为输入并将资源作为输出的系统组件。这一过程称为 DID URL 解除引用。7.2 DID URL 解除引用中详细介绍了 DID URL 解除引用的过程。

1.4 一致性

除标注为非规范性的部分外,本规范中的所有编写指南、图表、示例和注释都是非规范性的。本规范中的其他内容均为规范性内容。

本文档中的关键词 MAY、MUST、MUST NOT、OPTIONAL、RECOMMENDED、REQUIRED、SHOULD 和 SHOULD NOT,当且仅当它们以大写字母出现时,应按照 BCP 14 [RFC2119] [RFC8174] 中的描述进行解释,如此处所示。

本文档包含包含 JSON 和 JSON-LD 内容的示例。其中一些示例包含无效字符,例如内联注释 (//) 和使用省略号(…)来表示对示例没有什么价值的信息。如果实施者希望将这些信息用作有效的 JSON 或 JSON-LD,请务必删除这些内容。

某些示例包含本规范未定义的术语(包括属性名称和属性值)。这些术语用注释(//外部(属性名|值))表示。这些术语在 DID 文档中使用时,应在 DID 规范注册表 [DID-SPEC-REGISTRIES] 中注册,并链接到正式定义和 JSON-LD 上下文。

测试DID 和 DID 文档实现的互操作性是通过评估创建和解析符合本规范的 DID 和 DID 文档的能力。DID 和 DID 文档生产者和消费者的互操作性是通过确保 DID 和 DID 文档符合规范来实现的。DID 方法规范的互操作性参考每个 DID 方法规范中的具体细节。例如,像网络浏览器不需要实现所有已知的 URI 方案一样,与 DID 兼容的软件也不需要实现所有已知的 DID 方法。但是,特定 DID 方法的所有实现都应具有互操作性。

符合要求的 DID 是3.标识符 中规定的规则在符合该节中的相关规范声明下的具体实现。

符合要求的 DID 文档是本规范中描述的数据模型在符合 4. 数据模型5. 核心属性 下的实现。符合要求的文档的序列化格式是确定的、双向的和无损的,如 6. 表述

符合规范的生产者是以软件和/或硬件形式实现的任何算法,用于在符合 6.表述 中的相关规范声明下生成符合规范的 DID 或符合标准的 DID 文档。

符合标准的消费者是指作为软件和/或硬件实现的任何算法,它消费符合标准的 DID 或符合标准的 DID 文档,并遵守 6.表述 中的相关规范声明。

符合标准的 DID 解析器是指在符合 7.1 DID 解析中的相关规范声明下任何以软件和/或硬件形式实现的算法。

符合要求的 DID URL 解除器是指以软件和/或硬件形式实现的、符合 7.2 DID URL 解除中相关规范声明的任何算法。

符合标准的 DID 方法是指符合 8.方法中相关规范声明的任何规范。

### LaTeX 导言区的使用方法及常见配置 #### 1. 导言区概述 LaTeX 文档通常分为两个主要部分:导言正文区。导言区位于 `\documentclass{}` 命令之后,`\begin{document}` 命令之前[^1]。这一区域用于设置全局参数、加载宏包以及其他预处理指令。 #### 2. 加载宏包 为了扩展 LaTeX 功能,可以在导言区内通过 `\usepackage{}` 来引入各种宏包。例如: ```latex \usepackage{amsmath} % 数学环境增强 \usepackage{graphicx} % 插入图形的支持 \usepackage{xcolor} % 颜色控制 ``` 这些宏包能够提供额外的功能或改进现有功能,使得文档更加美观实用[^4]。 #### 3. 自定义命令与环境 用户还可以在导言区创建自己的命令或者重定义已有命令来简化输入过程。比如定义一个新的定理样式: ```latex \newtheorem{definition}{Definition} ``` 这将在正文中允许使用 `definition` 环境来编写定义内容。 #### 4. 页面布局调整 对于页面尺寸、页边距等细节也可以在此处设定。常见的做法是利用 geometry 宏包来进行微调: ```latex \usepackage[a4paper, margin=1in]{geometry} ``` 上述代码指定了纸张大小为 A4 并设置了四周留白宽度均为一英寸。 #### 5. 字体选择与其他个性化选项 除了基本结构外,在导言区还经常涉及字体的选择其他一些个性化的设置。XeLaTeX 编译引擎特别适合用来处理多语言文本以及特殊字符集的情况;此时可以借助 fontspec 宏包轻松指定系统中的任意 TrueType 或 OpenType 字体文件作为正文显示字体[^3]。 ```latex % 如果使用 XeLaTeX 编译,则需加入此行以启用 TTF/OTF 支持 \usepackage{fontspec} % 设定默认英文字体为 Times New Roman \setmainfont{Times New Roman} ``` 综上所述,合理运用好导言区可以帮助作者更高效地完成高质量排版工作,同时也能让整个写作流程变得更加顺畅有序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值