区块链的技术特点包括去中心化(基于区块链技术的去中心化身份平台研究)
区块链的技术特点包括去中心化(基于区块链技术的去中心化身份平台研究)uPort智能合约设计体现了用户对数字身份的管理控制和使用。用户使用uPort DID登录其他在以太坊上注册的应用。(2)基于DID的交互uPort的整体架构由智能合约、开发者库和移动APP组成。其中移动APP持有用户的密钥。以太坊智能合约构成身份管理的核心,包括用户的uPort标识符管理、身份凭证的管理、以及可让用户在丢失移动设备时恢复身份的逻辑。开发者库可让第三方应用开发者把uPort集成到他们的应用中。(1)分布式账本uPort的底层基础设施是公有链以太坊。uPort DID方法已注册到W3C维护的注册表。
上篇文章详细给大家介绍了:什么是去中心化身份、去中心化身份的优势和去中心化身份生态系统以及W3C的DID标准,今天主要给大家分享几个基于区块链技术的去中心化身份平台和总结。
五、 基于区块链技术的去中心化身份平台
1.uPort
uPort是基于以太坊的分布式数字身份管理服务,它可以允许用户进行身份验证、无密登录、数字签名并和以太坊上的其它应用交互。
uPort的整体架构由智能合约、开发者库和移动APP组成。其中移动APP持有用户的密钥。以太坊智能合约构成身份管理的核心,包括用户的uPort标识符管理、身份凭证的管理、以及可让用户在丢失移动设备时恢复身份的逻辑。开发者库可让第三方应用开发者把uPort集成到他们的应用中。
(1)分布式账本
uPort的底层基础设施是公有链以太坊。uPort DID方法已注册到W3C维护的注册表。
(2)基于DID的交互
uPort智能合约设计体现了用户对数字身份的管理控制和使用。用户使用uPort DID登录其他在以太坊上注册的应用。
uPort基于标识符的交互方式
(1)标识符
其中,代理合约是用户数字身份的象征,uPort身份的核心标识符是代理合约的地址;控制合约,是代理合约的正式拥有者。
控制合约维护了核心访问控制特性,包含密钥恢复和访问控制逻辑;控制合约由uPort移动App中安全存储的密钥进行控制。
这种设计允许用户使用密钥向代理合约自我认证,并代表代理合约行事,有利于用户在保持标识符不变的情况下替换私钥。
(2)交互
应用DAPP与uPort App均使用了以太坊智能合约,代理合约可以向应用合约转发交易,并且通过这种机制,uPort身份与以太坊区块链上的其他智能合约进行交互。
(3)可验证凭证应用层
uPort的身份认证应用中的用户角色包含凭证发放机构、用户、应用、uPort共四方。
uPort和凭证发布机构合作,凭证发放机构在以太坊网络上注册自己的身份,能够签署和验证数据;凭证发放机构在其应用中提供二维码信息以便于用户交互,用户使用uPort APP扫描二维码,向凭证发放机构注册自己的uPort ID。凭证发放机构根据业务需求按自己的方式认证用户信息,认证通过后向用户发放带有签名的身份凭证。
uPort服务通过注册合约管理uPort ID和用户的身份凭证信息,每一个uPort身份标识符绑定了一个相关的链下数据结构(如:IPFS),身份凭证存储在链下。注册合约扮演逻辑上中心化,物理上去中心的注册表或查找表,将每一个uPort身份标识符映射到一个IPFS摘要上,这个IPFS摘要与包含了用户属性、个人数据、见证的结构相链接。只有uPort身份的所有者(设备密钥的持有者)才有权利去修改相对应的注册入口。
用户注册新的应用时,应用通过二维码与用户交互,获取uPort ID和应用需要的凭证。如果用户注册合约中已经存储了相应的凭证,应用从uPort服务器获取该凭证进行验证。验证通过后,应用将uPort ID注册为用户账户,以后用户只需要使用uPort ID即可登录该应用。
(4)治理框架
uPort没有提出新的治理框架,遵循了以太坊的治理模式,即通过以太币支付网络交易费用。
2.ENS
以太坊名称服务(ENS)是一种基础工具,可将任何以太坊地址转换为公共配置文件。它的主要工作是将人类可读的名称映射成机器可读的状态。你可以使用amberfin.eth,而不是使用一长串依靠人脑无从记忆的地址来进行交易。并且由于ENS的分层性质,拥有该域的任何人也可能拥有子域。
例如,因为Amber Group拥有“amberfin.eth”它也可以创建“pay.amberfin.eth”。
Amber Group的ENS记录
ENS的使用者继续增长。与ENS的完整DNS集成于今年8月启动,因此您可以将加密货币发送到“example.com”而不是“example.eth”。
此外,.eth域名也可用于构建去中心化网站。例如,以太坊联合创始人Vitalik Buterin利用这种DNS集成以及IPFS在https://vitalik.eth/创建了一个强大且抗审查的网站。
ENS或许可以在去中心化身份的未来发挥关键作用。它被注册为DID表示,允许将ENS名称包装为DID以促进互通性。许多Web3用户已经使用ENS作为他们的标识符。
一项对约300名以太坊用户的调查发现,约64%的人已经拥有ENS,链上分析表明,ENS用户平均拥有2.5个域名。随着其他功能的推出(例如NFT头像支持)和dApp越来越多地采用ENS,Web3用户很可能会越来越多地使用ENS作为他们在以太坊上的身份象征。
Uniswap 上的ENS名称:
ENS 生态系统如下:
3. Litentry
Litentry是一个波卡(Polkadot)生态去中心化跨链身份协议,为DeFi、链上治理等Polkadot生态内外的应用提供精细化的链上身份信用服务,在区块链网络中共同打造一个可信的去中心化身份聚合器,成为Web3.0网络中的重要基础设施,为大规模应用落地做好准备。
2022年10月,Litentry完成数百万美元的种子轮融资;2022年初,推出了移动端App。
Litentry作为跨链身份聚合器旨在将不同链上数字身份的信息进行整合,创造一个链上的身份信用体系。Litentry构建的用户信用体系可以帮助项目方识别哪些是为项目做贡献、行为良好的用户,给予更多的权利与奖励。而用户本身也会为自身名誉和利益考虑,为区块链的发展做出更多有利的行为。
相比于身份赛道的其他产品,基于波卡的Litentry拥有更庞大的生态基础,应用空间也更广阔。Litentry本身还具备公开、透明、自主更新等特点,任何人都可以参与其中,并且早期参与者还能够获得一定的通证激励。
对于Litentry来说,现在最重要的是完成测试网的开发,以及在平行链插槽拍卖之前或者同时上线主网。
4. Sovrin
Sovrin是Evernym初始开发、Sovrin基金会运营、Hyperledger孵化开源的一种用户自主主权身份和去中心化信任的协议,它致力于提供自我主权身份的去中心化的全球公共网络,该网络于2017年7月正式启动。
Sovrin是一种用户主权身份的基础设施和全球可互操作的身份协议,它不是一种具体的解决方案,不依赖于特定软件实现,不同的解决方案实现厂商可基于Sovrin协议和基础设施搭建具有互操作性的平台。Sovrin定义了分层的、解耦合、模块化的模型。
Sovrin基金会牵头推进了Hyperledger Indy项目,提供基于区块链或其他分布式账本技术的工具、代码库和模块化组件用于实现独立的数字主权身份。
2019年,从Indy项目中独立出了Hyperledger Aries项目,用于实现其中的端到端交互。
(1)分布式账本
Sovrin基金会管理了一个特定的账本SovrinLedger,由Stewards操作节点与Sovrin共识协议进行通信维护,但同时Sovrin协议可以运行在任何支持上面三层的分布式账本上,不依赖于一种特定的区块链或分布式账本技术,才能形成全球可互操作的用户主权身份网络。
(2)基于DID的交互
Sovrin支持基于DID进行点对点相互认证和安全通信,并且在HyperledgerAries项目中孵化一套标准化的端到端交互软件基础设施,Aries项目于2019年提出。
Aries的功能包括:建立和使用点对点连接,发送/接收点对点协议消息,并代表模块所代表的实体执行操作。它是Sovrin基础架构的基石,通过该模块,Sovrin实体形成连接并共享Sovrin身份。点对点连接是两个Sovrin实体之间关系的基本单位,由一对仅被双方实体知道的匿名标识符组成,这样可以最大限度地避免一个实体的多个标识符被第三方归集。
(3)可验证凭证应用层
基于零知识证明的匿名凭证技术实现了可验证凭证,支持凭证信息的最小化披露。支持对一个或多个凭证中的声明进行选择、组合并出示;凭证验证方不获得数据明文或密文,而仅获得数据的密码学验证方法,因此也无法复用它来模拟另一个用户。典型例子是在不揭示实际出生日期信息的情况下,出示有关年龄情况的证明(如“18岁以上”)。
(4)治理框架
Sovrin基金会发布了治理框架,建立用于自我主权身份的分布式网络所需的治理方法。框架定义了Sovrin网络所有成员同意遵守的商业、法律和技术术语,并且规定了Sovrin基金会和成员之间的法律合同。
5. 微软 DID
微软DID是一套基于Azure云服务的分布式数字身份技术架构和基础功能,让解决方案实施商可方便的在不同区块链上实现分布式数字身份整体解决方案。微软是DIF联盟的重要成员,以标准的开源技术、协议和参考实现为主要目标。
微软DID的技术架构包括区块链BAAS服务、注册DID的Layer2方法ION、隐私数据管理模块Identity Hub,均以API的形式为开发者提供服务,ION和Identity Hub还提供了开源软件。在未实现的计划中,还包括手机端的身份管理模块。
通过区块链BAAS服务向不同区块链注册分布式数字身份标识,可以成为广泛使用的中间层,实现DIF的互联互通目标。
ION方法是SideTree协议基于比特币网络的实现,用于解决向公有链注册DID存在的效率低下问题。
Identity Hub为开发者提供了管理用户隐私数据的基础模块。
(1)分布式账本
微软DID的基础设施不依赖于特定的分布式账本。与Azure区块链服务的设计思想一脉相承,微软DID依托于Azure云服务支持多种分布式账本协议,并且注册了基于该分布式账本的DID操作方法,对开发者隐藏分布式账本的接入细节,提供Restful API接口。
目前微软DID支持以下两个DID操作方法:
1、Ion-test:注册到比特币测试网络
2、test:注册到微软数据库
同时正在开发对以下三个分布式账本的支持:
1、比特币正式网络
2、通过uport的DID方法,注册到以太坊
3、通过Sovrin的DID方法,注册到Sovrin网络
在DID注册和查询过程中,为解决公链效率低下的问题,微软DIF联盟的几个成员发起了SideTree协议,构建了L1层公链和L2层DID操作的分层架构:
1、L2层保存了DID操作的源数据并推送到IPFS网络,汇聚尽可能多的DID操作后锚定到L1层。
2、L2层的每个“节点”各自与L1层同步,获取 Sidetree锚定交易后,拉取DID操作源数据。
SideTree架构
(2)基于DID的交互&可验证凭证应用
微软DID中未提供完整的DID交互和可验证凭证应用软件,由开发者根据自己需求进行设计。微软DID主要为开发者提供了Identity Hub模块,它的目标是为用户存储和管理隐私数据,以增强数据表达能力的“语义数据模型”实现。在DIF的认可下,已发布了第一版开源代码。与传统的数据存储解决方案相比,Identity Hub具有去中心化的特性:
1、标准化接口:Hub的实现厂商需要满足标准化的数据存取接口,包括为每个用户的Hub注册DID,不同用户的Hub通过DID标识符进行互操作。
2、开源:通过开源代码,鼓励开发者运营自己的Hub。
Identity Hub支持与用户通过DID进行点对点的安全通信,遵循DIDAuth的相互认证和加密传输。
6. WeIdentity
WeIdentity是基于联盟链的可信数据交换解决方案,它是一套基于FISCO-BCOS区块链底层平台的解决方案,也是BCOS联盟链的应用场景。联盟链为各用户角色提供了接入中心,为数据交换提供了数据存证和验证功能。
WeIdentity中的用户角色包括凭证发行者、凭证验证者、用户代理和用户共四种,其中用户代理一般为权威可信机构,为用户KYC并生成数字身份标识符,用户的数字身份和隐私数据托管于用户代理中。
(1)分布式账本
WeIdentity基于微众银行的FISCO-BCOS联盟链实现,其整体架构具有明显的联盟链特征。
(2)基于DID的交互
用户的数字身份标识符、个人数据均托管于用户代理中,由用户代理与凭证发行方和凭证验证方进行通信。
因此,用户与其它实体之间的通信均通过用户代理进行转接。用户代理由场景选择,一个场景中一般具有一个用户代理,这个用户代理成为一个联盟链网络中的中心转接点。
本方案中的数字身份标识符等同于联盟链中的身份合约,是一条链上的唯一标识,提供了链上行为的可验证和追溯特性。由于用户的实体身份和标识符通过用户代理机构绑定,用户行为可查可归集。
(3)应用层
应用层是WeIdentity解决方案的重点,以可验证凭证数据模型规范作为标准的数据组织方式并进行分享。其目的是借助区块链实现可信数据的交换,提供直接出示和链上授权两种方式。
1)直接出示
2)链上授权(适合用于用户代理也不能保存数据原文的情况)
.凭证发行方产生凭证,同时上链存证凭证摘要。
.用户向凭证验证方发行一个授权凭证,并上链存证授权凭证摘要。
.凭证验证方向凭证发行方请求数据,出示用户授权凭证,凭证发行方进行验证。
.验证通过后,凭证发行方与凭证验证方建立数据传输通道进行数据传输。
(4)治理框架
WeIdentity是基于场景落地的联盟链解决方案,治理方式也具有明显的联盟链特征。
联盟链中,新成员加入都需要进行KYC。个人用户通过用户代理机构进行KYC和业务接入,比如使用用户代理机构提供的身份管理工具App;机构用户可通过部署区块链节点、或通过业务发起方提供开放平台的方式接入联盟链。
除用户代理外,系统中还有一类具有特殊权限的权威机构。链上每个WeIdentity DID持有者(包括人,机构,或者物)都可以成为凭证发行者,但只有联盟链里面的权威机构才可以注册成为 Authority Issuer。每个注册为 AuthorityIssuer的新成员需要联盟链内其他机构投票通过。
系统中还有一些联盟链的内部治理角色,如系统管理员、机构委员会等。WeIdentity的角色权限管理通过智能合约实现,不同类型的合约角色分配不同的权限。
7. Ceramic
Ceramic Network是一个去中心化的、世界性的、运行Ceramic协议的节点网络,通过Libp2p点对点网络协议的专用主题进行通信。Ceramic自称由于其独特的设计,系统能够实现目前最好的水平可扩展性、吞吐量和性能。
Ceramic为开发者提供了类似数据库的功能,用于存储各种动态、可变的内容。这最终为开发者提供了一种Web3原生的方式,让他们可以为Dapp添加一些关键功能,如丰富的身份信息(档案、声誉、社交图表)、用户生成的内容(帖子、互动)、动态应用数据等等。
在Ceramic上,每条信息都表示为一个提交日志,称为stream。每个stream都是存储在IPLD中的有向无环图 (DAG),具有StreamID的不可变名称和StreamState的可验证状态。stream在概念上类似于Git tree,每个流都可以被视为自己的区块链、账本或事件日志。Tile Documents是一种Ceramic StreamType,经常用作身份数据(例如,个人资料、社交图、链接的社交帐户)、用户生成的内容(例如,博客文章、社交媒体)、DID文档等。
该协议不依赖于任何特定的区块链。相反,它可以被概念化为“文档链”,其中验证特定文档的状态只需要用户同步文档的数据。用户不需要像大多数区块链网络(比特币、以太坊)那样同步整个网络状态。
Ceramic的一个关键工具是IDX,这是一种跨链身份协议,它提供了一个统一的存储库,所有应用程序都可以在其中注册和发现与用户的DID关联的数据。它可以被认为是一个去中心化的用户表。
因此,IDX允许用户控制他们的身份和数据,而无需锁定任何单个应用程序,并轻松保护和跨应用程序移植他们的数据。同时,它允许开发人员构建数据丰富的应用程序,而无需强迫用户在每个应用程序上重新创建相同的数据。
(1)Sharded execution environment — 分片式执行环境
传统的区块链系统的可扩展性被限制在一个单一的全球虚拟执行环境(VM),并且单一节点的账本的状态在所有节点之间共享。
与此不同的是,每个Ceramic节点作为一个单独的执行环境,用于执行计算和验证流的交易(这意味着没有全局账本)。这种"内置的"执行分片方法使Ceramic网络能够横向扩展,随着网络上节点数量的增加,可以对越来越多的同时进行的流交易进行并行处理。
这样的设计能处理的数据规模比金融区块链上所需的吞吐量要大几个数量级。同时这种设计的另一个好处是,Ceramic Network的节点可以在离线的环境中执行数据流的交易,然后在它重新上线后与网络的其他部分的节点们同步更新。
(2)Global namespace — 全局的命名空间
由于所有的节点都是同一个Ceramic网络的一部分,Ceramic上的每一个流都存在于一个单一的全局命名空间中,它可以被任何其他节点访问或被任何其他数据流所引用。这创造了一个开放源码信息的公共数据网。
Ceramic的特性使静态文件能够被重组成高阶可变的数据结构,进而能够被编程为任何所需的形式,并且把结果的状态存储和复制在一个去中心化的节点网络中。Ceramic通过使用一个通用的去中心化内容计算基底,建立并扩展了IPFS文件系统和底层持久性网络,以及去中心化生态系统中的其他开放标准。
(3)Stream数据流存储实现方式概述:
系统中用户唯一的身份标识被定义为DID(去中心化的身份ID decentralized identifier)。系统使用将DID对应的所有数据流Stream信息以NoSQL的形式进行处理、存储、管理。存储信息有下面几种类型:
1、Tile Document,存储JSON文件。可以被用作身份数据(档案、社交图、声誉分数、社交账户链接)、用户生成的内容(博客文章、社交媒体等)、以及聚合索引以形成集合和用户表(IDX)、DID文档、可验证的索赔等数据库替代。Tile Document仅依靠DID进行验证,对流的所有有效更新必须由控制该流的DID签署,也就是说,更新这些信息必须要用户手动授权才能完成。
2、CAIP-10 Link,关联用户在任何平台和区块链上的钱包地址。它存储了一个可加密验证的身份证明,将一个区块链地址与一个DID联系起来。一个DID可以有无限数量的CAIP-10链接,将其与许多不同的区块链网络上的许多不同地址绑定。CAIP-10链接的管理也依靠DID进行验证,与Tile Document相同。
3、自定义类型。除了上述2种默认类型,用户/开发者还可以自定义StreamType,并且并将其部署到自己的Ceramic Network节点。
(4)Stream数据流的授权管理方法:
1、3ID DID Method通常用于普通用户的账户。主要使用Ceramic的Tile Document 的StreamType来表示一个动态的DID文件。当3ID与IDX和3ID钥匙链结合使用时(如3ID Connect中实现的那样),一个3ID可以很容易地与任何L1或L2网络的任何数量的区块链账户进行控制。这提供了一种在所有其他平台上统一用户身份的方法。
2、Key DID Method。通常用于开发者账户。一种从任何Ed25519密钥对静态生成的DID方法。密钥DID是轻量级的,但缺点是它的DID文件是不可改变的,如果它被破坏,没有能力重置密钥。
3、NFT DID Method(即将推出)。用NFT的所有权作为认证,只能被其当前拥有者控制的方法。用CAIP-10 Link追踪到NFT的当前拥有者,被控制权会随当NFT的所有权发生变化时而改变。是一个适用于任何区块链上的任何NFT的DID方法。DID文件是由链上数据静态生成的。
4、Safe DID Method(即将推出)。通常用于团队组织、DAO和其他多重签名钱包的实体。在任何区块链上的通过Gnosis多重签名钱包才可以控制的方法。
(5)网络中节点的职责:
1、上述的根据数据流类型的逻辑执行数据流交易。(核心职责)
2、StreamState数据流状态存储。一个Ceramic节点只为它所关心的数据流保存数据流状态,这种维护过程称为 "pinning(钉住)"。不同的节点将为不同的数据流维护状态,但多个节点可以维护一个数据流的状态。
3、提交日志存储。一个Ceramic节点维护一份它所pinning的数据流所有提交的交易的本地副本。
4、持久性接口(Persistence connectors)。Ceramic节点可以选择利用一个额外的持久性存储后端来备份它正在钉住的数据流的交易。包括Filecoin、Arweave、Sia等持久性网络。
5、查询响应。节点对来自客户端的流查询做出响应。如果节点有钉住数据流,它将返回响应;如果没有,它将通过libp2p向网络的其他部分询问流,然后返回响应。
6、广播交易。当一个Ceramic节点成功地在一个数据流上执行了一个交易,它就会通过libp2p向网络的其他部分广播这个交易,这样其他同样钉住这个数据流的节点就可以更新他们的数据流状态来记录这个新的交易。
Ceramic是DID技术堆栈中的关键。一些建立在Ceramic网络并已经具有吸引力和市场契合度的项目包括:
1、Boardroom:DAO的治理管理平台,使用Ceramic的平台存储提案。
2、Rabbithole:通过允许人们赚取积分和加密货币来鼓励人们使用Web3项目的应用程序。Rabbithole使用Ceramic的网络将多个Web2和Web3帐户链接到一个统一的跨链DID中,并允许用户的声誉跨越其他Web3应用程序。
3、ArcX:一个去中心化的应用程序,通过发行“DeFi护照”来提供链上信用评分和身份。
六 总结与展望
微软的首席身份架构师Kim Cameron曾说,“互联网是没有身份层的”,因为互联网的寻址系统基于识别网络上的物理端点(机器),而人并不是网络上的端点。因此,互联网没有办法唯一地识别人的身份。
区块链技术的发展,帮助人们重新思考身份识别和认证的解决方案,通过使用去中心化标识符、可验证声明等技术来解决互联网身份层缺失的困境。
同时,在微软、Facebook等互联网巨头的推动下,基于区块链技术的去中心化身份管理系统,将会是区块链技术应用落地最早的领域之一。
相比传统数字身份系统,去中心化数字身份具有隐私保护、可控安全、持久可用、分散化等特点,基于属性的授权访问方式能够更好的支持开放环境下灵活的访问策略。短短几年时间,已取得了丰富的规范和技术标准化研究成果。
随着标准化成果的继续拓展,未来越来越多的应用可方便、安全的切换到分布式数字身份基础设施上来,形成互联互通的互联网身份网络。
随着互联网价值的涌现,我们需要强大的DID解决方案引入新的用例、来让Web3成为主流。虽然于早期阶段,但未来是光明的。并且由于DID标准的可组合性和互通性,每个新型应用带来的能量具有涟漪效应。
我们预计DID解决方案将在未来几年内迅速走入大众视野,并开启Web3应用程序的下一个周期。
如果喜欢我们的文章,欢迎大家点【赞】或留言评论!
免责声明:本文分享内容仅作学习交流,不构成任何投资建议。