概念
信息
在遵循 W3C 标准的同时,我们针对自身需求扩展了 Snowinning 协议。为了便于理解,我们建议你:
去中心化标识符 (DID)
W3C 对 DID 的定义是:
去中心化标识符是一种新型标识符,使得数字身份可验证且去中心化。DID 可以指向任何主体(例如,人、组织、物体、数据模型、抽象实体等),由 DID 的控制者确定。
如下图所示,DID 是一个简单的文本字符串,由三部分组成
- didURI 方案标识符
- DID 方法的标识符
- 特定于 DID 方法的标识符。
DID 与区块链地址一样,是自我生成和自我拥有的身份,通过特定算法序列派生出助记词来创建。
助记词、私钥和 DID 之间的关系可以简洁地描述如下:
助记词 -> 私钥 -> 公钥 -> 区块链地址或 DID
- 助记词是本地产生的随机生成的 12 个词的字符串,用算法生成私钥。
- 用户必须保密私钥和助记词。
- 为防止丢失并确保可以恢复,应离线备份助记词。
- 公钥、区块链地址和 DID 都是从私钥派生的。
- 由于可以从私钥派生公钥(反之则不行),因此公钥、区块链地址和 DID 可以安全地公开。
DID 注册表
一旦在本地生成了 DID,用户可以选择在称为 DID 注册表的指定位置注册其所有权。W3C 标准没有规定注册表的具体实现。
Snowinning 协议采用了智能合约 来促进这一过程,可以确保:
没有中心化的提供商或可信机构
高度抵抗各种形式的干预
身份可以被全球发现
发行者能够将关键元数据上传到注册表中,包括 DID、Terminus Name、RSA 公钥等内容。
鉴于元数据占用的存储空间很小且更新频率不高,现有主流区块链技术已足够应对这些需求。这种效率主要是因为在区块链上存储和访问少量数据的开销很低,变更很少,因此不会给系统带来负担。
信息
目前,智能合约部署在 OPTIMISTIC ROLLUPS 上。
值得注意的是,Web5 开发团队据报道已从使用 ION 作为其注册机制转向采用分布式哈希表 (DHT) 网络。
DHT 网络代表了一种相对于 Layer2 区块链解决方案更高程度的去中心化技术。然而,管理 DHT 网络的效率和稳定性带来了重大挑战。这些挑战源于维护一个大型、去中心化的网络的固有复杂性,其中数据分布在众多节点上,这可能会复杂化数据检索和完整性检查。
网络拓扑
利用 DID 和区块链智能合约(构成 DID 注册表),我们建立了一个去中心化的点对点网络,消除了对第三方信任的需求,并使任何两个实体之间可以直接交换信息。我们将使用 Alice 和 Bob 两个用户来说明这种网络拓扑,他们最初在区块链上注册了他们的 DID。
Alice 和 Bob 通过网络发送消息的过程如下:
- 当 Alice 想向 Bob 发送消息时,过程从她的终端设备开始,将消息转发到她的边缘服务器。
- 利用区块链,Alice 的边缘服务器确定 Bob 边缘服务器的位置,有效地使用区块链作为域名系统 (DNS) 来准确路由消息。
- Alice 的边缘服务器向 Bob 的边缘服务器发送消息。
- Bob 的边缘服务器在接收到消息后,通过验证区块链上的加密签名验证 Alice 消息的真实性,类似于证书颁发机构 (CA) 的角色。
- 验证后,消息从 Bob 的边缘服务器中继到他的终端设备。
可验证凭证
根据 W3C 的定义:
凭证是我们日常生活中的一部分;驾驶执照用来证明我们有能力驾驶机动车,大学学位可以用来证明我们的教育水平,政府颁发的护照使我们能够在国家之间旅行。此规范提供了一种在网上以加密安全、尊重隐私并可机器验证的方式表达这些凭证的机制。
DID 独立存在,代表物理和数字领域中的有形和无形实体。每个实体都与多个声明相关联,而支持这些声明的文档,无需参与方之间的相互信任,被称为可验证凭证 (VC)。
以 Alice 为例,她的学历构成一个声明。文凭作为凭证,证实了 Alice 的教育声明。这个文凭通过密码学方法进行验证,由 Alice 毕业的大学发行,并可以在面试过程中被潜在雇主检查。
以下是将文凭从简单的凭证转化为可验证凭证的过程:
此过程涉及 3 个角色:
发行者
通过对一个或多个主题断言声明,创建一个可验证的凭证,并将可验证的凭证传递给持有者,从而扮演的角色。
在上面的例子中,发行者是 Alice 所在的大学。
持有者
持有者拥有一个或多个可验证凭证。持有者还是向验证者提交证明以满足演示定义中描述的要求的实体。
在上面的例子中,持有者是 Alice。Alice 使用 TermiPass 管理她的可验证凭证 (VC)。
验证者
验证者定义他们从持有者那里需要什么证明(通过演示定义)以继续交互。
在上面的例子中,验证者是 Alice 去面试的公司。
验证过程涉及以下六个步骤的结构化序列:
- 发行者在 DID 注册表上注册其信息。
- 持有者向发行者提交验证请求,指出需要发行凭证。
- 发行者向持有者发行 VC,嵌入关于她教育资格的声明。
- 持有者在 TermiPass 中安全存储此 VC,确保将来验证时可用。
- 持有者发送一个封装 VC 的可验证演示 (VP) 给验证者,启动验证过程。
- 验证者通过 DID 注册表检查 VC 和 VP 的签名的真实性,确认所包含声明的有效性,从而完成验证。
重要的是要认识到,VC 不存储在区块链上。
声誉
在传统语境下,我们有多种声誉评估系统,例如:
- 在线评论平台,如 Yelp、IMDB 等。
- 财务评分系统,如 FICO Score,这类系统通过收集和汇总数据来形成易于理解的信用评级。
这些系统通常是集中管理的,例如餐馆和电影等实体通过用户评论(即声明)来获得评级,而这些评论又通过算法加工处理以确立信誉。消费者依据这些信誉评级来做出购买决策,并提供反馈。
然而,这些传统声誉评估系统的问题在于它们的数据和算法缺乏透明度,且无法被用户定制。
Snowinning 协议通过整合区块链技术,转变了这一模式:
- 原始数据收集:用户的评级和评论被直接记录在区块链上的智能合约中。
- 声誉处理:开发者可以直接访问这些数据,根据不同情况和需求制定声誉洞察。
- 声誉分发:这些洞察通过一个专门的市场协议分发,用户可以根据自己的需求选择信誉提供者。
这种方法使得每个用户都能根据自己的需求选择合适的声誉提供者,获得更全面的建议。
DID 元数据 vs. 可验证凭证 vs. 声誉
- DID 元数据存储在 DID 注册表上,包含实体关于自己的声明。
- 可验证凭证由一个实体发给另一个实体,通常包含客观数据,如年龄或学历。
- 声誉是对实体的主观评价的汇总,允许对潜在的不准确性进行详细解读。