BSN DID(数字身份服务)简介、角色、结构、功能和特性

2024-02-07 13:40

本文主要是介绍BSN DID(数字身份服务)简介、角色、结构、功能和特性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

id:BSN_2021

公众号:BSN研习社

身份(Identity,简称ID),是我们生活中最重要的一个标志。我们每个人之所以与别人不同,归根结底,就是因为我们的身份各不相同。

在不同的身份之上,我们每个人有不同的身份证、毕业证、驾驶证等,这些又称为证件、凭证。此外还有各种网站注册的账号等,它们是我们享受网站服务的凭证,同样可称的上是我们的“身份”证。

传统中,我们的证件都是中心化的。譬如我们的身份证,由国家公安部门统一颁发。驾驶证,由交管部门颁发。所有的相关信息都统一存储于相关部门。很多公司,也会大量采集客户的身份信息。

这一方面给我们生活带来了极大便利,另一方面,随着大数据时代的来临,各种关于身份的数据灭失、身份造假、隐私泄露等相关问题,越来越引起人们的重视。

BSN数字身份以区块链技术为基石,以W3C DID(Decentralized Identity,简称DID)为规范,通过对现实实体身份的去中心化式的链上映射,达到为个人/组织提供数字身份标识和数字凭证交互的能力,最终实现个人对其身份信息的精细管控。

作为BSN 区块链服务不可或缺的重要一部分,BSN DID具有广泛的应用场景。

那么,DID具体是什么?当前DID现状如何?BSN DID有哪些技术特点?功能特性如何?如何接入BSN DID?

1.DID 是什么

DID(Decentralized Identity)指的是对现实实体身份的一种去中心化式的链上映射,任何人/组织/实物都可在链上创建和管理自己的数字身份,从而达到为个人/组织提供数字身份标识和数字凭证交互的能力。

在日常的业务中,利用DID,用户并不需要向验证方展示自己的全部个人信息,这可有效保护用户隐私。譬如在网络游戏中,玩家申请加入游戏,并向游戏公司展示自己的DID,游戏公司向国家公安部门申请验证“玩家是否大于18岁”。在玩家授权的情况下,游戏公司只会得到一个是或否的答案,并不能得到玩家的身份证号信息。

目前,DID还处于非常初期的发展阶段。国际上,W3C 推出的DID标准比较权威。在W3C的标准里面,DID分为2层。

首先是基础层。其对DID提出了一个规范。主要包括两个部分:DID标志符(Identifier)和DID文档(Document)。它们形成DID的最基础框架。

其次是应用层。包含的是可验证声明(Verifiable Claims 或 Verifiable Credentials)。在DID里面,身份、凭证缺一不可。可验证声明,就是为实现“提供数字凭证交互的能力”。

 2.当前DID现状

目前市面上,从功能角度,可以把DID分为2类。

一类是DID产品/服务。主要运行在联盟链上,具备支持数字凭证交互能力,例如蚂蚁DID(蚂蚁DIS)、微众DID(微众WeIdentity)、百度DID。

另一类是公链DID,其只有数字身份功能,例如Eth DID,Hedera DID。

当前,很多公司都推出了DID相关产品。普遍存在一些短板。表现在3个方面。

1.普遍缺少实名认证,需依托于线下背书。在我国,实名认证很重要。如果缺乏实名认证,会对公司的业务产生诸多不利影响。

2.基于单一的链框架。DID并不能达到长期存在、去中心化的效果。

3. 只适合于服务对接,不适合于平台对接

平台对接与服务对接的最大区别在于是否涉及到具体业务。服务对接中,服务提供方把 SDK提供给用户让他们自己去离线注册 DID,这符合DID的初衷和定位。

这若用在平台中,意味着所有的用户都到平台来直接用,因每个用户的能力参差不齐,有些甚至根本不是技术人员,离线注册 DID 不现实;平台若替所有的用户注册DID,又涉及到托管密钥问题,容易造成泄密。

3.BSN DID简介、角色和结构

BSN数字身份以区块链技术为基石,以W3C DID为规范,实现了对现实实体身份的去中心化式的链上映射,从而达到为个人/组织提供数字身份标识和数字凭证交互的能力。

在BSN DID生态体系内,主要有用户、发证方、使用方三种角色。

用户(User):拥有链上数字身份的任何人/组织/实物。任何实体对象都可通过开发者的项目去创建、管理自己的DID。这个角色功能在DID基础层实现。

发证方(Issuer):可发行数字凭证的人/组织。例如:高校可为某个学生颁发数字毕业证,那么这个高校便是一个发证方。

验证方(Verifier):也称为业务方,指使用数字凭证的人/组织,验证方在经用户授权后,可对用户的身份或其数字凭证进行验证。例如:企业录取某个人的时候,要对其高校毕业证进行验证,那么这个企业便是一个验证方。

发证方和验证方这两个角色功能在DID应用层实现。

BSN DID主要包含三部分:SDK、Service和智能合约。其中SDK供开发者在项目内集成使用;Service处理业务逻辑,连接隐私数据存储区(Identity Hub)和链节点;智能合约部署于链上,由Service进行合约方法调用。

 

4.功能与特性

相较于其它公司产品,BSN DID功能特性如下。

BSN DID基于BSN开放联盟链部署,构建分布式数字身份管理体系,便于用户、发证方、业务方自主参与、平权协作;

提供统一的分布式数字身份管理,包含身份标识创建,更新和验证等功能;

提供用户数据凭证的发行、授权、验证和吊销机制;

提供个人隐私数据存储区(Identity Hub),凭证数据由用户完全控制、加密存储、加密传输;

提供统一接入API服务和SDK,集成对象封装、签名、验证等方法,便于开发者对接。

 

特别是BSN DID的隐私数据存储模块,具有多个特点,可有效保护用户隐私,实现用户数据的高效、安全共享。具体特点如下。

1.通讯包加密(通讯报文密文传输)。

2.通讯报文加签(通讯报文加签名值)。

3.凭证内容加密。每个凭证都将生成一个密钥返回给用户,存储在Hub 内的凭证使用该密钥进行加密。

4.密钥值加密。Hub内不接收和保存用户的私钥。凭证密钥在 Hub内使用用户的公钥加密后存储。

5.用户主控。访问权限完全由用户自己控制。

6.单次授权。同一个第三方访问者,同样的操作权限的申请,用户只可授权一次。

7.单次访问。用户授权一次,第三方只可访问一次。

8.访问身份验证。Hub内会对访问者的身份进行验证。目前记录的身份为DID。

这些特点,共同构成了BSN DID的诸多优越性。

5. 如何接入BSN DID

BSN DID作为区块链服务网络BSN 不可或缺的重要基础设施之一,通过简单注册,开发者即可便捷的上手使用。

首先开发者在BSN 官网注册(地址:https://bsnbase.com)。

完成注册登陆后,点击数字身份服务,即可进入BSN DID详情页面。

如有任何技术问题,开发者点击帮助手册,即可得到详尽的指导。

 

如需接入DID服务,请下载SDK:https://github.com/BSNDA/DIDService-SDK。

若想要了解更多关于DID信息,请点击查看帮助手册:

https://bsnbase.com/static/tmpFile/bzsc/did/17-1.html 。

这篇关于BSN DID(数字身份服务)简介、角色、结构、功能和特性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/687911

相关文章

从去中心化到智能化:Web3如何与AI共同塑造数字生态

在数字时代的演进中,Web3和人工智能(AI)正成为塑造未来互联网的两大核心力量。Web3的去中心化理念与AI的智能化技术,正相互交织,共同推动数字生态的变革。本文将探讨Web3与AI的融合如何改变数字世界,并展望这一新兴组合如何重塑我们的在线体验。 Web3的去中心化愿景 Web3代表了互联网的第三代发展,它基于去中心化的区块链技术,旨在创建一个开放、透明且用户主导的数字生态。不同于传统

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF