基于智能合约的区块链交易方法、系统、电子设备及介质与流程

文档序号:37191052发布日期:2024-03-01 13:00阅读:17来源:国知局
基于智能合约的区块链交易方法、系统、电子设备及介质与流程

本发明属于区块链交易,具体涉及一种基于智能合约的区块链交易方法、系统、电子设备及介质。


背景技术:

1、区块链技术构建在传输网络(也可称为区块链网络)之上,传输网络中的分布式节点设备通过运行区块链程序,实现以预设共识策略来生成区块数据,并利用链式数据结构验证与存储区块数据,以最终实现数据防篡改机制;如此,区块链技术,则是一种基于去中心化分布式协议、共识算法、非对称密钥签名、哈希等技术,所构建的能安全地存储数字资产信息,且信息不可伪造和篡改的技术,其中,区块链网络上的所有节点各自执行交易,并共同完成结果确认,由共识算法保证各节点执行交易的一致性,从而为业务开展提供了安全可靠的运行交易环境。

2、目前,区块链中的节点大多都是使用智能合约来实现相互之间的交易,其中,智能合约部署在区块链上,其使用分布式计算和存储来实现交易运行,且合约的监督和仲裁都由计算机完成,具有不可篡改性,其为区块链各节点之间的交易,提供了便捷安全的手段,已得到了广泛的使用;在实际使用时,虽然智能合约上的数据不可篡改,但是,由于智能合约的内容对区块链上的所有用户可见(包括但不限于标记为 private 的资源);因此,在交易中,存在用户交易隐私信息容易被泄露的风险;基于此,如何提供一种可在交易时,保护用户交易隐私数据的基于智能合约的区块链交易方法,已成为一个亟待解决的问题。


技术实现思路

1、本发明的目的是提供一种基于智能合约的区块链交易方法、系统、电子设备及介质,用以解决现有技术使用智能合约进行区块链交易时,所存在的交易隐私数据容易被泄露的问题。

2、为了实现上述目的,本发明采用以下技术方案:

3、第一方面,提供了一种基于智能合约的区块链交易方法,包括:

4、交易发起节点从若干边缘节点中选择任一边缘节点作为本次交易的中间节点,并向所述中间节点发送密钥获取请求,其中,若干边缘节点独立部署于区块链网络与交易发起节点之间;

5、中间节点在接收到所述密钥获取请求后,生成用于本次交易的第一密钥对,并将所述第一密钥对中的第一公钥发送至交易发起节点;

6、交易发起节点接收第一公钥,并利用所述第一公钥对交易信息进行加密处理,得到第一加密交易信息,其中,所述第一加密交易信息包含有合约地址和交易业务参数;

7、交易发起节点将所述第一加密交易信息发送至所述中间节点;

8、中间节点对所述第一加密交易信息进行有效性验证,并在有效性验证通过后,利用区块链网络中记账节点公开的第二公钥,对所述第一加密交易信息和所述第一密钥对中的第一私钥进行加密处理,得到第二加密交易信息;

9、中间节点将所述第二加密交易信息发送至区块链网络中的记账节点;

10、记账节点对所述第二加密交易信息进行有效性验证,并在有效性验证通过后,对所述第二加密交易信息进行一重解密处理,得到第一私钥和第一加密交易信息,以及利用所述第一私钥对所述第一加密交易信息进行二重解密处理,得到合约地址和交易业务参数;

11、记账节点根据所述合约地址,从区块链网络中获取与所述合约地址相匹配的智能合约,并基于交易业务参数和获取的智能合约,执行与所述交易业务参数相对应的交易,得到交易数据;

12、记账节点利用交易数据更新所述智能合约中的状态数据,以及对更新后的状态数据进行全同态加密,并在加密后,公布进行全同态加密后的智能合约,以在公布后,完成本次交易。

13、基于上述公开的内容,本发明所提供的区块链交易方法,通过引入若干边缘节点,来实现交易发起节点对应交易信息的一次加密处理;其中,若干边缘节点独立设置于交易发起节点与区块链网络之间,且在发起交易时,交易发起节点从若干边缘节点中选择任意一个,来作为本次交易的中间节点,而后,选择的中间节点则会生成用于本次交易的第一密钥对,并向交易发起节点公开第一密钥对中的第一公钥;接着,交易发起节点则会基于该第一公钥,来加密自身的交易信息,并将加密后的交易信息发送至中间节点,此时,则可完成一次加密过程。

14、当完成一次加密后,中间节点则会获取区块链网络中记账节点公开的第二公钥,并利用第二公钥来对第一加密交易信息及自身的第一私钥进行加密处理(此为第二次加密),得到第二加密交易信息;而后,中间节点则将第二加密交易信息发送至记账节点,由记账节点进行解密,来得知交易信息中的合约地址和业务交易参数,以便基于合约地址来确定出本次交易所使用的智能合约,以及基于确定出的智能合约和业务交易参数来得到本次交易数据,以更新智能合约;最后,记账节点将更新后的智能合约进行全同态加密,并进行公布,即可完成本次交易。

15、通过上述设计,本发明在交易时,对交易数据进行了双重加密,如此,本技术在使用智能合约进行交易时,交易信息完全不可见,降低了其被泄露的风险,且整个交易信息传输过程中,私钥并不参与传输,由此,可避免私钥在传输时被拦截的风险,从而可进一步的降低交易信息被破解的概率;同时,通过引入多个边缘节点,来实现交易信息的一次加密,其中,每次交易都是随机选取一个边缘节点,且一次加密所使用公钥的为所选择节点在本次所生成的第一公钥;基于此,边缘节点选取的不确定性以及每次交易都重新生成第一公钥,可降低加密被破解的风险,提高加密的安全性;另外,本技术还对交易后的智能合约中的状态数据进行全同态加密,从而使智能合约中的交易信息也不可见,如此,可进一步的保护交易隐私数据,进而防止不法分子通过智能合约窃取用户交易数据;综上所述,本发明既能够降低利用智能合约进行交易所存在的交易数据被泄露的风险,同时又能利用智能合约的防篡改特点来提高交易的可靠性,由此,非常适用于在区块链交易领域的大规模应用与推广。

16、在一个可能的设计中,中间节点在接收到所述密钥获取请求后,生成用于本次交易的第一密钥对,包括:

17、中间节点从随机数库中选择出符合预设条件的随机数,以作为第一子公钥,其中,所述预设条件为选择的随机数为素数,且选择的随机数与1之间的差值具有大素数因子;

18、基于所述第一子公钥,确定出第二子公钥;

19、中间节点从整数集中随机选择一个整数,作为第一私钥;

20、基于所述第一子公钥、所述第二子公钥以及所述第一私钥,计算出第三子公钥;

21、利用所述第一子公钥、所述第二子公钥以及所述第三子公钥,组成第一公钥;

22、利用所述第一公钥和所述第一私钥,组成所述第一密钥对。

23、在一个可能的设计中,所述第二子公钥为正整数,其中,所述第二子公钥与所述第一子公钥之间满足与互不同余,且表示所述第二子公钥,表示第一子公钥;

24、相应的,基于第一子公钥、第二子公钥以及第一私钥,计算出第三子公钥,则包括:

25、基于第一子公钥、第二子公钥以及第一私钥,并按照如下公式(1),计算得到第三子公钥;

26、(1)

27、上述公式(1)中,表示第三子公钥,表示第一私钥,mod表示模运算。

28、在一个可能的设计中,所述第一公钥包括第一子公钥、第二子公钥以及第三子公钥,其中,交易发起节点接收第一公钥,并利用所述第一公钥对交易信息进行加密处理,得到第一加密交易信息,包括:

29、交易发起节点随机生成一个整数,作为第一加密参数;

30、利用所述第一子公钥、所述第三子公钥以及所述第一加密参数,并按照如下公式(2),计算出第二加密参数;

31、(2)

32、上述公式(2)中,表示所述第二加密参数,表示第三子公钥,表示第一子公钥,表示所述第一加密参数,mod表示模运算;

33、根据所述第一加密参数、所述第二子公钥以及所述第一子公钥,并按照如下公式(3),计算出第一密文;

34、(3)

35、上述公式(3)中,表示所述第一密文,表示所述第二子公钥;

36、将所述交易业务参数和所述合约地址进行编码运算,分别得到第一编码值和第二编码值,并将所述第一编码值和所述第二编码值进行拼接处理,得到交易明文;

37、基于所述第二加密参数和所述第一子公钥,并按照如下公式(4),对所述交易明文进行加密处理,得到第二密文;

38、(4)

39、上述公式(4)中,表示所述第二密文,表示所述交易明文;

40、利用所述第一密文和所述第二密文,组成初始加密交易信息;

41、对所述初始加密交易信息进行数字签名处理,以在数字签名处理后,得到所述第一加密交易信息。

42、在一个可能的设计中,利用区块链网络中记账节点公开的第二公钥,对所述第一加密交易信息和所述第一密钥对中的第一私钥进行加密处理,得到第二加密交易信息,包括:

43、中间节点在有效性验证通过后,向区块链网络中的记账节点发送加密请求;

44、记账节点在接收到所述加密请求后,生成用于本次交易的两个大质数,并利用两个大质数,生成第二私钥和第二公钥;

45、记账节点利用第二私钥和第二公钥,组成第二密钥对,并存储第二密钥对中的第二私钥,以及将第二密钥对中的第二公钥发送至所述中间节点;

46、中间节点利用所述第二公钥,对所述第一加密交易信息和所述第一密钥对中的第一私钥进行加密处理,得到初始第二加密交易信息;

47、对所述初始第二加密交易信息进行数字签名处理,得到第二加密交易信息。

48、在一个可能的设计中,记账节点在接收到所述加密请求后,生成用于本次交易的两个大质数,包括:

49、记账节点随机生成一组第一数组,其中,所述第一数组中的任一元素为奇数,所述任一元素能够被预设值所整除,且所述任一元素大于标定阈值;

50、获取伪素数表,并基于所述伪素数表对所述第一数组中的元素进行筛选处理,以去除所述数组中的伪素数,得到第二数组;

51、利用概率性质质数判断算法,对所述第二数组中的各个元素进行质数判断,并筛选出所述第二数组中属于质数的元素,以组成质数数库;

52、从所述质数数库中随机选择两个元素,以作为本次交易对应的两个大质数。

53、在一个可能的设计中,记账节点对所述第二加密交易信息进行一重解密处理,得到第一私钥和第一加密交易信息,包括:

54、记账节点利用自身的第二私钥,对所述第二加密交易信息进行一重解密处理,得到第一私钥和第一加密交易信息,其中,所述第二私钥与所述第二公钥相对应,且所述第一加密交易信息包括第一密文和第二密文;

55、相应的,记账节点利用第一私钥对第一加密交易信息进行二重解密处理,得到合约地址和交易业务参数,包括:

56、记账节点获取中间节点公开的与第一私钥相对应的第一公钥,其中,所述第一公钥包括第一子公钥;

57、记账节点利用所述第一子公钥和所述第一私钥,并按照如下公式(5),对所述第一密文进行解密处理,得到第一密文对应的明文;

58、(5)

59、上述公式(5)中,表示第一密文对应的明文,表示所述第一密文,表示第一私钥,表示第一子公钥,mod表示模运算;

60、记账节点基于所述第一密文对应的明文和所述第一子公钥,并按照如下公式(6),对所述第二密文进行解密处理,得到交易明文;

61、(6)

62、上述公式(6)中,表示所述交易明文,表示第二密文;

63、记账节点根据所述交易明文,得出所述合约地址和所述交易业务参数。

64、第二方面,提供了一种基于智能合约的区块链交易系统,包括:交易发起节点、记账节点以及若干边缘节点;

65、交易发起节点,用于从若干边缘节点中选择任一边缘节点作为本次交易的中间节点,并向中间节点发送密钥获取请求,其中,若干边缘节点独立部署于区块链网络与交易发起节点之间;

66、中间节点,用于在接收到所述密钥获取请求后,生成用于本次交易的第一密钥对,并将所述第一密钥对中的第一公钥发送至交易发起节点;

67、交易发起节点,用于接收第一公钥,并利用所述第一公钥对交易信息进行加密处理,得到第一加密交易信息,其中,所述第一加密交易信息包含有合约地址和交易业务参数;

68、交易发起节点,还用于将所述第一加密交易信息发送至所述中间节点;

69、中间节点,用于对所述第一加密交易信息进行有效性验证,并在有效性验证通过后,利用区块链网络中记账节点公开的第二公钥,对所述第一加密交易信息和所述第一密钥对中的第一私钥进行加密处理,得到第二加密交易信息;

70、中间节点,还用于将所述第二加密交易信息发送至区块链网络中的记账节点;

71、记账节点,用于对所述第二加密交易信息进行有效性验证,并在有效性验证通过后,对所述第二加密交易信息进行一重解密处理,得到第一私钥和第一加密交易信息,以及利用所述第一私钥对所述第一加密交易信息进行二重解密处理,得到合约地址和交易业务参数;

72、记账节点,用于根据所述合约地址,从区块链网络中获取与所述合约地址相匹配的智能合约,并基于交易业务参数和获取的智能合约,执行与所述交易业务参数相对应的交易,得到交易数据;

73、记账节点,还用于利用交易数据更新所述智能合约中的状态数据,以及对更新后的状态数据进行全同态加密,并在加密后,公布进行全同态加密后的智能合约,以在公布后,完成本次交易。

74、第三方面,提供了一种基于智能合约的区块链交易装置,以装置为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述基于智能合约的区块链交易方法。

75、第四方面,提供了一种存储介质,存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述基于智能合约的区块链交易方法。

76、第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述基于智能合约的区块链交易方法。

77、有益效果:

78、(1)本发明在交易时,对交易数据进行了双重加密,如此,本技术在使用智能合约进行交易时,交易信息完全不可见,降低了其被泄露的风险,且整个交易信息传输过程中,私钥并不参与传输,由此,可避免私钥在传输时被拦截的风险,从而可进一步的降低交易信息被破解的概率;同时,通过引入多个边缘节点,来实现交易信息的一次加密,其中,每次交易都是随机选取一个边缘节点,且一次加密所使用公钥的为所选择节点在本次所生成的第一公钥;基于此,边缘节点选取的不确定性以及每次交易都重新生成第一公钥,可降低加密被破解的风险,提高加密的安全性;另外,本技术还对交易后的智能合约中的状态数据进行全同态加密,从而使智能合约中的交易信息也不可见,如此,可进一步的保护交易隐私数据,进而防止不法分子通过智能合约窃取用户交易数据;综上所述,本发明既能够降低利用智能合约进行交易所存在的交易数据被泄露的风险,同时又能利用智能合约的防篡改特点来提高交易的可靠性,由此,非常适用于在区块链交易领域的大规模应用与推广。

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