DID 是 W3C 的一个公开标准,各个厂商都基于这套标准开发了自己的 DID 系统。其中比较知名的一个就是微软公司的去中心化身份系统,口号是”拥有并控制你的身份“。那么微软公司的思路究竟有何特殊之处呢?技术上的强项又有哪些方面?
为何需要去中心化的身份?
为何需要去中心化的身份呢?
人类正在跨入更深度的数字化时代。我们的数字生活和肉身生活都逐渐的和各个应用绑定到了一起,数字时代的到来让人们可以很容易的跟成百上千的公司和他人进行交互,人们的生产生活的效率是以前不能够想象的。
但是伴随而来的问题是,我们的数据会被各个应用频繁的泄露出去。带来的有时候仅仅是生活上的不便,但是也可能是财产上的损失和各种危险。微软认为,每个人都应该拥有自己控制的一个数字身份,从而有能力保证自己的数据隐私。
现在一个不合理的事实是,用户并不拥有自己的数据,或者说数字身份,身份是被很多个公司持有。现在每天我们用各种应用,首先弹出的就是隐私条款,让我们签署同意,否则就无法使用。于是,各个应用就拥有了对我们的数据的不同程度的使用权。有些应用甚至用户连名字都看不到或者记不住,很多时候,这样带来的结果是我们不想看到的。
但是,微软会基于 W3C 的 DID 标准,联合 DID 社区的其他成员一起,开发一套去中心化的身份系统,这样就可以把用户的数据所有权还给用户自己。让我们每天的数字生活变得更加安全和隐私。去中心化的数字身份,让每个人,每个设备,每个组织都可以拥有自己在数字世界中的唯一标识。同时这个标识和身份是不被任何其他人控制的。用户可以自由的决定,我要跟谁分享我的数据,什么时候结束分享,分享哪些内容。
去中心化身份架构
今天,我的数字身份,或者说是“数字形式的我”,并不是被我自己所有,而是分割到了我常用的各个 App 之中了。谷歌,Facebook ,Twitter ,这些应用都拥有部分的”我“。去中心化身份项目要达成的目标是通过把现有的技术和标准组合到一起。让用户真正享有自己身份的所有权。
整个技术基础设施分成七个组件:
- 身份标识。基于 DID 标准的身份标识。
- 区块链。DID 是要根植于区块链来确保持久的安全性。微软不会自己发布区块链,而是会同时支持包括比特币在内的多条已有的区块链。
- DID 用户代理。微软会发布一个类似加密货币钱包的 App ,这个就是所谓的 DID 用户代理。主要的作用是帮助用户去创建自己的 DID ,管理数据和权限,签署验证连接到本 DID 的可验证证书( VC )。
- DIF 通用解析器。一个服务器,用来辅助查找世界上的所有的 DID ,并进行解析。
- DIF 身份 Hub 。由云和用户终端设备共同组成的存放用户身份的数据库。
- DID 证明。使用 DID 签署的可验证证书,用来在不同用户的系统之间达成信任。
- 去中心化 App 和服务。基于 DID 和 DIF 身份 Hub 运行的 App 。
这就是微软去中心身份系统的基本架构了。
一个实例
下面是微软官方的文档上给出的一个实例。Alice 是一个大学毕业生,想跟学校申请一个基于自己 DID 的毕业证。证书要可以给就业单位查看,要可以被就业单位验证里面内容的有效性,例如毕业证是哪个学校发的,何时发的等等。
整个过程需要经历这几个步骤:
- 大学颁发一个用自己的 DID 给 Alice 签发的毕业证
- Alice 把毕业证存在自己的私人数据库中
- 用人单位拿到毕业证,可以去验证里面内容的有效性
这就是去中心化身份系统的一个典型的使用场景了,可以看到基于 DID 的身份是第一层,第二层是基于 DID 的各种可验证声明,或者叫可验证证书。可验证证书(毕业证)可以帮助交互双方(这里就是 Alice 和用人单位)来建立某种信任,但是过程中也需要第三方(学校)的参与。
总结
总之,微软的系统是对 DID 标准的一个具体实现。比较大的特点是:首先,没有自己的区块链,支持多条已有的区块链:第二,技术设施比较全面,如前所述有七个组件;第三,有非常完善的代码支持,可以在 Github 上找到很多源码和开发文档。