一 、什么是去中心化身份
去中心化身份(DID)是基于身份管理的信任框架,它允许用户在不依赖特定服务提供商的情况下生成和控制自己的数字身份。根据Forrester的说法,“去中心化数字身份 (DID) 不仅仅是一个技术流行语:它承诺将当前中心化的物理和数字身份生态系统彻底重组为去中心化和民主化的架构。”
在整Web3.0的架构中,去中心化身份(Decentralized Identity,DID)是至关重要的一环。DID与Web3.0的核心理念相符,允许用户拥有并控制自己的数字身份。
DID中包含用户的身份信息和隐私数据,只有在经过用户授权的情况下才能使用,具有安全性、可验证和互操作性等特点。DID系统以去中心化的方式实现身份的发现、识别和验证,不依赖中心化身份系统的审核和许可。
随着互联网的出现和普及,传统的身份有了另外一种表现形式,即数字身份。一般认为,数字身份的演进经历了四个阶段,分别是:中心化身份、联盟身份、以用户为中心的身份以及自我主权身份。
1、中心化身份是由单一的权威机构进行管理和控制的,现在互联网上的大多数身份还是中心化身份。
例如我们熟悉的支付宝、微信等账号。显然,中心化身份的使用权由中心主体和用户共同享有,但身份的生成权、解释权、存储权都集中在身体提供商,由此带来了身份不自主可控、隐私泄漏、可移植性差、互操作性差以及单点风险等一系列问题。
2、联盟身份的出现解决了中心化身份中身份数据零碎混乱的弊端,此种身份是有多个机构或者联盟进行管理和控制的,用户的身份数据具备了一定程度的可移植性。
例如允许用户登录某个网站时,可以使用其他网站的账户信息,类似于FB、GOOGLE或者APPLE的跨平台登录。
3、以用户为中心的身份希望实现的是用户通过授权和许可,可以决定身份的存储和使用以及将身份从一个服务共享到另一个服务。
因此侧重于三个元素:用户的许可、互操作性以及基于用户对数据的完全掌控。但是,以用户为中心的身份计划并没有获得成功。
以OpenID为例,用户理论上可以注册属于自己的OpenID,但是由于技术门槛较高,普通的互联网用户更倾向于在一个公共的并且相对可靠的网站上注册OpenID来登录到其他的网站。
因此,用户注册的OpenID有着随时被网络提供商剥夺的风险,这意味着,用户并没有完全取得自己身份数据的掌控权。
4、自我主权身份才是真正意义上的去中心化的、完全由个人所拥有和控制的身份。要使身份具有真正的自我主权,这种基础设施必然需要驻留在分散信任的环境中。而随着区块链技术的出现,自我主权身份的实现找到了突破口。
**分布式身份从根本上解决了中心化身份的问题,不依赖于中心身份提供商,真正具备身份的自主可控性、安全性、自解释性、可移植性、互操作性。**在分布式场景下赋予每个用户自主控制和使用数字身份的能力,并针对身份数据等敏感信息进行隐私保护。
Web3.0向我们描绘了一个万物互联的可信网络世界,**实现了数据的确权与授权、强隐私保护、开放的抗审查的自由数据交换。**以DID为基础构建去中心化运行的统一身份认证平台正是Web3.0发展的重要实践之一。
二 、去中心化身份的优势
通过区块链技术,使用自主权的数字身份允许用户真正拥有并控制自己的个人数据和资产。相对于传统的身份认证,基于区块链技术的数字身份认证具有保证数据真实有效、保护用户隐私安全、可实现跨部门、跨行业共享的特征,其优势在于:
**分散化(去中心化):**基于分布式账本进行使用和存储,避免了身份数据被单一的中心化的权威机构所控制。
**防篡改:**基于区块链的不可篡改特性,身份数据也将难以篡改。
**控制权回到用户手中:**用户掌握身份数据的控制权,是自我主权身份的特点和要求。
**安全性:**除了用户行为之外,区块链分类账上的去中心化系统通过先进的加密和密码学本质上是安全的。
在现实世界中,身份是一个社会能否良好运转的不可或缺的一部分。护照帮助政府用于识别公民,驾驶执照允许公民合法上路,大学学位则代表了资质授予等。同样,DID将促成更高价值的互联网经济活动。
下面,我们重点介绍DID可以解决的一些当前Web3的痛点。
1、NFTs——身份与真实性
诈骗和抄袭问题也困扰着艺术家或创作者。例如,Marvel超级英雄故事的设计者,数字艺术家Derek Laufman看到他的作品在他不知情的情况下在NFT平台Rarible上被拍卖。类似这样的故事很常见。
而DID基础架构可以解决这个问题。应用程序可以基于DID构建,以允许创建者可以证明这一NFT是由他们创建的。买家和卖家也将能够验证数字艺术品的出处。DID还可以强化艺术家和社区之间的纽带,例如将NFT所有权限制在社区成员中,以此限制黄牛的投机行为,或向特定持有者提供独享NFT内容。
更广泛地说,NFT可以作为去中心化身份的一个锚点。现在的一些用户不仅仅通过用户名来展示自己,NFT形象也是重要体现。例如,Manifold联合创始人 @richerd说自己曾经拒绝了950万美元的加密朋克NFT报价,因为他将加密朋克视为自己的身份和品牌。
2、解锁DeFi的下一阶段
到目前为止,抵押借贷一直是DeFi增长的支柱。但由于加密金融协议旨在完全无需信任和许可,因此它们通常需要超额抵押。
例如,MakerDAO上的ETH贷款要求抵押率在130-170%之间。这推动了去年DeFi的增长,但抵押品的要求将限制大多数希望利用杠杆的加密货币交易者。对于大多数人来说,他们想借钱的原因是他们还没有他们需要的钱。
降低或完全取消抵押要求是将DeFi引入大规模采用的关键。DID层可以为“链上”信用评分,为用户提供基于信用的贷款。此外,由于用户直接控制自身的信用评分,可以更好地监控和调整自身的借贷行为。因此,DID提供了进一步民主化去中心化金融系统的机会。
此外,为金融应用程序提供强大的身份验证层可以解决DeFi中当前的其他问题,例如:
1)通过对实际成员进行身份验证来减少机器人稀释空投事件的可能来改善代币空投的公平分配。
2)使用DID限制对DeFi池的访问,以减少垃圾邮件/女巫攻击。
3)指引可以信任的参与者以正和游戏方式行事,引导用户穿越以太坊的黑暗森林。
3、去中心化自治组织 (DAOs)
DAOs通常使用基于代币的治理来进行投票、治理或判定优先级。这通常是有道理的——大型代币持有者在游戏中的利益最重——但它可能排除或取消没有大量资本的活跃贡献者的优先级。尽管成员可以在DAO中建立自己的声誉,但他们可能需要在新的环境中从头开始建立信誉。
DID可以在多个DAO中维护用户的声誉。将凭证从一个DAO移植到另一个DAO,从而避免了积极的贡献者从零开始的无意义消耗。此外,在其他Web3应用方向,例如参与Gitcoin、向Mirror发布或向Radicle贡献代码,可以进一步帮助DAO找到合格的贡献者与参与者。
三 、去中心化身份生态系统
DID生态系统可以分为多层,其上的每一层都建立在底层的协议之上。DIF的4层去中心化身份模型如下图所示。
第 1 层:标识符和标准
标准、标识符和命名空间创建公共信任层,确保标准化、可移植性和互通性。它们还允许网络注册和管理DID方法,为开发人员和用户提供网络ID系统的规则。
万维网联盟(W3C)和去中心化身份基金会(DIF)是这一层的关键参与者,也是生态系统的基石。它充当开发、讨论和管理为DID堆栈创建活动以及维护可互通和开放的生态系统活动的中心。
第 2 层:基础设施
基础设施和代理框架允许应用程序和可验证的数据注册表之间彼此直接交互。这些解决方案包括通信、存储和密钥管理。我们将Ceramic和ENS列为构建DID基础设施的前沿项目(尽管ENS的分类可能存在争议,但我们将其置于基础设施层,因为我们预计未来将在ENS之上构建凭证和应用程序)。
第 3 层:凭证
凭证必须有管理、更新和交换。这一层旨在解决DID如何协调控制证明和进行身份验证,也包括在不同身份之间安全地传递数据。
BrightID是该领域的一个著名项目。这是一个拥有超过30,000名用户的社交身份网络,允许人们向应用程序证明他们没有使用多个帐户,从而最大限度地减少女巫攻击的机会。
第 4 层:应用程序、钱包和产品
这一层可能是读者最熟悉的,旨在为消费者提供真实的使用价值。一些项目,如Goldfinch(无抵押贷款),使用专有的唯一实体验证方式,但仍希望在成熟时利用DID解决方案。相比之下,其他应用程序已经利用了现有的DID技术,例如TrueFi(具有链上信用评分的无抵押贷款)、Gitcoin(公共产品资金)和Ethsign(去中心化电子协议)。
四 W3C的DID标准
W3C标准的DID系统主要包括以下层次要素:
**基础层:**DID规范
DID标识符(Identifier)
DID文档(Document)
**应用层:**可验证声明
可验证声明(Verifiable Claims 或 Verifiable Credentials,简称VC。
1. DID 规范
1)DID标识符,是一个全局唯一的表示你身份的东西,就像你的身份证号码一样。其形式大致如下:
DID示例:did:eth:123456789abcdefg
DID标识符不容易记忆。根据Zooko三角形理论,没有任何标识符能够同时实现易记忆、安全、去中心化。在这里,W3C的DID取了后两者。
DID Infrastructure是一个全局键值对数据库,这个数据库要么是某个DID兼容的区块链,要么是某个DID兼容的分布式账本,或者是某个DID兼容的去中心化网络(其实这个数据库的位置就是DID标识符中的example字段,目前已经有非常多的合法地址)。在这个数据库中,DID标识符是键,而DID文档是值。
2)DID文档是一个JSON-LD Object,包括6个部分(都是optional的):
1、DID标识符。
2、一个加密材料的集合。比如公钥。
3、一个加密协议的集合。
4、一个服务端点的集合。
5、时间戳。
6、一个可选的JSON-LD签名。用来证明这个DID文档是合法的。
文档内容示例:
{
"@context": "https://w3id.org/did/v1",
"id": "did:example:123456789abcdefghi",
"authentication": [{
// used to authenticate as did:...fghi
"id": "did:example:123456789abcdefghi#keys-1",
"type": "RsaVerificationKey2018",
"controller": "did:example:123456789abcdefghi",
"publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n"
}],
"service": [{
// used to retrieve Verifiable Credentials associated with the DID
"id":"did:example:123456789abcdefghi#vcs",
"type": "VerifiableCredentialService",
"serviceEndpoint": "https://example.com/vc/"
}]
}
这里需要注意的是,DID文档中没有任何和你个人真实信息相关的内容,比如你的真实姓名、地址、手机号等。因此光靠DID规范是无法验证一个人的身份的,必须要靠DID应用层中的VC。
2. 可验证声明
W3C认为前面的DID规范是基础,而把可验证声明视作是next higher layer,并认为这一层才是建立DID整个体系的价值所在。因为在这个应用层中,DID既可以用来标识个体的身份、也可以用来标识组织的身份,甚至标识物品的身份。
可验证声明类似于数字签名,要实现数字签名,需要有PKI体系,可验证声明也是一样,需要用一套系统来支持它。在可验证声明系统中,有以下几种参与者:
**发行者:**拥有用户数据并能开具可验证声明的实体,如政府、银行、大学等机构和组织。
验证者:接受可验证声明并进行验证,由此可以提供给出示可验证声明者某种类型的服务。
**持有者:**向发行者请求、收到、持有可验证声明的实体。向验证者出示可验证声明。开具的可验证声明可以放在可验证声明钱包里,方便以后再次使用。
**标识符注册机构:**维护去中心化身份数据库,如某条区块链、分布式账本。
五、 基于区块链技术的去中心化身份平台
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应用程序的下一个周期。
免责声明:本文分享内容仅作学习交流,不构成任何投资建议。