2021年618京享红包 - 618大促主会场
九阳 Joyoung电磁炉 电陶炉 2200W大功率 家用火锅套装 旋转控温 红外光波加热 H22-x3 赠烤盘
凯迪仕电子锁618狂欢购
有健康 更热爱
美丽雅品牌会员周

区块链身份协议Sidetree

不可碰触的伤 1年前   阅读数 165 0

身份(Identity)管理是区块链应用的核心元素。在一个不可信、匿名的分布计算生态中,要实现去中心化身份管理并不是一件容易的事情。Sidetree是一个基于现有区块链平台的第二层(L2s)协议,专门用于去中心化身份管理。微软最新开源的ION项目,就是Sidetree协议基于比特币区块链的一个实现。本文将分6个部分介绍Sidetree去中心化身份管理协议:DID的核心要素、Sidetree协议的起源、概述、工作原理、设计约束与实现进展。

1、去中心化身份管理的核心要素

去中心化身份管理的挑战并不是单一模块的问题。在去中心化应用(DApp)中,一个身份的生命周期中,有一些需要考虑的关键因素:

did key elements

  • 表示:用来描述主体身份的可迁移表示
  • 持久化:用来存储、提取主体身份的机制,同时还需要保持其隐私
  • 隐私:在去中心化账本中保护主体身份的模型
  • 断言: 确定主体身份的特定语句
  • 解析:解析、验证特定主体身份的机制

2、Sidetree协议的起源

2017年,去中心化身份组织(DIF)的一些成员开始讨论如何在全球级别实现去中心化身份系统。对于大多数去中心化身份系统而言,最下面的一层是区块链/账本,被称为第一层或L1,用来以某种形式支持去中心化的公钥体系(Decentralized Public Key Infrastructure)以及W3C去中心化身份(DIDs:Decentralized Identifiers)。

区块链的的可伸缩性不是小问题,但是目前已经存在一个有前途的思路来解决基于区块链的系统的伸缩性问题:第二层协议或L2s,例如:状态通道、侧链和比特币闪电网络。L2s通过确定性(Deterministic)处理与交易方案来实现可伸缩性,这些交易是在区块链之外完成的,只需要在与所依托的底层区块链交互时进行极少的共识处理。

要实现去中心化身份管理,就需要一个大规模运行的系统,同时具备一些核心特性,例如确定性状态解析以及差分持久化。在过去的18个月中,IDF成员间的思想交流最终形成了一个完整的第二层协议:Sidetree

区块链开发课程精选

3、Sidetree协议概述

Sidetree协议本身并不是去中心化身份(DID)方法,它由一组代码层级的组件构成,包括确定性处理逻辑、内容寻址存储抽象以及可以部署到第一层的去中心化账本(例如:公有链)上的状态验证过程,从而实现无需许可的、第二层DID网络。通过使用特定链相关的适配器,Sidetree协议可以用来在不同的链上创建不同的第二层去中心化身份网络,这些特定链的适配器负责实现与底层区块链的读写交互。

无论底层采用哪种区块链,Sidetree协议的几乎所有实现代码都保持一致,这使得它可以适用于多种区块链平台。下面是Sidetree系统的总体结构,以比特币作为目标区块链,不过如前所述,这也适用于其他区块链:

sidetree arch

Sidetree协议基于一组模块化组件实现,最重要的包括:

  • Sidetree内核 / Sidetree Core : Sidetree内核是主要的逻辑模块,它监听来自底层区块链的交易输入,并使用CAS模块(下面介绍)提取其中的DID操作,然后组合/验证每个DID的状态。

  • 内容寻址存储 / Content Address Storage : CAS(Content Address Storage)模块是一个基于哈希的存储接口,网络中的第二层节点使用该接口来交换彼此识别的DID操作批次,以便进行本地持久化和网络传播。该接口抽象自所使用的特定CAS协议,但是值得指出的是,DIF成员已经为此功能选择了IPFS。

  • 区块链/账本适配器 / Blockchain/Ledger Adapter : 适配器中包含了任何需要读写特定区块链的代码,以便解除Sidetree主体对特定区块链的依赖。不同 的底层链需要分别实现不同的适配器。

4、Sidetree协议工作原理

基于Sidetree的L2节点按如下步骤来创建、读取和处理DID操作:

  1. 要将批操作写入基于Sidetree的L2网络的节点首先汇集尽可能多的DID/DPKI操作(基于确定性协议规则确定的上限),然后创建一个L1链上交易并在交易中嵌入该操作批次的哈希。

  2. DID操作的源数据由发起节点本地存储,并推送到IPFS网络。当其他节点获知嵌入Sidetree操作的底层链交易后,这些节点将向原始节点或其他IPFS节点请求该批次数据。

  3. 当一个节点收到某个批次后,它会将元数据固定到本地,然后Sidetree核心逻辑模块解压批次数据来解析并验证其中的每个操作。目标链的区块/交易体系是Sidetree协议唯一需要的共识机制,不需要额外的区块链、侧链或咨询权威单元来让网络中的DID达成正确的PKI状态。

下面是关于批次与操作嵌入目标区块链的更详细的示意图:

embed

5、Sidetree协议的设计约束

Sidetree协议在设计时做出了一些关键的假设:

  1. DIDs不可转让,协议没有提供一个逻辑实体转让、购买或获取其他逻辑实体的DID的途径。这对于DID/DPKI用例是可行的,但是不适用于资金的双花(double spend )。
  2. 可以延迟揭示嵌入的批次数据,基于确定性规则集进行处理。
  3. DID状态彼此独立,依次一个DID的持有者智能影响它自己的DID的状态。

6、Sidetree协议的实现进展

目前在DIF成员中,有两个团队分别使用Sidetree协议为比特币和以太坊开发L2层的去中心化身份网络。微软主要聚焦于比特币网络,而Transmute Industries则与ConsenSys合作在开发以太坊版本。你可以在这里查看微软ION项目的实现代码。

 


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: