基于区块链的两阶段数据交易方法、装置、设备及介质

文档序号:35803036发布日期:2023-10-22 01:44阅读:26来源:国知局
基于区块链的两阶段数据交易方法、装置、设备及介质

本发明属于区块链,尤其涉及一种基于区块链的两阶段数据交易方法、装置、设备及存储介质。


背景技术:

1、数据交易是一个使数据买家能够从潜在的数据所有者手中获取目标数据的过程,为了确保数据交易在当前的电子商务环境中有用,关键在于确保公平性。公平性有两个含义,即所有者公平性和买家公平性,所有者公平性意味着买家应该在没有付款的情况下不能获得数据,买家公平性意味着所有者不能通过出售虚假数据来欺骗买家,公平性属性能够建立数据所有者和数据买家之间的信任。

2、目前确保公平性的主流方案有两种,基于可信第三方(trusted third party,ttp)和基于区块链。基于ttp的方案问题在于当数据规模很大的时候,依靠ttp做争议解决效率很低。依托区块链可以实现自动化仲裁,然而,对于人类标记的机器学习数据交易等情况,将数据的有效性编码为智能合约中的函数非常具有挑战性,有时甚至是不可能的。数据所有者可以通过在交易中插入无效数据来欺骗,为了解决这个问题,研究人员提出了使用样本检查来解决上述数据有效性问题,但仍存在安全问题,例如数据买家可以使用多个交易账户获取数据而不付款。此外,交易隐私仍然是一个问题,因为区块链上的交易记录会揭示用户数据交易模式。因此,亟需一种新的交易方式来解决上述问题。


技术实现思路

1、本发明的目的在于提供一种基于区块链的两阶段数据交易方法、装置、设备及存储介质,旨在解决由于现有技术无法提供一种有效的链上数据交易方法,导致链上数据交易不公平、效率低的问题。

2、一方面,本发明提供了一种基于区块链的两阶段数据交易方法,所述方法包括下述步骤:

3、根据预先接收到的交易数据,买方节点通过预先协议部署在区块链上的智能合约发送第一数据交易挑战请求给卖方节点,以进行第一数据交易,所述第一数据交易挑战请求包括索引密钥、交易总价以及交易定金;

4、卖方节点根据所述索引密钥生成与所述交易数据中被挑战的数据块的挑战长度对应的子密钥,并将所述子密钥发送给所述买方节点,其中,所述挑战长度是根据所述交易总价和所述交易定金计算得到的;

5、当所述买方节点根据所述子密钥验证所述被挑战的数据块有效后且所述买方节点和所述卖方节点对所述第一数据交易无争议时,将交易尾款发布至所述智能合约中,以进行第二数据交易;

6、当所述卖方节点通过所述智能合约确认所述交易尾款已支付后,将预设的第二密钥发布至所述智能合约中;

7、当所述买方节点根据所述第二密钥验证所述交易数据有效后且所述买方节点和所述卖方节点对所述第二数据交易无争议时,在预设的锁定时间到达后,所述智能合约将所述交易尾款发送给所述卖方节点,以完成所述卖方节点和所述买方节点之间的数据交易。

8、优选地,所述买方节点通过预先协议部署在区块链上的智能合约发送第一数据交易挑战请求给卖方节点的步骤之前,所述方法还包括:

9、所述卖方节点根据预设的分块数量对待交易的目标数据进行分块,得到与所述分块数量对应的数据块;

10、根据预设的第一密钥和所述第二密钥,所述卖方节点利用预设的密钥生成函数分别生成与所述分块数量对应的第一子密钥和第二子密钥;

11、所述卖方节点根据所述第一子密钥对所述数据块进行加密,得到加密数据块,并使用所述第二子密钥对所述第一子密钥进行加密,得到加密子密钥;

12、所述卖方节点对所述加密子密钥和所述加密数据块进行拼接,得到所述交易数据,并将所述交易数据发送给所述买方节点。

13、优选地,所述买方节点通过预先协议部署在区块链上的智能合约发送第一数据交易挑战请求给卖方节点的步骤之前,所述方法还包括:

14、所述卖方节点采用默克尔树对所述交易数据进行处理,得到第一承诺,并将所述第一承诺发布至所述智能合约中。

15、优选地,所述并将所述子密钥发送给所述买方节点的步骤之后,所述方法还包括:

16、所述卖方节点采用默克尔树对所述子密钥进行处理,得到第二承诺,并将所述第二承诺发布至所述智能合约中。

17、优选地,所述将交易尾款发布至所述智能合约中的步骤之前,所述方法还包括:

18、当所述买方节点和所述卖方节点对所述第一数据交易有争议时,根据所述第一承诺、所述第二承诺以及预设的链下仲裁规则,通过可信第三方对所述第一数据交易的争议进行仲裁,以仲裁所述买方节点或者所述卖方节点作弊。

19、优选地,所述智能合约将所述交易尾款发送给所述卖方节点的步骤之前,所述方法还包括:

20、当所述买方节点和所述卖方节点对所述第二数据交易有争议时,根据所述第二承诺和预设的链上仲裁规则,通过所述智能合约对所述第二数据交易的争议进行仲裁,以仲裁所述买方节点或者所述卖方节点作弊。

21、另一方面,本发明提供了一种基于区块链的两阶段数据交易装置,所述装置包括:

22、请求发送单元,用于根据预先接收到的交易数据,买方节点通过预先协议部署在区块链上的智能合约发送第一数据交易挑战请求给卖方节点,以进行第一数据交易,所述第一数据交易挑战请求包括索引密钥、交易总价以及交易定金;

23、子密钥发送单元,用于卖方节点根据所述索引密钥生成与所述交易数据中被挑战的数据块的挑战长度对应的子密钥,并将所述子密钥发送给所述买方节点,其中,所述挑战长度是根据所述交易总价和所述交易定金计算得到的;

24、尾款发布单元,用于当所述买方节点根据所述子密钥验证所述被挑战的数据块有效后且所述买方节点和所述卖方节点对所述第一数据交易无争议时,将交易尾款发布至所述智能合约中,以进行第二数据交易;

25、密钥发布单元,用于当所述卖方节点通过所述智能合约确认所述交易尾款已支付后,将预设的第二密钥发布至所述智能合约中;以及

26、尾款发送单元,用于当所述买方节点根据所述第二密钥验证所述交易数据有效后且所述买方节点和所述卖方节点对所述第二数据交易无争议时,在预设的锁定时间到达后,所述智能合约将所述交易尾款发送给所述卖方节点,以完成所述卖方节点和所述买方节点之间的数据交易。

27、优选地,所述装置还包括:

28、数据划分单元,用于所述卖方节点根据预设的分块数量对待交易的目标数据进行分块,得到与所述分块数量对应的数据块;

29、子密钥生成单元,用于根据预设的第一密钥和所述第二密钥,所述卖方节点利用预设的密钥生成函数分别生成与所述分块数量对应的第一子密钥和第二子密钥;

30、数据加密单元,用于所述卖方节点根据所述第一子密钥对所述数据块进行加密,得到加密数据块,并使用所述第二子密钥对所述第一子密钥进行加密,得到加密子密钥;以及

31、数据拼接单元,用于所述卖方节点对所述加密子密钥和所述加密数据块进行拼接,得到所述交易数据,并将所述交易数据发送给所述买方节点。

32、另一方面,本发明还提供了一种数据交易设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述基于区块链的两阶段数据交易方法所述的步骤。

33、另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述基于区块链的两阶段数据交易方法所述的步骤。

34、本发明根据已接收到的交易数据,买方节点通过已部署在区块链上的智能合约发送第一数据交易挑战请求给卖方节点,卖方节点根据挑战请求中的索引密钥生成与交易数据中被挑战的数据块的挑战长度对应的子密钥,并将子密钥发送给买方节点,当买方节点根据子密钥验证被挑战的数据块有效后且买卖双方对该交易无争议时,将交易尾款发布至智能合约中,当卖方节点确认支付后,将第二密钥发布至智能合约中,当买方节点根据第二密钥验证交易数据有效后且买卖双方对该交易无争议时,智能合约在锁定时间到达后将交易尾款发送给卖方节点,买卖双方的交易完成,从而提高了链上交易的效率、公平性以及安全性,并降低了交易成本。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1