一种基于区块链的数据交易方法和系统技术方案

技术编号:35248761 阅读:24 留言:0更新日期:2022-10-19 09:57
本发明专利技术公开了一种基于区块链的数据交易方法和系统,涉及区块链技术领域。该方法的一具体实施方式包括:数据购买端向数据交易装置发送购买交易;数据交易装置根据购买交易,调用区块链上的验证智能合约,以对零知识证明进行验证,如果验证通过,将交易加密信息上传至区块链;数据购买端向数据提供端发送交易明文信息;数据提供端根据交易加密信息,对交易明文信息进行验证,如果验证通过,向数据购买端发送目标数据;数据购买端接收目标数据,根据数据购买方的确认操作,向数据交易装置发送确认交易;数据交易装置根据确认交易,调用区块链上预先部署的转账智能合约,将数据购买方的资源转账至数据提供方。该实施方式能够保护交易各方的隐私。易各方的隐私。易各方的隐私。

【技术实现步骤摘要】
一种基于区块链的数据交易方法和系统


[0001]本专利技术涉及区块链
,尤其涉及一种基于区块链的数据交易方法和系统。

技术介绍

[0002]区块链具有不可篡改等特点,将其应用于数据交易中,能够使交易过程公正公开地进行。但是,将交易数据存储在区块链中,存在隐私问题。区块链中的交易数据完全公开,并且链上交易所有节点都有冗余备份,购买记录作为交易内容,都被公开放在链上,任何区块链参与者都能在链上查询到数据交易的相关信息,包括交易双方、购买价格、数据内容、交易日期等。然而,如果将交易内容加密,那么区块链节点也无法验证交易的正确性。因此,现有的基于区块链的数据交易方法无法保护交易各方的隐私。

技术实现思路

[0003]有鉴于此,本专利技术实施例提供一种基于区块链的数据交易方法和系统,能够保护交易各方的隐私。
[0004]第一方面,本专利技术实施例提供了一种基于区块链的数据交易方法,包括:数据购买端向数据交易装置发送购买交易;其中,所述数据交易装置应用于区块链的节点设备,所述购买交易中包括:零知识证明和交易加密信息;所述交易加密信息由交易明文信息经过加密得到;所述数据交易装置根据所述购买交易,调用所述区块链上预先部署的验证智能合约,以对所述零知识证明进行验证,如果验证通过,则将所述交易加密信息上传至所述区块链中;所述数据购买端向数据提供端发送所述交易明文信息;所述数据提供端根据所述区块链中存储的交易加密信息,对所述交易明文信息进行验证,如果验证通过,则向所述数据购买端发送所述交易明文信息对应的目标数据;所述数据购买端接收所述目标数据,根据数据购买方的确认操作,向所述数据交易装置发送确认交易;所述数据交易装置根据所述确认交易,调用所述区块链上预先部署的转账智能合约,将所述数据购买方的资源转账至数据提供方。
[0005]第二方面,本专利技术实施例提供了一种基于区块链的数据交易系统,包括:数据购买端、数据交易装置和数据提供端;所述数据交易装置应用于区块链的节点设备;所述数据购买端,用于向所述数据交易装置发送购买交易;其中,所述购买交易中包括:零知识证明和交易加密信息;所述交易加密信息由交易明文信息经过加密得到;向数据提供端发送所述交易明文信息;接收所述数据提供端发送的所述交易明文信息对应的目标数据,根据数据购买方的确认操作,向所述数据交易装置发送确认交易;所述数据交易装置,用于根据所述购买交易,调用所述区块链上预先部署的验证智能合约,以对所述零知识证明进行验证,如果验证通过,则将所述交易加密信息上传至所
述区块链中;根据所述确认交易,调用所述区块链上预先部署的转账智能合约,将所述数据购买方的资源转账至数据提供方;所述数据提供端,用于根据所述区块链中存储的交易加密信息,对所述交易明文信息进行验证,如果验证通过,则向所述数据购买端发送所述目标数据。
[0006]上述专利技术中的一个实施例具有如下优点或有益效果:在区块链中仅保存交易加密信息,而不保存交易明文信息,提高数据交易各方的隐私安全。数据交易装置可以通过数据购买端提交的零知识证明验证购买交易的真实性,确保区块链中存储的交易加密信息是由数据购买方提供的购买交易生成的。数据提供方可以基于区块链上存储的交易加密信息,验证数据购买端提供的交易明文信息的合法性,通过链上与链下相结合的方式,确保数据交易的安全。
[0007]上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
[0008]附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是本专利技术的一个实施例提供的一种基于区块链的数据交易方法的流程图;图2是本专利技术的一个实施例提供的一种基于区块链的数据交易系统的示意图;图3是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
[0009]以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0010]如图1所示,本专利技术实施例提供了一种基于区块链的数据交易方法,包括:步骤101:数据购买端向数据交易装置发送购买交易;其中,数据交易装置应用于区块链的节点设备,购买交易中包括:零知识证明和交易加密信息;交易加密信息由交易明文信息经过加密得到。
[0011]为了避免在区块链中存储交易明文信息,本专利技术实施例通过密码学算法对交易明文信息进行加密,得到交易加密信息。
[0012]步骤102:数据交易装置根据购买交易,调用区块链上预先部署的验证智能合约,以对零知识证明进行验证,如果验证通过,则将交易加密信息上传至区块链中。
[0013]验证智能合约被调用时,执行如下验证方法:对零知识证明进行验证,如果验证通过,则将交易加密信息上传至区块链中。
[0014]如果验证不通过,则向数据购买端发送真实性验证不通过通知,数据购买端也可以从数据交易装置查询验证结果。
[0015]步骤103:数据购买端向数据提供端发送交易明文信息。
[0016]为了提高传输过程中交易明文信息的安全性,防止交易明文信息被篡改,数据购
买端可以通过链下的可信通信通道发送交易明文信息,并且还可以对交易明文信息进行加密和签名,数据提供端基于签名验证交易明文信息是否为数据购买方发送。
[0017]步骤104:数据提供端根据区块链中存储的交易加密信息,对交易明文信息进行验证,如果验证通过,则向数据购买端发送交易明文信息对应的目标数据。
[0018]如果校验不通过,则向数据购买端发送交易明文信息验证不通过通知,或者由数据购买端主动从数据提供端获取验证结果。
[0019]步骤105:数据购买端接收目标数据,根据数据购买方的确认操作,向数据交易装置发送确认交易。
[0020]目标数据为数据购买方向数据提供方购买的数据。数据提供端为数据提供方持有的终端,数据购买端为数据购买方持有的终端,数据购买端和数据提供端可以是两个APP,还可以是同一个APP的两个模式。
[0021]步骤106:数据交易装置根据确认交易,调用区块链上预先部署的转账智能合约,将数据购买方的资源转账至数据提供方。
[0022]转账智能合约被调用时,执行如下转账方法:将数据购买方的资源转账至数据提供方。
[0023]资源可以为代币、积分等形式。
[0024]验证智能合约与转账智能合约可以是两个智能合约,还可以通过一个智能合约中的两种方法分别实现验证方法和转账方法。后续的管理智能合约类似,查询方法可以与验证方法、转账方法通过同一个智能合约实现。
[0025]在区块链中仅保存交易加密信息,而不保存交易明文信息,提高数据交易各方的隐私安全。数据交易装置可以通过数据购买端提交的零知识证明验证购买交易的真实性,确保区块链中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的数据交易方法,其特征在于,包括:数据购买端向数据交易装置发送购买交易;其中,所述数据交易装置应用于区块链的节点设备,所述购买交易中包括:零知识证明和交易加密信息;所述交易加密信息由交易明文信息经过加密得到;所述数据交易装置根据所述购买交易,调用所述区块链上预先部署的验证智能合约,以对所述零知识证明进行验证,如果验证通过,则将所述交易加密信息上传至所述区块链中;所述数据购买端向数据提供端发送所述交易明文信息;所述数据提供端根据所述区块链中存储的交易加密信息,对所述交易明文信息进行验证,如果验证通过,则向所述数据购买端发送所述交易明文信息对应的目标数据;所述数据购买端接收所述目标数据,根据数据购买方的确认操作,向所述数据交易装置发送确认交易;所述数据交易装置根据所述确认交易,调用所述区块链上预先部署的转账智能合约,将所述数据购买方的资源转账至数据提供方。2.如权利要求1所述的方法,其特征在于,进一步包括:所述数据提供端确定所述目标数据的描述信息,向所述数据交易装置发送所述描述信息;所述数据交易装置调用所述区块链上预先部署的管理智能合约,将所述描述信息上传至所述区块链中;所述数据购买端根据所述数据购买方的查询操作,向所述数据交易装置发送查询请求;所述数据交易装置根据查询请求调用所述管理智能合约查询满足条件的描述信息,将查询结果反馈给所述数据购买端。3.如权利要求1所述的方法,其特征在于,所述交易明文信息包括:所述目标数据的标识、输入UTXO列表、各个输入UTXO的签名和输出UTXO列表;所述输入UTXO列表中包括若干所述输入UTXO;所述输出UTXO列表中包括若干输出UTXO;所述输入UTXO为包括数据购买方的公钥、输入UTXO的面值和第一随机数的三元组;所述输出UTXO为包括数据购买方的公钥或数据提供方的公钥、输出UTXO的面值和第二随机数的三元组。4.如权利要求3所述的方法,其特征在于,所述交易加密信息包括:所述目标数据的标识的密码学承诺、各个所述输出UTXO的哈希和各个所述第一随机数的哈希;该方法进一步包括:所述数据购买端对所述目标数据的标识和第三随机数进行哈希操作,得到所述目标数据的标识的密码学承诺;对各个所述输出UTXO进行哈希操作,得到各个所述输出UTXO的哈希;对各个所述第一随机数进行哈希操作,得到各个所述第一随机数的哈希。5.如权利要求4所述的方法,其特征在于,进一步包括:
所述数据购买端根据预设的约束条件,生成所述零知识证明;所述约束条件包括:各个输入UTXO的哈希在所述区块链记录的输出UTXO的哈希中均可以查询到、各个所述输入UTXO的签名均通过对应的数据购买方的私钥生成、各个所述第一随机数的哈希均不属于所述区块链记录的第一随机数的哈希、所述输入UTXO列表的输入UTXO的面值之和等于所述输出UTXO列表的输出UTXO的面值之和、以及包含所述数据提供方的公钥的输出UTXO对应的输出UTXO的面值之和不低于预设的资源额度中任意一项或多项;对所述零知识证明进行验证,包括:基于所述约束条件对所述零知识证明进行验证。6.如权利要求4或5所述的方法,其特征在于,所述数据提供端根据所述区块链中存储的交易加密信息,对所述交易明文信息进行验证,包括:所述数据提供端验证所述区块链中存储的交易加密信息中各个输出UTXO的哈希,是否与所述交易明文信息中的各个输出UTXO的哈希一一对应,如果是,则验证通过,否则,验证不通过。7.如权利要...

【专利技术属性】
技术研发人员:左磊华松
申请(专利权)人:天聚地合苏州科技股份有限公司
类型:发明
国别省市:

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

1