CN115578195A - 验证节点的选举方法、装置、存储介质和设备 - Google Patents

验证节点的选举方法、装置、存储介质和设备 Download PDF

Info

Publication number
CN115578195A
CN115578195A CN202211156197.9A CN202211156197A CN115578195A CN 115578195 A CN115578195 A CN 115578195A CN 202211156197 A CN202211156197 A CN 202211156197A CN 115578195 A CN115578195 A CN 115578195A
Authority
CN
China
Prior art keywords
nodes
node
mortgage
target
list
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
Application number
CN202211156197.9A
Other languages
English (en)
Inventor
张文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202211156197.9A priority Critical patent/CN115578195A/zh
Publication of CN115578195A publication Critical patent/CN115578195A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Operations Research (AREA)
  • Probability & Statistics with Applications (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Algebra (AREA)
  • General Business, Economics & Management (AREA)
  • Evolutionary Biology (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种验证节点的选举方法、装置、存储介质和设备,该方法为:从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点;将超级节点、抵押金额小于目标金额的参选节点,均标识为备用节点;重复多次执行目标步骤,得到多个目标节点;从各个目标节点中选取抵押金额小于目标金额的目标节点,作为普通节点;将超级节点和普通节点,均标识为验证节点。相较于现有技术,将超级节点和普通节点作为验证节点,验证节点的选举基于抵押金额作为参考依据,以使验证节点与区块链网络具有利益关系,确保正常验证节点的数量,能够满足共识机制中拜占庭条件所示的正常节点数量,有效提高区块链网络的活性。

Description

验证节点的选举方法、装置、存储介质和设备
技术领域
本申请涉及区块链领域,尤其涉及一种验证节点的选举方法、装置、存储介质和设备。
背景技术
在基于股权证明(Proof of Stake,POS)共识机制的区块链网络中,所有成为验证者的节点(即参与共识验证的节点,可简称为验证节点)都能够获得生产区块(即出块)的权利,即每个验证节点均可被选举为出块节点。
为了确保区块链网络的安全,每个节点成为验证节点的概率都是随机的。然而,基于现有选举方式所得到的正常验证节点(即不会在出块节点选举周期内罢工的验证节点)的数量,无法满足共识机制中拜占庭条件所示的正常节点数量,导致区块链网络的活性降低(所谓的活性,即各个验证节点可以持续对新区块达成共识,且诚实节点可以确认新的区块)。
发明内容
本申请提供了一种验证节点的选举方法、装置、存储介质和设备,目的在于提高区块链网络的活性。
为了实现上述目的,本申请提供了以下技术方案:
一种验证节点的选举方法,包括:
从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点;所述目标金额为抵押总金额与n的比值;所述抵押总金额为所有所述参选节点的抵押金额的总和;n代表参与共识验证过程的正常节点的数量;
将所述超级节点、抵押金额小于所述目标金额的参选节点,均标识为备用节点;
重复多次执行目标步骤,得到多个目标节点;所述目标步骤为:生成随机数,并将各个所述备用节点中归一化概率与所述随机数的差值的绝对值最小的备用节点,标识为所述目标节点;所述归一化概率基于所述备用节点的抵押金额计算得到;
从各个所述目标节点中选取抵押金额小于所述目标金额的目标节点,作为普通节点;
将所述超级节点和所述普通节点,均标识为验证节点。
可选的,所述从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点,包括:
在获取到外界上传给区块链网络的抵押合约后,对所述抵押合约进行解析,得到第一节点列表;所述第一节点列表包括多个参选节点,以及每个所述参选节点的抵押地址以及抵押金额;
从所述第一节点列表中选取抵押金额大于且等于目标金额的参选节点,作为候选超级节点;
在惩罚名单未记录有所述候选超级节点的抵押地址的情况下,将所述候选超级节点,标识为超级节点;其中,所述惩罚名单用于记录符合第四预设条件的参选节点的抵押地址和惩罚次数;所述第四预设条件为:在预设数量个出块节点选举周期内,均未被选举为出块节点的参选节点。
可选的,所述从所述第一节点列表中选取抵押金额大于且等于目标金额的参选节点,作为候选超级节点,包括:
删除所述第一节点列表中符合第一预设条件的参选节点,得到第二节点列表;所述第一预设条件为:抵押地址未被记录在预设白名单中的参选节点;
删除所述第二节点列表中符合第二预设条件的参选节点,得到第三节点列表;所述第二预设条件为:抵押地址被记录在预设黑名单中的参选节点;
将所述第三节点列表中符合第三预设条件的参选节点,标识为候选超级节点;所述第三预设条件为:抵押金额大于且等于目标金额的参选节点。
可选的,还包括:
在所述惩罚名单记录有所述候选超级节点的抵押地址的情况下,调整所述惩罚名单中所记录的所述候选超级节点的惩罚次数,以使所述候选超级节点的惩罚次数减少一次。
可选的,所述基于所述备用节点的抵押金额计算得到所述备用节点的归一化概率的过程,包括:
利用各个所述备选节点的抵押金额,计算得出各个所述备选节点的加权值;
利用各个所述备用节点的加权值,计算得出各个所述备用节点的归一化概率。
可选的,所述从各个所述目标节点中选取抵押金额小于所述目标金额的目标节点,作为普通节点,包括:
对于每个所述目标节点,在所述目标节点的抵押地址未被记录在第一预设名单和惩罚名单中的情况下,将所述目标节点标识为普通节点;所述第一预设名单用于存储所述超级节点的抵押地址;所述惩罚名单用于记录符合第四预设条件的参选节点的抵押地址和惩罚次数;所述第四预设条件为:在预设数量个出块节点选举周期内,均未被选举为出块节点的参选节点。
可选的,所述将所述目标节点标识为普通节点之后,还包括:
在所述目标节点的抵押地址被记录在第二预设名单中的情况下,则调整所述目标节点的股权,以使所述目标节点的股权增加一个计数单位;所述第二预设名单用于存储所述普通节点的抵押地址;
在所述目标节点的抵押地址未被记录在所述第二预设名单中的情况下,则将所述目标节点的抵押地址记录到所述第二预设名单中,并调整所述目标节点的股权,以使所述目标节点的股权变更为一个计数单位。
可选的,所述将所述目标节点标识为普通节点之后,还包括:
删除各个所述备用节点中符合第五预设条件的备用节点,并从保留下来的多个所述备用节点中,选出k-m个所述备用节点作为所述普通节点;其中,所述第五预设条件为:抵押地址被记录在所述惩罚名单、所述第一预设名单以及第二预设名单中的备用节点;k代表所述目标节点的数量;m代表所述第二预设名单所包含的抵押地址的总数;所述第二预设名单用于存储所述普通节点的抵押地址。
可选的,所述验证节点包括主验证节点和从验证节点;
所述将所述超级节点和所述普通节点,均标识为验证节点,包括:
按照预设排序条件对所述超级节点和所述普通节点进行排序,得到节点序列;所述预设排序条件为:所述超级节点在所述节点序列中的序位,排在所述普通节点的序位之前;
将所述节点序列中的前n位节点,标识为所述主验证节点,除所述前n位节点之外的其他节点,标识为所述从验证节点。
一种验证节点的选举装置,包括:
第一选取单元,用于从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点;所述目标金额为抵押总金额与n的比值;所述抵押总金额为所有所述参选节点的抵押金额的总和;n代表参与共识验证过程的正常节点的数量;
第一标识单元,用于将所述超级节点、抵押金额小于所述目标金额的参选节点,均标识为备用节点;
执行单元,用于重复多次执行目标步骤,得到多个目标节点;所述目标步骤为:生成随机数,并将各个所述备用节点中归一化概率与所述随机数的差值的绝对值最小的备用节点,标识为所述目标节点;所述归一化概率基于所述备用节点的抵押金额计算得到;
第二选取单元,用于从各个所述目标节点中选取抵押金额小于所述目标金额的目标节点,作为普通节点;
第二标识单元,用于将所述超级节点和所述普通节点,均标识为验证节点。
一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,所述程序执行所述的验证节点的选举方法。
一种验证节点的选举设备,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行所述的验证节点的选举方法。
本申请提供的技术方案,从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点。将超级节点、抵押金额小于目标金额的参选节点,均标识为备用节点。重复多次执行目标步骤,得到多个目标节点。从各个目标节点中选取抵押金额小于目标金额的目标节点,作为普通节点。将超级节点和普通节点,均标识为验证节点。相较于现有技术,将超级节点和普通节点作为验证节点,验证节点的选举基于抵押金额作为参考依据,以使验证节点与区块链网络具有利益关系,确保正常验证节点的数量,能够满足共识机制中拜占庭条件所示的正常节点数量,有效提高区块链网络的活性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种验证节点的选举方法的流程示意图;
图2为本申请实施例提供的另一种验证节点的选举方法的流程示意图;
图3为本申请实施例提供的一种验证节点的选举装置的架构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示,为本申请实施例提供的一种验证节点的选举方法的流程示意图,包括如下步骤:
S101:在获取到外界上传给区块链网络的抵押合约后,对抵押合约进行解析,得到第一节点列表。
其中,第一节点列表包括多个参选节点,以及每个参选节点的抵押地址以及抵押金。
需要说明的是,参选节点为区块链网络中参与验证节点选举过程的节点,并且,各个参选地点的抵押地址互不相同。
S102:删除第一节点列表中符合第一预设条件的参选节点,得到第二节点列表。
其中,第一预设条件为:抵押地址未被记录在预设白名单中的参选节点。
S103:删除第二节点列表中符合第二预设条件的参选节点,得到第三节点列表。
其中,第二预设条件为:抵押地址被记录在预设黑名单中的参选节点。
S104:将第三节点列表中符合第三预设条件的参选节点,标识为候选超级节点。
其中,第三预设条件为:抵押金额大于且等于目标金额的参选节点。目标金额为抵押总金额与n的比值,抵押总金额为第三节点列表中所有参选节点的抵押金额的总和,n代表参与共识验证过程的正常节点的数量,具体的,n=3f+1,f代表拜占庭条件中所示的参与共识验证过程的错误节点的数量。
S105:在惩罚名单未记录有候选超级节点的抵押地址的情况下,将候选超级节点,标识为超级节点,并将超级节点的抵押地址存储到第一预设名单中。
其中,惩罚名单用于记录符合第四预设条件的参选节点的抵押地址和惩罚次数。第四预设条件为:在预设数量个出块节点选举周期内,均未被选举为出块节点的参选节点。
可选的,在惩罚名单记录有候选超级节点的抵押地址的情况下,调整惩罚名单中所记录的候选超级节点的惩罚次数,以使候选超级节点的惩罚次数减少一次。
需要说明的是,对于惩罚名单中的每个参选节点而言,当参选节点的惩罚次数变更为0时,从惩罚名单中删除该参选节点的抵押地址和惩罚次数。
S106:将超级节点、抵押金额小于目标金额的参选节点,均标识为备用节点。
S107:利用各个备选节点的抵押金额,计算得出各个备选节点的加权值。
其中,利用各个备选节点的抵押金额,计算得出各个备选节点的加权值的具体实现过程,可以参见公式(1)所示。
Figure BDA0003858757640000071
在公式(1)中,Weight代表加权值,Power()为用于计算抵押金额的乘幂的函数,Deposit代表抵押金额,1E18代表具体数值(即e18),factor代表乘幂运算的预设指数。
S108:利用各个备用节点的加权值,计算得出各个备用节点的归一化概率。
其中,利用各个备用节点的加权值,计算得出各个备用节点的归一化概率的具体实现过程,可以参见公式(2)所示。
Figure BDA0003858757640000072
在公式(2)中,P(i)代表备用节点的归一化概率,i代表备用节点的索引,Weight(i)代表备用节点的加权值,sum()为用于计算各个备用节点的加权值总和的函数,I代表备用节点的总数。
S109:重复r次执行目标步骤,得到多个目标节点。
其中,目标步骤为:生成随机数,并将各个备用节点中归一化概率与随机数的差值的绝对值最小的备用节点,标识为目标节点。一般来讲,生成随机数的具体实现原理,为本领域技术人员所熟悉的公知常识,具体的,可以采用随机数算法生成随机数。
需要说明的是,r为正整数,且r的具体数值大小可由技术人员根据实际情况进行设置,具体的,r可以设为1000,或者,r=验证节点的预设数量-超级节点总数+备选验证节点的预设数量。
S110:对于每个目标节点,在目标节点的抵押地址未被记录在第一预设名单和惩罚名单中的情况下,将目标节点标识为普通节点。
可选的,在目标节点的抵押地址被记录在第一预设名单中的情况下,调整目标节点的股权,以使目标节点的股权增加一个计数单位。
需要说明的是,各个参选节点的股权的初始值可默认设为0,相应的,股权增加一个计数单位,实质就是股权加一。
在本申请实施例中,股权可作为选举出块节点的参考依据,若节点的股权越多,节点被选举为出块节点的机会越高,相反的,若节点的股权越少,节点被选举为出块节点的机会越低。
可选的,在目标节点的抵押地址未被记录在第一预设名单中,且目标节点的抵押地址被记录在惩罚名单中的情况下,调整目标节点的股权,以使目标节点的股权增加一个计数单位。
可选的,在目标节点的抵押地址被记录在第二预设名单中的情况下,则调整目标节点的股权,以使目标节点的股权增加一个计数单位;第二预设名单用于存储普通节点的抵押地址。
在目标节点的抵押地址未被记录在第二预设名单中的情况下,则将目标节点的抵押地址记录到第二预设名单中,并调整目标节点的股权,以使目标节点的股权变更为一个计数单位。
S111:删除各个备用节点中符合第五预设条件的备用节点,并从保留下来的多个备用节点中,选出k-m个备用节点作为普通节点。
其中,第五预设条件为:抵押地址被记录在惩罚名单、第一预设名单以及第二预设名单中的备用节点。k代表目标节点的数量,m代表第二预设名单所包含的抵押地址的总数。
可选的,在选出k-m个备用节点作为普通节点之后,还可以将k-m个备用节点的抵押地址存储到第二预设名单中,并调整k-m个备用节点的股权,以使k-m个备用节点各自的股权均变更为一个计数单位。
需要说明的是,股权变更为一个计数单位,实质就是将股权设为一。
S112:按照预设排序条件对超级节点和普通节点进行排序,得到节点序列。
其中,预设排序条件为:超级节点在节点序列中的序位,排在普通节点的序位之前。
S113:将节点序列中的前n位节点,标识为主验证节点,除前n位节点之外的其他节点,标识为从验证节点。
其中,主验证节点和从验证节点均为验证节点,两者的区别仅仅是:在出块节点选举过程中,主验证节点被选举为出块节点的时间,早于从验证节点被选举为出块节点的时间。
需要说明的是,在后续进行的出块节点选举过程中,在检测到主验证节点罢工的情况下,可以利用从验证节点替代罢工的主验证节点。
综上所述,从各个参选节点中选取抵押金额大于且等于目标金额的参选节点,作为超级节点,并从各个目标节点中选取抵押金额小于目标金额的目标节点,作为普通节点,相较于现有技术,将超级节点和普通节点作为验证节点,验证节点的选举基于抵押金额作为参考依据,以使验证节点与区块链网络具有利益关系,确保正常验证节点的数量,能够满足共识机制中拜占庭条件所示的正常节点数量,有效提高区块链网络的活性。
需要说明的是,上述实施例提及的S101,为本申请所述验证节点的选举方法的一种可选的实现方式。此外,上述实施例提及的S113,也为本申请所述验证节点的选举方法的一种可选的实现方式。为此,上述实施例提及的流程,可以概括为图2所述的方法。
如图2所示,为本申请实施例提供的另一种验证节点的选举方法的流程示意图,包括如下步骤:
S201:从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点。
其中,目标金额为抵押总金额与n的比值;抵押总金额为所有参选节点的抵押金额的总和;n代表参与共识验证过程的正常节点的数量。
S202:将超级节点、抵押金额小于目标金额的参选节点,均标识为备用节点。
S203:重复多次执行目标步骤,得到多个目标节点。
其中,目标步骤为:生成随机数,并将各个备用节点中归一化概率与随机数的差值的绝对值最小的备用节点,标识为目标节点;归一化概率基于备用节点的抵押金额计算得到。
S204:从各个目标节点中选取抵押金额小于目标金额的目标节点,作为普通节点。
S205:将超级节点和普通节点,均标识为验证节点。
综上所述,从各个参选节点中选取抵押金额大于且等于目标金额的参选节点,作为超级节点,并从各个目标节点中选取抵押金额小于目标金额的目标节点,作为普通节点,相较于现有技术,将超级节点和普通节点作为验证节点,验证节点的选举基于抵押金额作为参考依据,以使验证节点与区块链网络具有利益关系,确保正常验证节点的数量,能够满足共识机制中拜占庭条件所示的正常节点数量,有效提高区块链网络的活性。
与上述本申请实施例提供的验证节点的选举方法相对应,本申请实施例还提供了一种验证节点的选举装置。
如图3所示,为本申请实施例提供的一种验证节点的选举装置的架构示意图,包括:
第一选取单元100,用于从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点;目标金额为抵押总金额与n的比值;抵押总金额为所有参选节点的抵押金额的总和;n代表参与共识验证过程的正常节点的数量。
其中,第一选取单元100具体用于:在获取到外界上传给区块链网络的抵押合约后,对抵押合约进行解析,得到第一节点列表;第一节点列表包括多个参选节点,以及每个参选节点的抵押地址以及抵押金额;从第一节点列表中选取抵押金额大于且等于目标金额的参选节点,作为候选超级节点;在惩罚名单未记录有候选超级节点的抵押地址的情况下,将候选超级节点,标识为超级节点;其中,惩罚名单用于记录符合第四预设条件的参选节点的抵押地址和惩罚次数;第四预设条件为:在预设数量个出块节点选举周期内,均未被选举为出块节点的参选节点。
第一选取单元100具体用于:删除第一节点列表中符合第一预设条件的参选节点,得到第二节点列表;第一预设条件为:抵押地址未被记录在预设白名单中的参选节点;删除第二节点列表中符合第二预设条件的参选节点,得到第三节点列表;第二预设条件为:抵押地址被记录在预设黑名单中的参选节点;将第三节点列表中符合第三预设条件的参选节点,标识为候选超级节点;第三预设条件为:抵押金额大于且等于目标金额的参选节点。
第一选取单元100还用于:在惩罚名单记录有候选超级节点的抵押地址的情况下,调整惩罚名单中所记录的候选超级节点的惩罚次数,以使候选超级节点的惩罚次数减少一次。
第一标识单元200,用于将超级节点、抵押金额小于目标金额的参选节点,均标识为备用节点。
其中,第一标识单元200具体用于:利用各个备选节点的抵押金额,计算得出各个备选节点的加权值;利用各个备用节点的加权值,计算得出各个备用节点的归一化概率。
执行单元300,用于重复多次执行目标步骤,得到多个目标节点;目标步骤为:生成随机数,并将各个备用节点中归一化概率与随机数的差值的绝对值最小的备用节点,标识为目标节点;归一化概率基于备用节点的抵押金额计算得到。
第二选取单元400,用于从各个目标节点中选取抵押金额小于目标金额的目标节点,作为普通节点。
其中,第二选取单元400具体用于:对于每个目标节点,在目标节点的抵押地址未被记录在第一预设名单和惩罚名单中的情况下,将目标节点标识为普通节点;第一预设名单用于存储超级节点的抵押地址;惩罚名单用于记录符合第四预设条件的参选节点的抵押地址和惩罚次数;第四预设条件为:在预设数量个出块节点选举周期内,均未被选举为出块节点的参选节点。
第二选取单元400还用于:在目标节点的抵押地址被记录在第二预设名单中的情况下,则调整目标节点的股权,以使目标节点的股权增加一个计数单位;第二预设名单用于存储普通节点的抵押地址;在目标节点的抵押地址未被记录在第二预设名单中的情况下,则将目标节点的抵押地址记录到第二预设名单中,并调整目标节点的股权,以使目标节点的股权变更为一个计数单位。
第二选取单元400还用于:删除各个备用节点中符合第五预设条件的备用节点,并从保留下来的多个备用节点中,选出k-m个备用节点作为普通节点;其中,第五预设条件为:抵押地址被记录在惩罚名单、第一预设名单以及第二预设名单中的备用节点;k代表目标节点的数量;m代表第二预设名单所包含的抵押地址的总数;第二预设名单用于存储普通节点的抵押地址。
第二标识单元500,用于将超级节点和普通节点,均标识为验证节点。
其中,验证节点包括主验证节点和从验证节点。
第二标识单元500具体用于:按照预设排序条件对超级节点和普通节点进行排序,得到节点序列;预设排序条件为:超级节点在节点序列中的序位,排在普通节点的序位之前;将节点序列中的前n位节点,标识为主验证节点,除前n位节点之外的其他节点,标识为从验证节点。
综上所述,从各个参选节点中选取抵押金额大于且等于目标金额的参选节点,作为超级节点,并从各个目标节点中选取抵押金额小于目标金额的目标节点,作为普通节点,相较于现有技术,将超级节点和普通节点作为验证节点,验证节点的选举基于抵押金额作为参考依据,以使验证节点与区块链网络具有利益关系,确保正常验证节点的数量,能够满足共识机制中拜占庭条件所示的正常节点数量,有效提高区块链网络的活性。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,程序执行上述本申请提供的验证节点的选举方法。
本申请还提供了一种验证节点的选举设备,包括:处理器、存储器和总线。处理器与存储器通过总线连接,存储器用于存储程序,处理器用于运行程序,其中,程序运行时执行上述本申请提供的验证节点的选举方法。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (12)

1.一种验证节点的选举方法,其特征在于,包括:
从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点;所述目标金额为抵押总金额与n的比值;所述抵押总金额为所有所述参选节点的抵押金额的总和;n代表参与共识验证过程的正常节点的数量;
将所述超级节点、抵押金额小于所述目标金额的参选节点,均标识为备用节点;
重复多次执行目标步骤,得到多个目标节点;所述目标步骤为:生成随机数,并将各个所述备用节点中归一化概率与所述随机数的差值的绝对值最小的备用节点,标识为所述目标节点;所述归一化概率基于所述备用节点的抵押金额计算得到;
从各个所述目标节点中选取抵押金额小于所述目标金额的目标节点,作为普通节点;
将所述超级节点和所述普通节点,均标识为验证节点。
2.根据权利要求1所述的方法,其特征在于,所述从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点,包括:
在获取到外界上传给区块链网络的抵押合约后,对所述抵押合约进行解析,得到第一节点列表;所述第一节点列表包括多个参选节点,以及每个所述参选节点的抵押地址以及抵押金额;
从所述第一节点列表中选取抵押金额大于且等于目标金额的参选节点,作为候选超级节点;
在惩罚名单未记录有所述候选超级节点的抵押地址的情况下,将所述候选超级节点,标识为超级节点;其中,所述惩罚名单用于记录符合第四预设条件的参选节点的抵押地址和惩罚次数;所述第四预设条件为:在预设数量个出块节点选举周期内,均未被选举为出块节点的参选节点。
3.根据权利要求2所述的方法,其特征在于,所述从所述第一节点列表中选取抵押金额大于且等于目标金额的参选节点,作为候选超级节点,包括:
删除所述第一节点列表中符合第一预设条件的参选节点,得到第二节点列表;所述第一预设条件为:抵押地址未被记录在预设白名单中的参选节点;
删除所述第二节点列表中符合第二预设条件的参选节点,得到第三节点列表;所述第二预设条件为:抵押地址被记录在预设黑名单中的参选节点;
将所述第三节点列表中符合第三预设条件的参选节点,标识为候选超级节点;所述第三预设条件为:抵押金额大于且等于目标金额的参选节点。
4.根据权利要求2所述的方法,其特征在于,还包括:
在所述惩罚名单记录有所述候选超级节点的抵押地址的情况下,调整所述惩罚名单中所记录的所述候选超级节点的惩罚次数,以使所述候选超级节点的惩罚次数减少一次。
5.根据权利要求1所述的方法,其特征在于,所述基于所述备用节点的抵押金额计算得到所述备用节点的归一化概率的过程,包括:
利用各个所述备选节点的抵押金额,计算得出各个所述备选节点的加权值;
利用各个所述备用节点的加权值,计算得出各个所述备用节点的归一化概率。
6.根据权利要求1所述的方法,其特征在于,所述从各个所述目标节点中选取抵押金额小于所述目标金额的目标节点,作为普通节点,包括:
对于每个所述目标节点,在所述目标节点的抵押地址未被记录在第一预设名单和惩罚名单中的情况下,将所述目标节点标识为普通节点;所述第一预设名单用于存储所述超级节点的抵押地址;所述惩罚名单用于记录符合第四预设条件的参选节点的抵押地址和惩罚次数;所述第四预设条件为:在预设数量个出块节点选举周期内,均未被选举为出块节点的参选节点。
7.根据权利要求6所述的方法,其特征在于,所述将所述目标节点标识为普通节点之后,还包括:
在所述目标节点的抵押地址被记录在第二预设名单中的情况下,则调整所述目标节点的股权,以使所述目标节点的股权增加一个计数单位;所述第二预设名单用于存储所述普通节点的抵押地址;
在所述目标节点的抵押地址未被记录在所述第二预设名单中的情况下,则将所述目标节点的抵押地址记录到所述第二预设名单中,并调整所述目标节点的股权,以使所述目标节点的股权变更为一个计数单位。
8.根据权利要求6所述的方法,其特征在于,所述将所述目标节点标识为普通节点之后,还包括:
删除各个所述备用节点中符合第五预设条件的备用节点,并从保留下来的多个所述备用节点中,选出k-m个所述备用节点作为所述普通节点;其中,所述第五预设条件为:抵押地址被记录在所述惩罚名单、所述第一预设名单以及第二预设名单中的备用节点;k代表所述目标节点的数量;m代表所述第二预设名单所包含的抵押地址的总数;所述第二预设名单用于存储所述普通节点的抵押地址。
9.根据权利要求1所述的方法,其特征在于,所述验证节点包括主验证节点和从验证节点;
所述将所述超级节点和所述普通节点,均标识为验证节点,包括:
按照预设排序条件对所述超级节点和所述普通节点进行排序,得到节点序列;所述预设排序条件为:所述超级节点在所述节点序列中的序位,排在所述普通节点的序位之前;
将所述节点序列中的前n位节点,标识为所述主验证节点,除所述前n位节点之外的其他节点,标识为所述从验证节点。
10.一种验证节点的选举装置,其特征在于,包括:
第一选取单元,用于从抵押合约所示的各个参选节点中,选取抵押金额大于且等于目标金额的参选节点,作为超级节点;所述目标金额为抵押总金额与n的比值;所述抵押总金额为所有所述参选节点的抵押金额的总和;n代表参与共识验证过程的正常节点的数量;
第一标识单元,用于将所述超级节点、抵押金额小于所述目标金额的参选节点,均标识为备用节点;
执行单元,用于重复多次执行目标步骤,得到多个目标节点;所述目标步骤为:生成随机数,并将各个所述备用节点中归一化概率与所述随机数的差值的绝对值最小的备用节点,标识为所述目标节点;所述归一化概率基于所述备用节点的抵押金额计算得到;
第二选取单元,用于从各个所述目标节点中选取抵押金额小于所述目标金额的目标节点,作为普通节点;
第二标识单元,用于将所述超级节点和所述普通节点,均标识为验证节点。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,所述程序执行权利要求1-9任一所述的验证节点的选举方法。
12.一种验证节点的选举设备,其特征在于,包括:处理器、存储器和总线;所述处理器与所述存储器通过所述总线连接;
所述存储器用于存储程序,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-9任一所述的验证节点的选举方法。
CN202211156197.9A 2022-09-22 2022-09-22 验证节点的选举方法、装置、存储介质和设备 Pending CN115578195A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211156197.9A CN115578195A (zh) 2022-09-22 2022-09-22 验证节点的选举方法、装置、存储介质和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211156197.9A CN115578195A (zh) 2022-09-22 2022-09-22 验证节点的选举方法、装置、存储介质和设备

Publications (1)

Publication Number Publication Date
CN115578195A true CN115578195A (zh) 2023-01-06

Family

ID=84581070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211156197.9A Pending CN115578195A (zh) 2022-09-22 2022-09-22 验证节点的选举方法、装置、存储介质和设备

Country Status (1)

Country Link
CN (1) CN115578195A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117544472A (zh) * 2024-01-08 2024-02-09 中国信息通信研究院 分布式网络的节点管理方法、装置、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117544472A (zh) * 2024-01-08 2024-02-09 中国信息通信研究院 分布式网络的节点管理方法、装置、电子设备和存储介质
CN117544472B (zh) * 2024-01-08 2024-03-22 中国信息通信研究院 分布式网络的节点管理方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN110611701B (zh) 一种基于区块链的参数配置和交易处理方法
CN108876560B (zh) 一种基于区块链对作品发布者进行信用评价的方法及装置
CN111026578B (zh) 一种基于预言机的智能合约安全检测方法
US11968106B2 (en) Method and apparatus for monitoring state of blockchain consensus node
CN110503558A (zh) 一种基于区块链系统的处理方法及装置
CN111010278B (zh) 一种基于DPoS高容错分层共识方法
US11403281B2 (en) Parallel blockchain processing
CN115578195A (zh) 验证节点的选举方法、装置、存储介质和设备
CN112738172A (zh) 区块链节点的管理方法、装置、计算机设备和存储介质
CN112101939A (zh) 基于区块链的节点管理方法及系统
CN110458612A (zh) 一种信息处理方法及相关产品
CN114968124A (zh) 数据存储方法、服务器和存储介质
CN116126843A (zh) 一种数据质量评估方法、装置、电子设备和存储介质
CN111209111A (zh) 基于区块链系统的资源分配方法、装置、设备和存储介质
CN113379539B (zh) 基于区块链的委托权益证明共识方法及装置
CN113360548A (zh) 基于数据资产分析的数据处理方法、装置、设备及介质
CN113112351A (zh) 一种风控模型的验证方法及装置
CN112764684A (zh) 一种存储系统的硬盘性能识别方法和系统
CN114581220B (zh) 数据处理方法、设备及分布式计算系统
CN112860807B (zh) 一种适用于无线区块链网络的容错共识方法
EP3866010A1 (en) Method and system for processing transactions in a block-chain network
CN113472825B (zh) 基于区块链的NB-IoT中终端交易处理方法及装置
CN112416709B (zh) 芯片动态功耗估计方法、装置、处理器芯片及服务器
CN109636389B (zh) 区块链出块时间的确定方法、装置、设备及存储介质
CN111784090B (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