基于PoW的提升交易TPS的打包方法、装置及设备与流程

文档序号:27918502发布日期:2021-12-11 10:53阅读:153来源:国知局
基于PoW的提升交易TPS的打包方法、装置及设备与流程
基于pow的提升交易tps的打包方法、装置及设备
技术领域
1.本发明涉及区块链交易性能技术领域,尤其涉及基于pow的提升交易 tps的打包方法、装置及设备。


背景技术:

2.区块链网络中的每一个节点,相当于存储所有区块数据的每一台电脑或者服务器,所有新区块的生产、交易的验证以及记账均由节点来完成,其中,每个节点的不同算力,决定分配的记账权和收获的奖励,区块链第一代共识机制叫pow,就是工作量证明共识机制,要想生产新的区块,就必须进行成千上万次哈希碰撞的运算,而现有的区块链在打包过程中,由于设置的普通交易没有交易手续费,智能合约交易有交易手续费,导致打包节点更愿意打包智能合约交易来赚取交易费,使得交易tps下降,如果长时间没有打包普通交易信息,造成普通转账交易可能长时间得不到确认的现象。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供一种基于pow的提升交易tps的打包方法、装置及设备,旨在解决现有技术无法有效提升交易的tps的技术问题。
5.为实现上述目的,本发明提供了一种基于pow的提升交易tps的打包方法,所述基于pow的提升交易tps的打包方法包括以下步骤:
6.获取目标交易信息,根据所述目标交易信息得到目标特征信息;
7.根据所述目标特征信息中的第一特征信息确定第一区块难度值;
8.根据所述目标特征信息中的第二特征信息确定第二区块难度值;
9.基于所述第一区块难度值和第二区块难度值分别对所述目标交易信息进行打包,以实现基于pow对所述目标交易信息的打包。
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.在所述智能合约耗费信息对应的耗费和满足标准交易难度信息的条件时,获取预设区块难度分配策略;
35.提取所述目标特征信息中的第一特征信息;
36.根据所述预设区块难度分配策略对所述第一特征信息进行分配,得到第一区块难度值。
37.可选地,所述根据所述预设区块难度分配策略对所述第一特征信息进行分配,得到第一区块难度值,包括:
38.根据预设手续费信息对目标交易信息和预设合约集合信息进行计算,得到各合约执行的当前手续费信息;
39.在所述当前手续费信息满足预设手续费信息时,根据所述预设区块难度分配策略对所述第一特征信息进行分配,得到第一区块难度值。
40.此外,为实现上述目的,本发明还提出一种基于pow的提升交易tps的打包装置,所述基于pow的提升交易tps的打包装置包括:
41.获取模块,用于获取目标交易信息,根据所述目标交易信息得到目标特征信息;
42.确定模块,用于根据所述目标特征信息中的第一特征信息确定第一区块难度值;
43.所述确定模块,还用于根据所述目标特征信息中的第二特征信息确定第二区块难度值;
44.打包模块,用于基于所述第一区块难度值和第二区块难度值分别对所述目标交易信息进行打包,以实现基于pow对交易信息的打包。
45.此外,为实现上述目的,本发明还提出一种基于pow的提升交易tps的打包设备,所述基于pow的提升交易tps的打包设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于pow的提升交易tps 的打包程序,所述基于pow的提升交易tps的打包程序配置为实现如上文所述的基于pow的提升交易tps的打包方法。
46.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于pow的提升交易tps的打包程序,所述基于pow的提升交易tps 的打包程序被处理器执行时实现如上文所述的基于pow的提升交易tps的打包方法。
47.本发明提出的基于pow的提升交易tps的打包方法,通过获取目标交易信息,根据目标交易信息得到目标特征信息;根据目标特征信息中的第一特征信息确定第一区块难度值;根据目标特征信息中的第二特征信息确定第二区块难度值;基于第一区块难度值和第二区块难度值分别对目标交易信息进行打包;本发明通过目标特征信息中的第一特征信息和第二特征信息确定对应的第一区块难度值和第二区块难度值,根据第一区块难度和第二区块难度对目标交易信息进行打包,以实现基于pow对所述目标交易信息的打包,相较于现有技术通过仅打包有利可图的智能合约交易的打包策略对交易信息进行打包,能够有效提升交易的tps。
附图说明
48.图1是本发明实施例方案涉及的硬件运行环境的基于pow的提升交易tps 的打包设备的结构示意图;
49.图2为本发明基于pow的提升交易tps的打包方法第一实施例的流程示意图;
50.图3为本发明基于pow的提升交易tps的打包方法第二实施例的流程示意图;
51.图4为本发明基于pow的提升交易tps的打包方法第三实施例的流程示意图;
52.图5为本发明基于pow的提升交易tps的打包装置第一实施例的功能模块示意图。
53.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
54.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
55.参照图1,图1为本发明实施例方案涉及的硬件运行环境的基于pow的提升交易tps的打包设备结构示意图。
56.如图1所示,该基于pow的提升交易tps的打包设备可以包括:处理器 1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,
存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless

fidelity,wi

fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的非易失性存储器(non

volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
57.本领域技术人员可以理解,图1中示出的结构并不构成对基于pow的提升交易tps的打包设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
58.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于pow的提升交易tps的打包程序。
59.在图1所示的基于pow的提升交易tps的打包设备中,网络接口1004 主要用于与网络节点打包设备进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明基于pow的提升交易tps的打包设备中的处理器1001、存储器1005可以设置在基于pow的提升交易tps的打包设备中,所述基于 pow的提升交易tps的打包设备通过处理器1001调用存储器1005中存储的基于pow的提升交易tps的打包程序,并执行本发明实施例提供的基于pow 的提升交易tps的打包方法。
60.基于上述硬件结构,提出本发明基于pow的提升交易tps的打包方法实施例。
61.参照图2,图2为本发明基于pow的提升交易tps的打包方法第一实施例的流程示意图。
62.在第一实施例中,所述基于pow的提升交易tps的打包方法包括以下步骤:
63.步骤s10,获取目标交易信息,根据所述目标交易信息得到目标特征信息。
64.需要说明的是,本实施例的执行主体为基于pow的提升交易tps的打包设备,还可为其他可实现相同或相似功能的设备,例如节点打包设备等,本实施例对此不作限制,在本实施例中,以节点打包设备为例进行说明。
65.应当理解的是,pow为区块链中的一种共识机制,目标交易信息指的是在区块链中进行的交易信息,目标交易信息包括普通交易信息和智能合约交易信息,而普通交易和智能合约交易的区别在于普通交易没有交易手续费,智能合约交易有交易手续费,且普通交易在交易过程中调用的是数据合约,而智能合约交易在交易的过程中调用的是智能合约。
66.可以理解的是,目标特征信息指的是普通交易或智能合约交易在交易过程中的特征信息,目标特征信息包括智能合约耗费信息、智能合约交易难度信息、打包节点难度信息、普通交易难度信息、当前打包节点难度信息以及其他信息,其中,普通交易难度信息、当前打包节点难度信息为普通交易的特征信息和智能合约耗费信息、智能合约交易难度信息、打包节点难度信息为智能合约交易的特征信息。
67.在具体实施中,节点打包设备获取目标交易信息,根据所述目标交易信息得到目标特征信息。
68.步骤s20,根据所述目标特征信息中的第一特征信息确定第一区块难度值。
69.应当理解的是,第一特征信息指的是目标特征信息中的智能合约交易的特征信息,即为智能合约耗费信息、智能合约交易难度信息、打包节点难度信息为智能合约交易,
由于第一区块的难度值是由第一特征信息的难度组成的,因此,在得到第一特征信息后,通过预设区块难度分配策略对第一特征信息分配对应的难度值,在分配完成时,即得到第一区块难度值,第一区块难度也为打包节点在打包第一区块的难度,其中,预设区块难度分配策略指的是对区块分配不同难度的策略。
70.在具体实施中,节点打包设备根据所述目标特征信息中的第一特征信息确定第一区块难度值。
71.步骤s30,根据所述目标特征信息中的第二特征信息确定第二区块难度值。
72.应当理解的是,第二特征信息指的是目标特征信息中的普通交易的特征信息,即为普通交易难度信息、当前打包节点难度信息,由于普通交易在交易的过程中没有交易手续费,因此,第二特征信息中是没有耗费信息,在得到第二特征信息后,通过预设区块难度分配策略对第二特征信息分配对应的难度值,在分配完成时,即得到第二区块难度,第二区块难度也为打包节点在打包第二区块的难度。
73.在具体实施中,节点打包设备根据所述目标特征信息中的第二特征信息确定第二区块难度值。
74.步骤s40,基于所述第一区块难度值和第二区块难度值分别对所述目标交易信息进行打包,以实现基于pow对所述目标交易信息的打包。
75.应当理解的是,在得到第一区块难度和第二区块难度后,打包节点会根据难度值的大小对目标交易信息中的智能合约交易信息和普通交易信息进行打包,在打包完成时,即得到智能合约交易信息对应的第一区块和普通交易信息对应的第二区块,此时的打包节点不会再依据是否有交易费选择打包的交易信息,而是依据区块的难度,即可以为优先难度值高的交易打包或者为优先难度值低的交易打包,本实施例对此不作限制,以优先难度值低的交易打包为例进行说明。
76.在具体实施中,节点打包设备基于所述第一区块难度值和第二区块难度值分别对所述目标交易信息进行打包,以实现基于pow对所述目标交易信息的打包。
77.本实施例通过获取目标交易信息,根据目标交易信息得到目标特征信息;根据目标特征信息中的第一特征信息确定第一区块难度值;根据目标特征信息中的第二特征信息确定第二区块难度值;基于第一区块难度值和第二区块难度值分别对目标交易信息进行打包;通过目标特征信息中的第一特征信息和第二特征信息确定对应的第一区块难度值和第二区块难度值,根据第一区块难度和第二区块难度对目标交易信息进行打包,以实现基于pow对所述目标交易信息的打包,相较于现有技术通过仅打包有利可图的智能合约交易的打包策略对交易信息进行打包,能够有效提升交易的tps。
78.在一实施例中,如图3所述,基于第一实施例提出本发明基于pow的提升交易tps的打包方法第二实施例,所述步骤s10,包括:
79.步骤s101,获取目标交易信息,判断所述目标交易信息是否为智能合约交易信息。
80.应当理解的是,由于普通交易信息和智能合约交易信息的组成不同,因此,在得到区块链的目标交易信息后,需要对目标交易信息进行判断,此时的判断结果为两种,一种是目标交易信息为智能合约交易信息,另一种是目标交易信息为普通交易信息。
81.在具体实施中,节点打包设备获取目标交易信息,判断所述目标交易信息是否为智能合约交易信息。
82.进一步地,步骤s101之后,还包括:在所述目标交易信息为普通交易信息时,获取目标交易信息的当前转账信息和当前交易大小信息;通过第一公式对当前转账信息和当前交易大小信息进行计算,得到普通交易难度信息;根据目标交易信息和打包节点流程信息,得到当前打包节点难度信息;将所述普通交易难度信息和当前打包节点难度信息作为目标特征信息。
83.可以理解的是,当前转账信息指的是普通交易过程中的转账的金额信息,当前交易大小信息指的是普通交易过程中所占据的大小信息,在得到当前转账信息和当前交易大小信息后,通过第一公式对当前转账信息和当前交易大小信息进行计算,具体为:
[0084][0085][0086][0087]
其中,work表示实际的工作量,α和β表示相关的乘积因子,均大于0, dtx为交易难度信息,den为第n轮的标准交易难度。
[0088]
步骤s102,在所述目标交易信息为智能合约交易信息时,获取目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息。
[0089]
可以理解的是,转账数额信息指的是目标交易过程中的转账的金额信息,转账数额信息对交易难度信息的影响只会增加,不会减小,从而保证不会有大额持有者实行ddos攻击,交易大小信息指的是目标交易过程中所占据的大小信息,智能合约耗费信息指的是智能合约在执行时消耗的费用值信息,目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息对交易难度信息均会产生影响。
[0090]
进一步地,步骤s102,包括:在所述目标交易信息为智能合约交易信息时,提取所述目标交易信息的代码信息;根据预设执行合约、代码信息得到智能合约交易时的手续费信息;通过第二计算公式对所述手续费信息和预设耗费因子进行计算,得到智能合约交易难度费用理论值;通过第三计算公式和预设费用消耗阈值对所述智能合约交易难度费用理论值进行计算,得到智能合约耗费信息。
[0091]
应当理解的是,代码信息指的是区块链在交易过程中调用智能合约的代码信息,预设执行合约指的是在构造交易时无法获得执行合约实际需消耗的费用,因此需要提前设置对应的执行合约,所设置的执行合约即为预设执行合约,在得到代码信息和预设执行合约时,根据代码信息对应的代码调用预设执行合约,即可得到智能合约交易时的手续费信息,预设耗费因子指的是用户根据历史智能合约交易耗费设置的因子,在得到手续费信息和预设耗费因子,通过第二计算公式进行计算,具体为:
[0092][0093]
其中,为智能合约交易时的手续费信息,ε为预设耗费因子,j
txc
为智能合约交
易难度费用理论值。
[0094]
可以理解的是,预设费用消耗阈值指的是交易过程中的最低消耗费用,避免用户过大输入费用预设值,在得到预设费用消耗阈值和智能合约交易难度费用理论值,通过第三计算公式进行计算,具体为:
[0095][0096]
其中,为智能合约交易难度费用理论值的为智能合约交易难度费用理论值的为实际消耗费用值,为智能合约耗费信息。
[0097]
在具体实施中,在所述目标交易信息为智能合约交易信息时,节点打包设备获取目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息。
[0098]
步骤s103,通过第一公式对所述目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息进行计算,得到智能合约交易难度信息。
[0099]
应当理解的是,在得到目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息,通过第一公式对数额信息、交易大小信息以及智能合约耗费信息进行计算,即可得到智能合约交易难度信息,智能合约交易难度信息指的是智能合约在交易过程中的难度信息。
[0100]
进一步地,步骤s103,包括:获取区块链的纪元时间信息和智能合约交易数量信息;根据所述纪元时间信息和智能合约交易数量信息得到各智能合约的交易难度信息;统计所述各智能合约的交易难度信息,得到目标交易难度信息;通过第四计算公式对所述目标交易难度信息进行计算,得到标准交易难度信息;通过第一公式和所述标准交易难度信息对所述目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息进行计算,得到智能合约交易难度信息。
[0101]
可以理解的是,纪元时间信息指的是区块链上每一轮的纪元时间信息,如果在纪元时间信息内用户发出的数量越多,则打包节点能够打包容纳更多的交易,从而得到更多的区块,由于同一轮回对应的交易数量是不同的,即在纪元时间内,第一轮交易的数量为m,第二轮交易的数量为n,通过统计各智能合约的交易难度信息即可得到目标交易难度信息,再通过第四计算公式对目标交易难度信息进行计算,具体为:
[0102][0103]
其中,de0表示第1轮的epoch内的标准交易难度,de
n
‑1表示第n轮的 epoch内的标准交易难度,d
tx
表述单个交易难度,∑
txinepoch
d
tx
表示目标交易难度信息,count(tx)表示智能合约交易数量信息。
[0104]
在具体实施中,节点打包设备通过第一公式对所述目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息进行计算,得到智能合约交易难度信息。
[0105]
步骤s104,将所述智能合约耗费信息、智能合约交易难度信息以及打包节点难度信息作为目标特征信息。
[0106]
可以理解的是,在目标交易信息为智能合约交易信息时,目标特征信息即为智能
合约交易特征信息,而智能合约交易特征信息为智能合约耗费信息、智能合约交易难度信息以及打包节点难度信息,因此,此时的智能合约耗费信息、智能合约交易难度信息以及打包节点难度信息即为目标它特征信息。
[0107]
在具体实施中,节点打包设备将所述智能合约耗费信息、智能合约交易难度信息以及打包节点难度信息作为目标特征信息。
[0108]
本实施例通过获取目标交易信息,判断所述目标交易信息是否为智能合约交易信息;在所述目标交易信息为智能合约交易信息时,获取目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息;通过第一公式对所述目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息进行计算,得到智能合约交易难度信息;根据目标交易信息和打包节点流程信息,得到对应的打包节点难度信息;将所述智能合约耗费信息、智能合约交易难度信息以及打包节点难度信息作为目标特征信息,从而能够有效提高得到目标特征信息的准确性。
[0109]
在一实施例中,如图4所述,基于第一实施例提出本发明基于pow的提升交易tps的打包方法第三实施例,所述步骤s20,包括:
[0110]
步骤s201,提取智能合约交易难度信息中的智能合约耗费信息。
[0111]
可以理解的是,在得到智能合约交易难度信息和普通交易信息后,需要判断提取智能合约交易信息中的智能合约耗费信息,智能合约耗费信息指的是智能合约交易过程中所消耗的费用信息,此时的目标交易信息中只包含合约交易信息,因此,需要将合约交易难度信息中的智能合约耗费信息提取。
[0112]
在具体实施中,节点打包设备提取智能合约交易难度信息中的智能合约耗费信息。
[0113]
步骤s202,在所述智能合约耗费信息对应的耗费和满足标准交易难度信息的条件时,获取预设区块难度分配策略。
[0114]
可以理解的是,在得到智能合约耗费信息后,需要统计智能合约耗费信息对应的智能合约消耗费用和,只有在智能合约消耗费用和满足标准交易难度信息的条件时所得到的智能合约交易难度信息才是有效的,预设区块难度分配策略指的是对智能合约交易或者普通交易分配难度值的策略,例如,通过预设区块分配策略给智能合约交易分配的难度值为a,通过预设区块分配策略给普通交易分配的难度值为b。
[0115]
在具体实施中,在所述智能合约耗费信息对应的耗费和满足标准交易难度信息的条件时,节点打包设备获取预设区块难度分配策略。
[0116]
步骤s203,提取所述目标特征信息中的第一特征信息。
[0117]
应当理解的是,第一特征信息指的是指的是目标特征信息中的智能合约交易的特征信息,即为智能合约耗费信息、智能合约交易难度信息、打包节点难度信息为智能合约交易。
[0118]
在具体实施中,节点打包设备提取所述目标特征信息中的第一特征信息。
[0119]
步骤s204,根据所述预设区块难度分配策略对所述第一特征信息进行分配,得到第一区块难度值。
[0120]
可以理解的是,在得到第一特征信息后,通过预设区块难度分配策略给第一特征信息分配对应的难度值,第一特征信息对应的难度值即为第一区块难度值,即打包节点在
打包智能合约交易信息的难度为第一区块难度,在打包完成时,即得到第一区块。
[0121]
进一步地,步骤s204,包括:根据预设手续费信息对目标交易信息和预设合约集合信息进行计算,得到各合约执行的当前手续费信息;在所述当前手续费信息满足预设手续费信息时,根据所述预设区块难度分配策略对所述第一特征信息进行分配,得到第一区块难度值。
[0122]
应当理解的是,预设手续费信息指的是根据智能合约所设定的手续费信息,预设合约集合信息指的是打包节点收集到的合约集合信息,通过预设手续费信息对目标交易信息和预设合约集合信息进行计算,即可得到预设合约集合中各合约在执行过程中的当前手续费信息,预设手续费指的是预执行合约下合约执行消耗的手续费的极值,只有在当前手续费信息满足预设手续费信息时,才可通过预设区块难度分配策略分配第一特征信息对应的难度值。
[0123]
在具体实施中,节点打包设备根据所述预设区块难度分配策略对所述第一特征信息进行分配,得到第一区块难度值。
[0124]
本实施例通过提取智能合约交易难度信息中的智能合约耗费信息;
[0125]
在所述智能合约耗费信息对应的耗费和满足标准交易难度信息的条件时,获取预设区块难度分配策略;提取所述目标特征信息中的第一特征信息;根据所述预设区块难度分配策略对所述第一特征信息进行分配,得到第一区块难度值;通过在智能合约耗费信息对应的耗费和满足标准交易难度信息的条件时,通过预设区块难度分配策略分配目标特征信息中的第一特征信息对应的难度值,得到第一区块难度值,从而能够有效提高得到第一区块难度值的准确性。
[0126]
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于 pow的提升交易tps的打包程序,所述基于pow的提升交易tps的打包程序被处理器执行时实现如上文所述的基于pow的提升交易tps的打包方法的步骤。
[0127]
由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
[0128]
此外,参照图5,本发明实施例还提出一种基于pow的提升交易tps的打包装置,所述基于pow的提升交易tps的打包装置包括:
[0129]
获取模块10,用于获取目标交易信息,根据所述目标交易信息得到目标特征信息。
[0130]
应当理解的是,pow为区块链中的一种共识机制,目标交易信息指的是在区块链中进行的交易信息,目标交易信息包括普通交易信息和智能合约交易信息,而普通交易和智能合约交易的区别在于普通交易没有交易手续费,智能合约交易有交易手续费,且普通交易在交易过程中调用的是数据合约,而智能合约交易在交易的过程中调用的是智能合约。
[0131]
可以理解的是,目标特征信息指的是普通交易或智能合约交易在交易过程中的特征信息,目标特征信息包括智能合约耗费信息、智能合约交易难度信息、打包节点难度信息、普通交易难度信息、当前打包节点难度信息以及其他信息,其中,普通交易难度信息、当前打包节点难度信息为普通交易的特征信息和智能合约耗费信息、智能合约交易难度信息、打包节点难度信息为智能合约交易的特征信息。
[0132]
在具体实施中,节点打包设备获取目标交易信息,根据所述目标交易信息得到目标特征信息。
[0133]
确定模块20,用于根据所述目标特征信息中的第一特征信息确定第一区块难度值。
[0134]
应当理解的是,第一特征信息指的是目标特征信息中的智能合约交易的特征信息,即为智能合约耗费信息、智能合约交易难度信息、打包节点难度信息为智能合约交易,由于第一区块的难度值是由第一特征信息的难度组成的,因此,在得到第一特征信息后,通过预设区块难度分配策略对第一特征信息分配对应的难度值,在分配完成时,即得到第一区块难度值,第一区块难度也为打包节点在打包第一区块的难度,其中,预设区块难度分配策略指的是对区块分配不同难度的策略。
[0135]
在具体实施中,节点打包设备根据所述目标特征信息中的第一特征信息确定第一区块难度值。
[0136]
所述确定模块20,还用于根据所述目标特征信息中的第二特征信息确定第二区块难度值。
[0137]
应当理解的是,第二特征信息指的是目标特征信息中的普通交易的特征信息,即为普通交易难度信息、当前打包节点难度信息,由于普通交易在交易的过程中没有交易手续费,因此,第二特征信息中是没有耗费信息,在得到第二特征信息后,通过预设区块难度分配策略对第二特征信息分配对应的难度值,在分配完成时,即得到第二区块难度,第二区块难度也为打包节点在打包第二区块的难度。
[0138]
在具体实施中,节点打包设备根据所述目标特征信息中的第二特征信息确定第二区块难度值。
[0139]
打包模块30,用于基于所述第一区块难度值和第二区块难度值分别对所述目标交易信息进行打包,以实现基于pow对交易信息的打包。
[0140]
应当理解的是,在得到第一区块难度和第二区块难度后,打包节点会根据难度值的大小对目标交易信息中的智能合约交易信息和普通交易信息进行打包,在打包完成时,即得到智能合约交易信息对应的第一区块和普通交易信息对应的第二区块,此时的打包节点不会再依据是否有交易费选择打包的交易信息,而是依据区块的难度,即可以为优先难度值高的交易打包或者为优先难度值低的交易打包,本实施例对此不作限制,以优先难度值低的交易打包为例进行说明。
[0141]
在具体实施中,节点打包设备基于所述第一区块难度值和第二区块难度值分别对所述目标交易信息进行打包,以实现基于pow对所述目标交易信息的打包。
[0142]
本实施例通过获取目标交易信息,根据目标交易信息得到目标特征信息;根据目标特征信息中的第一特征信息确定第一区块难度值;根据目标特征信息中的第二特征信息确定第二区块难度值;基于第一区块难度值和第二区块难度值分别对目标交易信息进行打包;通过目标特征信息中的第一特征信息和第二特征信息确定对应的第一区块难度值和第二区块难度值,根据第一区块难度和第二区块难度对目标交易信息进行打包,以实现基于pow对所述目标交易信息的打包,相较于现有技术通过仅打包有利可图的智能合约交易的打包策略对交易信息进行打包,能够有效提升交易的tps。
[0143]
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
[0144]
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的基于pow的提升交易tps的打包方法,此处不再赘述。
[0145]
在一实施例中,所述获取模块10,还用于获取目标交易信息,判断所述目标交易信息是否为智能合约交易信息;在所述目标交易信息为智能合约交易信息时,获取目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息;通过第一公式对所述目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息进行计算,得到智能合约交易难度信息;根据目标交易信息和打包节点流程信息,得到对应的打包节点难度信息;将所述智能合约耗费信息、智能合约交易难度信息以及打包节点难度信息作为目标特征信息。
[0146]
在一实施例中,所述获取模块10,还用于在所述目标交易信息为智能合约交易信息时,提取所述目标交易信息的代码信息;根据预设执行合约、代码信息得到智能合约交易时的手续费信息;通过第二计算公式对所述手续费信息和预设耗费因子进行计算,得到智能合约交易难度费用理论值;通过第三计算公式和预设费用消耗阈值对所述智能合约交易难度费用理论值进行计算,得到智能合约耗费信息。
[0147]
在一实施例中,所述获取模块10,还用于获取区块链的纪元时间信息和智能合约交易数量信息;根据所述纪元时间信息和智能合约交易数量信息得到各智能合约的交易难度信息;统计所述各智能合约的交易难度信息,得到目标交易难度信息;通过第四计算公式对所述目标交易难度信息进行计算,得到标准交易难度信息;通过第一公式和所述标准交易难度信息对所述目标交易信息的转账数额信息、交易大小信息以及智能合约耗费信息进行计算,得到智能合约交易难度信息。
[0148]
在一实施例中,所述获取模块10,还用于在所述目标交易信息为普通交易信息时,获取目标交易信息的当前转账信息和当前交易大小信息;通过第一公式对当前转账信息和当前交易大小信息进行计算,得到普通交易难度信息;根据目标交易信息和打包节点流程信息,得到当前打包节点难度信息;将所述普通交易难度信息和当前打包节点难度信息作为目标特征信息。
[0149]
在一实施例中,所述确定模块20,还用于提取智能合约交易难度信息中的智能合约耗费信息;在所述智能合约耗费信息对应的耗费和满足标准交易难度信息的条件时,获取预设区块难度分配策略;提取所述目标特征信息中的第一特征信息;根据所述预设区块难度分配策略对所述第一特征信息进行分配,得到第一区块难度值。
[0150]
在一实施例中,所述确定模块20,还用于根据预设手续费信息对目标交易信息和预设合约集合信息进行计算,得到各合约执行的当前手续费信息;在所述当前手续费信息满足预设手续费信息时,根据所述预设区块难度分配策略对所述第一特征信息进行分配,得到第一区块难度值。
[0151]
本发明所述基于pow的提升交易tps的打包装置的其他实施例或具有实现方法可参照上述各方法实施例,此处不在赘余。
[0152]
此外,需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0153]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0154]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器(read onlymemory,rom)/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,节点打包设备,或者网络设备等)执行本发明各个实施例所述的方法。
[0155]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1