基于区块链的数据交互方法和系统、存储介质、设备技术方案

技术编号:36269255 阅读:10 留言:0更新日期:2023-01-07 10:10
本公开实施例公开了一种基于区块链的数据交互方法和系统、存储介质、设备,其中,方法包括:第一数据端根据数据交互请求将所述数据交互请求对应的第一交互数据进行分解,得到至少两个部分数据;确定所述至少两个部分数据中每个部分数据对应的部分哈希值,并将至少一个部分哈希值和总体哈希值记录到区块链中;通过多次将所述至少两个部分数据发送给第二数据端,并通过所述区块链中存储的所述至少一个部分哈希值和所述总体哈希值实现对所述第二数据端接收的数据进行多次验证;响应于所述多次验证均通过,确定所述第二数据端接收到所述第一交互数据,所述第二数据端向所述第一数据端发送第二交互数据,完成数据交互。完成数据交互。完成数据交互。

【技术实现步骤摘要】
基于区块链的数据交互方法和系统、存储介质、设备


[0001]本公开涉及数据交互
,尤其是一种基于区块链的数据交互方法和系统、存储介质、设备。

技术介绍

[0002]近年来,已有大量的物联网(IoT)设备连接到互联网。为了从使用各种物联网设备的分布收集的数据中获得价值,数据交易是必要的。传统上,一个典型的物联网数据交易模式是基于一个由第三方运行的数据市场。在这样的系统中,数据购买者首先向物联网数据所有者发送一个请求。买家还会向第三方支付购买数据的费用。在从第三方确认付款后,数据所有者直接将数据发送给数据买家。同样,在数据买家确认后,第三方将钱发送给数据所有者。虽然传统的数据交易模式很有效,但谨慎的用户仍然有信任问题。

技术实现思路

[0003]为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种基于区块链的数据交互方法和系统、存储介质、设备。
[0004]根据本公开实施例的一个方面,提供了一种基于区块链的数据交互方法,包括:第一数据端根据数据交互请求将所述数据交互请求对应的第一交互数据进行分解,得到至少两个部分数据;确定所述至少两个部分数据中每个部分数据对应的部分哈希值,并将至少一个部分哈希值和总体哈希值记录到区块链中;其中,所述总体哈希值为所有所述部分数据对应的部分哈希值之和;通过多次将所述至少两个部分数据发送给第二数据端,并通过所述区块链中存储的所述至少一个部分哈希值和所述总体哈希值实现对所述第二数据端接收的数据进行多次验证;响应于所述多次验证均通过,确定所述第二数据端接收到所述第一交互数据,所述第二数据端向所述第一数据端发送第二交互数据,完成数据交互。
[0005]可选地,所述通过多次将所述至少两个部分数据发送给第二数据端,并通过所述区块链中存储的所述至少一个部分哈希值和所述总体哈希值实现对所述第二数据端接收的数据进行多次验证,包括:将至少一个所述部分数据发送给所述第二数据端,通过所述第二数据端对至少一个所述部分数据进行验证;响应于验证通过,将其他部分数据发送给所述第二数据端;其中,所述其他部分数据为所述第一交互数据对应的所有部分数据中除了已经发送给所述第二数据端的部分数据;通过所述第二数据端对所述第一交互数据进行验证。
[0006]可选地,所述将至少一个所述部分数据发送给所述第二数据端,通过所述第二数
据端对至少一个所述部分数据进行验证,包括:所述第一数据端通过至少一次传输将至少一个所述部分数据发送给所述第二数据端;通过所述第二数据端确定至少一个所述部分数据对应的至少一个验证哈希值;基于所述至少一个验证哈希值与所述区块链中预存的所述至少一个部分哈希值,确定至少一个所述部分数据是否验证通过。
[0007]可选地,所述通过所述第二数据端对所述第一交互数据进行验证,包括:通过所述第二数据端确定所述其他部分数据对应的其他哈希值;基于所述至少一个验证哈希值和所述其他哈希值之和确定验证总体哈希值;基于所述验证总体哈希值与所述区块链中预存的所述总体哈希值,确定所述第一交互数据是否通过验证。
[0008]可选地,在第一数据端根据数据交互请求将所述数据交互请求对应的第一交互数据进行分解,得到至少两个部分数据之前,还包括:在所述区块链中创建所述数据交互请求对应的智能合约,在所述智能合约中保存所述数据交互请求对应的交互双方的违规惩罚、所述数据交互请求对应的被请求数据的地址;所述第二数据端调用所述智能合约向所述区块链发送所述数据交互请求;在所述区块链中基于所述数据交互请求生成新区块。
[0009]可选地,在所述确定所述至少两个部分数据中每个部分数据对应的部分哈希值,并将至少一个部分哈希值和总体哈希值记录到区块链中之后,还包括:所述第一数据端将所述违规惩罚对应的第一惩罚数据存入所述智能合约;在通过所述第二数据端对所述第一交互数据进行验证之前,还包括:所述第二数据端将所述第二交互数据和所述违规惩罚对应的第二惩罚数据存入所述智能合约。
[0010]可选地,还包括:响应于所述多次验证中存在未通过,所述第二数据端向所述区块链发起仲裁请求,并将所述至少一个验证哈希值和所述验证总体哈希值发送给所述区块链上的第三服务端;通过所述第三服务端对所述至少一个验证哈希值与所述至少一个部分哈希值进行比较,以及将所述验证总体哈希值与所述总体哈希值进行比较,基于比较结果确定所述第一数据端是否恶意;响应于确定所述第一数据端为恶意,没收所述第一惩罚数据,并将所述第二惩罚数据反馈给所述第二数据端,结束数据交互。
[0011]根据本公开实施例的另一方面,提供了一种基于区块链的数据交互系统,包括:第一数据端,用于根据数据交互请求将所述数据交互请求对应的第一交互数据进行分解,得到至少两个部分数据;并确定所述至少两个部分数据中每个部分数据对应的部分哈希值,并将至少一个部分哈希值和总体哈希值发送到区块链中;其中,所述总体哈希值为所有所述部分数据对应的部分哈希值之和;所述区块链,用于记录所述至少一个部分哈希值和所述总体哈希值;
第二数据端,用于通过多次接收所述第一数据端发送的所述至少两个部分数据,并通过调用所述区块链中存储的所述至少一个部分哈希值和所述总体哈希值实现对所述第二数据端接收的数据进行多次验证;在所述多次验证均通过时,向所述第一数据端发送第二交互数据,完成数据交互。
[0012]可选地,所述第一数据端,还用于将至少一个所述部分数据发送给所述第二数据端;所述第二数据端,还用于对至少一个所述部分数据进行验证;响应于验证通过,接收所述第一数据端发送的其他部分数据,对所述第一交互数据进行验证;其中,所述其他部分数据为所述第一交互数据对应的所有部分数据中除了已经发送给所述第二数据端的部分数据。
[0013]可选地,所述第一数据端,还用于通过至少一次传输将至少一个所述部分数据发送给所述第二数据端;所述第二数据端,还用于确定至少一个所述部分数据对应的至少一个验证哈希值;基于所述至少一个验证哈希值与所述区块链中预存的所述至少一个部分哈希值,确定至少一个所述部分数据是否验证通过。
[0014]可选地,所述第二数据端,还用于确定所述其他部分数据对应的其他哈希值;基于所述至少一个验证哈希值和所述其他哈希值之和确定验证总体哈希值;基于所述验证总体哈希值与所述区块链中预存的所述总体哈希值,确定所述第一交互数据是否通过验证。
[0015]可选地,所述数据交互系统,还包括:第三服务端,用于在所述区块链中创建所述数据交互请求对应的智能合约,在所述智能合约中保存所述数据交互请求对应的交互双方的违规惩罚、所述数据交互请求对应的被请求数据的地址;所述第二数据端调用所述智能合约向所述区块链发送所述数据交互请求;在所述区块链中基于所述数据交互请求生成新区块。
[0016]可选地,所述第一数据端,还用于将所述违规惩罚对应的第一惩罚数据存入所述智能合约;所述第二数据端,还用于将所述第二交互数据和所述违规惩罚对应的第二惩罚数据存入所述智能合约。
[0017]可选地,所述第三服务端,还用于响应于所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据交互方法,其特征在于,包括:第一数据端根据数据交互请求将所述数据交互请求对应的第一交互数据进行分解,得到至少两个部分数据;确定所述至少两个部分数据中每个部分数据对应的部分哈希值,并将至少一个部分哈希值和总体哈希值记录到区块链中;其中,所述总体哈希值为所有所述部分数据对应的部分哈希值之和;通过多次将所述至少两个部分数据发送给第二数据端,并通过所述区块链中存储的所述至少一个部分哈希值和所述总体哈希值实现对所述第二数据端接收的数据进行多次验证;响应于所述多次验证均通过,确定所述第二数据端接收到所述第一交互数据,所述第二数据端向所述第一数据端发送第二交互数据,完成数据交互。2.根据权利要求1所述的方法,其特征在于,所述通过多次将所述至少两个部分数据发送给第二数据端,并通过所述区块链中存储的所述至少一个部分哈希值和所述总体哈希值实现对所述第二数据端接收的数据进行多次验证,包括:将至少一个所述部分数据发送给所述第二数据端,通过所述第二数据端对至少一个所述部分数据进行验证;响应于验证通过,将其他部分数据发送给所述第二数据端;其中,所述其他部分数据为所述第一交互数据对应的所有部分数据中除了已经发送给所述第二数据端的部分数据;通过所述第二数据端对所述第一交互数据进行验证。3.根据权利要求2所述的方法,其特征在于,所述将至少一个所述部分数据发送给所述第二数据端,通过所述第二数据端对至少一个所述部分数据进行验证,包括:所述第一数据端通过至少一次传输将至少一个所述部分数据发送给所述第二数据端;通过所述第二数据端确定至少一个所述部分数据对应的至少一个验证哈希值;基于所述至少一个验证哈希值与所述区块链中预存的所述至少一个部分哈希值,确定至少一个所述部分数据是否验证通过。4.根据权利要求2或3所述的方法,其特征在于,所述通过所述第二数据端对所述第一交互数据进行验证,包括:通过所述第二数据端确定所述其他部分数据对应的其他哈希值;基于所述至少一个验证哈希值和所述其他哈希值之和确定验证总体哈希值;基于所述验证总体哈希值与所述区块链中预存的所述总体哈希值,确定所述第一交互数据是否通过验证。5.根据权利要求4所述的方法,其特征在于,在第一数据端根据数据交互请求将所述数据交互请求对应的第一交互数据进行分解,得到至少两个部分数据之前,还包括:在所述区块链中创建所述数据交互请求对应的智能合约,在所述智能合约中保存所述数据交互请求对应的交互双方的违规惩罚、所述...

【专利技术属性】
技术研发人员:张钰雯池程刘阳田娟杨兆鑫尹玲元
申请(专利权)人:中国信息通信研究院
类型:发明
国别省市:

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

1