CN110505313B - 一种超级节点选取方法、装置和设备 - Google Patents
一种超级节点选取方法、装置和设备 Download PDFInfo
- Publication number
- CN110505313B CN110505313B CN201910912759.XA CN201910912759A CN110505313B CN 110505313 B CN110505313 B CN 110505313B CN 201910912759 A CN201910912759 A CN 201910912759A CN 110505313 B CN110505313 B CN 110505313B
- Authority
- CN
- China
- Prior art keywords
- node
- super
- target node
- distance
- preset
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/30—Decision processes by autonomous network management units using voting and bidding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/107—Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Mobile Radio Communication Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种超级节点选取方法、装置和设备,方法包括:获取预置区块链中的第一目标节点;计算第一目标节点和原始节点之间的距离,得到第一距离值;若第一距离值大于或等于第一预置阈值,则对第一目标节点进行验证,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点;若第一距离值小于第一预置阈值,则返回获取预置区块链中的第一目标节点的步骤。解决了现有的超级节点与原始节点距离过近,存在超级节点与原始节点串通作弊风险的技术问题。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种超级节点选取方法、装置和设备。
背景技术
区块链是分布式数据存储、共识机制、加密算法等计算机技术的新型应用模式。区块链中含有多个节点,可以在多个节点中选取超级节点。区块链上的节点产生交易后,超级节点可以对原始节点的交易记录进行验证,原始节点为该区块链中发起交易的节点,并将该记录的交易记录储存并同步在该区块链上。但是,现有的超级节点一般是采用随机选取方法,存在超级节点与原始节点距离过近,超级节点与原始节点可能会串通作弊的问题。
发明内容
本申请提供了一种超级节点选取方法、装置和设备,用于解决现有的超级节点与原始节点距离过近,存在超级节点与原始节点串通作弊风险的技术问题。
本申请第一方面提供了一种超级节点选取方法,包括:
获取预置区块链中的第一目标节点;
计算所述第一目标节点和原始节点之间的距离,得到第一距离值;
若所述第一距离值大于或等于第一预置阈值,则对所述第一目标节点进行验证,在所述第一目标节点验证通过时,将所述第一目标节点选取为第一超级节点;
若所述第一距离值小于所述第一预置阈值,则返回所述获取预置区块链中的第一目标节点的步骤。
可选的,所述获取预置区块链中的第一目标节点,包括:
基于可验证随机函数在预置区块链中的所有非原始节点中选取第一目标节点。
可选的,所述计算所述第一目标节点和原始节点之间的距离,得到第一距离值,包括:
基于谷歌S2距离算法计算所述第一目标节点和原始节点之间的距离,得到第一距离值。
可选的,还包括:
B1:获取所述预置区块链中的第二目标节点;
B2:基于谷歌S2距离算法计算所述第二目标节点和所述原始节点之间的距离,得到第二距离值;
B3:基于谷歌S2距离算法计算所述第二目标节点和所述第一超级节点之间的距离,得到第三距离值;
B4:若所述第二距离值和所述第三距离值均大于或等于第二预置阈值,则对所述第二目标节点进行验证,在所述第二目标节点验证通过时,将所述第二目标节点选取为第二超级节点;
B5:若所述第二距离值和/或所述第三距离值小于所述第二预置阈值,则返回步骤B1;
B6:重复步骤B1-步骤B5,直到超级节点的数量等于预置超级节点数;
B7:在所有超级节点中选取一个超级节点作为所述预置区块链中的最终超级节点。
可选的,步骤B6之前,还包括:
B0:基于所述预置区块链中的所有节点数量确定所述预置超级节点数,其中所述预置超级节点数为2个以上。
可选的,步骤B7具体包括:
基于随机算法在所有超级节点中随机选取一个超级节点作为所述预置区块链中的最终超级节点。
本申请第二方面提供了一种超级节点选取装置,包括:
第一获取模块,用于获取预置区块链中的第一目标节点;
第一计算模块,用于计算所述第一目标节点和原始节点之间的距离,得到第一距离值;
第一验证模块,用于若所述第一距离值大于或等于第一预置阈值,则对所述第一目标节点进行验证,在所述第一目标节点验证通过时,将所述第一目标节点选取为第一超级节点;
第一触发模块,用于若所述第一距离值小于所述第一预置阈值,则触发所述第一获取模块。
可选的,还包括:
第二获取模块,用于获取所述预置区块链中的第二目标节点;
第二计算模块,用于基于谷歌S2距离算法计算所述第二目标节点和所述原始节点之间的距离,得到第二距离值;
第三计算模块,用于基于谷歌S2距离算法计算所述第二目标节点和所述第一超级节点之间的距离,得到第三距离值;
第二验证模块,用于若所述第二距离值和所述第三距离值均大于或等于第二预置阈值,则对所述第二目标节点进行验证,在所述第二目标节点验证通过时,将所述第二目标节点选取为第二超级节点;
第二触发模块,用于若所述第二距离值和/或所述第三距离值小于所述第二预置阈值,则触发所述第二获取模块;
第三触发模块,用于触发所述第二获取模块、所述第二计算模块、所述第三计算模块、所述第二验证模块和所述第二触发模块,直到超级节点的数量等于预置超级节点数;
选取模块,用于在所有超级节点中选取一个超级节点作为所述预置区块链中的最终超级节点。
可选的,还包括:
预处理模块,用于基于所述预置区块链中的所有节点数量确定所述预置超级节点数,其中所述预置超级节点数为2个以上。
本申请第三方面提供了一种超级节点选取设备,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面任一项所述的超级节点选取方法。
从以上技术方案可以看出,本发明具有以下优点:
本申请提供了一种超级节点选取方法,包括:获取预置区块链中的第一目标节点;计算第一目标节点和原始节点之间的距离,得到第一距离值;若第一距离值大于或等于第一预置阈值,则对第一目标节点进行验证,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点;若第一距离值小于第一预置阈值,则返回获取预置区块链中的第一目标节点的步骤。本申请中提供的超级节点选取方法,通过获取预置区块链中的第一目标节点,计算第一目标节点和原始节点之间的距离,得到第一距离值,然后将第一距离值与第一预置阈值进行比较,当第一目标节点与原始节点足够远的时候,该第一目标节点才有机会成为第一超级节点,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点,通过比较第一距离值与第一预置阈值来选取第一超级节点,以此避免超级节点与原始节点距离过近,存在超级节点与原始节点串通作弊风险的问题,解决了现有的超级节点与原始节点距离过近,存在超级节点与原始节点串通作弊风险的技术问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明提供的一种超级节点选取方法的第一个实施例的流程示意图;
图2为本发明提供的一种超级节点选取方法的第二个实施例的流程示意图;
图3为本发明提供的一种超级节点选取方法的第三个实施例的流程示意图;
图4为本发明提供的一种超级节点选取装置的一个实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解,请参阅图1,本申请提供了一种超级节点选取方法的第一个实施例,包括:
步骤101、获取预置区块链中的第一目标节点。
需要说明的是,预置区块链上除了发起交易的原始节点外的其他非原始节点均有机会成为目标节点,在所有非原始节点中获取第一目标节点。
步骤102、计算第一目标节点和原始节点之间的距离,得到第一距离值。
需要说明的是,现有的超级节点一般是采用随机选取方法,存在超级节点与原始节点距离过近,从而存在超级节点与原始节点串通作弊风险的问题,本申请实施例中通过计算第一目标节点和原始节点之间的距离,得到第一距离值,以便于后续进行距离筛选,达到选取超级节点的目的。
步骤103、若第一距离值大于或等于第一预置阈值,则对第一目标节点进行验证,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点,若第一距离值小于第一预置阈值,则返回步骤101。
需要说明的是,本申请实施例中预先设置一个距离阈值,若通过计算第一目标节点和原始节点之间的距离所得到的第一距离值大于或等于第一预置阈值,则对第一目标节点进行验证,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点,该第一超级节点为最终超级节点,可以用于对原始节点的交易记录进行出块。通过第一预置阈值,使得选取的第一超级节点与原始节点之间的距离足够远,从而避免超级节点与原始节点距离过近,存在超级节点与原始节点串通作弊风险的问题。
若第一距离值小于第一预置阈值,说明第一目标节点与原始节点存在距离过近的问题,该第一目标节点不能被选取为超级节点,则返回步骤101,在预置区块链中重新获取第一目标节点。
本申请提供了一种超级节点选取方法,包括:获取预置区块链中的第一目标节点;计算第一目标节点和原始节点之间的距离,得到第一距离值;若第一距离值大于或等于第一预置阈值,则对第一目标节点进行验证,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点;若第一距离值小于第一预置阈值,则返回获取预置区块链中的第一目标节点的步骤。本申请中提供的超级节点选取方法,通过获取预置区块链中的第一目标节点,计算第一目标节点和原始节点之间的距离,得到第一距离值,然后将第一距离值与第一预置阈值进行比较,当第一目标节点与原始节点足够远的时候,该第一目标节点才有机会成为第一超级节点,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点,通过比较第一距离值与第一预置阈值来选取第一超级节点,以此避免超级节点与原始节点距离过近,存在超级节点与原始节点串通作弊风险的问题,解决了现有的超级节点与原始节点距离过近,存在超级节点与原始节点串通作弊风险的技术问题。
为了便于理解,请参阅图2,本申请提供了一种超级节点选取方法的第二个实施例,包括:
步骤201、获取预置区块链中的第一目标节点。
需要说明的是,本申请实施例中可以采用可验证随机函数(Verifiable RandomFunction,VRF)在所有非原始节点中选取第一目标节点,具体为:非原始节点根据自身的私钥和一个预置区块链都知道的随机数轮流生成新的随机数,判断新的随机数是否满足预设条件,可以是判断该新的随机数是否大于预设的数值,若新的随机数满足预设条件,则该新的随机数对应的非原始节点被选取为第一目标节点,并且该第一目标节点在预置区块链上广播该生成的新的随机数,以便于其他节点进行验证。例如,假设本次为第2轮选取第一目标节点,一共有100个非原始节点,假设生成的新的随机数大于10为满足预设条件,前5个非原始节点依次生成的随机数均小于10,6号非原始节点根据自身的私钥和一个预置区块链都知道的随机数(可以为预置区块链都知道的本轮次的数值2)生成的随机数为11,那么6号非原始节点被选取为本轮的第一目标节点,6号非原始节点可以在预置区块链上广播生成的随机数11,以便于其他节点进行验证。
步骤202、计算第一目标节点和原始节点之间的距离,得到第一距离值。
需要说明的是,现有的超级节点一般是采用随机选取方法,存在超级节点与原始节点距离过近,从而存在超级节点与原始节点串通作弊风险的问题,本申请实施例中可以采用谷歌S2距离算法计算第一目标节点和原始节点之间的距离,得到第一距离值,以便于后续进行距离筛选,达到选取超级节点的目的。
采用谷歌S2距离算法计算原始节点与第一目标节点之间的距离,具体步骤为:
获取第一目标节点的经纬度和原始节点的经纬度,第一目标节点的经纬度由第一目标节点的网际协议IP地址生成,原始节点的经纬度由原始节点的网际协议IP地址生成;基于谷歌S2距离算法、第一目标节点的经纬度和原始节点的经纬度计算第一目标节点和原始节点之间的空间距离,得到第一距离值。
步骤203、若第一距离值大于或等于第一预置阈值,则对第一目标节点进行验证,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点,若第一距离值小于第一预置阈值,则返回步骤201。
需要说明的是,本申请实施例中预先设置一个距离阈值,若通过计算第一目标节点和原始节点之间的距离所得到的第一距离值大于或等于第一预置阈值,则对第一目标节点进行验证,该预置区块链上的其他节点可以根据第一目标节点的公钥对该第一目标节点进行验证,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点,该第一超级节点为最终超级节点,可以用于对原始节点的交易记录进行出块。
通过第一预置阈值,使得选取的第一超级节点与原始节点之间的距离足够远,从而避免超级节点与原始节点距离过近,存在超级节点与原始节点串通作弊风险的问题。
若第一距离值小于第一预置阈值,说明第一目标节点与原始节点存在距离过近的问题,该第一目标节点不能被选取为第一超级节点,则返回步骤201,在预置区块链中重新获取第一目标节点。
步骤204、获取预置区块链中的第二目标节点。
需要说明的是,本申请实施例中采用可验证随机函数(Verifiable RandomFunction,VRF)在剩余的非原始节点中选取第二目标节点,剩余的非原始节点为该轮没有参与选取第一目标节点的非原始节点,例如,步骤201中提到的例子,前6个非原始节点生成了新的随机数,参与了选取第一目标节点,那么第二目标节点在剩下的7-100个非原始节点中选取,直到某个非原始节点生成的随机数大于10,该非原始节点被选取为第二目标节点,并且该第二目标节点在预置区块链上广播该随机数,以便于其他节点进行验证。
步骤205、基于谷歌S2距离算法计算第二目标节点和原始节点之间的距离,得到第二距离值。
需要说明的是,本申请实施例中的计算第二目标节点和原始节点之间的距离的具体步骤与步骤202中计算第一目标节点和原始节点之间的距离的具体步骤一致,在此不再进行赘述。
步骤206、基于谷歌S2距离算法计算第二目标节点和第一超级节点之间的距离,得到第三距离值。
需要说明的是,本申请实施例中的计算第二目标节点和第一超级节点之间的距离的具体步骤与步骤202中计算第一目标节点和原始节点之间的距离的具体步骤一致,在此不再进行赘述。
步骤207、若第二距离值和第三距离值均大于或等于第二预置阈值,则对第二目标节点进行验证,在第二目标节点验证通过时,将第二目标节点选取为第二超级节点,若第二距离值和/或第三距离值小于第二预置阈值,则返回步骤204。
需要说明的是,第二预置阈值可以和第一预置阈值一样,也可以和第一预置阈值不一样,可以根据实际情况进行设置。
若计算得到的第二距离值和第三距离值均大于或等于第二预置阈值,则对第二目标节点进行验证,该预置区块链上的其他节点可以根据第二目标节点的公钥对该第二目标节点进行验证,在第二目标节点验证通过时,将第二目标节点选取为第二超级节点,第二目标节点验证不通过时,第二目标节点不能成为第二超级节点。
通过第二预置阈值,使得选取的第二超级节点与原始节点、第一超级节点之间的距离足够远,即能避免超级节点与原始节点距离过近,存在超级节点与原始节点串通作弊风险的问题,又能避免超级节点过于集中所导致的超级节点作弊的问题。
若第二距离值和/或第三距离值小于第二预置阈值,说明第二目标节点与原始节点和/或第一超级节点存在距离过近的问题,该第二目标节点不能被选取为第二超级节点,则返回步骤204,在预置区块链中的剩余非原始节点中重新选取第二目标节点,剩余的非原始节点为该轮没有参与选取第一目标节点和第二目标节点的非原始节点。
步骤208、重复步骤204-步骤207,直到超级节点的数量等于预置超级节点数。
需要说明的是,重复步骤204-步骤207,在剩余的非原始节点中选取第三目标节点、第四目标节点等等,剩余的非原始节点为该轮没有参加前述目标节点选取的非原始节点,计算当前目标节点与原始节点和已经选取的各个超级节点之间的距离,通过阈值比较和公钥验证,进而选取第三超级节点、第四超级节点等等,直到超级节点的数量等于预置超级节点数,停止选取超级节点。
步骤209、在所有超级节点中选取一个超级节点作为预置区块链中的最终超级节点。
需要说明的是,可以采用随机算法在选取的所有超级节点中随机选取一个超级节点作为该预置区块链上的最终超级节点,也可以将第一超级节点选取为最终超级节点,该超级节点可以用于对原始节点的交易记录进行出块。
在对原始节点的交易记录进行出块的最终超级节点选好之后,可以每隔一段预设时间检测该最终超级节点是否有出块,若没有出块,可以进一步通过心跳检测该最终超级节点是否发生故障,若该最终超级节点发生故障,则在所有超级节点的剩余超级节点中选择一个超级节点替代该发生故障的最终超级节点。在选择了替代超级节点之后,可以采用上述方法重新选取一个超级节点进行补充。
为了便于理解,请参阅图3,本申请提供了一种超级节点选取方法的第三个实施例,包括:
步骤301、基于预置区块链中的所有节点数量确定预置超级节点数。
需要说明的是,预置超级节点数为2个以上,获取预置区块链中的所有节点数量,从而可以根据获取的节点数量确定超级节点的数量。当节点数量多并超过一定的数量时,预置超级节点数也会相应的增加,当节点数量较少时,预置超级节点数也会相应的减少。
需要注意的是,步骤301不仅仅可以在步骤302之前,可以在步骤309的任一步骤之前,在此不做具体的限定。
步骤302、获取预置区块链中的第一目标节点。
步骤303、计算第一目标节点和原始节点之间的距离,得到第一距离值。
步骤304、若第一距离值大于或等于第一预置阈值,则对第一目标节点进行验证,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点,若第一距离值小于预置阈值,则返回步骤302。
步骤305、获取预置区块链中的第二目标节点。
步骤306、基于谷歌S2距离算法计算第二目标节点和原始节点之间的距离,得到第二距离值。
步骤307、基于谷歌S2距离算法计算第二目标节点和第一超级节点之间的距离,得到第三距离值。
步骤308、若第二距离值和第三距离值均大于或等于第二预置阈值,则对第二目标节点进行验证,在第二目标节点验证通过时,将第二目标节点选取为第二超级节点,若第二距离值和/或第三距离值小于第二预置阈值,则返回步骤305。
步骤309、重复步骤305-步骤308,直到超级节点的数量等于预置超级节点数。
步骤310、在所有超级节点中选取一个超级节点作为预置区块链中的最终超级节点。
需要说明的是,本申请实施例中的步骤302至步骤310与上一实施例中的步骤201至步骤209一致,在此不再进行赘述。
为了便于理解,请参阅图4,本申请提供了一种超级节点选取装置的一个实施例,包括:
第一获取模块401,用于获取预置区块链中的第一目标节点。
第一计算模块402,用于计算第一目标节点和原始节点之间的距离,得到第一距离值。
第一验证模块403,用于若第一距离值大于或等于第一预置阈值,则对第一目标节点进行验证,在第一目标节点验证通过时,将第一目标节点选取为第一超级节点。
第一触发模块404,用于若第一距离值小于第一预置阈值,则触发第一获取模块401。
进一步的,还包括:
第二获取模块405,用于获取预置区块链中的第二目标节点。
第二计算模块406,用于基于谷歌S2距离算法计算第二目标节点和原始节点之间的距离,得到第二距离值。
第三计算模块407,用于基于谷歌S2距离算法计算第二目标节点和第一超级节点之间的距离,得到第三距离值。
第二验证模块408,用于若第二距离值和第三距离值均大于或等于第二预置阈值,则对第二目标节点进行验证,在第二目标节点验证通过时,将第二目标节点选取为第二超级节点。
第二触发模块409,用于若第二距离值和/或第三距离值小于第二预置阈值,则触发第二获取模块405。
第三触发模块410,用于触发第二获取模块405、第二计算模块406、第三计算模块407、第二验证模块408和第二触发模块409,直到超级节点的数量等于预置超级节点数。
选取模块411,用于在所有超级节点中选取一个超级节点作为预置区块链中的最终超级节点。
进一步的,还包括:
预处理模块412,用于基于预置区块链中的所有节点数量确定预置超级节点数,其中预置超级节点数为2个以上。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种超级节点选取方法,其特征在于,包括以下步骤:
获取预置区块链中的第一目标节点;
计算所述第一目标节点和原始节点之间的距离,得到第一距离值;
若所述第一距离值大于或等于第一预置阈值,则对所述第一目标节点进行验证,在所述第一目标节点验证通过时,将所述第一目标节点选取为第一超级节点;
若所述第一距离值小于所述第一预置阈值,则返回所述获取预置区块链中的第一目标节点的步骤;
还包括:
B1:获取所述预置区块链中的第二目标节点;
B2:基于谷歌S2距离算法计算所述第二目标节点和所述原始节点之间的距离,得到第二距离值;
B3:基于谷歌S2距离算法计算所述第二目标节点和所述第一超级节点之间的距离,得到第三距离值;
B4:若所述第二距离值和所述第三距离值均大于或等于第二预置阈值,则对所述第二目标节点进行验证,在所述第二目标节点验证通过时,将所述第二目标节点选取为第二超级节点;
B5:若所述第二距离值和/或所述第三距离值小于所述第二预置阈值,则返回步骤B1;
B6:重复步骤B1-步骤B5,直到超级节点的数量等于预置超级节点数;
B7:在所有超级节点中选取一个超级节点作为所述预置区块链中的最终超级节点。
2.根据权利要求1所述的超级节点选取方法,其特征在于,所述获取预置区块链中的第一目标节点,包括:
基于可验证随机函数在预置区块链中的所有非原始节点中选取第一目标节点。
3.根据权利要求1所述的超级节点选取方法,其特征在于,所述计算所述第一目标节点和原始节点之间的距离,得到第一距离值,包括:
基于谷歌S2距离算法计算所述第一目标节点和原始节点之间的距离,得到第一距离值。
4.根据权利要求1所述的超级节点选取方法,其特征在于,步骤B6之前,还包括:
B0:基于所述预置区块链中的所有节点数量确定所述预置超级节点数,其中所述预置超级节点数为2个以上。
5.根据权利要求1所述的超级节点选取方法,其特征在于,步骤B7具体包括:
基于随机算法在所有超级节点中随机选取一个超级节点作为所述预置区块链中的最终超级节点。
6.一种超级节点选取装置,其特征在于,包括:
第一获取模块,用于获取预置区块链中的第一目标节点;
第一计算模块,用于计算所述第一目标节点和原始节点之间的距离,得到第一距离值;
第一验证模块,用于若所述第一距离值大于或等于第一预置阈值,则对所述第一目标节点进行验证,在所述第一目标节点验证通过时,将所述第一目标节点选取为第一超级节点;
第一触发模块,用于若所述第一距离值小于所述第一预置阈值,则触发所述第一获取模块;
还包括:
第二获取模块,用于获取所述预置区块链中的第二目标节点;
第二计算模块,用于基于谷歌S2距离算法计算所述第二目标节点和所述原始节点之间的距离,得到第二距离值;
第三计算模块,用于基于谷歌S2距离算法计算所述第二目标节点和所述第一超级节点之间的距离,得到第三距离值;
第二验证模块,用于若所述第二距离值和所述第三距离值均大于或等于第二预置阈值,则对所述第二目标节点进行验证,在所述第二目标节点验证通过时,将所述第二目标节点选取为第二超级节点;
第二触发模块,用于若所述第二距离值和/或所述第三距离值小于所述第二预置阈值,则触发所述第二获取模块;
第三触发模块,用于触发所述第二获取模块、所述第二计算模块、所述第三计算模块、所述第二验证模块和所述第二触发模块,直到超级节点的数量等于预置超级节点数;
选取模块,用于在所有超级节点中选取一个超级节点作为所述预置区块链中的最终超级节点。
7.根据权利要求6所述的超级节点选取装置,其特征在于,还包括:
预处理模块,用于基于所述预置区块链中的所有节点数量确定所述预置超级节点数,其中所述预置超级节点数为2个以上。
8.一种超级节点选取设备,其特征在于,所述设备包括处理器以及存储器;
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-5任一项所述的超级节点选取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910912759.XA CN110505313B (zh) | 2019-09-25 | 2019-09-25 | 一种超级节点选取方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910912759.XA CN110505313B (zh) | 2019-09-25 | 2019-09-25 | 一种超级节点选取方法、装置和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110505313A CN110505313A (zh) | 2019-11-26 |
CN110505313B true CN110505313B (zh) | 2022-04-15 |
Family
ID=68592717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910912759.XA Active CN110505313B (zh) | 2019-09-25 | 2019-09-25 | 一种超级节点选取方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505313B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101939A (zh) * | 2020-09-14 | 2020-12-18 | 邢文超 | 基于区块链的节点管理方法及系统 |
CN115189881B (zh) * | 2022-09-07 | 2022-11-29 | 广东名阳信息科技有限公司 | 一种基于边缘计算的物联网数据接入及处理系统及方法 |
CN116562885B (zh) * | 2023-07-07 | 2023-09-29 | 北京信大融金教育科技有限公司 | 基于区块链的供应链系统管理方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108550038A (zh) * | 2018-04-18 | 2018-09-18 | 杭州秘猿科技有限公司 | 一种应用于区块链的数据传播系统及方法 |
CN110460471A (zh) * | 2019-08-15 | 2019-11-15 | 广州蚁比特区块链科技有限公司 | 一种超级节点竞选方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9355105B2 (en) * | 2012-12-19 | 2016-05-31 | International Business Machines Corporation | Indexing of large scale patient set |
-
2019
- 2019-09-25 CN CN201910912759.XA patent/CN110505313B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108550038A (zh) * | 2018-04-18 | 2018-09-18 | 杭州秘猿科技有限公司 | 一种应用于区块链的数据传播系统及方法 |
CN110460471A (zh) * | 2019-08-15 | 2019-11-15 | 广州蚁比特区块链科技有限公司 | 一种超级节点竞选方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110505313A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110505313B (zh) | 一种超级节点选取方法、装置和设备 | |
CN110381072A (zh) | 基于区块链的数据验证方法、系统和计算机可读存储介质 | |
GB2579635A (en) | A node testing method and apparatus for a blockchain system | |
CN110022315B (zh) | 一种块链式账本中的权重管理方法、装置及设备 | |
CN110928880B (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
CN107465698A (zh) | 一种数据校验方法及服务器 | |
CN107682328A (zh) | 一种数据校验方法及客户端 | |
CN110851535B (zh) | 基于区块链的数据处理方法、装置、存储介质及终端 | |
CN110460471B (zh) | 一种超级节点竞选方法、装置及存储介质 | |
CN112069169A (zh) | 区块数据存储方法、装置、电子设备及可读存储介质 | |
CN110620671B (zh) | 加密算法测评方法、介质、设备及装置 | |
CN111431908A (zh) | 一种访问处理方法、装置及可读存储介质 | |
CN107948177B (zh) | 验证问卷的生成方法和装置 | |
Lima | Tax evasion and nonequilibrium model on Apollonian networks | |
JP6411321B2 (ja) | 認証手段選択装置、認証手段選択方法、およびプログラム | |
US11502829B2 (en) | Robust input verification for secure multi-party computation (MPC) with clients | |
CN112926053B (zh) | 无许可区块链系统中恶意区块的探测方法、系统及p2p网络 | |
CN112634034A (zh) | 预约方法、装置、电子设备及计算机可读存储介质 | |
CN108521449B (zh) | 网络设备操作记录异地备份方法和系统 | |
CN111815845B (zh) | 基于异构区块链的摇号方法、装置、系统、设备和介质 | |
US20240173629A1 (en) | Selecting one of multiple user devices in a network gaming system | |
US11997196B2 (en) | Robust input verification for secure multi-party computation (MPC) with clients | |
CN110362422A (zh) | 一种数据备份方法、装置及系统 | |
CN117454153B (zh) | 一种基于图数据的隐私特征验证方法、系统及电子设备 | |
CN113051616B (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 |