CN112348681A - 一种区块链交易手续费确定方法、装置及电子设备 - Google Patents
一种区块链交易手续费确定方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112348681A CN112348681A CN202110028516.7A CN202110028516A CN112348681A CN 112348681 A CN112348681 A CN 112348681A CN 202110028516 A CN202110028516 A CN 202110028516A CN 112348681 A CN112348681 A CN 112348681A
- Authority
- CN
- China
- Prior art keywords
- transaction
- fee
- confirmed
- transactions
- commission
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0283—Price estimation or determination
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种区块链交易手续费确定方法、装置及电子设备,包括:当接收到交易手续费确定请求,获取区块链节点中的多笔待确认交易;按照区块链中的矿工打包条件,对每一笔待确认交易进行排序;根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对多笔待确认交易进行分组,得到多组不同入链优先级的待打包交易;根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费,根据当前区块链的交易手续费数据对当前区块链交易情况进行统计分析的同时可以向发送交易的发送方提供需要支付的交易费用判断依据,使得待提交交易的发送方在支付相应费用时保证交易在预期时间内可靠入链。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种区块链交易手续费确定方法、装置及电子设备。
背景技术
数字货币是一种基于区块链节点网络和数字加密算法的虚拟货币,数字货币的交易过程需要网络中的各个节点的认可,挖矿节点在挖出一个新区块时,会从所有待确认的交易中选择若干交易进行打包,并通过区块链网络发送到所有节点,由这些节点对区块合法性进行确认,继而实现入链。
不同区块链对每一个区块的体积上限是有要求的,如现阶段比特币区块上限为1MB。受全网挖矿节点总数的限制,当一段时间内交易过多,全部待确认交易都被打包入区块所需时间就会变得更长,需要更多的区块来装载这些交易,这时新产生的交易被打包入区块的时间就变得不确定,造成了交易拥堵。交易拥堵意味着要想将所有待确认交易全部打包入区块,需要较长的时间和更多的区块来消化且发送交易时需要发送方交一部分手续费给矿工,矿工通常会选择性价比最高的交易优先进行打包,以保证在每一个区块上获取最大利益。故亟待提出一种区块链交易手续费确定方法,以及时掌握当前区块链交易手续费情况,或者让用户节点新发送的交易能够以准确的交易费用在交易发送方的预期时间内被打包。
发明内容
因此,本发明提供一种区块链交易手续费确定方法、装置及电子设备,以及时掌握当前区块链交易手续费情况,或者让用户节点新发送的交易能够以准确的交易费用在交易发送方的预期时间内被打包。
根据第一方面,本发明实施例公开了一种区块链交易手续费确定方法,应用于区块链交易手续费确定设备,所述区块链交易手续费确定设备与至少一个区块链节点通信连接,所述方法包括:当接收到交易手续费确定请求,获取区块链节点中的多笔待确认交易;按照区块链中的矿工打包条件,对每一笔待确认交易进行排序;根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对所述多笔待确认交易进行分组,得到多组不同入链优先级的待打包交易;根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费。
可选地,所述按照区块链中的矿工打包条件,对每一笔待确认交易进行排序,包括:获取每一笔待确认交易的体积大小以及对应的交易手续费;根据每一笔待确认交易的体积大小以及对应的交易手续费,确定所述每一笔交易的单位体积交易费用;将所述每一笔交易的单位体积费用进行从高到低排序。
可选地,根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费,包括:根据每一组待打包交易中包含的待确认交易的单位体积交易费用,确定每一组待打包交易中包含的待确认交易的最大单位体积交易费用、最小单位体积交易费用以及平均单位体积交易费用;根据所述最大单位体积交易费用、最小单位体积交易费用以及平均单位体积交易费用以及预设的每一种单位体积交易费用的权重系数,得到每一组待打包交易中包含的待确认交易对应的目标单位体积交易费用;根据得到的目标单位体积交易费用,确定当前区块链的交易手续费。
可选地,所述方法还包括:当所述交易手续费确定请求包括待提交交易信息,根据所述待提交交易信息中包含的待提交交易请求的入链时间要求以及区块链的出块时间,从得到的多个目标单位体积交易费用中确定最佳单位体积交易费用;根据所述最佳单位体积交易费用和所述最佳单位体积交易费用对应的待打包交易中包含的待确认交易的费用数据和体积大小以及待提交交易的体积大小,确定待提交交易的手续费。
可选地,所述根据所述最大单位体积交易费用、最小单位体积交易费用以及平均单位体积交易费用以及预设的每一种单位体积交易费用的权重系数,得到每一组待打包交易中包含的待确认交易对应的目标单位体积交易费用之后,所述方法还包括:当所述交易手续费确定请求包括待提交交易信息,向发送所述待提交交易信息的用户节点显示每一组中包含的待确定交易的目标单位体积交易费用以及区块链的出块时间;根据接收到用户对所述目标单位体积交易费用选择操作,得到最佳单位体积交易费用。
可选地,所述方法还包括:根据所述待提交交易信息包含的交易体积以及所述最佳单位体积交易费用,确定所述待提交交易的应付手续费;将所述应付手续费发送给发送所述待提交交易信息的用户节点。
可选地,所述方法还包括:当所述待提交交易将在下一区块被打包入链,根据最高入链优先级的待打包交易中包含的待确认交易的费用数据和体积大小以及待提交交易的体积大小,确定待提交交易的手续费;根据区块链的历史出块间隔时间以及当前时间距下一区块出块的时间差值,对根据所述最高入链优先级的待打包交易确定出的待提交交易的手续费进行调整。
可选地,所述方法还包括:所述方法还包括:若当前区块链中有新区块入链时,重新获取区块链中的待确认交易;对根据矿工打包条件得到的待确认交易的排序结果进行更新;根据更新后的排序结果响应区块链交易手续费的确定操作。
根据第二方面,本发明实施例还公开了一种区块链交易手续费确定装置,应用于区块链交易手续费确定设备,所述区块链交易手续费确定设备与至少一个区块链节点通信连接,所述装置包括:第一获取模块, 用于当接收到交易手续费确定请求,获取区块链节点中的多笔待确认交易;排序模块,用于按照区块链中的矿工打包条件,对每一笔待确认交易进行排序;分组模块,用于根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对所述多笔待确认交易进行分组,得到多组不同入链优先级的待打包交易;第一确定模块,用于根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费。
根据第三方面,本发明实施例还公开了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如第一方面或第一方面任一可选实施方式所述的区块链交易手续费确定方法的步骤。
根据第四方面,本发明实施方式还公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面任一可选实施方式所述的区块链交易手续费确定方法的步骤。
本发明技术方案,具有如下优点:
本发明提供的区块链交易手续费确定方法/装置,当接收到交易手续费确定请求,通过获取区块链节点中的多笔待确认交易,并按照区块链中的矿工打包条件,对每一笔待确认交易进行排序,根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对多笔待确认交易进行分组,得到多个不同入链优先级的待打包交易,根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费。通过对接收到的交易手续费确定请求进行响应,获取到每一个优先级的待打包交易中包含的待确认交易的费用信息和体积大小得到当前区块链的交易手续费数据,以便于根据得到的当前区块链的交易手续费数据对当前区块链交易情况进行统计分析的同时可以向发送待提交交易的发送方提供需要支付的交易费用判断依据,使得待提交交易的发送方在支付相应费用时保证交易在预期时间内可靠入链。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中区块链交易手续费确定方法的一个具体示例的流程图;
图2为本发明实施例中区块链交易手续费确定装置的一个具体示例的原理框图;
图3为本发明实施例中电子设备的一个具体示例图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,还可以是两个元件内部的连通,可以是无线连接,也可以是有线连接。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
本发明实施例公开了一种区块链交易手续费确定方法,应用于区块链交易手续费确定设备,所述区块链交易手续费确定设备与至少一个区块链节点通信连接。如图1所示,该方法包括如下步骤:
步骤101,当接收到交易手续费确定请求,获取区块链节点中的多笔待确认交易。
示例性地,该交易手续费确定请求可以是需要查看区块链费用情况的用户节点发出的,也可以需要向区块链提交新的交易请求的用户节点发出的,本申请实施例对该交易手续费确定请求的触发产生方式不作限定,本领域技术人员可以根据实际需要确定。当区块链交易手续费确定设备接收到用户节点发送的交易手续费确定请求时,从连接的区块链节点中获取区块链中未被打包入链的多笔待确认交易。本申请实施例对区块链交易手续费确定设备连接的区块链节点的数量不作限定,为了能尽可能多地获取到区块链中待确认交易,本领域技术人员可以选择将区块链交易手续费确定设备与区块链中多个或所有区块链节点通信连接。
步骤102,按照区块链中的矿工打包条件,对每一笔待确认交易进行排序。
示例性地,由于各挖矿节点一般遵循利益最大化的原则对待确认交易进行排序选取,因此每个区块可以打包多少条交易以及每条交易的手续费多少即成为了选取交易的标准,本申请实施例对区块链中的矿工打包条件不作限定,可以因区块链的不同而异。对于区块链交易手续费确定设备所在的任一区块链,只需获取到该区块链中遵循的矿工打包条件即可,比如可以是按照每一笔待确认交易的总手续费,或者是按照每一笔待确认交易的单位体积交易费用对待确认交易进行排序,排序最高的待确认交易将优先被打包入下一最新区块。
作为本发明一个可选实施方式,步骤102,包括:获取每一笔待确认交易的体积大小以及对应的交易手续费;根据每一笔待确认交易的体积大小以及对应的交易手续费,确定所述每一笔交易的单位体积交易费用;将所述每一笔交易的单位体积费用进行从高到低排序。
示例性的,当获取到的每笔待确认交易的体积为V,每笔待确认交易的手续费f,得出每笔待确认交易的单位体积费用的单位费用F = f /V,将F从高到低进行排序,排序的结果可以以表格形式展示,得到交易列表L。
步骤103,根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对所述多笔待确认交易进行分组,得到多组不同入链优先级的待打包交易。
示例性地,由于区块链中每一个区块的体积有上限要求,区块体积一般包括区块头和区块体,区块头记录的信息固定,即区块头体积大小固定,区块体积上限减去区块头的大小即为区块体的大小,也就是实际可以用于存储交易的空间大小,记为P。如现有比特币区块上限为1MB,区块头部分对应的最大容量为96字节,用来打包交易的区块体大小为1048480字节。当按照矿工打包条件对待确认交易进行排序后,按照区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小进行分组,得到多组不同入链优先级的待打包交易。每一组待打包交易包含的待确认交易的数量多少根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小确定,即每一组待打包交易中包含的待确认交易可以不相同,最高入链优先级的待打包交易中的待确认交易将全部被打包进入下一新区块。
具体地,从交易列表L中,按从高到低的顺序将待确认交易进行分组划分,分组依据为组内交易体积总和:∑(V) ≤ P,分组总数为m,每个分组后得到的分组列表记为L(i),i即为后续出块顺序,i=1的分组将在下一个新区块中被打包入链。
例如,一区块链的区块体积上限为2MB,排序后得到的多个待确认交易的排序结果为:1、F=10,V=0.5MB;2、F=9,V=0.5MB;3、F=8,V=1MB;4、F=6,V=1MB;5、F=4,V=1MB,其中F为单笔待确认交易的手续费,V为单笔待确认交易的体积大小,则按照2MB的区块链体积上限,可以得到两组待打包交易即第1、2、3笔交易为第一组待打包交易、第4、5笔交易为第二组待打包交易。根据费用大小确定第一组待打包交易的入链优先级高于第二组待打包交易的入链优先级。
步骤104,根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费。
示例性地,根据获取到的每一组待打包交易中包含的待确认交易的费用数据和体积大小,可以得到每一组待打包交易中总体费用数据或单位体积费用数据。根据得到的费用数据可以对区块链中交易手续费的变化规律进行统计或预测,同时也可以对将要上传到区块链上的交易需支付的手续费进行确定。
由于优先级较高的待打包交易将优先成块入链,当得到不同入链优先级的待打包交易后,可以根据不同优先级包含的待确认交易的费用数据确定待提交交易的手续费。以步骤103中例子为例,第一组待打包交易将优先入链,则用户节点发送的待提交交易的手续费在满足区块体积上限要求的情况下选择大于第3笔交易的手续费即可实现入链;如果用户发送的待提交交易的体积为1.4MB,为了能及时入链,待提交交易的手续费可以选择大于第2笔交易的手续费即可,即可以根据待提交交易的体积,调整并确定待提交交易的手续费。通过确定出多组待打包交易费用数据以及体积数据,为待提交交易入链提供了参考标准,使得可以根据待提交交易的体积,准确确定出需要支付的交易费用,保证了支付的费用可以使得待提交交易可以及时、可靠地入链。
本发明提供的区块链交易手续费确定方法,当接收到交易手续费确定请求,通过获取区块链节点中的多笔待确认交易,并按照区块链中的矿工打包条件,对每一笔待确认交易进行排序,根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对多笔待确认交易进行分组,得到多个不同入链优先级的待打包交易,根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费。通过对接收到的交易手续费确定请求进行响应,获取到每一个优先级的待打包交易中包含的待确认交易的费用信息和体积大小得到当前区块链的交易手续费数据,以便于根据得到的当前区块链的交易手续费数据对当前区块链交易情况进行统计分析的同时可以向发送待提交交易的发送方提供需要支付的交易费用判断依据,使得待提交交易的发送方在支付相应费用时保证交易在预期时间内可靠入链。
作为本发明一个可选实施方式,步骤103,包括:
首先,根据每一组待打包交易中包含的待确认交易的单位体积交易费用,确定每一组待打包交易中包含的待确认交易的最大单位体积交易费用(Fmax)、最小单位体积交易费用(Fmin)以及平均单位体积交易费用(Favg)。
其次,根据所述最大单位体积交易费用(Fmax)、最小单位体积交易费用(Fmin)以及平均单位体积交易费用(Favg)以及预设的每一种单位体积交易费用的权重系数,得到每一组待打包交易中包含的待确认交易对应的目标单位体积交易费用。
示例性地,每一组待打包交易中包含的待确认交易对应的目标单位体积交易费用Fb可以根据下式确定,其中p1、p2、p3为每一种单位体积交易费用对应的权重系数:
Fb = p1* Fmax + p2* Fmin + p3 * Favg
每一种单位体积交易费用的权重系数可以预先设置或根据用户节点发送的待提交交易的频率确定,如当一段时间内获取到的用户节点发送的待提交交易的频率小于一定阈值,即短时间内新增的待确认交易的数量不会增加太多,交易列表中数据更新速度不会很快,则可以将最小单位体积交易费用的权重系数设置较大,使得计算得到的每一组待打包交易对应的目标单位提交交易费用减小,继而可以使得后续确定的待提交交易的费用降低,用户可以使用较低的费用将交易数据上链。本申请实施例对每一种单位体积交易费用的权重系数的大小以及待提交交易频率对应的阈值不作限定,本领域技术人员可以根据实际需要确定。
再次,根据得到的目标单位体积交易费用,确定当前区块链的交易手续费。
示例性地,由于目标单位体积交易费用是根据每一组待打包交易中的最大单位体积交易费用、最小交易体积交易费用以及平均单位体积交易费用结合相应的权重系数计算得到的,通过计算出的每一组待打包交易对应的目标单位体积交易费用,可以全面、客观地反映出每一组待打包交易中的费用情况,且通过得到的每一组待打包交易对应的目标单位体积交易费用,便于及时、准确地反映出区块链的费用情况。
作为本申请一个可选实施方式,该方法还包括:
首先,当所述交易手续费确定请求包括待提交交易信息,根据所述待提交交易信息中包含的待提交交易请求的入链时间要求以及区块链的出块时间,从得到的多个目标单位体积交易费用中确定最佳单位体积交易费用;
示例性地,待提交交易的入链时间要求可以通过用户节点上传得到,根据区块链的出块时间,可以确定出待提交交易将通过第几个区块入链。如当待提交交易的请求入链时间为及时入链,即在下一区块中入链,则将根据最高入链优先级的待打包交易得到的目标单位体积交易费用作为该待提交交易的最佳单位体积交易费用;当待提交交易的请求入链时间为10min内入链即可,根据得到的该区块链中区块出块的时间间隔为2min,则可以将该待提交交易存储在第五个区块中入链,则可以从得到的多组不同入链优先级的待打包交易中选出第五入链优先级的待打包交易,将计算得到的第五入链优先级的待打包交易对应的目标单位体积交易费用作为该待提交交易的最佳单位体积交易费用。区块链区块的出块间隔时间可以存在不均的情况,在实际确定过程中,也可以实时监测区块链的出块间隔时间,动态调整用于存储待提交交易的区块的顺序。
其次,根据所述最佳单位体积交易费用和所述最佳单位体积交易费用对应的待打包交易中包含的待确认交易的费用数据和体积大小以及待提交交易的体积大小,确定待提交交易的手续费。
示例性地,将得到的最佳单位体积交易费用与最佳单位体积交易费用对应的待打包交易中包含的待确认交易的费用数据列表进行比对,确定费用小于该最佳单位体积交易费用的所有待提交交易的体积总和,当待提交交易的体积小于该体积总和,则可以将得到的该最佳单位体积交易费用作为该待提交交易的单位体积交易费用。当待提交交易的体积大于该体积总和,根据该最佳单位体积交易费用进行费用上调,使得待提交交易的体积小于该体积总和,将上调后的费用作为待提交交易的单位体积交易费用,使得待提交交易可以可靠入链。
作为本发明一个可选实施方式,所述根据所述最大单位体积交易费用、最小单位体积交易费用以及平均单位体积交易费用以及预设的每一种单位体积交易费用的权重系数,得到每一组待打包交易中包含的待确认交易对应的目标单位体积交易费用之后,所述方法还包括:
当所述交易手续费确定请求包括待提交交易信息,向发送所述待提交交易信息的用户节点显示每一组中包含的待确定交易的目标单位体积交易费用以及区块链的出块时间;根据接收到用户对所述目标单位体积交易费用选择操作,得到最佳单位体积交易费用。
示例性地,将计算得到的每一个目标单位体积交易费用以及对应的出块时间通过交互模块显示给发送待提交交易请求的用户,使得用户可以根据目标单位体积交易费用大小以及存储在不同的区块耗时长短,自行选择想要支付的费用,根据接收到的用户的选择结果,得到最佳单位提交交易费用。通过用户的选择,来确定最佳单位体积交易费用,使得该待提交交易可以在用户期望的时间内准确存入区块链中。
作为本发明一个可选实施方式,所述方法还包括:根据所述待提交交易信息包含的交易体积以及所述最佳单位体积交易费用,确定所述待提交交易的应付手续费;将所述应付手续费发送给发送所述待提交交易信息的用户节点。
示例性地,当确定出最佳单位体积交易费用后,根据待提交交易的交易体积数据,确定待提交交易的总体需要支付的手续费,并将该应付手续费发送给用户节点,使得用户节点支付相应的手续费后,保证用户节点发送的待提交交易可以准确、可靠入链。
作为本发明一个可选实施方式,所述方法还包括:当所述待提交交易将在下一区块被打包入链,根据最高入链优先级的待打包交易中包含的待确认交易的费用数据和体积大小以及待提交交易的体积大小,确定待提交交易的手续费;根据区块链的历史出块间隔时间以及当前时间距下一区块出块的时间差值,对根据所述最高入链优先级的待打包交易确定出的待提交交易的手续费进行调整。
示例性地,当根据区块链的历史出块间隔时间确定当前时间距下一区块出块时间差值小于预设时间阈值,表征在下一区块出块时间较小,在剩余的较短时间内,区块链中待确认交易的数量不会发生变化或者新增的数量不会对该待提交交易在下一区块入链造成影响,可以降低根据最高入链优先级的待打包交易确定出的待提交交易的手续费,使得用户节点花费较小的费用保证待提交交易在下一区块可靠入链。本申请实施例对该预设时间阈值不作限定,本领域技术人员可以根据区块链的历史数据确定该预设时间阈值;同时本申请实施例对费用的具体调整量不作限定,本领域技术人员可以根据不同的时间差值确定相应的调整量。
作为本发明一个可选实施方式,所述方法还包括:若当前区块链中有新区块入链时,重新获取区块链中的待确认交易;对根据矿工打包条件得到的待确认交易的排序结果进行更新;根据更新后的排序结果响应区块链交易手续费的确定操作。
示例性地,当区块链有新区块被挖出时,区块链网络中的待打包交易将有部分待打包交易被打包入链,导致区块链网络现存的待确认交易数据会发生改变。为了保证得到的当前区块链的交易手续费的准确性,当当前区块链中有新区块入链时,重新获取区块链中的待确认交易,根据重新获取到的待确认交易对排序结果进行更新,根据更新后的排序结果确定区块链中的交易手续费。
本发明实施例还公开了一种区块链交易手续费确定装置,应用于区块链交易手续费确定设备,所述区块链交易手续费确定设备与至少一个区块链节点通信连接,如图2所示,该装置包括:
第一获取模块201, 用于当接收到交易手续费确定请求,获取区块链节点中的多笔待确认交易;
排序模块202,用于按照区块链中的矿工打包条件,对每一笔待确认交易进行排序;
分组模块203,用于根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对所述多笔待确认交易进行分组,得到多组不同入链优先级的待打包交易;
第一确定模块204,用于根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费。
本发明提供的区块链交易手续费确定装置,当接收到交易手续费确定请求,通过获取区块链节点中的多笔待确认交易,并按照区块链中的矿工打包条件,对每一笔待确认交易进行排序,根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对多笔待确认交易进行分组,得到多个不同入链优先级的待打包交易,根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费。通过对接收到的交易手续费确定请求进行响应,获取到每一个优先级的待打包交易中包含的待确认交易的费用信息和体积大小得到当前区块链的交易手续费数据,以便于根据得到的当前区块链的交易手续费数据对当前区块链交易情况进行统计分析的同时可以向发送待提交交易的发送方提供需要支付的交易费用判断依据,使得待提交交易的发送方在支付相应费用时保证交易在预期时间内可靠入链。
作为本发明一个可选实施方式,所述排序模块202,还用于获取每一笔待确认交易的体积大小以及对应的交易手续费;根据每一笔待确认交易的体积大小以及对应的交易手续费,确定所述每一笔交易的单位体积交易费用;将所述每一笔交易的单位体积费用进行从高到低排序。
作为本发明一个可选实施方式,第一确定模块204,包括:第一确定子模块,用于根据每一组待打包交易中包含的待确认交易的单位体积交易费用,确定每一组待打包交易中包含的待确认交易的最大单位体积交易费用、最小单位体积交易费用以及平均单位体积交易费用;获取子模块,用于根据所述最大单位体积交易费用、最小单位体积交易费用以及平均单位体积交易费用以及预设的每一种单位体积交易费用的权重系数,得到每一组待打包交易中包含的待确认交易对应的目标单位体积交易费用;第二确定子模块,用于根据得到的目标单位体积交易费用,确定当前区块链的交易手续费。
作为本发明一个可选实施方式,该装置还包括:第二确定模块,用于当所述交易手续费确定请求包括待提交交易信息,根据所述待提交交易信息中包含的待提交交易请求的入链时间要求以及区块链的出块时间,从得到的多个目标单位体积交易费用中确定最佳单位体积交易费用;第三确定模块,用于根据所述最佳单位体积交易费用和所述最佳单位体积交易费用对应的待打包交易中包含的待确认交易的费用数据和体积大小以及待提交交易的体积大小,确定待提交交易的手续费。
作为本发明一个可选实施方式,该装置还包括:显示模块,用于当所述交易手续费确定请求包括待提交交易信息,向发送所述待提交交易信息的用户节点显示每一组中包含的待确定交易的目标单位体积交易费用以及区块链的出块时间;第二获取模块,用于根据接收到用户对所述目标单位体积交易费用选择操作,得到最佳单位体积交易费用。
作为本发明一个可选实施方式,该装置还包括:第四确定模块,用于根据所述待提交交易信息包含的交易体积以及所述最佳单位体积交易费用,确定所述待提交交易的应付手续费;发送模块,用于将所述应付手续费发送给发送所述待提交交易信息的用户节点。
作为本发明一个可选实施方式,该装置还包括:第三获取模块,用于当所述待提交交易将在下一区块被打包入链,根据最高入链优先级的待打包交易中包含的待确认交易的费用数据和体积大小以及待提交交易的体积大小,确定待提交交易的手续费;调整模块,用于根据区块链的历史出块间隔时间以及当前时间距下一区块出块的时间差值,对根据所述最高入链优先级的待打包交易确定出的待提交交易的手续费进行调整。
作为本发明一个可选实施方式,该装置还包括:第四获取模块,用于若当前区块链中有新区块入链时,重新获取区块链中的待确认交易;更新模块,用于对根据矿工打包条件得到的待确认交易的排序结果进行更新;第五确定模块,用于根据更新后的排序结果响应区块链交易手续费的确定操作。
本发明实施例还提供了一种电子设备,如图3所示,该电子设备可以包括处理器401和存储器402,其中处理器401和存储器402可以通过总线或者其他方式连接,图3中以通过总线连接为例。
处理器401可以为中央处理器(Central Processing Unit,CPU)。处理器401还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器402作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的区块链交易手续费确定方法对应的程序指令/模块。处理器401通过运行存储在存储器402中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例中的区块链交易手续费确定方法。
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器401所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至处理器401。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器402中,当被所述处理器401执行时,执行如图1所示实施例中的区块链交易手续费确定方法。
上述电子设备具体细节可以对应参阅图1所示的实施例中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (11)
1.一种区块链交易手续费确定方法,其特征在于,应用于区块链交易手续费确定设备,所述区块链交易手续费确定设备与至少一个区块链节点通信连接,所述方法包括:
当接收到交易手续费确定请求,获取区块链节点中的多笔待确认交易;
按照区块链中的矿工打包条件,对每一笔待确认交易进行排序;
根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对所述多笔待确认交易进行分组,得到多组不同入链优先级的待打包交易;
根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费。
2.根据权利要求1所述的方法,其特征在于,所述按照区块链中的矿工打包条件,对每一笔待确认交易进行排序,包括:
获取每一笔待确认交易的体积大小以及对应的交易手续费;
根据每一笔待确认交易的体积大小以及对应的交易手续费,确定所述每一笔交易的单位体积交易费用;
将所述每一笔交易的单位体积费用进行从高到低排序。
3.根据权利要求2所述的方法,其特征在于,根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费,包括:
根据每一组待打包交易中包含的待确认交易的单位体积交易费用,确定每一组待打包交易中包含的待确认交易的最大单位体积交易费用、最小单位体积交易费用以及平均单位体积交易费用;
根据所述最大单位体积交易费用、最小单位体积交易费用以及平均单位体积交易费用以及预设的每一种单位体积交易费用的权重系数,得到每一组待打包交易中包含的待确认交易对应的目标单位体积交易费用;
根据得到的目标单位体积交易费用,确定当前区块链的交易手续费。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述交易手续费确定请求包括待提交交易信息,根据所述待提交交易信息中包含的待提交交易请求的入链时间要求以及区块链的出块时间,从得到的多个目标单位体积交易费用中确定最佳单位体积交易费用;
根据所述最佳单位体积交易费用和所述最佳单位体积交易费用对应的待打包交易中包含的待确认交易的费用数据和体积大小以及待提交交易的体积大小,确定待提交交易的手续费。
5.根据权利要求3所述的方法,其特征在于,所述根据所述最大单位体积交易费用、最小单位体积交易费用以及平均单位体积交易费用以及预设的每一种单位体积交易费用的权重系数,得到每一组待打包交易中包含的待确认交易对应的目标单位体积交易费用之后,所述方法还包括:
当所述交易手续费确定请求包括待提交交易信息,向发送所述待提交交易信息的用户节点显示每一组中包含的待确定交易的目标单位体积交易费用以及区块链的出块时间;
根据接收到用户对所述目标单位体积交易费用选择操作,得到最佳单位体积交易费用。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
根据所述待提交交易信息包含的交易体积以及所述最佳单位体积交易费用,确定所述待提交交易的应付手续费;
将所述应付手续费发送给发送所述待提交交易信息的用户节点。
7.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
当所述待提交交易将在下一区块被打包入链,根据最高入链优先级的待打包交易中包含的待确认交易的费用数据和体积大小以及待提交交易的体积大小,确定待提交交易的手续费;
根据区块链的历史出块间隔时间以及当前时间距下一区块出块的时间差值,对根据所述最高入链优先级的待打包交易确定出的待提交交易的手续费进行调整。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若当前区块链中有新区块入链时,重新获取区块链中的待确认交易;
对根据矿工打包条件得到的待确认交易的排序结果进行更新;
根据更新后的排序结果响应区块链交易手续费的确定操作。
9.一种区块链交易手续费确定装置,其特征在于,应用于区块链交易手续费确定设备,所述区块链交易手续费确定设备与至少一个区块链节点通信连接,所述装置包括:
第一获取模块,用于当接收到交易手续费确定请求,获取区块链节点中的多笔待确认交易;
排序模块,用于按照区块链中的矿工打包条件,对每一笔待确认交易进行排序;
分组模块,用于根据区块链中每一个区块的体积上限以及排序结果中每一笔待确认交易的体积大小,对所述多笔待确认交易进行分组,得到多组不同入链优先级的待打包交易;
第一确定模块,用于根据每一组待打包交易中包含的待确认交易的费用数据和体积大小,得到当前区块链的交易手续费。
10.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-8任一项所述的区块链交易手续费确定方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-8中任一项所述的区块链交易手续费确定方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110028516.7A CN112348681B (zh) | 2021-01-11 | 2021-01-11 | 一种区块链交易手续费确定方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110028516.7A CN112348681B (zh) | 2021-01-11 | 2021-01-11 | 一种区块链交易手续费确定方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112348681A true CN112348681A (zh) | 2021-02-09 |
CN112348681B CN112348681B (zh) | 2021-05-11 |
Family
ID=74427970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110028516.7A Active CN112348681B (zh) | 2021-01-11 | 2021-01-11 | 一种区块链交易手续费确定方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112348681B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065860A (zh) * | 2021-04-09 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 通过区块链处理手续费业务的方法及装置 |
CN113393061A (zh) * | 2021-08-17 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种基于区块链的交易打包方法和相关装置 |
CN113763163A (zh) * | 2021-07-22 | 2021-12-07 | 中山大学 | 一种区块链支付通道网络交易手续费分配方法及系统 |
CN117692463A (zh) * | 2024-02-01 | 2024-03-12 | 中国信息通信研究院 | 基于区块链网络的区块生成方法和装置、设备和介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109672661A (zh) * | 2018-10-09 | 2019-04-23 | 中南林业科技大学 | 一种基于区块链的防篡改隐蔽通信方法、系统及平台 |
CN109801070A (zh) * | 2019-01-12 | 2019-05-24 | 杭州复杂美科技有限公司 | 交易排队方法、设备和存储介质 |
CN110060163A (zh) * | 2019-04-16 | 2019-07-26 | 亦非云互联网技术(上海)有限公司 | 基于以太坊的播客链的交易方法、系统、介质及装置 |
US20190314726A1 (en) * | 2018-04-13 | 2019-10-17 | International Business Machines Corporation | Gaming concensus protocol for blockchain |
CN110766402A (zh) * | 2019-06-27 | 2020-02-07 | 深圳市润鹏华通创新科技有限公司 | 交易顺序依赖漏洞检测方法、系统、电子装置及存储介质 |
CN111242784A (zh) * | 2020-01-16 | 2020-06-05 | 深圳大学 | 区块预打包方法、区块节点、装置及存储介质 |
-
2021
- 2021-01-11 CN CN202110028516.7A patent/CN112348681B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190314726A1 (en) * | 2018-04-13 | 2019-10-17 | International Business Machines Corporation | Gaming concensus protocol for blockchain |
CN109672661A (zh) * | 2018-10-09 | 2019-04-23 | 中南林业科技大学 | 一种基于区块链的防篡改隐蔽通信方法、系统及平台 |
CN109801070A (zh) * | 2019-01-12 | 2019-05-24 | 杭州复杂美科技有限公司 | 交易排队方法、设备和存储介质 |
CN110060163A (zh) * | 2019-04-16 | 2019-07-26 | 亦非云互联网技术(上海)有限公司 | 基于以太坊的播客链的交易方法、系统、介质及装置 |
CN110766402A (zh) * | 2019-06-27 | 2020-02-07 | 深圳市润鹏华通创新科技有限公司 | 交易顺序依赖漏洞检测方法、系统、电子装置及存储介质 |
CN111242784A (zh) * | 2020-01-16 | 2020-06-05 | 深圳大学 | 区块预打包方法、区块节点、装置及存储介质 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113065860A (zh) * | 2021-04-09 | 2021-07-02 | 支付宝(杭州)信息技术有限公司 | 通过区块链处理手续费业务的方法及装置 |
CN113763163A (zh) * | 2021-07-22 | 2021-12-07 | 中山大学 | 一种区块链支付通道网络交易手续费分配方法及系统 |
CN113763163B (zh) * | 2021-07-22 | 2023-11-17 | 中山大学 | 一种区块链支付通道网络交易手续费分配方法及系统 |
CN113393061A (zh) * | 2021-08-17 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种基于区块链的交易打包方法和相关装置 |
CN113393061B (zh) * | 2021-08-17 | 2021-11-09 | 腾讯科技(深圳)有限公司 | 一种基于区块链的交易打包方法和相关装置 |
CN117692463A (zh) * | 2024-02-01 | 2024-03-12 | 中国信息通信研究院 | 基于区块链网络的区块生成方法和装置、设备和介质 |
CN117692463B (zh) * | 2024-02-01 | 2024-05-24 | 中国信息通信研究院 | 基于区块链网络的区块生成方法和装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112348681B (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112348681B (zh) | 一种区块链交易手续费确定方法、装置及电子设备 | |
CN109714268B (zh) | 一种虚拟私有云的流量控制方法及相关装置 | |
CN112034350B (zh) | 电池组健康状态预测方法及终端设备 | |
CN107800756A (zh) | 一种负载均衡方法及负载均衡器 | |
CN110838031A (zh) | 一种基于ABtest的数据运营方法和装置 | |
US20120033550A1 (en) | Packet relay device and congestion control method | |
CN108055203A (zh) | 一种等价路由负载分担方法及装置 | |
CN106489132B (zh) | 读写数据的方法、装置、存储设备和计算机系统 | |
US9507756B2 (en) | Space efficient counters in network devices | |
CN107707612B (zh) | 一种负载均衡集群的资源利用率的评估方法及装置 | |
CN107274120A (zh) | 应用于运力调度的数据处理方法及装置 | |
CN113163452B (zh) | 信息处理方法、系统、信息处理终端和存储介质 | |
CN104869079A (zh) | 基于动态加权循环法的队列调度方法及装置 | |
CN105207954A (zh) | 发送数据包和吞吐量测试方法及装置 | |
ES2274418T3 (es) | Procedimiento para la asignacion de anchura de banda de transmision en un equipo de comunicaciones orientado a paquetes. | |
CN111769985A (zh) | 一种数据流量预测方法及装置 | |
CN106657399A (zh) | 基于中间件实现的后台服务器选择方法及装置 | |
CN109165729A (zh) | 神经网络的调度方法及系统 | |
CN107888517A (zh) | 一种为主机划域的方法及设备 | |
CN108833275A (zh) | 一种带宽选路学习的实现方法、装置及设备 | |
CN106209672B (zh) | 一种网络负载均衡的方法及系统 | |
US11397618B2 (en) | Resource allocation device, resource allocation method, and resource allocation program | |
CN107371263A (zh) | 上行资源的调度方法和装置 | |
KR102141498B1 (ko) | 패킷 전송 방법 및 장치 | |
CN112669156A (zh) | 一种区块链待确认交易确定方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |