一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于DID的区块链数据交换方法及系统与流程

2021-11-05 21:28:00 来源:中国专利 TAG:

基于did的区块链数据交换方法及系统
技术领域
1.本发明涉及区块链技术领域,特别是涉及一种基于did的区块链数据交换方法及系统。


背景技术:

2.目前:区块链上不同节点,不同合约之间数据交换缺乏统一的标准和规范,另外同一个体的数据分布在不同区块链节点上。例如公安局存有个人身份信息,税务局存有个人纳税信息,而学校存有个人的学历证明,银行存有个人的征信,随着国家对个人隐私数据的越来越重视,这些信息是不能在区块链上各个节点共享的,然而在应用中如果需要同时访问这些信息。通常的做法,抽取各个组织系统到一个中心数据库,再合并,这样隐私数据很容易集中外泄,也无法定位泄露的责任方;另外基于区块链的数据共享方法,如下:
3.cn202011403482.7,“基于区块链技术的政务数据交换方法及系统”,一文总只是描述了利用智能合约系统完成数据交换过程,但是智能合约怎么完成数据交换,数据的组织和交换的形式,以及怎么和多个组织节点交换没有论述。
4.cn201811376370.x,“基于区块链的数据交换方法及装置“,提出了一种基于区块链的数据交换方法,从区块链上确定目标数据对应的目标区块链标识,根据所述目标区块链标识生成数据交换订单,从区块链上调取订单管理合约及数据合约根据所述数据交换订单创建订单主合约,将所述订单主合约发布至区块链上以使所述目标区块链标识对应的数据提供方对所述订单主合约进行签名;触发所述订单主合约开始执行,以使所述数据提供方将所述目标数据的源数据上传至存储系统,并将所述源数据的hash值发布至区块链上;从区块链上获取所述源数据的hash值,并根据所述hash值从所述存储系统获取源数据。
5.触发所述订单主合约开始执行,以使所述数据提供方将所述目标数据的源数据上传至存储系统,并将所述源数据的hash值发布至区块链上;从所述区块链上获取所述源数据的hash值,并根据所述hash值从所述存储系统获取源数据。在这里原始数据都在存储系统中,原始数据的hash值在区块链上,并不是做的链上数据的共享和计算。
6.区块链上或者链外,不同组织(不同节点)数据,在考虑到隐私安全和数据所有权,商业利益下,很大情况下不愿意在节点间共享;即使在考虑到隐私安全,各个组织中同一个用户的账号可能不一致,数据怎么关联,即使关联了怎么很方便的在多组织间进行数据筛选和计算,都是问题。
7.同一个体,在不同组织产生的数据,这些数据可能在区块链上不同组织节点上,也可能在链外不同机构中,在不共享来源,也不集中的情况下,怎么去访问这些数据,以及怎么加工使用,如何验证数据的来源的合法性等。如果能达到这种目的,则可以比较方便在区块链上,和区块链外,不同数据持有方之间做到数据共享和计算。


技术实现要素:

8.本发明要解决的技术问题是提供一种基于did的区块链数据交换方法及系统,能
够在区块链的智能合约里访问链上的隐私数据和链外的隐私数据。
9.为解决上述技术问题,本发明提供了一种基于did的区块链数据交换方法,所述方法包括:智能合约通过调用did control相关服务来查询did,以及验证身份;如果不同组织机构的隐私数据存在区块链不同组织的节点上,通过在智能合约中运行dsql的方法来访问;如果节点的数据存放在区块链外部系统,可以通过登录者的did,从可验证数据注册中心查到对应的did文件,解析did文件,获得数据的schema,并获得相关的服务的url;在智能合约中合并从区块链上,或者其它外部端点服务上返回的数据,返回给上层应用。
10.在一些实施方式中,还包括:在智能合约通过调用did control相关服务来查询did,以及验证身份之前,用户通过钱包中did登录区块链的智能合约。
11.在一些实施方式中,钱包包含在可验证凭证系统中。
12.在一些实施方式中,可验证凭证系统还包括:可验证数据注册中心。
13.在一些实施方式中,可验证数据注册中心,可以是一种分布式存储,也可以是数据库,也可以是区块链的存储。
14.在一些实施方式中,还包括:在用户通过钱包中did登录区块链的智能合约之前,颁发者颁发凭证给持有者,用户将凭证存放到钱包中;用户将凭证注册到可验证数据注册中心;用户将凭证发送给验证者验证;颁发者和验证者验证相关凭证或者schema。
15.在一些实施方式中,不同的节点的数据访问格式,可在did文件的schema中定义。
16.此外,本发明还提供了一种基于did的区块链数据交换系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的基于did的区块链数据交换方法。
17.采用这样的设计后,本发明至少具有以下优点:
18.通过上述的技术方案,能够在区块链的智能合约里访问链上的隐私数据和链外的隐私数据。
19.1.如果隐私数据存在链上不同组织节点间,通过在智能合约中运行dsql的方法来访问;
20.2.如果隐私数据存在链外,可以通过智能合约解析did,获取did的代理proxy的访问地址,通过代理访问数据提供方的endpoint服务;
21.3.不同的节点的数据访问格式,可在did document的schema中定义。
附图说明
22.上述仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,以下结合附图与具体实施方式对本发明作进一步的详细说明。
23.图1是方法的流程图;
24.图2是交易过程的示意图。
具体实施方式
25.以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
26.(一)工作原理部分:
27.系统构成:基于did的区块链数据交换系统:包含did子系统,vcd系统,区块链系统构成。
28.1)可验证凭证系统(vcd系统):包含钱包(wallet),可验证数据注册中心(verifiable data registry)。可验证数据注册中心(verifiable data registry),可以是一种分布式存储,也可以是数据库,也可以是区块链的存储。在vcd系统中,可验证数据注册中心,用于存放凭证credential。
29.s1.颁发者(issuer)颁发凭证credential给持有者(user),用户将credential存放到钱包wallet中。
30.s2.user将credential注册到verifiable data registry
31.s3.user将credential发送给verifier验证。
32.s4.issuer和verifier验证相关credential或者schema。
33.2)did的系统:由did控制中心(didcontrol),钱包(wallet),代理(proxy),端点服务(endpoint service),可验证数据注册中心(verifiable data registry)组成。
34.did控制中心(didcontrol):负责did的相关服务,创建did,更新did,撤销did,查询did,以及did document文档的解析,endpoint服务的注册和注销。
35.钱包(wallet):属于用户,里面存放区块链系统的did或相关凭证(credential)。
36.代理(proxy):为了不对外暴露did document中相关endpoint服务的url以及由url带来的隐私安全,代理需要维护did document中service中url和真实的后台endpoint服务地址的映射关系,转发凭证验证或者数据交互的请求到真实的endpoint服务上。
37.端点服务(endpoint service):接受来自proxy代理来的凭证验证相关请求,或者相关数据的请求。此服务可以是部署在区块链系统之外服务,独立访问外部资源(extern resource),也可以是部署在区块链上的智能合约服务,能访问区块链上的数据。
38.可验证数据注册中心(verifiable data registry):在did系统中,存放did document。
39.3)区块链系统:由节点node,和节点上智能合约smart构成。
40.节点node:支持did用户访问,支持执行分布式dsql解析引擎,支持数据脱敏模块datasecopt,支持对vcd系统的凭证的解析。
41.智能合约smart:应该支持合约之间相互调用,同时能支持调用外部幂等性服务。
42.当数据隐私交换的节点在区块链上时,其交易过程如图2所示。
43.(二)系统的工作流程:
44.1)用户通过钱包wallet中did登录区块链的智能合约(s5)。
45.2)智能合约通过调用didcontrol相关服务来查询did,以及验证身份(s6)。
46.3)如果不同组织机构的隐私数据存在区块链不同组织的节点上,各个节点不共享数据,可以通过下图的方式实现数据获取和调用。
47.4)如果节点的数据存放在区块链外部系统,可以通过登陆者的did,从可验证数据注册中心查到对应的did document,解析did document,获得数据的schema,并获得相关的service的url(s6)。这是一个代理的url,通过调用代理proxy的url访问真实的endpoint service,通过endpoint服务访问外部资源extern resource(s7)。
48.5)在智能合约中合并从区块链上,或者其它外部endpoint服务上返回的数据,返回给上层应用。
49.按照以上方案,我们可以在区块链的智能合约里访问链上的隐私数据和链外的隐私数据。
50.1.如果隐私数据存在链上不同组织节点间,通过在智能合约中运行dsql的方法来访问。
51.2.如果隐私数据存在链外,可以通过智能合约解析did,获取did的代理proxy的访问地址,通过代理访问数据提供方的endpoint服务。
52.不同的节点的数据访问格式,可在did document的schema中定义。
53.以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,本领域技术人员利用上述揭示的技术内容做出些许简单修改、等同变化或修饰,均落在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献