第二部分介绍了身份标准、身份基础设施应该具备的能力,以及实现路径。
总结:强大灵活的身份系统应该具备:DID作为互操作身份的要求;具备5种能力;身份图谱功能。
原文链接:https://medium.com/3box/demystifying-digital-identity-2-75dd7dfee2f2
以下是翻译,enjoy~
本系列共分两部分,旨在帮助您分析数字应用程序、服务或产品的身份,特别是对于分布式架构和可互操作的web。其目的是将一个模糊的主题具体化,将一个大问题具体化,将一个困难而空洞问题简单化分析。
第一部分分析了身份在数字产品中的作用。我们讨论了身份的社会和技术定义,它应该给你的产品带来的价值,以及不完整的身份解决方案存在的缺陷。
一个强大而灵活的身份标准
良好的身份基础设施应该让您能够轻松地管理产品、服务或生态系统中所有与用户相关的功能。常见的解决方法(在第1部分中概述)通常做不到这一点。他们通常做不到保护隐私。他们太脆弱,不宜扩充或更改。而且,即使是最好的实现也还没有合适的基础设施来支持互操作性,以便捷地扩展新功能和使用场景。一个好的身份基础设施应该是使用简单、并且很容易适应未来的产品需求和新机遇的。
数字身份的通用标准能为广泛的身份相关需求提供简单和经过检验的解决方案,以保证弹性和可信性,并开启强大的互操作性和机遇。它可以让任何应用程序能够按照用户需要的方式管理用户,同时与其他应用程序、服务和网络“使用同一种语言”,因为用户可能会在未来用到或向这些应用程序、服务和网络提供服务。
这篇文章分享了一个明确的、具体的提纲:
- 互操作身份的最低要求:DIDs
- 一个强大的身份系统需要的5种能力
- 一个灵活的身份基础设施的图形模型
- 实际实现方法,包括您现在可以采取的简单步骤
身份的初始标准
身份系统将许多相关功能联系在一起。这些功能与应用程序或网络交互的用户和其他实体的标识符锚定。这些标识符的标准模型可以确保即使用户、数据、功能和应用程序具有不同的启动条件或实现方式,它们也可以一起工作。这种分布式标准是实现灵活的身份系统的必要前提。
DIDs:互操作性的最低要求
来自W3C的DID规范是被广泛接受的分布式标识符标准。它确保身份识别系统可以跨许多不同的网络和环境进行互操作。DIDs为全局唯一标识符提供了一种通用格式,该标识是对任何单个密钥对的抽象化。
// Example of a 3ID DID method
did:3:bafyreib5c5gwpwzxl4pcrl7qw4j6lvgg7ug4zdflnhg2eqvuiw7kv7fng4
因此,与密钥对不同,DIDs可以:
- 支持多个密钥;
- 在添加、删除或旋转密钥时,能保持标识一致性;
- 在不同的网络之间解析和通信;
- 控制一个DID文档,这个DID文档包含元数据、服务端点或其他与DID有关的信息。
DID规范最初是由Respect Network(后来被Evernym收购)创建的,并在重启Web信任大会上展示。后来,它转到了去分布式身份基金会(DIF),该基金会由uPort、微软、Sovrin、Blockstack和许多其他对身份和Web3有深入研究的公司联合成立。这些组织有不同的需求和实现方法,但他们都致力于实现一个共同的愿景:共享和互操作的自我主权身份模型。创建DID规范是为了保证成员之间的工作相互完善,让任何使用DIDs的应用程序都可以访问整个用户和功能的生态系统,不会被局限在单一的方法中。
任何想要真正拥有用户基础的产品、服务或平台,以及想要参与全球Web3运动并从中受益的人都应该使用DIDs。DIDs是任何应用程序、服务或平台建设的必要的最小身份需求,不论这些应用程序、服务或平台希望以何种方式为用户提供服务,这些服务不局限于非个人的、链上的买卖或转让交易。有许多很容易实现。
光有DIDs是不够的
使用DID作为身份意味着将来可以实现互操作性。它是从一开始就应该内置的基本部分。然而,仅仅使用DIDs并不能提供跨网络的互操作性,也无法使用正在演进并将持续演进的整套用于用户管理和身份有关的工具和模型。
DIDs作为用户的唯一标识符,具有提供弹性、一致性和可互操作性所需的最低限度的信息和功能。但这还不够,因为在你的应用程序中使用的许多其他功能和特性可能有他们自己的“身份”需求,而不仅仅是一个基本的用户ID。例如:
- 需要加密访问控制的数据库要具备它们自己的密钥和密钥管理
- DAOs和组织需要有用户不同程度的权限代理和成员关系链接
- 不同的钱包、通知服务和验证服务将有自己的设计
- 用户将带来各种链接帐户、资产类型和偏好
有了一个好的去中心化身份系统,所有这些功能应该无缝地结合在一起。围绕用户标识聚合用户管理相关功能,将身份转换为用于整个用户功能套件的单一API。每个功能都可以简单地作为一个模块插入,与其他功能对话。
例如,您不希望按照目前管理用户表和一次性集成的方式,将用户id、通知服务、配置文件数据和加密帐户一个一个地联系在一起。使用这种方法,随着新能力线性增长,时间和复杂性将迅速增长,用于管理的集成和映射将呈几何增长(梅特卡夫定律)。相反,如果将每个新特性或功能与用户的DID绑定在一起,将方便您随时进行升级、替换或配置。
一个完整的身份标准的蓝图
DIDs是全局可用和互操作标识符的基础,但真正的标识系统和基础设施要做的远不止这些。
完整的标识系统构建在DIDs的起点之上,使标识成为应用程序的所有用户相关功能的简单、灵活的集成点。
一个实用的、无缝的身份系统应该给DID提供管理、路由和控制有关用户的灵活而强大的信息图表和服务的能力——不论这些信息最初是在哪里生成的,以及当前存储或托管在哪里。它基本上不需要用户做任何操作,需要开发者做的工作也很少。
可互操作的身份标准的五个重要特性
要提供真正的去中心化身份基础设施,并以一种实际的方式来满足您作为开发者的需要,除了DIDs和专有身份系统之外,还需要5个核心元素:
1. 灵活、标准、DID不可知模型(多网络→一个身份)
身份不仅仅是DIDs。DIDs的作用是消除与身份提供者的锁定关系,然而大多数基于DIDs的身份系统固执己见,要求用户使用他们特定的DID方法。一个强大的身份基础设施提供了一个完整的基于身份的能力模型,该模型与DID无关、灵活、无需许可,并且可以跨万维网工作。这使得它能够在未来支持用户、组织、物联网设备以及几乎所有来自任何地方的使用场景。
2. 与链无关的多密钥身份验证(多个密钥→一个身份)
为了使DID及其关联信息能够跨网络、钱包和应用程序进行互操作,它们需要支持任何密钥对的灵活的多密钥身份验证系统。密钥链模型提供了跨链的互操作性,同时也为DID增加了弹性,因为用户失去对DID的控制的唯一途径是他们同时失去对所有钱包钥匙的控制。
3.共享帐户元数据(例如,可移植的配置文件和信誉)
要让DIDs在应用程序环境中可用,它们需要支持存储各种公共帐户元数据,如配置文件、社会关系或可验证的声明。身份基础设施应该为存储此类信息提供一个标准框架,该框架还可以扩展为支持任何其他类型的帐户元数据。
鼓励标准对所有人都有用,但在需要多样化的地方不强制标准化; 它使扩展程序、分支和版本易于发现和链接。
4. 以用户为中心的路由到外部资源(例如,丰富的数据生态系统)
大多数从属于DID的数据不是账户元数据,而是用户与应用程序交互时产生的数据,这些应用程序可能存储在互联网上的任何地方,从服务器到区块链。这些数据可以是基本的浏览数据、用户数据、内容、关于用户的凭证、信誉声明或其他特定游戏或平台的数据。这些信息是身份的重要部分,为了使这些数据在应用程序之间可用,需要将其与DID关联,以便任何应用程序都能发现它,不论存在何处以及如何存储。
5. 链上帐户映射(例如NFT或合约所有权)
由于目前大多数建立在区块链上的分布式应用程序都要求用户使用位于该特定链上的密钥对帐户与应用程序交互,因此应用程序需要一种方法来查找用户的区块链帐户并将其解析为DID。这允许应用程序查询关于用户帐户的公共元数据,该帐户实际上与一个DID相关联。帐户链接应该提供这些链上到DID的映射,可以为帐户或任何区块链或网络上的合约工作。
一个动态的、可互操作的身份图
总之,这五种能力需要基础设施,让应用程序、服务、网络和用户灵活地将新的身份相关信息联系在一起。我们需要的不是单一的整体解决方案,而是可靠的分布式中间件,用于以用户为中心的链接和资源路由。
最好的方法是通过一组链接文档来实现这一点,这些文档一起将完整的身份表示为信息图谱。对于任何应用程序、服务或用户,这都是一个全球可用的、分布式的、抗审查的、无需许可的图表。
这张图扩展了标准而灵活的帐户模型、便携式元数据存储、多密钥和隐私保护认证,以及与互联网上任何地方的外部资源的链接。它使DIDs能够链接到外部资源(如应用程序数据)和受信任的服务(如通知或备份),为与身份相关的各种资源提供了一个简单的以用户为中心的路由系统。同样的系统可以用于管理访问控制、隐私策略或与这些外链资源相关的从策略管理。
有了灵活的身份图谱,用户就可以控制和隐私地管理他们的身份和数据,而应用程序就可以使用丰富的身份数据和功能生态系统且不影响他们的需求或栈。
这种身份基础设施为连接和互操作的服务和数据的生态系统铺平了道路。身份基础设施可以让用户、社交图谱和服务进行组合,就像区块链可以让资产进行组合一样,还可以帮助Web3的产品更快更容易地组合在一起。
开始去中心化身份的建设
互操作身份的实现
目前,Web3社区正在积极使用这种身份模型。越来越多的项目正在使用DIDs (3ID, EthrDID, Ion),以确保用户控制和互操作性的最基本功能得到满足。一个链接图谱模型的初级版本正通过3Box在以太坊生态系统中广泛使用,它扩展了具有完整身份能力的DIDs。到目前为止,超过700个应用程序和22000名用户拥有分布式身份、个人资料和关联数据库。
正在构建的Ceramic Network将这种基于DID的身份图谱功能扩展到任何网络、密钥类型、DID、资源类型或实现。Ceramic是一种无需许可的网络,用于存储可验证的、可变的、链接的文档,非常适合此身份信息图谱。身份路由协议(IRP)是构建在Ceramic上的第一个图谱标准,现在有一个测试网,今年秋天将有一个完整的实现。
和3Box一样,Web3中许多最好的项目都在为确保IRP标准符合它们的使用场景、目标和需求做出贡献。这包括像Metamask和Magic这样的钱包,像Arweave和Filecoin这样的区块链,像OrbitDB, Sia和Textile这样的数据库,以及整个圈子中的社区和应用。
我们每周都在更新项目和观点,也很乐意将您的包括进来。现实世界的身份不是一成不变的;它是动态的,丰富的,有许多视角。数字身份也本该如此。
今天开始
你不必一次就做出大的改变。你可以采取一些简单的步骤来确保你建立在一个强大的身份基础上,并且在你成长的过程中让身份成为你的优势而不是痛点。
将DIDs构建到应用程序中,最多需要1天的时间。你可以使用3Box中的3ID,这是一个基于IPFS的轻量级软件,它将被原生地内置到Ceramic中。
加入我们,分享您的用例,提供帮助塑造网络和标准的输入,或者提出您的任何问题。或加入我们的邮件列表。
在twitter上与全球Web3建设者社区分享或讨论。如果我们的Web3生态系统能够协同工作,那么它将发展得更好,而这一切都要从具有坚实基础的互操作性开始。