IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 去中心化身份DID(研究) -> 正文阅读

[区块链]去中心化身份DID(研究)

去中心化身份DID (Decentralized Identifies)

关于去中心化身份DID(Decentralized Identifies)的基本介绍

  • (必读)W3C DID规范: https://www.w3.org/TR/did-core/
  • 其他介绍DID的文章:
    • https://zhuanlan.zhihu.com/p/77290826
    • https://www.cnblogs.com/studyzy/p/14181526.html
    • https://www.cnblogs.com/studyzy/p/14189910.html

核心概念:

  • DID: 由3个部分(scheme、method、 method-specific identifier)组成

    请添加图片描述

    一个示例的DID

    {
    "@context": [
        "https://www.w3.org/ns/did/v1", // w3规范
        "https://w3id.org/security/suites/ed25519-2020/v1" // 算法版本
    ]
    "id": "did:example:123456789abcdefghi", // DID标识
    "authentication": [{
        "id": "did:example:123456789abcdefghi#keys-1",
        "type": "Ed25519VerificationKey2020",
        "controller": "did:example:123456789abcdefghi",
        "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"
    }]
    }
    
  • 可验证凭证,VC(Verificable Credential), 是一个 DID 给另一个 DID 的某些属性做背书而发出的描述性声明,并附加自己的数字签名,用以证明这些属性的真实性,可以认为是一种数字证书。

    • VC元数据,包含了发行人、发行日期、声明类型
    • 声明,包含了一些具体信息
    • 证明,对VC的签名,防止VC内容被篡改
  • 可验证表达,VP(Verifiable presentation),可以选择性的披露部分VC的内容

    • VP元数据
    • VC列表,对外展示的VC内容
    • 证明,持有者对本VP的签名

请添加图片描述

请添加图片描述

DID在国内外使用场景的现状及发展趋势

国内外的DID解决方案:

  • 本体 ONTID: https://docs.ont.io/

    • 中文介绍:https://zhuanlan.zhihu.com/p/518885744
    • 中文技术白皮书:https://ont.io/wp/Ontology-technology-white-paper-ZH.pdf
    • ontid相关项目:https://github.com/ont-id
    • Java SDK, 可嵌入Web2: https://github.com/ont-id/vc-java-sdk
    • Go SDK: https://github.com/ont-id/vc-go-sdk
    • Java SDK,使用ONT ID,结合区块链: https://github.com/ont-id/vc-with-ontid-java-sdk
  • sovrin: https://sovrin.org/

  • brightid:

    • https://www.brightid.org/
    • https://brightid.gitbook.io/brightid-zh/
    • App下载:https://drive.google.com/file/d/1EJIFrf8xPNrES6prB4qYaJogtYwEIKCG/edit
  • ArcBlock的DID协议 : https://github.com/ArcBlock/abt-did-spec

国外的DID框架(基于公链)

以下两个项目,都属于uPort旗下

serto框架(Typescript)

  • https://docs.serto.id/docs/intro

veramo框架(Typescript)

  • https://veramo.io/docs/basics/introduction
  • https://github.com/uport-project/veramo

国内Fisco Bcos开发的DID项目WeIdentity(有Java SDK, 基于FISCO BCOS联盟链)

WeIdentity 的基本流程图:
请添加图片描述

其中Credential Repository是区块链智能合约。


  • (必读!)WeIdentity规范,https://weidentity.readthedocs.io/zh_CN/latest/docs/weidentity-spec.html
  • 官方文档:https://weidentity.readthedocs.io/zh_CN/latest/docs/use-cases.html
  • JavaSDK: https://github.com/WeBankFinTech/WeIdentity
  • 智能合约: https://github.com/WeBankFinTech/weid-contract

以下内容摘自WeIdentity官方文档:

WeIdentity DID智能合约的功能:

  • 负责链上ID体系建立,具体包括生成DID(Distributed IDentity)、生成DID Document、DID在链上的读取与更新。
  • WeIdentity Authority智能合约,负责进行联盟链权限管理,具体包括链上DID角色的定义、操作与权限的定义与控制。
    从业务视角来看,DID智能合约只需要做一件事,就是如何定义DID Document的存储结构和读写方式。DID Document的结构并不复杂(见规范文档);但在实际的业务中,存在一些挑战:
    伴随着接入用户(人与物)的快速增长,DID的总量将会增长迅速,规模庞大。因此,设计一个大而全的映射表是不现实的,这会带来巨大的寻址开销,即使采用传统分库、分表、跨链的思路也难以应付。
    DID存在更新的需求。因此,每次都存储完整的Document域在更新情况下会产生大量的历史数据。
    因此,WeIdentity使用Linked Event:基于事件链的存储方法来解决以上问题。

WeIdContract.sol:
https://github.com/WeBankBlockchain/WeIdentity-Contract/blob/master/contracts/WeIdContract.sol

从合约代码可以看到, weidentity通过event机制,进行数据存储:

event WeIdAttributeChanged(
        address indexed identity,
        bytes32 key,
        bytes value,
        uint previousBlock,
        int updated
    );

event WeIdHistoryEvent(
    address indexed identity,
    uint previousBlock,
    int created
);

创建credential操作需要和链进行交互。


总结

  • DID技术和隐私计算一样需要时间来落地
  • 用户能和服务商平等,是用户需要争取的
  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-08-19 19:11:13  更:2022-08-19 19:11:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 21:46:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码