Litentry协议解析(首节) :打造一个区块链DID聚合器


在这篇文章,我们将会基于W3C的标准提出一个跨系统的DID聚合(DID Aggregation)的概念,并且介绍一个可以给不同网络系统的DID数据提供互操作性和流动性的DID 聚合协议。

术语解释:

Decentralized Identifier(DID)Decentralized Identifier(去中心化身份识别),是一种全球独立的永久身份识别方法,由密码学技术生成或(以及)见证,无需任何中心化见证机构。——万维网联盟W3C标准定义

Decentralized IdentityDecentralized Identity(去中心化身份)通过使用DID识别方法在网络中产生个人数据后所构成的数字身份。

DID AggregationDID Aggregation(DID身份聚合)在网络中将属于同一个用户的、散落在不同系统中的去中心化身份聚合成一个综合的去中心化身份。

为什么需要DID聚合身份?

DID聚合身份是一个将不同去中心化身份绑定到一起的过程,同时聚合身份也是DID的新一层意义。在数字身份的应用场景中,我们通常需要从一些他方系统中的获取用户身份信息,因为区块链系统本身提供的信息是有限的。比如我们需要评估一个用户的信用,需要非常多的个人数据支撑,特别在去中心化的网络里,系统本身不占有用户的数据,更不可能获取全面的个人数据,这时候就会需要很多可靠数据源去支撑有效的身份信息计算。因而,除了提供独立的身份账户之外,DID更重要的使命是重新建立互联网身份数据的主权和使用秩序,让更丰富的身份信息在开放网络中被挖掘出来。

然而不同去中心化系统会出现不同的DID标准,因为应用场景是差异化的,所以不同的应用会设计不同的DID识别方法。这样做的好处是能快速实现身份的去中心化,但坏处是导致了身份账户在不同的系统之间丧失了互操作性,身份数据不互通的问题,形成数据孤岛。同时,由于数据主权的保护,从一个去中心化系统中获取身份信息还涉及到用户授权的过程,使得身份数据更难在不同系统之间流动。当我们想在去中心化的系统中拓展更宽的应用场景时,比如在DeFi中引入信用借贷、在链上治理中引入声誉信息,在社交媒体中引入去中心化的个性化推荐算法等等,我们可能需要从不同的系统用引入身份信息,这时问题就会尤其突出,因为我们所需要的数据可能存在于另一个网络或者系统,而去读取这些数据涉及了DID验证、应用代码解析等复杂的工作,特别当所需数据源变成多个时,这会变成一个非常头疼的事情。

这个问题会随着去中心化应用的发展变得越来越明显。我们预估最先对解决方案产生需求的领域会在去中心化信用借贷、去中心化自治组织、去中心化个性化推荐当中。为了保持去中心化、避免单点故障,dApps在获取DID数据时,会需要数据源也保持去中心化,但是网络中并不存在现成的、去中心化的身份数据源。

具体来讲,当一个应用需要获取可靠的DID数据时,它们会面临以下问题:

缺乏数据源

在数据注册中心(Data Registry)中缺乏数据接口

需要解析每一种DID识别方法并且验证可信声明

需要对新对数据结构进行学习和适配

需要忍受单一数据服务终端带来的单点故障目前,很多应用都会选择自己去开发相关的功能组件去满足这些需求,但是这非常耗费精力和成本,也不是项目本身主要应该做的事情。

更糟糕的是,我们看到很多去中心化应用都会自己创建一套独立的DID机制,而大部分的这些机制所达到的效果是重复的。比如在证明一个人与某一个Twitter账户的控制权时,我们通常采取的方法是让这个人用Twitter账户发布一条指定的消息,但是同样的验证方法就在不同的去中心化网络比如Keybase和Polkadot Registrar上面被重复开发。如果我们能从一些已验证并且可信的数据源中取这些数据,是不是方便很多?

从另一个角度看,用户在去中心化的系统中已经产生了很多个人身份数据。如果我们能找到一种方式把这些数据关联起来,让个人身份数据能够在不同的系统中流动,同时保护用户的数据主权和隐私,这将能够给互联网带来更的广阔的发展空间,并且这才是Web3.0应有的样子。而区块链的出现正好提供了很好的前提,区块链是现成的去中心化数据注册基础设施(Decentralized Data Registry),能给不同系统的DID数据提供索引、调用的系统环境。

什么是DID数据?

Web3.0中所有的数据都将需要被索引和关联,而Litentry所提供的是其中一部分数据的索引和关联,这一部分数据就是DID数据。

在去中心化系统中,我们把可被证明属于某一个独立身份(Self-sovereign Identity)的所有数据称为DID数据。这些数据可能可以被直接理解为身份数据,也可能需要通过二次计算后才跟“身份”产生关联。比方,一些为提供DID服务的区块链应用所产生的就是直接的身份数据,像你的链上驾照、或你的链上COVID-19 核酸检测结果就是直接的DID数据;而潜在的身份数据,则源于我们在其他去中心化应用中产生的使用数据,这些数据将需要计算分析之后才会变成与“你”相关的身份信息,比如你在去中心化协作系统中的代码贡献量、在去中心化自治组织(DAO)中的投票积极度等等。

无论是直接的DID数据,还是潜在的DID数据都是有价值的。我们认为,为DID数据提供跨系统的索引流动性是Web3.0网络的必要构成部分,它将能提供强大的数据基础,加速应用发展的爆发,甚至能提供前所未有的互联网价值——the Web of Trust。由于,去中心化系统中所有的数据都是可验证的,不可篡改的,代表了这些数据的产生和存在是可信的。而在中心化的现有网络里面,用户的数据主权集中在服务端的控制者手上,这意味着无法验证、随时可能被篡改。

现有的身份关联解决方案

为了使用户在Web3.0网络中获得一个完整的身份,我们需要将不同系统中零散的身份信息关联起来,形成Web3.0身份的同一性。在身份关联的过程中,我们需要解析不同的DID识别方法。一个潜在的解决方案是制定标准化的通用数据交换语言,比方 Presentation Exchange,一个给不同系统交换可信凭证时提供标准数据格式的一个协议。Presentation Exchange的设计者提出,这个协议通过创造一种不同身份系统交换身份证明时的通用语言,从而使得一个第三方应用在从其他协议获取DID数据时懂得如何定义它的证明要求,同时另一方面证明的持有者知道如何提交这个数据。Presentation Exchange是一个能减少身份系统之间DID数据摩擦、帮助实现Web3身份同一性的一个办法。但是对于一门计算机语言来说,从创造、推广到成为通用需要经过很长一段时间,并且在这门语言还没有成为通用之前,身份数据在不同系统中都是不自由可流动的。如果我们拥有一个去中心化的数据中转站,能够一站式地解决获取任意DID数据的问题,是不是很理想?

接下来我们将要介绍一个兼容任何DID标准的,凋谢、且去中心化的聚合性DID解析(resolving)模子,这个模型由一个基于Substrate的区块链、一个分布式的DID验证网络、和一个模块化的DID数据交换协议组成,我们统称为一个DID聚合器。它将允许任何人上传新的DID身份证明算法并且共享到网络,并且提供DID数据索引、DID验证和关联、DID数据聚合的一站式服务,能够允许应用轻松地获取用户在Web3网络的整合身份数据,并且保证了数据的可靠性、安全性和完整性。


设计目标


开放协议

这个聚合器将会是开源的,并且允许任何人往系统中添加新的DID验证算法并产生去中心化的信任凭证。网络中所有执行的算法将会被记录至区块链,并且通过DAO(去中心化自治组织)一个算法可以被标记为可信任的。
去中心化

为了让协议开放给所有无论是否有技术背景的人去使用,让他们可以使用不同的DID或者让他们的应用可以认证任何未知的DID机制,我们需要引入一个中间人去接替身份验证的工作,但这很容易导致单点故障。

为了在DID验证的过程中排除中心化机构或者避免单点故障,我们会建造PoS区块链上一个去中心化的验证节点网络,同时这个区块链会管理DID验证需求请求者与验证者双方的交易模型。这个网络将会通过链上执行的合约保证验证节点的诚实。

验证节点网络会处理服务请求者的DID验证请求,并且返回一个可靠的DID信任凭证。验证的过程将会由网络中一组随机的验证节点执行,经过一个拜占庭容错共识算法来保证结果的可靠性。

容易验证

需要验证可信声明当时候,我们只需要简单地验证可信声明文件中验证者的签名即可。所有合格的验证者身份都会注册在区块链上,并且受带有惩罚机制的PoS协议和一个社区选举的议会管治。

节点网络将能够识别区块链上的可信DID验证机制,并且将其他的机制定义为未知。除非服务需求者本身信任未知的机制,否则未知的DID验证机制默认是具有风险的。在这种情况下,节点会根据服务需求者选定的DID验证机制来计算结果。

比方,在DID聚合器兼容来以太坊账户验证方法之后,我们将可以在Litentry上证明自己的以太坊账户所有权,同时他人可以轻松地通过验证网络节点的签名即可以辨认所有权的真伪。类似的,如果我们需要证明一个波卡账户所有权,相对应的账户验证方法需要被添加到DID聚合器,上传到网络并请求节点网络进行验证。所上传的验证代码需要经过社区投票决议才能被网络承认为“可信的”,否则第三方将需要自行认证这些代码的安全性或代码发布者的信誉才能相信计算结果。
链上数据最少化
链上将保存最少可行的用户数据,即链上只会保存DID账户之间的关联关系,并且数据经过加密。其他的DID计算数据将会实时地直接返回给服务请求者,而不是保存在节点网络。我们之所以需要保存DID账户关联关系,是因为避免让用户在访问的时候每次都重新关联他们的区块链账户。
隐私保护在去中心化身份验证的过程中,DID账户关联关系不可避免地会暴露给验证节点。我们相信隐私和便利之间会有一个平衡。在保证功能可用和去中心化的前提下,我们会在这个环节采用一些隐私计算技术,比如TEE实现和零常识证实。另一方面,协议中我们将尝试采用ID混淆技术。ID混淆技术可以隐藏身份凭证拥有者的ID或者服务请求者的ID。这样验证节点将不会知道DID数据的真正拥有者和数据的去向,从而失去作恶的动机,比如发送一些广告或诈骗信息。
民主管治

我们需要所有的网络节点共同协作去产生可信的输出结果,使DID聚合的结果变得可信。由于验证节点是服务提供者,并且会得到工作奖励,它们有义务去提供更优的产品。而身份凭证的消耗者是服务请求者,服务请求者有权参与决定协议的迭代和更新。

因而,聚合器中的所有函数化功能都能够被一个去中心化自治组织(DAO)所修改。这个社区可以通过投票升级协议且把代码更新到网络。比如社区可以决定在计算信用的时候,如何去计算来自不同网络的交易源数据的权重;再比如社区可以决定哪一种DID验证方法是可信的,那么网络就会自动辨认可信的算法。这种方式可以提供高效的信任环境,用户只需要知道DAO组织能有效为网络安全作出最优化决策,也可以亲自参与到治理决策里面来,即可以放心信任节点网络所计算的身份凭证的有效性。
互操作性这个DID聚合器将为从不同身份系统中集成DID机制、并提供不同系统中身份数据的流动性而设计,因此我们需要保持良好的互操作性。我们将会采用互操作性强的标准,以更方便集成现有的为提供互操作性而设计的工具和软件库。
总结总的来说,这个DID聚合器将建立一个去中心化的超级DID容器。它将允许使用者通过组合多种DID解析方法来计算更深层次的去中心化数字身份(比方“治理积分”、“DeFi信用积分” 等),也可以成为开发者添加新的身份算法并且从网络中获取可信声明的工具(比如获取“我是长期流动性提供者”证实),允许任何人通过区块链验证自己的身份,用于各种链上治理,DeFi等数字身份应用场景。下一节我们将会展示这个DID聚合器的技术架构,敬请关注。

关于LitentryLitentry 是一个去中心化的身份聚合器,以基于 Substrate 构建的区块链和分布式的去中心化身份(DID)验证网络为核心特色。DID 验证网络可以为任何区块链上的 DID 应用程序提供去中心化、可验证的身份聚合服务,让 dApp 能够通过可信任的方式,从多个服务端点实时获取属于同一个身份控制者的 DID 数据。Litentry 的身份聚合器承担了解决不可知 DID 机制所涉及的冗余处理、代码等难题,并充当了 Web 3.0网络中去中心化信用计算和身份生成的底层驱动协议。


Website:litentry.com

Medium: litentry.medium.com

Telegram: t.me/Litentry

Twitter: @litentry

Github: https://github.com/litentry


????Litentry正在雇用:「平面设计师」与「产品市场策划」,希望热爱Web3.0、英语水平良好、富有创作精神的优秀小伙伴加入我们,欢迎感兴趣的同学提交简历至邮箱info@litentry.com

(获取JD请访问:https://docs.谷歌.com/document/d/1dr77wFiEyE-Zi5v3SYZwTK1nGKhBuTz4Iz3wMezE770/edit?usp=sharing)


【扫码加入Litentry官方社群】

Litentry协议解析(首节) :打造一个区块链DID聚合器

期待我们更多的更新,Stay tuned!


Litentry协议解析(首节) :打造一个区块链DID聚合器

本文来自网络,不代表大网站区块链立场,转载请注明出处:http://www.mbbnews.cn/33338.html
分享到