Hyperledger Indy项目
https://zhuanlan.zhihu.com/p/26754099
Hyperledger Indy是一个专门用于去中心化身份管理的分布式账本技术平台。它提供基于区块链或其他分布式账本技术的工具、代码库和模块化组件用于独立的数字主权身份,真正实现跨账本、跨区块链应用的不同身份之间的互操作。
一、简单介绍下新朋友 Hyperledger Indy
主要的逻辑结构如下:
•去中心化身份(DID)
- 成对的身份(链上-链下、跨链)
- DID数据模型和通用语法
•可验证的请求过程VC
•基于属性加密的认证算法
•匿名方式的身份凭证废除
•代理(查询、验证)
•在DID描述信息中指定的成对服务端(系统、账本地址)
•服务发现协议和可扩展API
Indy账本只存储不具备关联性的身份数据
主要数据类型:
•去中心化身份 ID
•公钥
•服务端地址
•锚定的哈希值
二、Indy实现独立的数字身份
传统社会,一个人可能拥有的多个独立身份:车主、职业、家庭、教育......我们要证明这些身份时,需要一套独立的系统以及可以证明身份的材料,比如passport、ID card等等
进入去中心化的社会,我们使用数字身份依然存在基础的信任问题,为了解决这些问题,我们需要:
1)一套去中心化的共识机制
2)一组基于机器对事件有效性和顺序的集体性协议
Indy尝试建立一个全球化的数字身份账本,来解决统一身份管理的问题
Indy分为两种节点类型:
• 验证节点
–用于处理写入请求
–参与达成共识
–全球部署60 – 120个节点
• 观察者节点
–处理读取请求
–状态数据与验证节点同步
–凭借节点性能和公信力升级成为验证节点
–全球计划部署几千个节点
三、Indy如何验证数字身份
举个例子说明业务流程:
医生A向国家卫生部发送了一条身份声明请求,卫生部返回一个验证请求处理结果,证明他是一名医生;卫生部将身份证明信息记录在Indy账本上,任意医院向Indy账本查证医生A身份时,都可证明医生A具备医师资质。
认证机构和查询机构可无限拓展到全球范围
多个独立身份也可以同时锚定到Indy账本上的去中心化身份上
Indy称这种身份验证请求为Sovrin请求,它具备如下特征:
•实时请求验证
- 无需直接联系身份持有者(声明者)
•可废弃 (保持匿名)
•多个声明者
- 可从多个维度声明身份的描述信息,比如信用分、负债、收入
•尊重隐私
- 匿名、防关联、信息选择性披露
技术上,Indy使用数千个独立数据采集点(包括生物识别、位置等)来交叉证明身份;涉及隐私保护使用零知识证明技术
四、去中心化数字身份DIDIndy与我们常见的区块链或分布式账本平台一样,基于key-value型数据库,其中Key为DID,value存储各种与该DID关联的身份的描述信息
具体来看,value值包含验证请求的方法、相关声明信息的哈希值、DID服务端描述(比如链接Fabric和以太坊,记录有关的block信息)
目前Indy项目已被TSC批准,由Hyperledger进行孵化,很快在Github上发布代码。
详细信息可访问Sovrin