一种基于区块链的数据交换方法技术

技术编号:23512949 阅读:22 留言:0更新日期:2020-03-18 00:12
本发明专利技术公开了一种基于区块链的数据交换方法,包括文件数据上链过程以及数据交换过程,本发明专利技术中去中心化,采用信息与数据分类的方式,将数据目录,文件hash等需由各方共同管理的内容以分布式账本形式存放,数据内容由各方各自存储,交换过程由各方达成的合约控制,不但记录数据分享的情况,而且可以有效地验证数据内容是否正确,通过分享权限控制确保数据安全性,即本发明专利技术基于区块链完成双方可互相信任的,合约形式的,数据安全的,不可抵赖的数据交换平台。

A data exchange method based on blockchain

【技术实现步骤摘要】
一种基于区块链的数据交换方法
本专利技术属于区块链
,具体涉及一种基于区块链的数据交换方法。
技术介绍
区块链技术是一种去中心化的分布式数据库技术,具有去中心化、公开透明、不可篡改、可信任等多种特点,适用于诸多对数据可靠性具有高需求的应用场景。智能合约是执行在区块链上层的脚本,具有图灵完备与高可塑性的特性。使用者可以将复杂的商业逻辑以智能合约的模式实现,通过将智能合约交由区块链底层托管的模式,将需要多方信任才可完成的商业模式变成无需信任化。智能合约做到无需的信任的前置条件是将与合约相关的数据存储到区块链上,从而做到合约数据不可被篡改。数据资源化是大数据发展的首要趋势,其中如何实现数据间高效交换交换,实现数据的互联互通,提高数据利用率是推送数据资源化的关键。现有技术中也出现了一些数据交换方法,如公开号为CN103139251A的专利文献公开了一种城市数据交换交换平台技术的方法;公告号为CN103281368B的专利文献公开了一种基于云计算的数据交换交换技术。上述两个专利文献中的技术虽然与数据交换技术相关,但是分享为中心化,存在数据接收方无法验证所接受数据是否准确无篡改,数据发送方可以篡改所提供数据等问题。
技术实现思路
为了解决上述问题,本专利技术提供了一种基于区块链的数据交换方法,基于区块链技术实现数据交换。本专利技术的技术方案为:一种基于区块链的数据交换方法,包括将文件数据上链,上链过程包括以下步骤:S1-1、用户调用客户端发起文件交换请求;S1-2、客户端接收用户文件,计算文件的哈希,并将文件存储并获取存储路径;S1-3、客户端将文件的哈希以及存储路径作为交易数据向文件交换通道提交交易请求,并进行签名;S1-4、对等节点接收到交易请求之后,各个节点验证请求签名的用户是否拥有提交交易的权限,然后寻找对应的智能合约执行;S1-5、智能合约执行之后的结果返回客户端,客户端收集各个节点响应后的汇总数据并提交给共识服务;S1-6、共识服务按照配置接受交易之后,将交易排序形成块并将块信息广播给所有对等节点;S1-7、对等节点收到块信息之后,检查里面的每一笔交易的签名是否满足智能合约所约定的背书策略,如果满足并且交易请求数据版本与本地账本数据版本一致,则提交数据进入本地账本;S1-8、当所有节点完成区块更新,客户端收到成功回调,文件交换发布成功。作为优选,还包括数据交换过程,具体过程包括:S2-1、申请部门调用客户端A发起数据交换申请,参数包括数据提供方部门和所需数据文件;S2-2、客户端A向文件交换通道提交交易请求,并通过用户私钥进行签名;S2-3、对等节点收到交易请求,通过各节点的用户关系服务存储的用户证书验证请求签名的用户拥有提交交易的权限,然后寻找对应智能合约执行;S2-4、智能合约执行结果返回客户端,此时返回结果为对应请求文件的提供部门地址,文件路径;S2-5、客户端A使用私钥对请求参数进行签名,然后向上一步执行结果的部门地址,即客户端B,发送获取文件请求;S2-6、客户端B收到获取文件请求后,通过请求参数确定发起请求部门,然后通过成员关系服务中的对应部门公钥检查签名是否正确;若正确,客户端B向文件交换通道提交交易请求,并通过用户私钥进行签名;S2-7、对等节点收到交易请求,通过各节点的用户关系服务存储的用户证书验证请求签名的用户拥有提交交易的权限,然后寻找对应智能合约执行;S2-8、智能合约执行结果返回客户端,客户端收集各节点响应后汇总数据提交给共识服务;S2-9、共识服务按照配置接受交易之后,将交易排序形成块并将块信息广播给所有对等节点;S2-10、对等节点收到块信息后,检查里面每一笔交易的签名是否满足智能合约所约定的背书策略,如果满足并且交易请求数据版本与本地账本数据版本一致,则提交数据进入本地账本;S2-11、当所有节点完成区块更新,客户端B收到成功回调,表明此次文件分享已通过智能合约的约定,客户端B将请求里的文件路径所存储内容取出返回给客户端A。作为优选,所述步骤S2-2和步骤S2-6中,均通过钱包里的用户私钥进行签名。与现有技术相比,本专利技术的有益效果体现在:本专利技术中去中心化,采用信息与数据分类的方式,将数据目录,文件hash等需由各方共同管理的内容以分布式账本形式存放,数据内容由各方各自存储,交换过程由各方达成的合约控制,不但记录数据分享的情况,而且可以有效地验证数据内容是否正确,通过分享权限控制确保数据安全性,即本专利技术基于区块链完成双方可互相信任的,合约形式的,数据安全的,不可抵赖的数据交换平台。附图说明图1为本专利技术中文件数据上链过程的流程示意图。图2为本专利技术中文件数据交换过程的流程示意图。具体实施方式实施例1本实施例为一种一种基于区块链的数据交换方法,包括:数据上链过程(步骤S1)和数据交换过程(步骤S2),其中数据上链过程包括:S1-1、用户调用客户端发起文件交换请求S1-2、客户端接收用户文件,计算文件hash(哈希)并将文件内容存储到文件数据存储并获取存储路径S1-3、客户端将上一步获得的文件hash以及存储路径作为交易数据向文件交换通道提交交易请求(文件存储智能合约),该请求通过钱包里的用户私钥进行签名。S1-4、对等节点收到交易请求,通过各节点的用户关系服务存储的用户证书(由证书颁发服务签发)验证请求签名的用户拥有提交交易的权限,然后寻找对应智能合约执行。S1-5、智能合约执行结果返回客户端,客户端收集各节点响应后汇总数据提交给共识服务。S1-6、共识服务按照配置接受交易之后,将交易排序形成块并将块信息广播给所有对等节点。S1-7、对等节点收到块信息后,检查里面每一笔交易的签名是否满足智能合约所约定的背书策略,如果满足并且交易请求数据版本与本地账本数据版本一致,则提交数据进入本地账本。S1-8、当所有节点完成区块更新,客户端收到成功回调,文件交换发布成功。此时所有部门的对等节点均已包含交换的文件的存储方,文件路径,hash值等信息。其中,数据交换过程:S2-1、申请部门调用客户端A发起数据d交换申请,参数包括数据提供方部门和所需数据文件S2-2、客户端A向文件交换通道提交交易请求(文件信息获取智能合约),该请求通过钱包里的用户私钥进行签名。S2-3、对等节点收到交易请求,通过各节点的用户关系服务存储的用户证书(由证书颁发服务签发)验证请求签名的用户拥有提交交易的权限,然后寻找对应智能合约执行。S2-4、智能合约执行结果返回客户端,此时返回结果为对应请求文件的提供部门地址,文件路径。S2-5、客户端A使用钱包中自己的私钥对请求参数(发起请求部门,文件路径)进行签名,然后向上一步执行结果的部门地址(客户端B)发送获取文件本文档来自技高网...

【技术保护点】
1.一种基于区块链的数据交换方法,其特征在于,包括将文件数据上链,上链过程包括以下步骤:/nS1-1、用户调用客户端发起文件交换请求;/nS1-2、客户端接收用户文件,计算文件的哈希,并将文件存储并获取存储路径;/nS1-3、客户端将文件的哈希以及存储路径作为交易数据向文件交换通道提交交易请求,并进行签名;/nS1-4、对等节点接收到交易请求之后,各个节点验证请求签名的用户是否拥有提交交易的权限,然后寻找对应的智能合约执行;/nS1-5、智能合约执行之后的结果返回客户端,客户端收集各个节点响应后的汇总数据并提交给共识服务;/nS1-6、共识服务按照配置接受交易之后,将交易排序形成块并将块信息广播给所有对等节点;/nS1-7、对等节点收到块信息之后,检查里面的每一笔交易的签名是否满足智能合约所约定的背书策略,如果满足并且交易请求数据版本与本地账本数据版本一致,则提交数据进入本地账本;/nS1-8、当所有节点完成区块更新,客户端收到成功回调,文件交换发布成功。/n

【技术特征摘要】
1.一种基于区块链的数据交换方法,其特征在于,包括将文件数据上链,上链过程包括以下步骤:
S1-1、用户调用客户端发起文件交换请求;
S1-2、客户端接收用户文件,计算文件的哈希,并将文件存储并获取存储路径;
S1-3、客户端将文件的哈希以及存储路径作为交易数据向文件交换通道提交交易请求,并进行签名;
S1-4、对等节点接收到交易请求之后,各个节点验证请求签名的用户是否拥有提交交易的权限,然后寻找对应的智能合约执行;
S1-5、智能合约执行之后的结果返回客户端,客户端收集各个节点响应后的汇总数据并提交给共识服务;
S1-6、共识服务按照配置接受交易之后,将交易排序形成块并将块信息广播给所有对等节点;
S1-7、对等节点收到块信息之后,检查里面的每一笔交易的签名是否满足智能合约所约定的背书策略,如果满足并且交易请求数据版本与本地账本数据版本一致,则提交数据进入本地账本;
S1-8、当所有节点完成区块更新,客户端收到成功回调,文件交换发布成功。


2.如权利要求1所述的基于区块链的数据交换方法,其特征在于,还包括数据交换过程,具体过程包括:
S2-1、申请部门调用客户端A发起数据交换申请,参数包括数据提供方部门和所需数据文件;
S2-2、客户端A向文件交换通道提交交易请求,并通过用户私钥进行签名;
S2-3、对等节点收到交易请求,通过各节点的用户关系服务存储的用户证书验证请求签...

【专利技术属性】
技术研发人员:陈飞
申请(专利权)人:云南群林科技有限公司
类型:发明
国别省市:云南;53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1