博客
关于我
去中心化身份(Decentralized ID, DID)介绍
阅读量:700 次
发布时间:2019-03-17

本文共 1553 字,大约阅读时间需要 5 分钟。

去中心化身份(Decentralized Identity, DID)作为区块链领域的一个重要概念,虽然在热度上不如一些现象级技术如跨链、DeFi等,但其潜在价值却不容忽视。微软等大厂对DID的布局,实际上也在向我们发起一种暗示。

背景与现状

中心化身份系统的本质是,用户的身份数据掌控在中心化机构手中。这种模式在现有的ICANN管理域名、PKI系统中的CA证书管理等领域得到了广泛应用。然而,这种体系存在两个核心问题:

  • 身份数据不在用户掌控:用户无法真正拥有自己的身份数据,必须依赖中心化机构完成身份认证、授权等操作。
  • 身份互通性不足:不同平台之间(如淘宝、知乎等)各自有独立的身份系统,用户需要在每个平台重新注册账户,且不存在身份数据的互通性。
  • 为了解决这些问题,**联盟身份(Federated Identity)**应运而生。微软于1999年提出的联盟身份体系为用户提供了身份的可移植性,使得如今大多数网站都能支持第三方登录(如微信、QQ、新浪微博等)。随后,身份系统逐渐向去中心化方向发展,诸如OpenID等标准的提出进一步推动了这一进程。

    尽管DID目前在区块链领域仍处于冷门状态,但其潜在价值不容忽视。微软的布局或许正是这种趋势的一种体现。


    W3C DID 标准

    W3C的DID标准为去中心化身份提供了一个全面的框架,主要包括以下要素:

  • DID标识符:类似于身份证号,具有全局唯一性。例如,did:eth:123456789abcdefg。
  • DID文档:一个JSON-LD对象,包含以下要素:
    • DID标识符
    • 加密材料(如公钥)
    • 加密协议
    • 服务端点
    • 时间戳
    • 可选的JSON-LD签名
  • 值得注意的是,DID文档中不包含用户的真实信息,身份验证需要依赖可验证声明(Verifiable Claims,VC)


    可验证声明(Verifiable Credentials)

    VC是DID体系的核心价值所在。VC类似于数字签名,需要通过一个体系进行支持。以下是VC体系的主要参与者:

  • 发行者(Issuer):掌握用户数据,能够开具VC的实体,如政府、银行、大学等。
  • 验证者(Verifier,IV):接收并验证VC,提供给用户某种服务。
  • 持有者(Holder):请求并持有VC的用户,向IV出示VC。
  • 标识符注册机构(Identifier Registry):维护DIDs数据库,如区块链或分布式账本。
  • IV验证用户的方法是:通过Holder的DID文档中的公钥验证其签名的合法性,类似于区块链上的交易签名。


    uPort项目

    uPort是一款专为去中心化应用(DApp)设计的工具和协议集合,旨在降低用户使用DApp的门槛。以下是其核心特点:

  • 用户友好性
    • uPort App类似于加密货币钱包,用户无需了解复杂的区块链概念。
    • 提供uPort ID,结合DID和以太坊账户,便于在DApp中使用。
  • 功能模块
    • 个人基本信息(如Name、Email等)。
    • VC存储与管理。
    • 辅助信息(如账号二维码、头像等)。
  • 运行机制
    • uPort通过代理机构(Issuer)获取VC。
    • VC作为对DApp操作的数字签名,类似于加密货币交易的签名。

  • DApp与uPort的结合

    目前支持uPort的DApp数量相对较少,这与DID在区块链行业仍处于萌芽阶段有关。W3C的DID标准目前也尚未完全成熟(当前版本为v0.13),因此实际应用中可能需要结合自定义方案。


    结语

    DID技术的核心价值在于它能够真正让用户掌控自己的身份数据,同时实现跨平台的身份互通性。尽管当前DID在应用场景和标准化程度上仍有待提升,但其未来的发展潜力不容忽视。uPort等项目的探索,为这一方向提供了重要实践经验,也为DID技术的落地奠定了基础。

    转载地址:http://sspez.baihongyu.com/

    你可能感兴趣的文章
    mysql 协议的退出命令包及解析
    查看>>
    mysql 取表中分组之后最新一条数据 分组最新数据 分组取最新数据 分组数据 获取每个分类的最新数据
    查看>>
    mysql 多个表关联查询查询时间长的问题
    查看>>
    mySQL 多个表求多个count
    查看>>
    mysql 多字段删除重复数据,保留最小id数据
    查看>>
    MySQL 多表联合查询:UNION 和 JOIN 分析
    查看>>
    MySQL 大数据量快速插入方法和语句优化
    查看>>
    mysql 如何给SQL添加索引
    查看>>
    mysql 字段区分大小写
    查看>>
    mysql 字段合并问题(group_concat)
    查看>>
    mysql 字段类型类型
    查看>>
    MySQL 字符串截取函数,字段截取,字符串截取
    查看>>
    MySQL 存储引擎
    查看>>
    mysql 存储过程 注入_mysql 视图 事务 存储过程 SQL注入
    查看>>
    MySQL 存储过程参数:in、out、inout
    查看>>
    mysql 存储过程每隔一段时间执行一次
    查看>>
    mysql 存在update不存在insert
    查看>>
    Mysql 学习总结(86)—— Mysql 的 JSON 数据类型正确使用姿势
    查看>>
    Mysql 学习总结(87)—— Mysql 执行计划(Explain)再总结
    查看>>
    Mysql 学习总结(88)—— Mysql 官方为什么不推荐用雪花 id 和 uuid 做 MySQL 主键
    查看>>