CN108900380B - 一种节点管理方法及其实现*** - Google Patents
一种节点管理方法及其实现*** Download PDFInfo
- Publication number
- CN108900380B CN108900380B CN201810776709.9A CN201810776709A CN108900380B CN 108900380 B CN108900380 B CN 108900380B CN 201810776709 A CN201810776709 A CN 201810776709A CN 108900380 B CN108900380 B CN 108900380B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- question
- network
- blockchain network
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种节点管理方法,包括:发起测试请求;指定出题节点和答题节点;形成签名排序表;判断是否向所述区块链网络中的节点发送所述签名排序表并由所述节点对所述签名排序表进行表决;设定阈值以对所述表决的结果进行决策。本发明所述出题节点向所述答题节点发送测试数据包并对所述答题节点反馈回来的所述响应数据包进行整理,形成的签名排序表反映了所述答题节点的真实算力,同时对所述签名排序表进行表决,根据所述阈值和表决结果做出决策来管理所述区块链网络,避免了现有技术存在的由于区块链网络难以获得节点的实际算力,使区块链网络的稳定性变差的问题。本发明还提供了所述节点管理方法的实现***。
Description
技术领域
本发明涉及区块链网络技术领域,尤其涉及一种节点管理方法及其实现***。
背景技术
区块链的本质是去中心化的分布式数据库,该分布式数据库保存历史交易数据并被节点,即区块链中参与处理业务的设备通过分布式一致协议共享。数据一旦进入区块链,区块链上的各个节点都可以收到数据并进行点对点的交易、协调与协作。
区块链网络中的各节点将多个事务打包成备选区块并经过分布式一致共识加入到区块链中以生成区块,再将区块中的事务执行以完成记账过程。区块链网络中的记录、分布式一致共识和将区块中的事务执行都需要节点贡献算力。区块链网络中的节点按照角色可分为共识节点、记账节点和共识候选节点等,其中的记账节点特别需要很强的算力。
当参与共识的节点过多,共识的过程占用大量的网络资源,一些节点,例如弱算力节点过多,其在不停追块的过程中容易引起网络抖动,又称包抖动(Packet delayvariation),使区块链网络的不稳定,进而造成生成区块的效率降低甚至无法生成区块。因此,区块链网络需要检测节点的实际算力以满足共识过程的需要。
现有技术中通过在每个节点上部署检测插件,即性能检测的程序来判断节点的性能。但检测插件本身往往只能反映参数指标情况,而无法反映节点的真实算力。节点处于利益考量很容易欺骗检测插件进入共识网络,例如一个节点总体算力较强,但由于同时进行多任务处理,实际提供给区块链网络的实际算力是较低的,由于无法测知节点的真实算力,使区块链网络的稳定性变差。
因此,有必要开发一种新型的节点管理方法以解决上述技术问题。
发明内容
本发明的目的在于提供一种节点管理方法,设置节点管理单元来指定出题节点和答题节点,根据答题节点反馈的信息对其实际算力进行评估和管理,避免了现有技术存在的由于区块链网络难以获得节点的实际算力,使区块链网络的稳定性变差的问题。
本发明所述的节点管理方法,包括以下步骤:
S1:提供区块链网络,网络监测单元、节点管理单元和决策单元,所述网络监测单元获取所述区块链网络的异动情况并发起测试请求;
S2:所述节点管理单元指定出题节点和答题节点,所述出题节点向所述答题节点发送加盖出题时间戳的测试数据包;
S3:所述答题节点向所述出题节点反馈加盖完成时间戳的响应数据包,所述出题节点按照所述响应数据包中的答题情况和反馈时间对所述答题节点进行排序以形成签名排序表,将所述签名排序表反馈给所述节点管理单元,所述反馈时间为所述完成时间戳与所述出题时间戳之差;
S4:所述节点管理单元设定预定出题节点数量,判断所述出题节点的数量是否大于所述预定出题节点数量;
S5:所述节点管理单元向所述区块链网络中的节点发送所述签名排序表,所述节点对所述签名排序表进行表决,发出肯定投票和否定投票;
S6:所述决策单元设定阈值,所述肯定投票的数量占总投票数量的比例大于所述阈值时,所述决策单元通过所述肯定投票。
本发明所述节点管理方法的有益效果在于:通过设置节点管理单元指定出题节点和答题节点,所述出题节点向所述答题节点发送加盖出题时间戳的测试数据包并对所述答题节点反馈回来的所述响应数据包进行整理形成签名排序表,所述签名排序表反映了所述答题节点的真实算力水平,所述区块链网络中的节点对所述签名排序表进行表决,所述决策单元根据所述阈值和表决结果做出决策来管理所述区块链网络,避免了现有技术存在的由于区块链网络难以获得节点的实际算力并采取有效的管理方法,使区块链网络的稳定性变差的问题。
优选的,所述预定出题节点数量等于mN/((lnN+m)×2),N为所述区块链网络中的总节点数,m的范围为1-N。
进一步优选的,所述m的范围为1-lnN。
优选的,所述区块链网络的节点数量小于等于100时,所述阈值为50%;所述区块链网络的节点数量大于100小于等于1000时,所述阈值为12%;所述区块链网络的节点数量大于1000时,所述阈值为2%。其有益效果在于:所述区块链网络的节点越少,所述异动情况对所述区块链网络造成的影响较大,需要对造成所述异动情况的节点进行多数投票评估才能更有效反映出其实际的算力水平。
优选的,所述异动情况包括备选节点请求加入所述区块链网络以成为新加入节点,所述节点管理单元指定所述备选节点为所述答题节点,指定所述区块链网络中的节点为所述出题节点,所述区块链网络中,同意所述备选节点加入所述区块链网络的节点发出所述肯定投票,不同意所述备选节点加入所述区块链网络的节点发出所述否定投票。其有益效果在于:有利于所述区块链网络中的节点判断所述备选节点的实际算力水平是否符合所述区块链网络的要求。
进一步优选的,所述异动情况为所述备选节点请求加入所述区块链网络时,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种。
进一步优选的,所述异动情况包括所述区块链网络接收到功能请求,所述功能请求指所述新加入节点请求在所述区块链网络中承担角色,所述节点管理单元指定所述新加入节点为所述答题节点,指定所述区块链网络中除所述新加入节点以外的其他节点为所述出题节点,所述其他节点中,同意所述功能请求的节点发出所述肯定投票,不同意所述功能请求的节点发出所述否定投票。
进一步优选的,所述异动情况为所述区块链网络接收到所述功能请求时,所述测试数据包中包括记账节点测试题、共识节点测试题、落账节点测试题、验签节点测试题、同步节点测试题或共识候选节点测试题中的任意一种或多种,所述角色包括共识候选节点、共识节点、验签节点、记账节点、落账节点或同步节点中的任意一种。
优选的,所述异动情况包括所述区块链网络生成区块的速度降低或无法生成区块中的任意一种,所述节点管理单元指定所述区块链网络中的一些节点为所述出题节点,同时指定所述区块链网络中的另一些节点为所述答题节点,所述区块链网络中的节点进行所述表决以确定所述区块链网络中的问题节点,同意所述问题节点退出网络的所述节点发出所述肯定投票,不同意所述问题节点退出网络的所述节点发出所述否定投票。其有益效果在于:有利于所述区块链网络中的节点之间相互验证,准确判断出对所述区块链网络影响最大的问题节点。
进一步优选的,所述异动情况为所述区块链网络生成区块的速度降低或无法生成区块中的任意一种时,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种。
本发明还提供了用于实现所述节点管理方法的实现***,包括网络监测单元、节点管理单元和决策单元;所述网络监测单元用于获取区块链网络的异动情况并发起测试请求;所述节点管理单元用于指定出题节点和答题节点,设定预定出题节点数量,判断所述出题节点的数量是否大于所述预定出题节点数量以及向所述区块链网络中的节点发送签名排序表;所述出题节点用于向所述答题节点发送加盖出题时间戳的测试数据包,接收所述答题节点反馈的加盖完成时间戳的响应数据包,按照所述响应数据包中的答题情况和反馈时间对所述答题节点进行排序以形成签名排序表,并将所述签名排序表反馈给所述节点管理单元;所述区块链网络中的节点用于对所述签名排序表进行表决,发出肯定投票和否定投票;所述决策单元用于设定阈值,当所述肯定投票的数量占总投票数量的比例大于所述阈值时,所述决策单元通过所述肯定投票。
本发明所述实现***的有益效果在于:所述节点管理单元指定出题节点和答题节点,所述出题节点向所述答题节点发送加盖出题时间戳的测试数据包并对所述答题节点反馈回来的所述响应数据包进行整理形成签名排序表,所述签名排序表反映了所述答题节点的真实算力水平,所述区块链网络中的节点对所述签名排序表进行表决,所述决策单元根据所述阈值和表决结果做出决策来管理所述区块链网络,避免了现有技术存在的由于区块链网络难以获得节点的实际算力并采取有效的管理方法,使区块链网络的稳定性变差的问题。
优选的,所述异动情况包括备选节点请求加入所述区块链网络以成为新加入节点,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种,所述备选节点为所述答题节点,所述区块链网络中的节点为所述出题节点,所述肯定投票为同意所述备选节点加入所述区块链网络,所述否定投票为不同意所述备选节点加入所述区块链网络。其有益效果在于:有利于所述区块链网络中的节点判断所述备选节点的实际算力水平是否符合所述区块链网络的要求。
进一步优选的,所述异动情况包括所述区块链网络接收到功能请求,所述功能请求指所述新加入节点请求在所述区块链网络中承担角色,所述新加入节点为所述答题节点,所述区块链网络中除所述新加入节点以外的其他节点为所述出题节点,所述肯定投票为同意所述功能请求,所述否定投票为不同意所述功能请求。
进一步优选的,所述测试数据包中包括记账节点测试题、共识节点测试题、落账节点测试题、验签节点测试题、同步节点测试题或共识候选节点测试题中的任意一种或多种,所述角色包括共识候选节点、共识节点、验签节点、记账节点、落账节点或同步节点中的任意一种。
优选的,所述异动情况包括所述区块链网络生成区块的速度降低或无法生成区块中的任意一种,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种,所述区块链网络中的一些节点为所述出题节点,所述区块链网络中的另一些节点为所述答题节点,所述表决用于确定所述区块链网络中的问题节点,所述肯定投票为同意所述问题节点退出网络,否定投票为不同意所述问题节点退出网络。其有益效果在于:有利于所述区块链网络中的节点之间相互验证,准确判断出对所述区块链网络影响最大的问题节点。
附图说明
图1为本发明的节点管理方法流程图;
图2为本发明一种实施例中的实现***、区块链网络节点以及备选节点之间的逻辑框图;
图3为本发明另一种实施例中的实现***与区块链网络节点之间的逻辑框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
区块链网络正常工作需要有功能节点工作,一些的区块链网络功能节点,可能只有共识节点,共识节点是区块链网络中负责共识即达成记账一致的节点,为区块链网络中的必要节点。在一些区块链网络中,所有的参与节点都可以作为共识节点,在一些网络中,共识节点可能只是区块链网络所有节点中的一部分,还有不负责工作的轻节点等。在更健全或设计方向不同的区块链网络中,功能节点可能还包括记账节点、共识候选节点、验签节点、落账节点或同步节点的一种或多种,一般的,称记账节点组成记账网络,共识节点组成共识网络,同步节点组成同步网络,共识候选节点构成共识候选网络,通常,验签节点、落账节点不称为网络,所有功能节点组成功能网络。
共识网络,由所有共识节点组成,负责对区块链网络中事务的请求进行共识,生成区块,维护一致性账本,并将共识后的区块分发到同步网络中。
同步网络、共识候选网络,不参加共识,但保持与共识网络的同步状态,实时将最新共识的区块更新到自己维护的账本中,共识候选网络也将对共识网络进行监控,监控共识网络状态,对公示区块进行验证,并协助区块链冲裁管理共识网络。
记账网络,基于构造的区块,为共识网络提供必要支持的,多个独立的分布式记账节点组成的网络,一般负责共识后的区块中的事务的执行。在一些网络中,记账节点负责验证事务池中事务的有效性,将有效的事务给共识节点验证,并将共识节点通过共识的事务执行;在委托权益证明(Delegated Proof of Stake,DPoS)类网络中,见证人节点负责打包出块并执行,为记账节点,需要比普通共识节点更高的计算能力。
本发明实施例提供了一种节点管理方法,参照图1,包括以下步骤:
S1:提供区块链网络,网络监测单元、节点管理单元和决策单元,所述网络监测单元获取所述区块链网络的异动情况并发起测试请求;
S2:所述节点管理单元指定出题节点和答题节点,所述出题节点向所述答题节点发送加盖出题时间戳的测试数据包;
S3:所述答题节点向所述出题节点反馈加盖完成时间戳的响应数据包,所述出题节点按照所述响应数据包中的答题情况和反馈时间对所述答题节点进行排序以形成签名排序表,将所述签名排序表反馈给所述节点管理单元,所述反馈时间为所述完成时间戳与所述出题时间戳之差;
S4:所述节点管理单元设定预定出题节点数量,判断所述出题节点的数量是否大于所述预定出题节点数量;
S5:所述节点管理单元向所述区块链网络中的节点发送所述签名排序表,所述节点对所述签名排序表进行表决,发出肯定投票和否定投票;
S6:所述决策单元设定阈值,所述肯定投票的数量占总投票数量的比例大于所述阈值时,所述决策单元通过所述肯定投票。
本发明一些实施例中,所述签名排序表为所述出题节点进行过签名处理的排序表,所述签名采用PKCS、DSA、x.509、PGP、Hash、Schnorr算法中的一种或多种,所述排序表中,做出正确答案的答题节点的排名优于未做出正确答案的答题节点;做出正确答案的答题节点中,按照所述反馈时间增加的顺序进行依次排序;未做出正确答案的答题节点中,按照所述反馈时间增加的顺序进行依次排序。
本发明一些实施例中,所述区块链网络的节点数量小于等于100时,所述阈值为50%。本发明一些实施例中,所述区块链网络的节点数量大于100小于等于1000时,所述阈值为12%。本发明另一些实施例中,所述区块链网络的节点数量大于1000时,所述阈值为2%。
本发明一些实施例中,所述预定出题节点数量等于mN/((lnN+m)×2),N为所述区块链网络中的总节点数,m为调整参数,其范围为1-N,N的数值越大,m取值越大。其中,lnN为相邻两个节点的平均距离,一般情况下是相距较近的节点相互进行出题和答题的通信。
本发明另一些实施例中,在p2p网络中,所述m的范围为1-lnN。
本发明一些实施例中,所述异动情况包括备选节点请求加入所述区块链网络以成为新加入节点,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种。
所述节点管理单元指定所述备选节点为所述答题节点,指定所述区块链网络中的节点为所述出题节点,所述区块链网络中,同意所述备选节点加入所述区块链网络的节点发出所述肯定投票,不同意所述备选节点加入所述区块链网络的节点发出所述否定投票。
本发明一些实施例中,所述异动情况包括所述区块链网络接收到功能请求,所述功能请求指所述新加入节点请求在所述区块链网络中承担角色。
所述测试数据包中包括记账节点测试题、共识节点测试题、落账节点测试题、验签节点测试题、同步节点测试题或共识候选节点测试题中的任意一种或多种,所述角色包括共识候选节点、共识节点、验签节点、记账节点、落账节点或同步节点中的任意一种。
所述节点管理单元指定所述新加入节点为所述答题节点,指定所述区块链网络中除所述新加入节点以外的其他节点为所述出题节点,所述其他节点中,同意所述功能请求的节点发出所述肯定投票,不同意所述功能请求的节点发出所述否定投票。
本发明一些实施例中,所述异动情况包括所述区块链网络生成区块的速度降低或无法生成区块中的任意一种,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种。
所述节点管理单元指定所述区块链网络中的一些节点为所述出题节点,同时指定所述区块链网络中的另一些节点为所述答题节点,所述区块链网络中的节点进行所述表决以确定所述区块链网络中的问题节点,同意所述问题节点退出网络的所述节点发出所述肯定投票,不同意所述问题节点退出网络的所述节点发出所述否定投票。
本发明一些实施例中,所述区块链网络中的节点通过共识对所述签名排序表进行表决。所述共识包括工作量证明(ProofofWork,POW),权益证明(Proof of Stake,POS),委托权益证明(Delegated Proof of Stake,DPoS)拜占庭容错(Byzantine FaultTolerance,BFT)、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)、拜占庭容错委托(Delegated Byzantine Fault Tolerance,DBFT)、PAXOS、RAFT、校验池、Byzantine paxos、瑞波共识协议(Ripple Consensus Protocol,RCP)或可验证拜占庭容错(Verifiable Byzantine Fault Tolerance,VBFT)算法中的任意一种。
所述VBFT算法是以BFT系列共识为基础改进为全新的共识算法,结合PoS、VRF(Verifiable Random Function)和BFT的全新共识算法,利用节点权益委托构建权益表(POS表),不同节点在权益表中占据的长度和其委托的权益成正比,利用可验证随机函数(VRF)在权益表中随机选取三种节点,提案节点、背书节点、确认节点,提案节点将交易打包成备选区块,背书节点对打包的备选区块背书,确认节点对背书过的备选区块进行确认,所有共识节点对确认过的备选区块进行保存。
所述运算能力测试题是为达到某一性能标准而设置的度量方法。简单理解就是一份证明,用来确认你做过一定难度的测试题。监测工作的整个计算解答过程通常是极为低效的,而通过对答题的结果进行认证来证明完成了相应的测试题,则是一种非常高效的方式。通常测试题具有以下特点,答题节点要完成的答题必须有一定的计算量,这个量由出题节点给出,出题节点可以迅速的检验答案是否正确,答题节点无法自己"创造测试题",必须由出题节点发布测试题,答题节点无法找到捷径很快完成工作的办法,只能按照流程计算。
一般的,运算能力测试题选择一些计算量不对称的数学难题,如大素数乘积分解,哈希运算等。
哈希测试题:可根据哈希算法的不对称性,计算一个数字的哈希值极为容易,而从哈希值反推出原数字则需要穷举计算。
在一个具体实施例中,出题节点侦听区块链中的出块情况,出题要求答题节点对当前区块的区块高度,可验证随机函数(VRF,Verifiable Random Function)和一次性任意数(Nonce,Number used once,随机nonce)打包进行签名,哈希计算后得到哈希值,哈希值的要求是,前面K bits为0。答题节点通过调整随机nonce,使最后计算的哈希值满足要求,随机nonce可以看做答案。
K值随着挑战难度增加而变化,在筛选记账节点时,K为20bits,在筛选共识节点时,K为18bits。
答题节点计算出随机nonce后签名加时间戳发送给出题节点,出题节点将当前区块高度,VRF,随机nonce哈希后得到结果查看前面Kbits是否为0,若是则答案正确,并记录答题时间。
素数测试题:1.出题节点用计算机算法生成一系列素数,可以根据预设难度适当添加若干个“大素数”,以及“大量”素数,以测量“计算性能”,在其中选择部分素数的乘积作为测试题;2.将生成的素数排序,根据一定规律抽取其中部分素数成数字序列,如素数顺序(或逆序)排序后奇数位(或偶数位,或3n位,或4n+1位……),将序列中的素数相乘的乘积作为答案,即抽取的素数的乘积。
在一个具体实施例中,出题节点在100以内素数:2357111317192329313741434753596167717379838997中,出题节点从中随机选择10个素数:5,7,11,13,17,47,53,59,61,67,测试题就是:
X=5*7*11*13*17*47*53*59*61*67=51107352050755
抽取规律设定为:顺序排列后抽取每3n位的序列
答题节点首先针对乘积进行因数分解51107352050755=5*7*11*13*17*47*53*59*61*67,然后,抽取每3n位的序列:5,13,53,67。
则答案为:Y=5*13*53*67=230815。
出题节点自己选出的素数,不用做因数分解,直接选取每3n位的序列计算出答案,来验证答题节点的答案是否正确。
网络测试题:在一些实施例中预订数量为2C+1,答题节点计算得到满足要求的哈希值后,签名发送到2C+1个出题节点,出题节点验证哈希值满足要求后,会回复解答成功,并附加出题节点自身的签名。答题节点需要接收到C+1个验证成功的回复,即完成答题。
在另一些实施例中,出题节点发送的测试题选择用算法生成一个固定大小的文件,签名,答题节点将此文件传输给出题节点,出题节点通过签名验证是否为同一个文件,并记录传输时间。
本发明实施例还提供了用于实现所述节点管理方法的实现***,包括网络监测单元、节点管理单元和决策单元,其中所述网络监测单元用于获取区块链网络的异动情况并发起测试请求。
图2为本发明一种实施例中的实现***、区块链网络节点以及备选节点之间的逻辑框图。参照图2,实现***21包括网络监测单元211、节点管理单元212和决策单元213,所述网络监测单元211获取区块链网络的异动情况为备选节点22请求加入所述区块链网络以成为新加入节点,所述节点管理单元212指定所述备选节点22为答题节点,所述区块链网络节点23中的一个节点为出题节点。
所述区块链网络节点23中的一个节点,即第一节点(图中未标示)向所述备选节点22发送加盖第一出题时间戳的第一测试数据包,所述第一测试数据包中的测试题包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种,所述备选节点22解答所述测试题,并向所述第一节点(图中未标示)反馈包括第一完成时间戳和第一答案的第一响应数据包。
所述第一节点(图中未标示)将所述第一响应数据包中的第一答案和第一反馈时间进行排序以形成签名排序表,并将所述签名排序表反馈给所述节点管理单元212。所述第一反馈时间为所述第一完成时间戳与所述第一出题时间戳之差。
所述节点管理单元212将所述签名排序表发送给所述区块链网络节点23中的另一个节点,即第二节点(图中未标示)并指定其为出题节点,所述第二节点(图中未标示)向所述备选节点22发送包括所述测试题、所述签名排序表和第二出题时间戳的第二测试数据包,所述备选节点22反馈包括第一完成时间戳和第二答案的第一响应数据包。所述第二节点(图中未标示)将所述第二响应数据包中的所述第二答案和所述第二反馈时间进行排序并加入到所述签名排序表中以形成新的签名排序表,并将所述新的签名排序表反馈给所述节点管理单元212。所述第二反馈时间为所述第二完成时间戳与所述第二出题时间戳之差。
所述节点管理单元212指定所述区块链网络节点23中的一个节点作为答题节点重复上述过程,直至判断所述出题节点的数量大于所述预定出题节点数量,所述节点管理单元212将最终形成的签名排序表发送给所述区块链网络节点23进行表决。同意所述备选节点22加入所述区块链网络的节点发出所述肯定投票,不同意所述备选节点22加入所述区块链网络的节点发出所述否定投票。
所述决策单元213设定阈值,当所述肯定投票的数量占总投票数量的比例大于所述阈值时,所述决策单元通过所述肯定投票,所述备选节点22加入所述区块链网络成为新加入节点。
本发明一些实施例中,所述新加入节点发出功能请求,所述功能请求为请求在所述区块链网络中承担角色,所述节点管理单元212指定所述新加入节点为所述答题节点,所述区块链网络节点23中的节点为出题节点,所述肯定投票为同意所述功能请求,所述否定投票为不同意所述功能请求。
图3为本发明另一种实施例中的实现***与区块链网络节点之间的逻辑框图。参照图2和图3,所述网络监测单元211获取区块链网络的异动情况为所述区块链网络生成区块的速度降低或无法生成区块中的任意一种,所述节点管理单元212指定所述区块链网络节点31中的一些节点为出题节点311,所述区块链网络节点31中的另一些节点为答题节点312,所述出题节点311和所述答题节点312之间的互动情况与所述备选节点22与所述区块链网络节点23之间的互动情况一致,在此不做赘述,所述表决用于确定所述区块链网络中的问题节点,所述肯定投票为同意所述问题节点退出网络,否定投票为不同意所述问题节点退出网络。
本发明一些实施例中,所述节点管理方法由区块链网络的各个节点基于各种方法实现。所述出题模块例如是由区块链网络的各个节点基于出题方法实现的。所述答题模块例如是由区块链网络中的各节点基于答题方法实现的。所述决策单元是由区块链网络中的节点基于决策方法实现的。
除非另作定义,权利要求书和说明书中使用的技术术语或者科学术语应当为本发明所属技术领域内具有一般技能的人士所理解的通常意义。
虽然本发明已以较佳实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
Claims (17)
1.一种节点管理方法,其特征在于,包括以下步骤:
S1:提供区块链网络,网络监测单元、节点管理单元和决策单元,所述网络监测单元获取所述区块链网络的异动情况并发起测试请求;
S2:所述节点管理单元指定出题节点和答题节点,所述出题节点向所述答题节点发送加盖出题时间戳的测试数据包;
S3:所述答题节点向所述出题节点反馈加盖完成时间戳的响应数据包,所述出题节点按照所述响应数据包中的答题情况和反馈时间对所述答题节点进行排序以形成签名排序表,将所述签名排序表反馈给所述节点管理单元,所述反馈时间为所述完成时间戳与所述出题时间戳之差,所述签名排序表为所述出题节点进行过签名处理的排序表,所述签名排序表中,做出正确答案的答题节点的排名优于未做出正确答案的答题节点,做出正确答案的答题节点中,按照所述反馈时间增加的顺序进行依次排序,未做出正确答案的答题节点中,按照所述反馈时间增加的顺序进行依次排序;
S4:所述节点管理单元设定预定出题节点数量,判断所述出题节点的数量是否大于所述预定出题节点数量;
S5:所述节点管理单元向所述区块链网络中的节点发送所述签名排序表,所述节点对所述签名排序表进行表决,发出肯定投票和否定投票;
S6:所述决策单元设定阈值,所述肯定投票的数量占总投票数量的比例大于所述阈值时,所述决策单元通过所述肯定投票。
2.根据权利要求1所述的节点管理方法,其特征在于,所述预定出题节点数量等于mN/((lnN+m)×2),N为所述区块链网络中的总节点数,m的范围为1-N。
3.根据权利要求2所述的节点管理方法,其特征在于,所述m的范围为1-lnN。
4.根据权利要求1所述的节点管理方法,其特征在于,所述区块链网络的节点数量小于等于100时,所述阈值为50%。
5.根据权利要求1所述的节点管理方法,其特征在于,所述区块链网络的节点数量大于100小于等于1000时,所述阈值为12%。
6.根据权利要求1所述的节点管理方法,其特征在于,所述区块链网络的节点数量大于1000时,所述阈值为2%。
7.根据权利要求1所述的节点管理方法,其特征在于,所述异动情况包括备选节点请求加入所述区块链网络以成为新加入节点,所述节点管理单元指定所述备选节点为所述答题节点,指定所述区块链网络中的节点为所述出题节点,所述区块链网络中,同意所述备选节点加入所述区块链网络的节点发出所述肯定投票,不同意所述备选节点加入所述区块链网络的节点发出所述否定投票。
8.根据权利要求7所述的节点管理方法,其特征在于,所述异动情况为所述备选节点请求加入所述区块链网络时,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种。
9.根据权利要求7所述的节点管理方法,其特征在于,所述异动情况包括所述区块链网络接收到功能请求,所述功能请求指所述新加入节点请求在所述区块链网络中承担角色,所述节点管理单元指定所述新加入节点为所述答题节点,指定所述区块链网络中除所述新加入节点以外的其他节点为所述出题节点,所述其他节点中,同意所述功能请求的节点发出所述肯定投票,不同意所述功能请求的节点发出所述否定投票。
10.根据权利要求9所述的节点管理方法,其特征在于,所述异动情况为所述区块链网络接收到所述功能请求时,所述测试数据包中包括记账节点测试题、共识节点测试题、落账节点测试题、验签节点测试题、同步节点测试题或共识候选节点测试题中的任意一种或多种,所述角色包括共识候选节点、共识节点、验签节点、记账节点、落账节点或同步节点中的任意一种。
11.根据权利要求1所述的节点管理方法,其特征在于,所述异动情况包括所述区块链网络生成区块的速度降低或无法生成区块中的任意一种,所述节点管理单元指定所述区块链网络中的一些节点为所述出题节点,同时指定所述区块链网络中的另一些节点为所述答题节点,所述区块链网络中的节点进行所述表决以确定所述区块链网络中的问题节点,同意所述问题节点退出网络的所述节点发出所述肯定投票,不同意所述问题节点退出网络的所述节点发出所述否定投票。
12.根据权利要求1或11所述的节点管理方法,其特征在于,所述异动情况为所述区块链网络生成区块的速度降低或无法生成区块中的任意一种时,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种。
13.一种实现***,其特征在于,用于实现如权利要求1-12中任一项所述的节点管理方法,所述实现***包括网络监测单元、节点管理单元和决策单元;
所述网络监测单元用于获取区块链网络的异动情况并发起测试请求;
所述节点管理单元用于指定出题节点和答题节点,设定预定出题节点数量,判断所述出题节点的数量是否大于所述预定出题节点数量以及向所述区块链网络中的节点发送签名排序表;
所述出题节点用于向所述答题节点发送加盖出题时间戳的测试数据包,接收所述答题节点反馈的加盖完成时间戳的响应数据包,按照所述响应数据包中的答题情况和反馈时间对所述答题节点进行排序以形成签名排序表,并将所述签名排序表反馈给所述节点管理单元;
所述区块链网络中的节点用于对所述签名排序表进行表决,发出肯定投票和否定投票;
所述决策单元用于设定阈值,当所述肯定投票的数量占总投票数量的比例大于所述阈值时,所述决策单元通过所述肯定投票;
所述签名排序表为所述出题节点进行过签名处理的排序表,所述签名排序表中,做出正确答案的答题节点的排名优于未做出正确答案的答题节点,做出正确答案的答题节点中,按照所述反馈时间增加的顺序进行依次排序,未做出正确答案的答题节点中,按照所述反馈时间增加的顺序进行依次排序。
14.根据权利要求13所述的实现***,其特征在于,所述异动情况包括备选节点请求加入所述区块链网络以成为新加入节点,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种,所述备选节点为所述答题节点,所述区块链网络中的节点为所述出题节点,所述肯定投票为同意所述备选节点加入所述区块链网络,所述否定投票为不同意所述备选节点加入所述区块链网络。
15.根据权利要求13所述的实现***,其特征在于,所述异动情况包括所述区块链网络接收到功能请求,所述功能请求指新加入节点请求在所述区块链网络中承担角色,所述新加入节点为所述答题节点,所述区块链网络中除所述新加入节点以外的其他节点为所述出题节点,所述肯定投票为同意所述功能请求,所述否定投票为不同意所述功能请求。
16.根据权利要求15所述的实现***,其特征在于,所述测试数据包中包括记账节点测试题、共识节点测试题、落账节点测试题、验签节点测试题、同步节点测试题或共识候选节点测试题中的任意一种或多种,所述角色包括共识候选节点、共识节点、验签节点、记账节点、落账节点或同步节点中的任意一种。
17.根据权利要求13所述的实现***,其特征在于,所述异动情况包括所述区块链网络生成区块的速度降低或无法生成区块中的任意一种,所述测试数据包中包括运算能力测试题、存储测试题或网络测试题中的任意一种或多种,所述区块链网络中的一些节点为所述出题节点,所述区块链网络中的另一些节点为所述答题节点,所述表决用于确定所述区块链网络中的问题节点,所述肯定投票为同意所述问题节点退出网络,否定投票为不同意所述问题节点退出网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810776709.9A CN108900380B (zh) | 2018-07-14 | 2018-07-14 | 一种节点管理方法及其实现*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810776709.9A CN108900380B (zh) | 2018-07-14 | 2018-07-14 | 一种节点管理方法及其实现*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108900380A CN108900380A (zh) | 2018-11-27 |
CN108900380B true CN108900380B (zh) | 2020-07-10 |
Family
ID=64349868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810776709.9A Active CN108900380B (zh) | 2018-07-14 | 2018-07-14 | 一种节点管理方法及其实现*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108900380B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936486B (zh) * | 2019-01-02 | 2021-11-26 | 平安科技(深圳)有限公司 | 基于区块链的自动拨测方法、装置、设备和存储介质 |
CN109872196A (zh) * | 2019-03-12 | 2019-06-11 | 上海溢唐数据科技有限公司 | 一种基于区块链的用户行为价值管理***及方法 |
CN109981405B (zh) * | 2019-03-20 | 2021-04-23 | 上海和数软件有限公司 | 节点管理方法、装置及计算机可读存储介质 |
CN110162470B (zh) * | 2019-04-28 | 2023-08-18 | 创新先进技术有限公司 | 一种区块链的测试方法和装置 |
CN110213038B (zh) * | 2019-06-03 | 2024-06-04 | 聂明 | 一种区块链形成共识的方法及*** |
CN110581887B (zh) * | 2019-09-02 | 2021-03-30 | 北京海益同展信息科技有限公司 | 数据处理方法、装置、区块链节点及存储介质 |
CN111143874A (zh) * | 2019-12-16 | 2020-05-12 | 广州粤建三和软件股份有限公司 | 基于区块链的起重设备监测方法、***及存储介质 |
CN111212122A (zh) * | 2019-12-25 | 2020-05-29 | 新疆天池能源有限责任公司 | 基于区块链的答题记录数据存储及分析***及方法 |
CN111786818B (zh) * | 2020-06-16 | 2023-04-18 | 杭州溪塔科技有限公司 | 一种区块链共识节点状态监控方法和装置 |
CN113438289B (zh) | 2020-07-08 | 2023-05-12 | 支付宝(杭州)信息技术有限公司 | 基于云计算的区块链数据处理方法及装置 |
CN111885133B (zh) * | 2020-07-10 | 2023-06-09 | 深圳力维智联技术有限公司 | 基于区块链的数据处理方法、装置及计算机存储介质 |
CN112600919B (zh) * | 2020-12-10 | 2022-06-21 | 中国科学院深圳先进技术研究院 | 一种基于PoW共识机制的设备算力评价方法及*** |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106097006A (zh) * | 2016-06-09 | 2016-11-09 | 杭州复杂美科技有限公司 | 区块链计费模式 |
CN106204287A (zh) * | 2016-07-18 | 2016-12-07 | 上海仲托网络科技有限公司 | 基于区块链的互助保险和互助保障运行方法及*** |
CN106228446A (zh) * | 2016-05-12 | 2016-12-14 | 北京众享比特科技有限公司 | 基于私有区块链的资产交易平台***及方法 |
CN106445711A (zh) * | 2016-08-28 | 2017-02-22 | 杭州云象网络技术有限公司 | 一种应用于区块链的拜占庭容错共识方法 |
CN106600401A (zh) * | 2015-10-14 | 2017-04-26 | 地气股份有限公司 | 电子货币管理方法及其电子货币*** |
CN106649838A (zh) * | 2016-12-29 | 2017-05-10 | 先锋支付有限公司 | 数据传输方法、区块链节点及分布式数据库 |
CN106651332A (zh) * | 2016-12-29 | 2017-05-10 | 先锋支付有限公司 | 一种区块链中新区快的生成方法及区块链 |
CN106878000A (zh) * | 2017-03-06 | 2017-06-20 | 中钞***产业发展有限公司北京智能卡技术研究院 | 一种联盟链共识方法及*** |
CN107172586A (zh) * | 2017-05-19 | 2017-09-15 | 北京航空航天大学 | 基于区块链的移动终端网络定位方法 |
US9875510B1 (en) * | 2015-02-03 | 2018-01-23 | Lance Kasper | Consensus system for tracking peer-to-peer digital records |
-
2018
- 2018-07-14 CN CN201810776709.9A patent/CN108900380B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9875510B1 (en) * | 2015-02-03 | 2018-01-23 | Lance Kasper | Consensus system for tracking peer-to-peer digital records |
CN106600401A (zh) * | 2015-10-14 | 2017-04-26 | 地气股份有限公司 | 电子货币管理方法及其电子货币*** |
CN106228446A (zh) * | 2016-05-12 | 2016-12-14 | 北京众享比特科技有限公司 | 基于私有区块链的资产交易平台***及方法 |
CN106097006A (zh) * | 2016-06-09 | 2016-11-09 | 杭州复杂美科技有限公司 | 区块链计费模式 |
CN106204287A (zh) * | 2016-07-18 | 2016-12-07 | 上海仲托网络科技有限公司 | 基于区块链的互助保险和互助保障运行方法及*** |
CN106445711A (zh) * | 2016-08-28 | 2017-02-22 | 杭州云象网络技术有限公司 | 一种应用于区块链的拜占庭容错共识方法 |
CN106649838A (zh) * | 2016-12-29 | 2017-05-10 | 先锋支付有限公司 | 数据传输方法、区块链节点及分布式数据库 |
CN106651332A (zh) * | 2016-12-29 | 2017-05-10 | 先锋支付有限公司 | 一种区块链中新区快的生成方法及区块链 |
CN106878000A (zh) * | 2017-03-06 | 2017-06-20 | 中钞***产业发展有限公司北京智能卡技术研究院 | 一种联盟链共识方法及*** |
CN107172586A (zh) * | 2017-05-19 | 2017-09-15 | 北京航空航天大学 | 基于区块链的移动终端网络定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108900380A (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108900380B (zh) | 一种节点管理方法及其实现*** | |
CN110113388B (zh) | 一种基于改进型聚类算法的区块链***共识的方法和装置 | |
CN108717630B (zh) | 一种出块方法及其实现*** | |
CN109447795B (zh) | 一种支持快速达成最终确认性的拜占庭共识方法 | |
Meng et al. | On consortium blockchain consistency: A queueing network model approach | |
Popov et al. | The coordicide | |
CN109885264B (zh) | 一种区块链节点的逻辑分片方法及其*** | |
CN112134762B (zh) | 针对区块链网络结构的测试方法、装置、终端和存储介质 | |
CN109409887B (zh) | 实现区块链共识机制的方法 | |
Hu et al. | CRSM: An effective blockchain consensus resource slicing model for real-time distributed energy trading | |
CN111612613A (zh) | 一种部署有中心化***的区块链网络 | |
Zhang et al. | Cycledger: A scalable and secure parallel protocol for distributed ledger via sharding | |
CN113326516A (zh) | 区块链共识方法、区块链***及计算机设备 | |
Gupta et al. | A probabilistically correct leader election protocol for large groups | |
CN112788137A (zh) | 一种基于raft算法的联盟链共识方法 | |
CN111614708A (zh) | 一种基于区块链的交易*** | |
JP7288264B2 (ja) | トランザクションシーケンスコンセンサス方法及びシステム | |
CN111292098A (zh) | 一种面向可信服务供应链的区块链共识机制构建方法 | |
RU2706459C1 (ru) | Способ принятия единого согласованного решения в распределенной системе ЭВМ | |
CN113568972A (zh) | 一种面向图式区块链的混合共识实现装置及实现方法 | |
CN114003584A (zh) | 一种基于演化博弈的拜占庭容错共识方法 | |
CN113448694B (zh) | 一种提高事务处理能力的区块链共识方法 | |
CN112468255A (zh) | 基于网络共识结合vrf算法的区块链节点时间同步方法 | |
Islam et al. | A comparative analysis of proof-of-authority consensus algorithms: Aura vs Clique | |
CN115022326B (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 |