block chain DAY 6¶
约 2735 个字 1 张图片 预计阅读时间 14 分钟
去中心化身份(Decentralized Identity, DI)简介¶
- 为什么需要数字身份?
- 漫画“在互联网上,没人知道你是一条狗”形象说明了数字世界中身份真实性验证的挑战。
- 去中心化身份提供了一种在数字世界中建立身份及其属性真实性的方法。
- 身份是多维的
- 关系:你对鲍勃(姐妹)、你对Acme(雇主)、你对美国(访客)等。
- 代理(Agent):帮你做事,如云代理、iPad/笔记本、手机。
- 属性:出生日期、教育、健康等。
去中心化身份堆栈¶
Trust over IP(ToIP)框架:¶
将信任分为人类信任和技术信任,并分别对应治理和技术堆栈的四个层次。
- 技术信任(Technical Trust):
- Layer 1 (公共设施层):DID方法,基于各种去中心化记录技术,如区块链、分布式账本、去中心化文件系统。DID(去中心化标识符)是唯一的标识符,可被个人拥有和控制,通过公钥基础设施控制,可记录在可验证数据注册表(如区块链)上,并可解析为DID文档。
- Layer 2 (点对点协议层):DIDComm点对点协议,用于代理/钱包之间通过对等DID建立连接和交换数据。数据钱包可以互操作,无需中介即可交换对等DID和公钥。
- Layer 3 (数据交换协议层):可验证凭证(Verifiable Credential),用于发行方、持有方、验证方之间交换可验证凭证和证明。发行方颁发凭证,持有方持有凭证,验证方验证凭证证明。
- Layer 4 (应用生态系统层):数字信任生态系统,最终用户应用层。
- 人类信任(Human Trust):
- Layer 1 (公共设施治理框架):交易发起方、交易背书方、管家。
- Layer 2 (提供者治理框架):硬件提供者、软件提供者、代理。
- Layer 3 (凭证治理框架):凭证注册表、权威发行方、保险公司。
- Layer 4 (生态系统治理框架):成员目录、审计师、审计师认证机构。
- 治理当局(Governance Authority)在每个层面发布(Publishes)治理框架(Governance Framework),以建立信任。
去中心化身份工作原理¶
可验证凭证信任三角:¶
- 发行方(Issuer):创建并签署可验证凭证。
- 持有方(Holder):接收、存储和管理凭证。
- 验证方(Verifier):从持有方接收凭证证明,并验证其真实性。
- 公钥和加密元数据:由DID(去中心化标识符)和区块链(可验证数据注册表)支持。
- 关键在于“无需集成”:发行方和验证方之间不需要直接信任或事先集成,信任通过共享的区块链注册表和密码学建立。
医生护照示例:¶
- 英国NHS(发行方):向医生写入其DID(去中心化标识符)到Sovrin区块链。
- 英国NHS(发行方):签署医生护照可验证凭证并颁发给医生(持有方)。
- 医生(持有方):创建其医生执照的证明。
- 医院(验证方):读取医生的DID(从Sovrin区块链获取公钥)。
- 医院(验证方):从医生(持有方)处接收执照证明,并验证该证明。
可验证凭证类型(Infographic)¶
- VC是标准化数据模型,具有广泛的表达能力。
- VC是W3C标准化的,目标是确保长期增长。
- 三种主要凭证格式:
- JSON-JWT:
- 简洁性:所有格式中最简单。
- 隐私保护:否。
- 选择性披露:否。
- 零知识证明:否。
- 持久性:需要解析持久标识符。
- 语义消歧:否。
- 实现:JWS(JSON Web Signature)在JWT中,整个凭证由关联公钥对的私钥签署。
- JSON-LD with LD Signature:
- 简洁性:相对复杂。
- 隐私保护:是。
- 选择性披露:是。
- 零知识证明:否。
- 持久性:需要解析持久标识符。
- 语义消歧:是。
- 实现:整个凭证由发行方使用关联公钥对的私钥签署。持有方可选择性披露凭证中的部分属性。
- ZKP-CL (Zero-Knowledge Proof - Camenisch-Lysyanskaya):
- 简洁性:所有格式中最复杂。
- 隐私保护:是。
- 选择性披露:是。
- 零知识证明:是。
- 持久性:不需要解析持久标识符。
- 语义消歧:是。
- 实现:CL签名由发行方签署,与关联公钥对的私钥相关联。持有方仅展示验证所需的属性,并通过加密证明(零知识证明)完成验证。
- JSON-LD ZKP with BBS+:
- 简洁性:复杂。
- 隐私保护:是。
- 选择性披露:是。
- 零知识证明:是(但尚未实现)。
- 持久性:不需要解析持久标识符。
- 语义消歧:是。
- 实现:BBS+签名由发行方签署,与关联公钥对的私钥相关联。持有方仅展示验证所需的属性,验证方可选择不包含凭证中所有数据。
NFT与VC的比较¶
特征 | NFT (非同质化代币) | VC (可验证凭证) | SBT (灵魂绑定代币) |
---|---|---|---|
是什么? | 公开展示的数字权利 | 私有持有的数字事实 | |
驱动价值 | 稀缺性 | 是 | 否 |
可转移性 | 是 | 否 | 否 (永久绑定) |
平台特定 | 是 | 否 | |
实现方式 | 仅在区块链上实现 | 可在区块链或无区块链实现 | |
用途 | 证明资质、身份、凭证 | 表示个人、不可转移的属性和声誉 | |
验证 | 通过密码学证明验证 | 存在于区块链上,可见的唯一属性 | |
隐私 | 可选择性披露信息给验证方 | 在区块链上公开可见,隐私性可能较低 |
去中心化身份堆栈的详细技术¶
- Layer 1 (公共设施层):
- DIDs:根据DID方法创建,针对不同的凭证类型进行优化。
- Utility:可使用多种去中心化记录技术,如区块链、分布式账本、去中心化文件系统。
- 互操作性:不同DID方法和底层技术之间可以互操作。
- Hyperledger Indy:
- 一个用于去中心化身份的许可型账本(Permissioned Ledger)。
- 没有原生加密货币或代币。
- 采用Plenum共识协议(BFT协议的变体,可容忍超过1/3的腐败节点)。
- 可处理高交易量。
- 不变性保证取决于谁控制账本节点(单一实体或去中心化实体)。
- 点对点交易不存储在账本中。
- 每个节点运行四种类型的账本:
- 审计账本(Audit Ledger):跨账本排序。
- 池账本(Pool Ledger):用于添加、编辑、移除节点。包含池中每个节点的事务。
- 配置账本(Config Ledger):池配置参数,用于事务验证。
- 域账本(Domain Ledger):身份特定事务,应用特定事务。
- 可通过插件添加新账本。
- 架构概述 - 共识:
- Indy-Plenum:共识协议。
- Indy-Node:依赖indy-plenum,处理身份特定事务(如GET SCHEMA请求、GET CRED DEF请求)。
- 密码学概述:
- 账本:Merkle Tree(账本)、Patricia Merkle Trie(状态)。
- 节点到节点通信:ZMQ (libsodium) 作为安全传输,CurveCP握手,认证加密(Poly1305 MAC),对称密钥加密(XSalsa20),公钥加密(Curve25519)。没有数字签名。使用BLS多重签名签署Merkle根。
- 客户端到节点通信:Ed25519数字签名。
- Layer 2 & 3 (DIDComm & 数据交换):
- Ceremony:钱包到钱包连接的建立和保持,直到一方选择退出。
- Exchange:数据钱包互操作,无需中介即可交换对等DID和公钥。
- Issue:可验证凭证颁发给持有方。
- Verify:验证方检查凭证证明。
- Index:发行方的公钥被索引以供验证方访问。
- Lookup:验证方检索公钥。
- Trust:发行方和验证方之间无需集成。
案例研究¶
- 用例示例1:访问法院服务
- 问题:法律专业人员需要安全高效地访问法院服务。
- 解决方案:不列颠哥伦比亚省律师协会与BC省政府数字信任与身份计划合作,建立数字信任的三大支柱。
- 律师协会向律师颁发会员卡数字凭证,证明其良好执业资格。
- 同时向律师颁发基于BC Services Card信息的个人凭证。
- 两种数字凭证均集成到BC Wallet(用户友好、安全的数字钱包智能手机应用)中。
- 律师使用数字凭证和BC Wallet快速安全地访问法院服务。
- 用例示例2:管理健康数据交换的同意
- 问题:健康研究人员需遵守法律法规,验证个人身份、提供数据共享同意证明(何种数据?何种用途?多长时间?)、保留可审计的同意证据。合规性可能减缓健康创新。
- 解决方案:健康智能公司Molecular You和不列颠哥伦比亚大学的Blockchain@UBC开发了使用可验证凭证管理细粒度、动态同意的解决方案。
- 用例示例3:可持续采矿证明
- 问题:加拿大采矿协会(MAC)的可持续采矿(TSM)计划评估采矿公司在生物多样性承诺、水资源管理、健康安全等方面的表现。公司需每年报告进展。
- 解决方案:MAC与能源与矿产数字信任(Energy & Mines Digital Trust)合作,探索采矿运营商使用数字凭证提交TSM分数,安全高效地满足会员要求。矿山可以继续使用数字凭证向客户和投资者分享其ESG(环境、社会、治理)表现。
问题与挑战¶
- QR码安全性:
- 观察:QR码不安全,易受中间人攻击。
- 建议:始终使用DIDComm(它对消息进行签名,确保通信不被拦截和伪造)或其他安全通信形式进行凭证交换。
- 凭证发行方的权限能力:
- 观察:演示中未包含凭证是否由合格机构颁发的检查。
- 建议:需要建立治理框架,确保后续验证检查凭证是否由合格机构数字签名(可通过区块链查询其VerKey)。
- 对治理机构的社会信任:
- 观察:个人可能不信任凭证发行机构(如政府)。例如,萨斯喀彻温省政府停止推行潜在数字身份,主要担忧是隐私问题,即使政府承诺不是强制性的。
- 建议:需要建立治理框架,包含保障措施和限制,以避免权力滥用/人权侵犯/弱势群体被排斥。
- 加拿大去中心化身份的进展:
- 2020年8月:加拿大财政委员会秘书处宣布正在为加拿大制定数字身份系统。
- 2023年:加拿大财政委员会秘书处成立数字身份工作组。
- 2024年2月:加拿大政府发布“数字凭证发行和验证(IVDC)”RFI。
- 2024年10月:特鲁多表示自由党“反对”加拿大数字身份。
DecentralizedIdentityIntroduction