理解去中心化身份 (DID 和 DIF)
 · 阅读需 17 分钟
什么是 DIF?
去中心化身份基金会 构建去中心化身份的生态系统,并确保所有参与者之间的互操作性。
为什么?……问题是什么?
身份问题
将身份与个人可识别信息 (PII) 解耦的问题。身份由一组深具个人性的定义我们数据构成,您的身份只应对您自己负责。
具体来说,面临的挑战是
- 将身份与身份提供者解耦。 DIDs 应该是自我主权的,不应由中央权威拥有或控制。
 - 将身份查找与集中系统解耦。 DIDs 和数据应该能够在去中心化系统中被找到,以便没有中央所有者可以做恶。
 - 将身份数据与不明或未知存储解耦。 DIDs 应该能够精确控制与他人分享什么或不分享什么。
 
统一碎片化的格局
DIF 是一个组织,旨在统一碎片化的格局,共同解决 DID 问题并建立一个作为行业标准的生态系统。
他们如何组织这些努力?
- 设计规范
 - 实施
 - 对齐行业参与者
 
人员和组织
工作组
- 身份、名称、发现
 - 存储和计算
 - 声明和凭证
 
成员
- Blockstack
 - Microsoft / IBM
 - HyperLedger
 - RSA
 - Ontology
 - Civic
 - iota
 - …
 
生态系统

DID
身份是
- 全球唯一的
 - 可解析的,且
 - 具有加密验证的。
 
DID 格式:URN

DID 方法(在下面进一步解释)定义了 DIDs 如何与特定区块链一起工作。
DID 文档
- DID 基础设施 = <DID, DID 文档> 的全球键值数据库
 - DID 文档 = 用于验证实体的公钥、认证协议和服务端点,并解释如何使用它。它可能包含三项内容:
- 证明目的
 - 验证方法
 - 服务端点
 
 
DID 如何保护隐私?
- 成对伪匿名的 DIDs
 - 链外私有数据
 - 选择性披露
 
DID 方法规范 (DID <> 区块链)
定义如何在特定区块链上创建、解析和 管理 (CRUD) DID 和 DID 文档。
如何加入 DID 方法注册?
https://w3c-ccg.github.io/did-method-registry/#the-registry
示例
通过示例学习:Blockstack DID 方法
- Blockstack 如何利用 DID?
 - 如何创建一个 blockstack DID?Blockstack 如何作为身份提供者?
 - 如何解析一个 DID?
 
Blockstack 命名服务 (BNS)
- 命名层 = 用户名 <> 公钥 & 指向存储的指针
 - BNS 是区块链无关的。 从 namecoint 迁移到比特币。
 - ==一个 Blockstack DID 被定义为指向由一个地址注册的第 n 个名称==。