作者: 冒志鸿

编辑: 陈俊

5 月 13 日,微软发布了一个名为 ION(Identity Overlay Network,身份覆盖网络)的去中心化身份(DID)网络的早期预览版,任何人都可以使用这个运行在比特币区块链之上的专用公网来创建去中心化身份标识(Decentralized Indentifiers, DIDs)、管理其公钥基础设施(PKI)状态,初步实现了继承比特币完全去中心化属性、又能够满足 DID 管理所需的规模性能要求的设计目的。

尽管微软的 ION 并不是业界最早的去中心化身份产品,其参考节点的代码仍在开发之中,需要更多协议实现才能在今年晚些时候在比特币主网正式运行,但微软此举可能会影响整个科技行业,因为很多企业的信息基础设施都在使用微软的产品,如果把 DID 功能集成到微软的任何一款基础设施产品中,对去中心化身份技术的普及作用,很有可能像当年 Windows 95 操作系统对促进大众广泛使用互联网一样。在此之前,万维网联盟(W3C)已经开始了去中心化 ID(DID)的规范制定,业内的一些先锋,如 ArcBlock,uPort,Civic,Sovrin 等都已经围绕 W3C DID 规范的草案各自推出了 DID 方案。

虽然有很多第三方围绕 DID 展开研发,每家的方案也各有异同。但是如果未来 W3C DID 的规范形成标准,那就意味着即使这些不同厂商的 DID 互相之间是“互联互通”的,而不是像过去的 ID 方案各不相让、互相竞争,这就为全世界的用户带来一个前所未有的福音。例如用户在 ArcBlock 上的 DID,前缀为 did:abt,如果微软的服务遵循标准,那么 ArcBlock 平台上的任何用户可以无需额外的注册登记,就可以直接访问微软的服务,并且可以把原来的在 ArcBlock 平台上取得基于 DID 的如证书、票据等可验证声明(Verifiable Claims)直接用于微软的系统,反之亦然。 当这样的愿景实现的时候,将真正出现“天下大同”的全新局面。

01 图:W3C 目前的的 DID 提供者列表,名单还在不断增加,越来越多的厂商正在加入 W3C DID 阵营

微软在 2018 年 2 月宣布将从去中心化身份作为公司的区块链战略切入点,并在 2018 年 10 月发表《去中心化身份》白皮书。微软在白皮书表述的认知与业界大体一致:数字化生活与物理世界不断交融的今天,每个人都需要一个自己拥有控制的、去中心化的数字身份,并由自己拥有的、能够开展安全私密交互的身份标识符(identifier)支持。这一自主拥有的身份必须无缝融入人们的生活,并将他们置于数字世界中活动的中心。

微软也透露了其涉足去中心化身份领域的目的是进一步加强微软在云计算市场的地位,它希望升级其现有的云身份系统,让任何个人组织和设备能够充分控制自己的数字身份和数据——分享什么、与谁分享,以及在必要时收回,完全为己掌控。个人需要一个安全、加密的数字中心,在这里他们可以存储自己的身份数据,并轻松控制对其的访问,而不是向无数的互联网应用和服务授予广泛的许可,并在众多提供商之间传播他们的身份数据。和微软的思路相比, 目前已经成为 Hyperledger Indy 的项目 Soverin 是企业级方案的先行者,对于企业需要立刻部署基于开源技术的 DID 具有优势。而 ArcBlock 的 did:abt协议则和 ArcBlock 的区块链底层框架彻底打通,是业内第一个从底层自下而上支持 DID 的方案。

02 图:微软 DID 技术基础架构

微软在白皮书首度介绍了其 DID 的技术基础框架(见上图),由以下 7 个技术模块构成——

  1. W3C 去中心化身份标识(DIDs): 由用户独立于任何组织或政府创建、拥有和控制的身份标识。根据 W3C 制定的标注,DID 是全球惟一的标识符,与去中心化公钥基础设施(DPKI)元数据链接,元数据由包含公钥材料、身份验证描述符和服务端的 DID 文档组成。

  2. 去中心化系统(例如区块链和分布式账本): DID 的可行性最终需要建立在去中心化系统之上,区块链技术为此提供了 DPKI 所需的机制和功能。这也是区块链技术出现后,DID 才真正技术上变得可行的原因。

  3. DID 用户代理: 让真人用户能够使用去中心化身份的应用,有助于 DIDs 创建、数据和权限管理,以及签名验证 DID 相关的声明。

  4. 全局 DID 解析器: 利用一组 DID 驱动提供一个标准方法来跨越去中心化系统查找和解析 各种 DID 的实现。例如 did:abt 开头的 did,其中 abt 表明了这是 ArcBlock 提供的 DID,因此通过全局 DID 解析就能定位到 DID 的技术提供方。这是各家的 DID 可以互联互通的关键之一。

  5. 身份中心: 个人数据加密存储的可复制网格,由云和边缘实例(如移动电话、电脑或智能扬声器)组成,便于身份数据存储和身份交互。

  6. DID 认证: 基于 DID 的认证协议。这可能是 DID 技术落地的时候最先被最终用户感知的方式, 就是可以用 DID 来登陆各种支持 DID 的服务。

  7. 去中心化应用和服务: 与个人身份数据存储中心相结合的 DIDs,可以创建全新的应用和服务,它们在用户身份中心存储数据,并在受权范围内进行操作。

微软在白皮书中明确在去中心化系统方面与社区一起积极研发支持 DID 实现的区块链网络,并计划开发提供一个类似钱包的应用作为管理 DIDs 和相关数据的用户代理。迄今为止,市场上 ArcBlock 发布的 ABT Wallet,以及 Civic,uPort 都已经有此类产品。

白皮书发表半年之后,微软首先在 DID 网络模块交付 ION ,成为第一家在去中心化身份领域有实际技术产品落地的大企业。微软表示,为应对既满足 DID 交互所需性能和规模的需求,又保持其去中心化和自我拥有的特性以区别于现有的身份技术的挑战,它和去中心化身份基金会(Decentralized Identity Foundation,DIF)成员 ConsenSys、Transmute 开发了一种与区块链无关、专用于创建可规模化的 DID 网络的协议 Sidetree。

03 图:微软 ION 采用的 Sidetree 协议架构

ION 是基于开源协议 Sidetree 搭建的、运行于比特币之上的开放公网,大部分代码由 Sidetree 协议定义的通用组件构成。ION 由 Sidetree 核心逻辑模块、目标区块链的读/写适配器,以及可在节点之间复制数据的内容寻址存储协议组成。ION 可以使用单个链上交易在比特币上锚定数万个 DID/PKI 操作。交易用哈希编码,ION 节点使用哈希通过分布式存储协议 IPFS 获取、存储和复制与相关的 DID 操作批。节点按照一组特定的确定性规则处理这些批操作,这些规则使它们能够独立到达系统中身份标识的正确 PKI 状态。与虚拟货币资产不同,身份不能进行交换和交易,因此网络不需要单独的共识机制、主链或侧链。节点可以并行地获取、处理和组装 DID 状态,其聚合能力允许其以每秒数万次操作的速度运行。目前其他的 DID 实现和 ION 的思路主要的区别在于数据如何承载在区块链之上,例如 Hyperledger Indy (Sovrin)是一种称为“Public Permissioned Chain”的方法,需要使用其专门用于 ID 的区块链技术。 而 ArcBlock 的 DID 技术则是把 DID 的基础植入在其 Forge 开发框架和 SDK 之中,使得任何基于其框架的链和应用都具备支持 DID 的能力,在其链网 ABT Network 中有专门服务于 DID 的链。

总之, 作为全球 IT 界最大最成功的企业,微软支持 DID 对整个行业是一种推动,能率先支持行业的开放标准,并基于比特币网络上构建开源的 DID 技术,对微软而言是一种非常大的勇气,对互联网具有深远的意义。作为 DID 探索的先行者和创新者,ArcBlock 也将和微软在未来携手同行,进一步打造未来信息社会的基础架构。

原文链接: 冒志鸿:微软基于比特币网络构建 DID 体系,去中心化身份未来已来