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

相关文章

Java如何用乘号来重复字符串的功能

《Java如何用乘号来重复字符串的功能》:本文主要介绍Java使用乘号来重复字符串的功能,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java乘号来重复字符串的功能1、利用循环2、使用StringBuilder3、采用 Java 11 引入的String.rep

C#特性(Attributes)和反射(Reflection)详解

《C#特性(Attributes)和反射(Reflection)详解》:本文主要介绍C#特性(Attributes)和反射(Reflection),具有很好的参考价值,希望对大家有所帮助,如有错误... 目录特性特性的定义概念目的反射定义概念目的反射的主要功能包括使用反射的基本步骤特性和反射的关系总结特性

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

macOS Sequoia 15.5 发布: 改进邮件和屏幕使用时间功能

《macOSSequoia15.5发布:改进邮件和屏幕使用时间功能》经过常规Beta测试后,新的macOSSequoia15.5现已公开发布,但重要的新功能将被保留到WWDC和... MACOS Sequoia 15.5 正式发布!本次更新为 Mac 用户带来了一系列功能强化、错误修复和安全性提升,进一步增

rust 中的 EBNF简介举例

《rust中的EBNF简介举例》:本文主要介绍rust中的EBNF简介举例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 什么是 EBNF?2. 核心概念3. EBNF 语法符号详解4. 如何阅读 EBNF 规则5. 示例示例 1:简单的电子邮件地址

在React聊天应用中实现图片上传功能

《在React聊天应用中实现图片上传功能》在现代聊天应用中,除了文字和表情,图片分享也是一个重要的功能,本文将详细介绍如何在基于React的聊天应用中实现图片上传和预览功能,感兴趣的小伙伴跟着小编一起... 目录技术栈实现步骤1. 消息组件改造2. 图片预览组件3. 聊天输入组件改造功能特点使用说明注意事项

基于Redis实现附近商铺查询功能

《基于Redis实现附近商铺查询功能》:本文主要介绍基于Redis实现-附近商铺查询功能,这个功能将使用到Redis中的GEO这种数据结构来实现,需要的朋友可以参考下... 目录基于Redis实现-附近查询1.GEO相关命令2.使用GEO来实现以下功能3.使用Java实现简China编程单的附近商铺查询4.Red

使用Python实现实时金价监控并自动提醒功能

《使用Python实现实时金价监控并自动提醒功能》在日常投资中,很多朋友喜欢在一些平台买点黄金,低买高卖赚点小差价,但黄金价格实时波动频繁,总是盯着手机太累了,于是我用Python写了一个实时金价监控... 目录工具能干啥?手把手教你用1、先装好这些"食材"2、代码实现讲解1. 用户输入参数2. 设置无头浏

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性