分布式数字身份项目——微软DID

这篇具有很好参考价值的文章主要介绍了分布式数字身份项目——微软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操作方法:

Ion-test:注册到比特币测试网络

test:注册到微软数据库同时正在开发对以下三个分布式账本的支持:

比特币正式网络

通过 uport的 DID方法,注册到以太坊

通过 Sovrin的 DID方法,注册到 Sovrin网络

在 DID注册和查询过程中,为解决公链效率低下的问题,微软和 DIF联盟的几个成员发起了 SideTree协议,构建了 L1层公链和 L2层 DID操作的分层架构:

L2层保存了 DID操作的源数据并推送到 IPFS网络,汇聚尽可能多的 DID操作后锚定到 L1层;

L2层的每个“节点”各自与 L1层同步,获取 Sidetree锚定交易后,拉取DID操作源数据。

分布式数字身份项目——微软DID

2.基于 DID的交互 &可验证凭证应用

微软 DID中未提供完整的 DID交互和可验证凭证应用软件,由开发者根据自己需求进行设计。微软 DID主要为开发者提供了 Identity Hub模块,它的目标是为用户存储和管理隐私数据,以增强数据表达能力的“语义数据模型”实现。在DIF的认可下,已发布了第一版开源代码。

与传统的数据存储解决方案相比,Identity Hub具有去中心化的特性:

标准化接口:Hub的实现厂商需要满足标准化的数据存取接口,包括为每个用户的 Hub注册 DID,不同用户的 Hub通过 DID标识符进行互操作。

开源:通过开源代码,鼓励开发者运营自己的 Hub。

Identity Hub支持与用户通过 DID进行点对点的安全通信,遵循 DIDAuth的相互认证和加密传输。

3.微软的DID方案

微软的DID方案可以拆解为三个部分:Sidetree、ION、以及DID,它们分别对应协议层、网络层和应用层,三者属于逐级向上建构的关系。其中ION既是网络层的名称,也是微软这一DID方案的项目名称。我们来进一步解析一下三个部件的特性:
Sidetree
作为协议层,它可以被部署在比特币以及以太坊网络上,据其官方Medium介绍,之后该协议或可被部署于更多种类的区块链网络上。
需要注意的是,目前的微软DID方案中,Sidetree作为协议层,仅被部署在比特币的测试网上,预计接下来的几个月中可能会部署在比特币主网上。
Sidetree的核心功能有如下三项:

  • Sidetree 核心(Sidetree Core)

观测来自目标区块链(就当前的状况而言,这是代指比特币区块链)的传入事务(incoming trasactions), 抓取其观测到的、所有的DID操作(operations),进而验证每一个DID的状态。

  • 内容可寻址存储协议( Content Addressable Storage Protocol)

这一功能类似于IPFS,它将数据在链下存储以减少链上的负担,并允许跨节点的事务传播(transaction propagation across nodes)。

  • 区块链/账本适配器 (Blockchain/Ledger Adapter)

向底层区块链读取和写入DID操作的代码。
ION
微软对ION做出了如下的定义:
ION是一个基于Sidetree协议的开源网络,可以通过将操作写入安全且不可变的区块链(如比特币)来巩固和维护对DID的所有权。
当介绍ION的特性时,其指出ION在具有全球可扩展性的(globally scalable)的同时,还“保有比特币区块链去中心化的特性“( “while inheriting and preserving the attributes of decentralization present in the Bitcoin blockchain.” )。
需要指出的是,作为Layer 2,ION不受限于一层的比特币区块链的吞吐量限制。据悉,其上的TPS是”成千上万“的("tens of thousands of operations" per second)。
此外,ION还涉及一些需要付费的事项。当ION的节点想要将事务锚定到比特币区块链(anchoring transactions to the Bitcoin blockchain)时,他们需要付费。
一般来说,这一部分费用会被转嫁至终端用户那里。据微软去中心化身份事务的高级副总丹尼尔.布什(Daniel Buchner)测算,一项包含3万个操作的事务,每个用户需要付出的手续费为0.0003美元。
丹尼尔进一步补充道,未来微软可能使用自己的节点来运行ION,这样就可以给终端用户免除这部分费用了。而包括Casa、Equnix、Learning Machine、Civic、Cloudflare等公司,也都对运营ION节点表示了兴趣。
DID

Decentralized IDentity去中心化身份,简称DID,相对于传统的基于PKI的身份体系,基于区块链建立的DID数字身份系统具有保证数据真实可信、保护用户隐私安全、可移植性强等特征,其优势在于:

  • 去中心化:基于区块链,避免了身份数据被单一的中心化权威机构所控制。
  • 身份自主可控:基于DPKI (分布式公钥基础设施),每个用户的身份不是由可信第三方控制,而是由其所有者控制,个人能自主管理自己的身份。
  • 可信的数据交换:身份相关数据锚定在区块链上,认证的过程不需要依赖于提供身份的应用方。

要理解DID,不妨将其一分为二:

  1. 唯一标识符。( a unique identifier)
  2. 相关的DID文档。(an associated DID Document)

前者充当着后者的标签,后者则包含诸如DID可以授权什么,以及在哪些服务中,DID可以被使用等信息。需要注意的是,DID文档中不直接包含任何个人信息(姓名、地址、电话等)。

DID标识:

DID标识是一个特定格式的字符串,用来代表一个实体的数字身份,这里的实体可以是人、机、物。DID标识的格式为:

前缀did:是固定的,表示这个字符串是一个did标识字符串。
中间的example被称为DID方法,就是用来表示这个DID标识是用哪一套方案(方法)来进行定义和操作的。这个DID方法我们可以自定义,并且注册到W3C的网站(https://w3c.github.io/did-spec-registries/#did-methods)中。
最后面的部分是在该DID方法下的唯一标识字符串。比如我们做了一个DID系统,我们把方法就起名叫cid吧,想把中国公民的身份证信息都DID化,那么我的DID标识就是:
did:cid:5111**************5
这里我们就使用身份证号码作为cid这个DID方法下的唯一标识。

DID文档:

每一个DID标识都会对应一个DID文档(DID Document)。这个文档就是一个JSON字符串,里面一般会包含如下信息:

  • DID主题

DID标识符本身,也就是DID文档所描述的该DID。由于DID的全局唯一特性,因此在DID文档中只能有一个DID。

  • 公钥

公钥用于数字签名及其他加密操作,这些操作是实现身份验证以及与服务端点建立安全通信等目的的基础。如果 DID 文档中不存在公钥,则必须假定密钥已被撤销或无效,同时必须包含或引用密钥的撤销信息(例如,撤销列表)。

  • 身份验证

身份验证的过程是 DID 主题通过加密方式来证明它们与 DID 相关联的过程。

  • 授权

授权意味着他人代表 DID 主题执行操作,例如当密钥丢失的时候,可以授权他人更新 DID 文档来协助恢复密钥。

  • 服务端点

除了发布身份验证和授权机制之外,DID 文档的另一个主要目的是为主题发现服务端点。服务端点可以表示主题希望公告的任何类型的服务,包括用于进一步发现、身份验证、授权或交互的去中心化身份管理服务。

  • 时间戳

文档创建时间和更新时间


以上信息并不是必须有,不过一般我们建议包含。我们来看一个具体的DID文档示例:

{
"@context": "https://w3id.org/did/v1",
"id": "did:example:123456789abcdefghi",
"authentication": [{
// 本DID文档对应的DID标识
"id": "did:example:123456789abcdefghi#keys-1",
"type": "RsaVerificationKey2018",
"controller": "did:example:123456789abcdefghi",
//本DID对应的公钥信息
"publicKeyPem": "-----BEGIN PUBLIC KEY...END PUBLIC KEY-----\r\n"
}],
"service": [{
// 获取本DID对应的VC的服务接口
"id":"did:example:123456789abcdefghi#vcs",
"type": "VerifiableCredentialService",
"serviceEndpoint": "https://example.com/vc/"
}]
}

个人觉得DID文档中最重要的就是公钥信息,这是我们接下来要进行VC和VP验证的基础。

我们一般是把DID标识作为Key,把DID文档作为Value存储到区块链中,利用区块链不可篡改、共享数据访问的特点,实现接下来在验证身份时能快速访问获取可信数据。

Sidetree、ION、DID这三项功能组合后的方案又如何发挥作用呢?不妨以具体的场景来理解:
以微信为例,目前用户使用各类互联网服务,往往都会直接选择微信的第三方登录/注册,以统一身份,免除逐个平台账号登录/注册的麻烦。
但这里的隐含问题是,微信可以对你的头像、ID、昵称等信息保有所有权,最近的案例是用户使用微信注册&登录“飞聊”后,相关的信息被申明为“微信所有”,不得在其他平台使用。更严重的的情况可能是,微信或许会关停你的账号,这可能使你所用用类似方法注册的服务都无法使用。
DID引入后,情况可能会转变为,微信可以关停你的账号,但是你的ID、昵称、头像等信息依然可以使用,依靠这些信息的其他平台服务也一样可以继续使用。换言之,身份信息的控制权被转交到了用户手中。
目前 , 微软这一项目已经开源运作,相关代码也已经公开在了Github上。

https://github.com/decentralized-identity/ionhttps://github.com/decentralized-identity/ion
据Cointelegraph,微软对这一DID方案颇有野心,准备将其推向数十亿人口与设备(Specifically, the company aims to create an ecosystem where “billions of people and countless devices),但其面临着不少现实的阻力。文章来源地址https://www.toymoban.com/news/detail-500175.html

到了这里,关于分布式数字身份项目——微软DID的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自己手写了一套高性能分布式IM即时通讯系统,出去面试嘎嘎聊,都把面试官整不会了!

    沉淀,成长,突破,帮助他人,成就自我。 大家好,我是冰河~~ 分布式IM即时通讯系统本质上就是对线上聊天和用户的管理,针对聊天本身来说,最核心的需求就是: 发送文字、图片、文件、语音、视频、消息缓存、消息存储、消息未读、已读、撤回,离线消息、历史消息、

    2024年01月24日
    浏览(48)
  • 探索Garnet:微软开源的高性能分布式缓存存储系统

    微软研究院近期宣布推出一款名为Garnet的创新开源分布式缓存存储系统,致力于解决现代应用程序在处理大规模数据时对于高吞吐量、低延迟及卓越可扩展性的严苛要求。这款基于C# .NET 8.0构建的新型系统,充分利用了现代硬件能力,为应用程序开发人员提供了加速数据访问

    2024年04月26日
    浏览(55)
  • 【区块链 | DID】白话数字身份

    《十四五数字经济发展规划》提出建立健全政务数据共享协调机制,加快数字身份统一认证和电子证照、电子签章、电子公文等互信互任,推进发票电子化改革,促进政务数据共享、流程优化和业务协同。在数字经济逐渐成形的背景下,推进数字政务进行数字化转型,数字身

    2024年02月08日
    浏览(39)
  • 专注分布式架构 莱商银行的数字化转型实践

    本文刊登于《金融电子化》杂志 2022 年 12 月下,作者魏汝浩为莱商银行首席信息官。 2021 年 12 月 29 日,中国人民银行印发《金融科技发展规划(2022—2025 年)》(银发〔2021〕335 号),提出新时期金融科技发展指导意见,明确金融数字化转型的总体思路、发展目标、重点任

    2023年04月16日
    浏览(50)
  • 通付盾发布UIAM白皮书,利用区块链、大模型AI,以及无证书分布式身份认证赋能工业互联网

    简介 UIAM白皮书 结合各行业与国内外IAM发展状况,对IAM发展历程、核心能力以及现代增强型IAM技术的演进路线进行探讨。探索身份和信息安全管理与区块链、大模型AI、无证书分布式身份认证等技术趋势,以及UIAM技术在工业互联网的应用。期望能够帮助企业组织更加深入全面

    2024年02月11日
    浏览(63)
  • LLM-分布式训练工具(一):DeepSpeed【微软】【大模型分布式训练工具,实现ZeRO并行训练算法】【zero3配置将模型参数切分后分配到不同的显卡中,突破单张显卡容量不足以加载模型参数的限制】

    DeepSpeed是微软推出的大规模模型分布式训练的工具,主要实现了ZeRO并行训练算法。 原始文档链接: DeepSpeed Optimizer state partitioning (ZeRO stage 1) Gradient partitioning (ZeRO stage 2) Parameter partitioning (ZeRO stage 3) Custom mixed precision training handling A range of fast CUDA-extension-based optimizers ZeRO-Offlo

    2024年02月16日
    浏览(46)
  • 优化生产流程:数字化工厂中的OPC UA分布式IO模块应用

    背景 近年来,为了提升在全球范围内的竞争力,制造企业希望自己工厂的机器之间协同性更强,自动化设备采集到的数据能够发挥更大的价值,越来越多的传统型工业制造企业开始加入数字化工厂建设的行列,实现智能制造。 数字化改造推动工厂越来越“聪明” 1 数字化车

    2024年02月11日
    浏览(38)
  • GoDance分布式搜索引擎项目

    5月6日参加了字节跳动青训营,做的一个GoDance分布式搜索引擎项目,到今天5月7日该交大项目了。从刚开始不知道从哪里入手到后面一直开会一直看资料才基本完成了这个项目,所以总结了一下自己负责的相关度搜索算法模块。 资料:控制相关度 | Elasticsearch: 权威指南 | Ela

    2024年02月04日
    浏览(50)
  • 分布式项目 11 在项目中使用jsonp发送请求并且处理

    在项目中使用jsonp技术 01.相关子系统的搭建 第一步:创建一个新的子系统,叫做jt-sso 选中jt父级项目,然后鼠标右键进行new,然后选中maven Model,进行项目的创建,具体操 作如下图所示: 第二步:编辑pom.xml文件 01.引入jt-common项目资源依赖坐标 02.添加插件 第三步:创建封装

    2024年02月06日
    浏览(34)
  • 【AIOT项目讲解-开源-省创-毕设】分布式智慧蜂箱

    这是个人的毕设项目,也是省创、校创的项目 包含物联网部分、图像处理部分的讲解和演示 衷心感谢三年来,帮助过我的师长们、兄弟姐妹们,文字表达不完心意,祝你们生活顺利、福生无量! 欢迎HR、技术朋友、学弟学妹们,参与交流,若有需要,知无不言! 开源如下,

    2024年03月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包