CN113127560A - 一种竞争记账的方法及装置 - Google Patents
一种竞争记账的方法及装置 Download PDFInfo
- Publication number
- CN113127560A CN113127560A CN201911424970.3A CN201911424970A CN113127560A CN 113127560 A CN113127560 A CN 113127560A CN 201911424970 A CN201911424970 A CN 201911424970A CN 113127560 A CN113127560 A CN 113127560A
- Authority
- CN
- China
- Prior art keywords
- accounting
- block
- value
- parameter value
- accounting node
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000006870 function Effects 0.000 claims description 33
- 230000002860 competitive effect Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 6
- 239000002699 waste material Substances 0.000 abstract description 10
- 238000004364 calculation method Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 12
- 230000002829 reductive effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000036961 partial effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2291—User-Defined Types; Storage management thereof
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种竞争记账的方法及装置,用于提高区块链网络中记账节点的计算效率,减少计算资源的浪费。其中,区块链网络包括多个记账节点,竞争记账的方法包括:针对所述多个记账节点中的第一记账节点,根据预设第一时长与第一区块的区块头的参数值确定第一参数值,所述参数值包括随机值,所述随机值在所述预设第一时长对应的第一数值范围内,所述第一区块用于记录所述预设第一时长内的历史交易信息;若确定所述第一参数值小于第一目标值,则确定所述第一记账节点获得记账权。
Description
技术领域
本发明涉及比特币交易领域,尤其涉及一种竞争记账的方法及装置。
背景技术
目前,在去中心化的比特币交易网络中,每个客户端都相当于该交易网络中的一个节点,每个节点都享有公平记账的权利。为了确保账本的一致性,每次通过竞争的方式选择出一个节点进行记账,并将所记的账本信息同步给其他节点。但是在竞争过程中,网络中的每个节点都必须要完成一定的工作量,即利用自身的计算资源对同一问题进行求解,获得该问题的解,并得到其他节点的认可,即获得工作量证明(proof of work,POW)。求解问题的过程实质上是每个节点利用自身资源对问题的可能解进行穷举的过程,因此这个过程会浪费大量的计算资源。
可见,比特币交易网络中现有的获得POW的方法会浪费大量的计算资源。
发明内容
本发明实施例提供一种竞争记账的方法及装置,能够提高区块链网络中节点的计算效率,减少计算资源的浪费。
第一方面,本发明实施例提供一种竞争记账的方法,区块链网络包括多个记账节点,所述方法包括:
针对所述多个记账节点中的第一记账节点,根据预设第一时长与第一区块的区块头的参数值确定第一参数值,所述参数值包括随机值,所述随机值在所述预设第一时长对应的第一数值范围内,所述第一区块用于记录所述预设第一时长内的历史交易信息;
若确定所述第一参数值小于第一目标值,则确定所述第一记账节点获得记账权。
本发明实施例中,区块链网络可以认为包括多个记账节点,且这多个记账节点享有公平的记账权。每个记账节点记录的历史交易可以记录在区块链网络中的区块,例如第一区块。第一区块可以认为是需要新建的区块,该第一区块可以用于记录预设第一时长内的历史交易信息。为了保证区块链网络中账本的一致性,可以通过完成一定工作量的方式从多个记账节点中选择一个记账节点,例如第一记账节点来完成记账任务。一定的工作量可以认为是求解特定问题的解。在本发明实施例中,第一记账节点可以将第一区块的区块头的参数值作为输入,并且将区块头的参数值中的随机值的变化范围限定在预设第一时长对应的第一数值范围内,从而得到第一参数值,若第一参数值小于第一目标值,则可以认为第一参数值满足上述特定问题的解的条件,那么第一记账节点可以获得记账权。相较于现有技术中随机值的取值范围无限大,本发明通过限定随机值的取值范围,从而提高了区块链网络中记账节点的计算效率,减少计算资源的浪费。
可选的,根据预设第一时长与第一区块的区块头的参数值确定第一参数值,包括:
将所述区块头的参数值输入哈希函数,获得所述第一参数值,其中,所述哈希函数为双重SHA256函数。
本发明实施例中,哈希函数的输出值具有隐匿性,难以通过哈希函数的输出得到哈希函数的输入,即在已知第一目标值的情况下,难以得出区块头的参数值,因此每个记账节点只能通过穷举的方式得到区块链中特定问题的解,从而保证每个记账节点公平享有记账的权利。
可选的,所述区块头的参数值还包括难度值,所述方法还包括:
根据最大目标值以及所述难度值确定第二目标值,所述第二目标值为所述最大目标值与所述难度值的比值;
根据所述第二目标值以及第一系数确定所述第一目标值,所述第一系数的大小与所述第一记账节点持有的比特币的数量成正比。
本发明实施例中,难度值可以表征记账节点得到特定问题解的难度,并且难度值可以认为在每轮竞争记账权之前已经确定,因此对于任一记账节点而言,难度值为固定值。最大目标值例如是固定值,那么对于任一记账节点而言,最大目标值与难度值的比值得到的第二目标值可以认为是相同的。第一系数与记账节点持有的比特币的数量成正比,即记账节点持有的比特币越多,第一系数越大。记账节点持有的比特币越多,可以认为该记账节点的计算能力越强,第一系数越大,那么通过第二目标值与第一系数得到的第一目标值可以认为对于任意记账节点是不同的,使得计算能力较强的记账节点能够更快的求出问题的解,从而降低整个区块链中因竞争记账权而带来的算力浪费。
可选的,还包括:
根据所述区块链网络的计算能力确定所述难度值。
本发明实施例中,区块链网络包括的多个记账节点在竞争记账权之前,可以结合整个区块链网络的计算能力调整区块链网络中特定问题的难度值,例如,若整个区块链网络的计算能力较强,则相应增大难度值;反之,则减小难度值,从而使区块链网络产生一个新区块的时间尽量保持不变。
可选的,还包括:
根据所述历史交易信息生成第二参数值,所述第二参数值为所述区块头的参数值的部分参数值。
本发明实施例中,第二参数值可以认为是与当前需要记录的历史交易信息相关的参数值,也为第一区块的区块头的参数值中的部分参数值。由于第一参数值是根据第一区块的区块头的参数值得到的,那么可以认为第二参数值与第一参数值相关。若第一参数值满足预设条件,第一参数值将作为第一区块的特征值传递给第二区块,并作为第二区块的区块头参数的部分参数,第二区块可以认为是下一轮竞争中将要产生的区块。该机制可以认为是第二区块与第一区块具有关联性,若篡改者想要篡改第一区块记录的交易信息,那么就必须篡改第二区块的交易信息,使篡改者必须耗费大量的计算资源。
可选的,还包括:
将所述历史交易信息写入所述第一区块;
向所述多个记账节点中除所述第一记账节点以外的记账节点发送广播消息,所述广播消息用于指示所述多个记账节点中除所述第一记账节点以外的记账节点同步所述第一区块包括的历史交易信息。
本发明实施例中,若第一记账节点获得记账权,那么第一记账节点可以创建第一区块,将历史交易信息写入该第一区块。并且,还可以向除区块链包括的多个记账节点中除第一记账节点以外的记账节点广播该第一区块,使得多个记账节点中除第一记账节点以外的记账节点能够同步第一区块包括的历史交易信息,从而保证整个区块链网络的任一记账节点均保存相同的账本信息。
第二方面,本发明实施例提供一种装置,所述装置包括:
第一确定模块,用于根据预设第一时长与第一区块的区块头的参数值确定第一参数值,所述参数值包括随机值,所述随机值在所述预设第一时长对应的第一数值范围内,所述第一区块用于记录所述预设第一时长内的历史交易信息;
第二确定模块,用于若确定所述第一参数值小于第一目标值,则确定第一记账节点获得记账权。
可选的,第一确定模块具体用于:
将所述区块头的参数值输入哈希函数,获得所述第一参数值,其中,所述哈希函数为双重SHA256函数。
可选的,所述区块头的参数值还包括难度值,第二确定模块具体用于:
根据最大目标值以及所述难度值确定第二目标值,所述第二目标值为所述最大目标值与所述难度值的比值;
根据所述第二目标值以及第一系数确定所述第一目标值,所述第一系数的大小与所述第一记账节点持有的比特币的数量成正比。
可选的,第三确定模块具体用于:
根据所述区块链网络的计算能力确定所述难度值。
可选的,第一确定模块具体用于:
根据所述历史交易信息生成第二参数值,所述第二参数值为所述区块头的参数值的部分参数值。
可选的,第二确定模块具体用于:
将所述历史交易信息写入所述第一区块;
向所述多个记账节点中除所述第一记账节点以外的记账节点发送广播消息,所述广播消息用于指示所述多个记账节点中除所述第一记账节点以外的记账节点同步所述第一区块包括的历史交易信息。
第三方面,本发明实施例提供一种装置,所述装置包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如第一方面实施例所述方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面实施例所述方法的步骤。
附图说明
图1为本发明实施例提供的一种区块链网络的拓扑结构示意图;
图2为本发明实施例提供的一种竞争记账的方法的流程示意图;
图3为本发明实施例提供的一种装置的结构示意图;
图4为本发明实施例提供的一种装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。
为了便于理解,首先介绍本发明实施例的一种应用场景。请参见图1,为区块链网络的拓扑结构示意图。图1包括记账节点101、记账节点102、记账节点103、记账节点104、记账节点105以及记账节点106,上述任一记账节点可以认为是分布于区块链网络中不同位置的客户端。在该区块链网络中,任一记账节点的地位都是平等的,即任一记账节点均可对网络中的交易信息进行记录。为了保证区块链网络中账本的一致性,可以通过竞争的方式选择出一个记账节点进行记账。任一记账节点记录交易信息后,可以将记录有交易信息的新建区块同步给区块链网络中的其他记账节点,从而使多个记账节点中都保存有一套完整的账本。
记账节点竞争记账权的过程实际上可以看作是求解一个特定问题解的过程,该特定的问题可以认为是在给定一个中间函数以及目标值的情况下,通过寻找合适的输入,使得中间函数的输出可以满足预设条件,例如该中间函数可以是哈希函数,预设条件可以是中间函数的输出小于目标值。
通常情况下,中间函数的输入可以是新建区块的区块头的参数值,请参见表1,为区块头的参数值表。区块头的参数值包括80个字节,其中4个字节的版本号、32个字节的父区块哈希值、32个字节的默克尔根哈希值、4个字节的时间戳以及4个字节的难度值在任一记账节点竞争本轮记账权之前,也可以认为是在求解特定问题之前,均为固定值,仅有4个字节的随机值不断通过穷举的方式改变自身的值,使得进入中间函数的输入发生变化,进而改变中间函数的输出。上述改变中间函数的输入值的过程中,可以认为4个字节的随机值的取值范围无限大,那么对于任一记账节点而言,为了竞争本次的记账权,只能不断对特定问题的解进行尝试,因此需要耗费大量的计算资源。
表1
鉴于此,本发明实施例提供一种竞争记账的方法,该方法通过历史交易产生的时间区间限定区块头中随机值的取值范围,从而可以减少任一记账节点穷举的次数,提高区块链网络中记账节点的计算效率,减少计算资源的浪费。
下面结合附图对本发明实施例提供的技术方案进行介绍。请参见图2,为本发明实施例提供的一种竞争记账的方法,该方法的流程描述如下。
步骤201:第一记账节点根据预设第一时长与第一区块的区块头的参数值确定第一参数值。
记账节点新建区块并将历史交易信息写入区块的过程称为记账。下文中,将新建的区块称为第一区块。第一区块包括区块头与区块体,其中区块头包括80个字节的参数,区块体用于写入上述历史交易信息。第一记账节点可以认为是记账节点101至记账节点106中的任一记账节点。
在本发明实施例中,历史交易信息可以认为是预设第一时长内发生的至少一笔转账信息,预设第一时长可以认为是一个固定的时间,例如10分钟,预设第一时长的区间边界值是不断改变的,例如2019年12月27日10点至2019年12月27日10点10分,或者2019年12月28日14点至2019年12月28日14点10分。或者也可以认为在区块链网络中,每间隔预设第一时长便需要对发生的历史交易信息进行记账。为了保证区块链网络中账本的一致性,每轮仅能有一个记账节点参与记账,那么多个记账节点可以通过竞争的方式获取历史交易信息的记账权。下面以第一记账节点的竞争过程为例进行介绍。
如上述第一记账节点竞争记账权的过程实质上求解一个特定问题的解的过程,而现有技术中该特定问题的解的特殊性在于只能通过穷举的方式获得。例如可以通过不断改变区块头的参数值中的随机值,从而获得多个不同的区块头的参数值。多个不同的区块头的参数值中可以认为存在部分区块头的参数值满足上述特定问题的解的条件。第一记账节点仅需寻找到一个满足上述特定问题的解的区块头的参数值,即可获得记账权。但是区块头的参数值中随机值的变化范围可以认为是无限大,对于第一记账节点而言,需要耗费大量的计算资源才能寻找到特定问题的解。那么为了减少第一记账节点在竞争记账权的过程中的计算资源浪费,本发明实施例可以将区块头的随机值限定在一定的范围内。
作为一种可能的实现方式,第一记账节点可以根据预设第一时长与第一区块的区块头的参数值确定第一参数值。
具体的,第一记账节点可以在预设第一时长对应的第一数值范围内任意改变随机值的取值,从而得到不同第一区块的区块头的参数值。不同的第一区块头的参数值可以认为是第一记账节点穷举的特定问题的可能解。在获得第一区块的区块头的参数值后,将第一区块头的参数值输入哈希函数,例如哈希函数可以为双重SHA256函数,从而获得第一参数值。
双重SHA256函数具有较强的隐匿性,所以难以通过该函数的输出反推得到该函数的输入。即可以认为当特定问题的解通过哈希值的方式进行表示时,在已知特定问题的解满足的预设条件的情况下,难以反推出第一区块的区块头参数,从而使得第一记账节点只能通过不断改变区块头的参数值对特定问题的可能解进行尝试。
在一些实施例中,第一区块的区块头的参数值还可以包括难度值,该难度值可以认为是求解特定问题的解的难度值。例如在第一记账节点在竞争本轮记账权之前,可以先确定第一区块的区块头的参数值中的难度值。示例性的,第一记账节点可以根据所在的区块链网络的计算能力确定出难度值。
通常来说,区块链网络的计算能力是处于动态变化的,例如若区块链网络当前的计算能力越强,则难度值相应的增大;若区块链网络当前的计算能力较弱,则难度值相应的减小。为了能够使区块链网络每10分钟左右能够产生一个新区块,例如第一区块,区块链网络包括的多个记账节点需要在10分钟左右完成竞争记账过程,那么新区块的参数值中的难度值需要根据区块链网络的计算能力的变化进行相应的调整。
具体的,第一区块的区块头的难度值应满足如下公式:
其中,w2表示新的难度值,w1表示旧的难度值,T表示产生过去2016个区块花费的时长。
在公式(1)种,旧的难度值可以认为是在上一轮竞争时区块根据区块链网络的计算能力得到的难度值,新的难度值可以认为是本轮竞争时需要进行调整的难度值。根据区块链网络的机制,理论上要求每10分钟产生一个新的区块,那么过去的2016个区块共需花费20160分钟。
若区块链网络的计算能力较强,那么过去2016个区块的任意区块产生所需时间可以认为小于10分钟,例如9分钟,则过去2016个区块共需花费时间小于20160分钟。根据公式(1)可知,新的难度值将会减小,但是为了保证每10分钟左右产生一个新的区块,此时需要将新的难度值变大。
若区块链网络的计算能力较弱,那么过去2016个区块的任意区块产生所需时间可以认为大于10分钟,例如11分钟,则过去2016个区块共需花费时间大于20160分钟。根据公式(1)可知,新的难度值将会增大,但是为了保证每10分钟左右产生一个新的区块,此时需要将新的难度值减小。
在另一些实施例中,第一区块的区块头的参数值还可以包括第二参数值,该第二参数值也是区块头的参数值的部分参数值。在第一记账节点在竞争本轮记账权之前,可以先确定第一区块的区块头的参数值中的第二参数值。
示例性的,第二参数值可以认为是与当前需要记录的历史交易信息相关的参数值,在本发明实施例中,第一记账节点可以根据历史交易信息生成第二参数值。由于第一参数值是根据第一区块的区块头的参数值得到的,那么可以认为第二参数值与第一参数值相关。若第一参数值满足预设条件,第一参数值将作为第一区块的特征值传递给第二区块,并作为第二区块的区块头参数的部分参数,第二区块可以认为是下一轮竞争中将要产生的区块。该机制可以认为是后期新建的区块与前期的区块具有关联性,例如第二区块与第一区块具有关联性,若篡改者想要篡改第一区块记录的交易信息,那么就必须篡改第二区块的交易信息,使篡改者必须耗费大量的计算资源,从而迫使篡改者通过公平竞争的方式获得记账权。
步骤202:第一记账节点确定第一参数值小于第一目标值,则第一记账节点获得记账权。
第一目标值可以认为是第一记账节点根据当前区块链网络的难度值计算得到的基准值。当第一记账节点计算得出的第一参数值满足预设条件,例如第一参数值小于第一目标值,那么可以认为第一参数值对应的区块头的参数值为本轮记账权竞争中特定问题的解。因此,第一记账节点在开始本轮记账权的竞争之前,需要确定第一目标值。
在一些实施例中,第一记账节点还可以根据最大目标值与第一区块的区块头的难度值确定第二目标值。其中,最大目标值可以认为是一个固定的值,例如,“0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF”。第一区块的区块头的难度值是第一记账节点根据当前区块链网络整体的计算能力获得的。在本发明实施例中,第二目标值可以是最大目标值与难度值的比值,即第二目标值应满足如下公式:
其中,g表示第二目标值,w表示难度值,G表示最大目标值。
根据公式(2)可以得知,第二目标值与难度值成反比。例如,当难度值较大时,第二目标值较小,或者当难度值较小时,第二目标值较大。对于区块链网络包括的多个记账节点而言,例如第一记账节点与第二记账节点,第二目标值的大小都是相同的。若第一记账节点获得本轮记账权,那么可以认为第一记账节点的计算能力高于第二记账节点。但是对于第二记账节点而言,同样花费较多的计算资源,但是未获得记账权。应理解,第二记账节点未获奖记账权,相当于在本轮竞争中第二记账节点所耗费的计算资源是没有任何回报的。因此,可以通过提高具有较强计算能力的记账节点获得记账权的概率,从而减少计算较弱的记账节点的计算资源的浪费。
另外,第一记账节点可以根据第二目标值以及第一系数确定第一目标值。第一系数可以认为与第一记账节点持有的比特币的数量成正比。若第一记账节点相较于第二记账节点持有的比特币的数量更多,可以认为在历史上的多轮竞争中,第一记账节点获得记账权的次数要多于第二记账节点获得记账权的次数。进一步的,可以认为第一记账节点具有的计算能力要强于第二记账节点。为了提高第一记账节点获得记账权的概率,减少第二记账节点的计算资源浪费,本发明实施例可以使第一记账节点配置的第一系数的大小大于第二记账节点配置的第一系数的大小,例如为第一记账节点配置0.95,为第二记账节点配置0.8,使得第一记账节点对应的第一目标值要大于第二记账节点对应的第一目标值。
应理解,对于第一记账节点与第二记账节点而言,两者对应的第二目标值是相同的,但是由于两者的计算能力不同,因此为两者分配的第一系数的大小不同,使得两者对应的第一目标值不相同。若第一目标值越大,那么第一参数值满足预设条件的概率就越大,即第一参数值小于第一目标值的可能性越大,从而使得第一记账节点获得记账权的概率变大。
第一记账节点获得记账权之后,可以将预设第一时长内的历史交易信息写入第一区块中。为了确保整个区块链网络包括的多个记账节点都能保存一份完整的账本信息,那么第一记账节点可以向整个区块链网络进行广播,从而使区块链网络中除第一记账节点外的其他记账节点可以同步第一记账节点记录的账本信息。
例如第一记账节点可以向区块链网络包括的多个节点中除第一记账节点以外的记账节点发送广播消息,该广播消息用于指示多个记账节点中除第一记账节点以外的记账节点同步第一区块包括的历史交易信息。应理解,区块链网络中除第一记账节点外的其他记账节点在同步第一记账节点记录的历史交易信息后,又开始竞争下一轮的记账权。
如上介绍了本发明实施例提供的竞争记账的方法,下面结合附图介绍本发明实施例提供的装置。
请参见图3,基于同一发明构思,本发明实施例提供一种竞争记账的装置,该装置包括第一确定模块301与第二确定模块302。
第一确定模块301,用于根据预设第一时长与第一区块的区块头的参数值确定第一参数值,参数值包括随机值,随机值在预设第一时长对应的第一数值范围内,第一区块用于记录预设第一时长内的历史交易信息;
第二确定模块302,用于确定第一参数值小于第一目标值,则确定第一记账节点获得记账权。
可选的,第一确定模块301具体用于:
将区块头的参数值输入哈希函数,获得第一参数值,其中,哈希函数为双重SHA256函数。
可选的,区块头的参数值还包括难度值,第二确定模块302具体用于:
根据最大目标值以及难度值确定第二目标值,第二目标值为最大目标值与难度值的比值;
根据第二目标值以及第一系数确定第一目标值,第一系数的大小与第一记账节点持有的比特币的数量成正比。
可选的,第一确定模块301具体还用于:
根据区块链网络的计算能力确定难度值。
可选的,第一确定模块301具体还用于:
根据历史交易信息生成第二参数值,第二参数值为区块头的参数值的部分参数值。
可选的,第二确定模块302具体还用于:
将历史交易信息写入第一区块;
向多个记账节点中除第一记账节点以外的记账节点发送广播消息,广播消息用于指示多个记账节点中除第一记账节点以外的记账节点同步第一区块包括的历史交易信息。
请参见图4,基于同一发明构思,本发明实施例提供一种竞争记账的装置,该竞争记账的装置包括至少一个处理器401,处理器401用于执行存储器中存储的计算机程序,实现本发明实施例提供的如图2所示的竞争记账的方法的步骤。
可选的,处理器401具体可以是中央处理器、特定ASIC,可以是一个或多个用于控制程序执行的集成电路。
可选的,该知识库构建装置还可以包括与至少一个处理器401连接的存储器402,存储器402可以包括ROM、RAM和磁盘存储器。存储器402用于存储处理器401运行时所需的数据,即存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令,执行如图2所示的方法。其中,存储器402的数量为一个或多个。其中,存储器402在图4中一并示出,但需要知道的是存储器402不是必选的功能模块,因此在图4中以虚线示出。
其中,第一确定模块301与第二确定模块302所对应的实体设备均可以是前述的处理器401。该竞争记账装置可以用于执行图2所示的实施例所提供的方法。因此关于该设备中各功能模块所能够实现的功能,可参考图2所示的实施例中的相应描述,不多赘述。
本发明实施例还提供一种计算机存储介质,其中,计算机存储介质存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行如图2所述的方法。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种竞争记账的方法,其特征在于,区块链网络包括多个记账节点,所述方法包括:
针对所述多个记账节点中的第一记账节点,根据预设第一时长与第一区块的区块头的参数值确定第一参数值,所述参数值包括随机值,所述随机值在所述预设第一时长对应的第一数值范围内,所述第一区块用于记录所述预设第一时长内的历史交易信息;
若确定所述第一参数值小于第一目标值,则确定所述第一记账节点获得记账权。
2.如权利要求1所述的方法,其特征在于,根据预设第一时长与第一区块的区块头的参数值确定第一参数值,包括:
将所述区块头的参数值输入哈希函数,获得所述第一参数值,其中,所述哈希函数为双重SHA256函数。
3.如权利要求1所述的方法,其特征在于,所述区块头的参数值还包括难度值,所述方法还包括:
根据最大目标值以及所述难度值确定第二目标值,所述第二目标值为所述最大目标值与所述难度值的比值;
根据所述第二目标值以及第一系数确定所述第一目标值,所述第一系数的大小与所述第一记账节点持有的比特币的数量成正比。
4.如权利要求3所述的方法,其特征在于,还包括:
根据所述区块链网络的计算能力确定所述难度值。
5.如权利要求1所述的方法,其特征在于,还包括:
根据所述历史交易信息生成第二参数值,所述第二参数值为所述区块头的参数值的部分参数值。
6.如权利要求1所述的方法,其特征在于,还包括:
将所述历史交易信息写入所述第一区块;
向所述多个记账节点中除所述第一记账节点以外的记账节点发送广播消息,所述广播消息用于指示所述多个记账节点中除所述第一记账节点以外的记账节点同步所述第一区块包括的历史交易信息。
7.一种装置,其特征在于,所述装置包括:
第一确认模块,用于根据预设第一时长与第一区块的区块头的参数值确定第一参数值,所述参数值包括随机值,所述随机值在所述预设第一时长对应的第一数值范围内,所述第一区块用于记录所述预设第一时长内的历史交易信息;
第二确定模块,用于当确定所述第一参数值小于第一目标值,则确定第一记账节点获得记账权。
8.如权利要求7所述的装置,其特征在于,第一确定模块具体用于:
将所述区块头的参数值输入哈希函数,获得所述第一参数值,其中,所述哈希函数为双重SHA256函数。
9.一种竞争记账的装置,其特征在于,所述装置包括至少一个处理器以及与所述至少一个处理器连接的存储器,所述至少一个处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1-6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424970.3A CN113127560A (zh) | 2019-12-31 | 2019-12-31 | 一种竞争记账的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911424970.3A CN113127560A (zh) | 2019-12-31 | 2019-12-31 | 一种竞争记账的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113127560A true CN113127560A (zh) | 2021-07-16 |
Family
ID=76770844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911424970.3A Pending CN113127560A (zh) | 2019-12-31 | 2019-12-31 | 一种竞争记账的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113127560A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672987A (zh) * | 2021-09-06 | 2021-11-19 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
CN114723534A (zh) * | 2022-04-21 | 2022-07-08 | 平安国际智慧城市科技股份有限公司 | 基于区块链的电商交易合理性判断方法及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059334A1 (zh) * | 2016-09-29 | 2018-04-05 | 腾讯科技(深圳)有限公司 | 区块链网络、分支节点、区块链网络应用方法及存储介质 |
CN108235799A (zh) * | 2017-12-27 | 2018-06-29 | 深圳达闼科技控股有限公司 | 区块生成方法、装置、存储介质、区块链网络 |
CN108665274A (zh) * | 2018-05-14 | 2018-10-16 | 北京链享未来科技有限公司 | 一种记账节点智能选择方法 |
CN109087111A (zh) * | 2018-08-31 | 2018-12-25 | 深圳付贝科技有限公司 | 基于区块链的共识验证方法、挖矿机及区块链系统 |
CN109101836A (zh) * | 2018-08-09 | 2018-12-28 | 全链通有限公司 | 区块链网络的记账方法和系统 |
WO2019157740A1 (zh) * | 2018-02-14 | 2019-08-22 | 华为技术有限公司 | 处理数据的方法、处理数据的装置和处理数据的设备 |
US20190305931A1 (en) * | 2018-03-27 | 2019-10-03 | Nokia Solutions And Networks Oy | Method and apparatus for achieving a target transaction rate in a blockchain network |
-
2019
- 2019-12-31 CN CN201911424970.3A patent/CN113127560A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018059334A1 (zh) * | 2016-09-29 | 2018-04-05 | 腾讯科技(深圳)有限公司 | 区块链网络、分支节点、区块链网络应用方法及存储介质 |
CN108235799A (zh) * | 2017-12-27 | 2018-06-29 | 深圳达闼科技控股有限公司 | 区块生成方法、装置、存储介质、区块链网络 |
WO2019157740A1 (zh) * | 2018-02-14 | 2019-08-22 | 华为技术有限公司 | 处理数据的方法、处理数据的装置和处理数据的设备 |
US20190305931A1 (en) * | 2018-03-27 | 2019-10-03 | Nokia Solutions And Networks Oy | Method and apparatus for achieving a target transaction rate in a blockchain network |
CN108665274A (zh) * | 2018-05-14 | 2018-10-16 | 北京链享未来科技有限公司 | 一种记账节点智能选择方法 |
CN109101836A (zh) * | 2018-08-09 | 2018-12-28 | 全链通有限公司 | 区块链网络的记账方法和系统 |
CN109087111A (zh) * | 2018-08-31 | 2018-12-25 | 深圳付贝科技有限公司 | 基于区块链的共识验证方法、挖矿机及区块链系统 |
Non-Patent Citations (1)
Title |
---|
邵奇峰;金澈清;张召;钱卫宁;周傲英: "区块链技术_架构及进展", 计算机学报, vol. 41, no. 5, pages 969 - 988 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113672987A (zh) * | 2021-09-06 | 2021-11-19 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
CN113672987B (zh) * | 2021-09-06 | 2023-09-05 | 上海万向区块链股份公司 | PoW机制下分组式记账节点的选择方法及系统 |
CN114723534A (zh) * | 2022-04-21 | 2022-07-08 | 平安国际智慧城市科技股份有限公司 | 基于区块链的电商交易合理性判断方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108512650B (zh) | 面向区块链的动态哈希计算方法、装置、节点及存储介质 | |
EP3848875B1 (en) | Method, device, computer apparatus and storage medium for electing representative node apparatus | |
CN110580653B (zh) | 一种基于交易的区块链共识机制 | |
CN107733651B (zh) | 一种区块链生成方法、节点及系统 | |
WO2019165836A1 (zh) | 计算装置、基于区块链的资源贡献计算方法和存储介质 | |
US11157899B1 (en) | System and method for bootstrapping a separate proof of work chain | |
WO2020063175A1 (zh) | 一种虚拟资源的分配方法和装置 | |
Das et al. | Yoda: Enabling computationally intensive contracts on blockchains with byzantine and selfish nodes | |
CN110855432B (zh) | 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制 | |
CN113127560A (zh) | 一种竞争记账的方法及装置 | |
US11475025B2 (en) | Blockchain system comprising consensus protocol using search for good approximate solutions to any optimization problem and its computor program | |
US11062280B1 (en) | Network consensus-based data processing | |
US11875188B2 (en) | Data processing system using directed acyclic graph and method of use thereof | |
US11354629B1 (en) | Controlling initiation of a blockchain election using a burn quota | |
CN111078787A (zh) | 一种基于随机数映射的区块链共识方法 | |
CN111131184A (zh) | 一种区块链共识机制的自主调节方法 | |
CN112862607A (zh) | 区块链共识机制实现方法、装置、设备及存储介质 | |
CN112118138A (zh) | 区块链共识机制实现系统和方法 | |
TW202109333A (zh) | 用於工作量證明區塊鏈網路上非並行化挖礦之系統及方法 | |
CN114219650A (zh) | 一种低交易延迟的区块链共识方法 | |
US11290280B1 (en) | Cryptocurrency mining using a single-leader election algorithm | |
TW202016807A (zh) | 事件預測方法及裝置、電子設備 | |
Huang et al. | Incentive assignment in hybrid consensus blockchain systems in pervasive edge environments | |
CN111400283A (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
Bousfield et al. | Arbitrum nitro: A second-generation optimistic rollup |
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 |