本技术涉及区块链,更具体地说,涉及一种区块链交易执行方法和区块链节点。
背景技术:
1、区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证数据区块不可篡改和不可伪造。区块链节点在执行区块中的多个交易时,可通过并行执行交易加快交易执行速度。
2、现有技术公开号为cn113743941b的文献提供一种在区块链中执行交易的方法、区块链和主节点,区块链中的主节点在预执行交易时,考虑交易之间的冲突,并且根据对各个交易进行预执行冲突检测的先后顺序确定交易提交的顺序,使得在主节点不作恶的情况下从节点在执行交易时的世界状态与主节点预执行该交易时的世界状态一致,避免了各个从节点在执行交易时由于世界状态的变化而重新执行交易,提高了交易执行速度。
3、上述中的现有技术方案虽然通过现有技术的结构可以实现与有关的有益效果,而在新区块形成时,新区块的合法性验证对区块链安全性及稳定性也具有重要意义。鉴于此,我们提出一种区块链交易执行方法和区块链节点。
技术实现思路
1、1.要解决的技术问题
2、本技术的目的在于提供一种区块链交易执行方法和区块链节点,解决了现有技术中新区块的合法性验证不全面的技术问题,实现了提高新区块验证的高效及准确性的技术效果。
3、2.技术方案
4、本技术实施例提供了一种区块链交易执行方法,包括以下步骤:
5、用户通过区块链钱包向卖方发送交易请求;
6、区块链上的其他节点接收到用户发出的交易请求并记录;
7、卖方接收到用户的交易请求后,使用区块链钱包对交易请求进行确认;
8、卖方确认交易请求后,将交易信息打包生成新区块;
9、新区块添加到广播队列并广播到区块链网络的所有节点,每个节点通过哈希算法验证新区块的合法性;
10、当新区块通过合法性验证,所有节点接受新区块并将新区块添加区块链网络中,形成区块链。
11、通过采用上述技术方案,区块链网络中的节点分布各地,不需要任何的中心化机构来控制和管理,避免了单点故障的风险,提高了系统的可靠性和安全性。
12、作为本技术文件技术方案的一种可选方案,所述区块链钱包是区块链网络中用于管理用户资产、创建和管理智能合约、跟踪交易历史记录、发送和接收交易请求单元。
13、作为本技术文件技术方案的一种可选方案,区块链上的其他节点接收到用户发出的交易请求并记录在其数据库内,每个数据库均为独立式数据库,且可在整个区块链网络中共享,每个数据库均具有唯一的哈希标识。
14、通过采用上述技术方案,每个数据库均具有唯一的哈希标识,可确保所有数据库的唯一性、可追溯性及不可篡改性。
15、作为本技术文件技术方案的一种可选方案,所述新区块至少包括前一个区块的哈希值和元数据;前一个区块的哈希值用于在区块链上追踪交易的历史顺序;元数据包括交易汇总、交易详情、随机数和共识参数。
16、作为本技术文件技术方案的一种可选方案,所述交易汇总包括一组交易的哈希值列表、交易双方的地址、交易的具体内容和交易的时间戳。
17、所述交易详情包括交易双方、交易金额、交易类型和交易时间。
18、所述随机数用于生成新区块的标题。
19、通过采用上述技术方案,交易汇总包括一组交易的哈希值列表、交易双方的地址、交易的具体内容和交易的时间戳,交易汇总能够使每个节点看到所有已经发生的交易记录,开阀人员根据交易汇总打包的信息跟踪区块链上的行动,并针对性地进行应用程序的开发和升级,有助于维护区块链的可视性和可读性;
20、交易详情包括交易双方、交易金额、交易类型和交易时间,交易详细信息被打包到一个单独的交易哈希值的数组中,并附加在新区块的后面,将交易详细信息打包到交易哈希值的数组中,有效的保证交易数据的完整性、可靠性和可追溯性,每个新区块都会携带一定数量的已确认交易哈希值,因此交易哈希值数组的每一项都是不可篡改的,同时,交易哈希值也是唯一标识一个交易的唯一标识符,因此,即使丢失了一个新区块,也不会影响交易记录的可读性和可追溯性;区块链系统使用随机数来实现安全性和可预测性;
21、新区块包含了交易的所有信息并经过加密运算,当需要获取新区块的信息时,需通过对应的私钥解密。
22、作为本技术文件技术方案的一种可选方案,节点对所述新区块的验证包括格式验证、代码验证、共识规则验证和完整性验证;
23、格式验证是节点检查新区块的格式是否正确;
24、代码验证是节点检查交易代码是否存在逻辑漏洞,或是否有被攻击的可能;
25、共识规则验证是节点按照共识机制检查交易是否符合相关的共识规则;
26、完整性验证是节点通过查看前一个区块的merkle tree根哈希,来确认当前区块的merkle tree根哈希是否在其预期范围内;若不在预期范围内,则表明交易中的某个环节可能有误,需重新进行验证。
27、通过采用上述技术方案,当格式错误时,则新区块可能是伪造或攻击者设计的陷阱,从而使验证不通过;通过代码验证可有效的防止攻击者利用智能合约实现双重支付、空投等恶意行为,提高区块链交易的安全性;共识规则验证可有效的防止非法交易、重复交易和未授权的交易等。
28、作为本技术文件技术方案的一种可选方案,当某些节点对新区块验证不通过时,通过对比新旧链和各个节点的共识哈希值来确定受到分叉影响的节点,并将受影响的节点从区块链网络中隔离。
29、通过采用上述技术方案,当某些节点对新区块验证不通过时,通过对比新旧链和各个节点的共识哈希值来确定受到分叉影响的节点,并将受影响的节点从区块链网络中隔离,避免进一步扩大影响范围,同时通知管理人员进行检查。
30、本技术还公开了一种区块链节点,包括交易请求单元、交易执行单元和隔离单元;
31、交易收发单元,用于接收用户提交的交易请求,并对交易请求进行审核,确保交易符合区块链的规定,然后,将符合规定的交易打包成新区块,并通过共识算法将其添加到区块链中;
32、交易执行单元,用于调用智能合约来执行交易,并确保交易的结果符合预期;
33、隔离单元,用于新区块分叉事件发生时,将受影响的节点从区块链网络中隔离。
34、作为本技术文件技术方案的一种可选方案,还包括数据存储单元;
35、数据存储单元,用于将交易的所有历史数据进行保存。
36、本技术还公开了一种区块链节点,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现上述的交易执行方法。
37、3.有益效果
38、本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
39、1.本技术每个新区块都包含了前一个新区块的哈希值,因此后面的新区块是无法篡改前面的任何一个新区块的,提高交易的安全性及可靠性。
40、2.本技术元数据包括交易汇总、交易详情、随机数和共识参数,交易汇总能够使每个节点看到所有已经发生的交易记录,开阀人员根据交易汇总打包的信息跟踪区块链上的行动,并针对性地进行应用程序的开发和升级,有助于维护区块链的可视性和可读性;交易详细信息被打包到一个单独的交易哈希值的数组中,并附加在新区块的后面,将交易详细信息打包到交易哈希值的数组中,有效的保证交易数据的完整性、可靠性和可追溯性,每个新区块都会携带一定数量的已确认交易哈希值,因此交易哈希值数组的每一项都是不可篡改的,同时,交易哈希值也是唯一标识一个交易的唯一标识符,因此,即使丢失了一个新区块,也不会影响交易记录的可读性和可追溯性。
41、3.本技术当某些节点对新区块验证不通过时,通过对比新旧链和各个节点的共识哈希值来确定受到分叉影响的节点,并将受影响的节点从区块链网络中隔离,避免进一步扩大影响范围,同时通知管理人员进行检查。
42、4.本技术设置多种对新区块验证模式:包括格式验证、代码验证、共识规则验证和完整性验证;格式验证有效的节点检查新区块的格式是否正确,当格式错误时,则新区块可能是伪造或攻击者设计的陷阱,从而使验证不通过;代码验证对节点检查交易代码是否存在逻辑漏洞,或是否有被攻击的可能进行检查,通过代码验证可有效的防止攻击者利用智能合约实现双重支付、空投等恶意行为,提高区块链交易的安全性;共识规则验证是节点按照共识机制检查交易是否符合相关的共识规则,共识规则验证可有效的防止非法交易、重复交易和未授权的交易等;节点通过查看前一个区块的merkle tree根哈希,来确认当前区块的merkle tree根哈希是否在其预期范围内;若不在预期范围内,则表明交易中的某个环节可能有误,需重新进行验证。
1.区块链交易执行方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的区块链交易执行方法,其特征在于:所述区块链钱包是区块链网络中用于管理用户资产、创建和管理智能合约、跟踪交易历史记录、发送和接收交易请求单元。
3.根据权利要求1所述的区块链交易执行方法,其特征在于:区块链上的其他节点接收到用户发出的交易请求并记录在其数据库内,每个数据库均为独立式数据库,且可在整个区块链网络中共享,每个数据库均具有唯一的哈希标识。
4.根据权利要求3所述的区块链交易执行方法,其特征在于:所述新区块至少包括前一个区块的哈希值和元数据;前一个区块的哈希值用于在区块链上追踪交易的历史顺序;元数据包括交易汇总、交易详情、随机数和共识参数。
5.根据权利要求4所述的区块链交易执行方法,其特征在于:所述交易汇总包括一组交易的哈希值列表、交易双方的地址、交易的具体内容和交易的时间戳;
6.根据权利要求1所述的区块链交易执行方法,其特征在于:节点对所述新区块的验证包括格式验证、代码验证、共识规则验证和完整性验证;
7.根据权利要求6所述的区块链交易执行方法,其特征在于:当存在节点对新区块验证不通过时,通过对比新旧链和各个节点的共识哈希值来确定受到分叉影响的节点,并将受影响的节点从区块链网络中隔离。
8.一种区块链节点,其特征在于:包括交易请求单元、交易执行单元和隔离单元;
9.根据权利要求8所述的区块链节点,其特征在于:还包括数据存储单元;
10.一种区块链节点,其特征在于,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7任一项所述的交易执行方法。
