CN113383364A - Verifier node selection method, electronic device, system, and medium - Google Patents

Verifier node selection method, electronic device, system, and medium Download PDF

Info

Publication number
CN113383364A
CN113383364A CN201980004692.8A CN201980004692A CN113383364A CN 113383364 A CN113383364 A CN 113383364A CN 201980004692 A CN201980004692 A CN 201980004692A CN 113383364 A CN113383364 A CN 113383364A
Authority
CN
China
Prior art keywords
node
verifier
nodes
score
proposer
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
Application number
CN201980004692.8A
Other languages
Chinese (zh)
Other versions
CN113383364B (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.)
Shenzhen Xunlei Network Technology Co Ltd
Original Assignee
Shenzhen Onething 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 Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Publication of CN113383364A publication Critical patent/CN113383364A/en
Application granted granted Critical
Publication of CN113383364B publication Critical patent/CN113383364B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

The invention provides a verifier node selection method, electronic equipment, a system and a medium. The method can acquire the information of X candidate nodes in a block chain system, the information of the candidate nodes comprises historical service quality scores of the candidate nodes, and Y verifier nodes are selected from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes; x, Y is a positive integer, and X is less than or equal to Y, thereby realizing dynamic adjustment of the verification person node set, improving the verification efficiency of the block chain system, further improving the service quality of the block chain system, and accelerating the transaction speed.

Description

Verifier node selection method, electronic device, system, and medium Technical Field
The invention relates to the technical field of block chains, in particular to a verifier node selection method, electronic equipment, a verifier node selection system and a verifier node selection medium.
Background
The block chain is a novel distributed system technology, and a consensus mechanism is an extremely important ring. Through a consensus mechanism, all nodes in the distributed system can directly achieve the knowledge of data consistency, and therefore the consistency of data storage is guaranteed. With the continuous development of the block chain technology, various consensus mechanisms are generated, wherein a "BFT-like (Byzantine Fault Tolerance algorithm)" consensus mechanism is the most representative one, and the consensus mechanism uses a "Byzantine mechanism" to achieve consensus among nodes, and derives various derivation mechanisms such as PBFT (Practical Byzantine Fault Tolerance system), RBFT (Redundant Byzantine Fault Tolerance system), and SBFT (simple Byzantine Fault Tolerance).
In the above-mentioned various consensus mechanisms, the service quality of each verifier node in the set of verifier nodes is not evaluated, nor is the set of verifier nodes updated. Therefore, when the rogue node appears, the system efficiency is likely to be reduced because no effective counter measures are taken, and the transaction confirmation speed of the blockchain system is further influenced.
Disclosure of Invention
The invention mainly aims to provide a verifier node selection method, electronic equipment, a verifier node selection system and a verifier node selection medium, which can evaluate each elected proposer node based on service data, further update a verifier node set, realize dynamic adjustment of the verifier node set, improve the efficiency of a block chain system and further improve the service quality of the system.
In order to achieve the above object, the present invention provides a verifier node selection method, including:
acquiring information of X candidate nodes in a block chain system, wherein the information of the candidate nodes comprises historical service quality scores of the candidate nodes;
selecting Y verifier nodes from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes; wherein X, Y are all positive integers, and X is less than or equal to Y.
Preferably, the selecting Y verifier nodes from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes includes:
and selecting the first Y nodes with the highest historical service quality score from the X candidate nodes to form a verifier node set of the target block.
Preferably, the method further comprises:
selecting one verification node from the verifier node set as a proposer node of a target block;
acquiring service data generated by the proposer node in a preset time period;
evaluating the proposer node according to the service data to obtain a service quality score in a preset time period; and
and updating the historical service quality score of the proposer node according to the service quality score.
Preferably, the evaluating the proposer node according to the service data to obtain a service quality score in a preset time period includes:
acquiring current service data of the proposer node and service data generated when a preset number of times adjacent to the current service is used as the proposer node to perform service from the service data;
according to the acquired service data, when the proposer node is determined to propose valid blocks in continuous M times of services including the current service, or propose invalid blocks and/or unreported blocks in continuous N times of services, updating the historical service quality score of the proposer node and keeping the proposer node; or
Updating a historical service quality score of the proposer node and removing the proposer node when determining that the proposer node proposes an invalid block and/or an unrendered block in continuous Q services including the current service according to the acquired service data;
wherein M, N, Q is an integer greater than 0, and Q is greater than N.
Preferably, when the service quality score is an update score and is retained, when the historical service quality score of the proposer node is updated and the proposer node is retained, the method further comprises:
obtaining a current score of the proposer node;
when the proposer node proposes a valid block in continuous M services including the current service, the current score is improved by a preset score; or
When the proposer node proposes invalid blocks and/or non-proposed blocks in N continuous services including the current service, reducing the current score by the preset score.
Preferably, when the service quality score is an update score and removed, the method further comprises, when updating a historical service quality score of the proposer node and removing the proposer node:
obtaining a current score of the proposer node;
reducing the current score by a preset score and removing the proposer node from the verifier node set;
obtaining the nodes with the highest scores in the other nodes except the verifier node set in the X optional nodes;
and adding the acquired nodes into the verifier node set.
Preferably, the method further comprises:
after the block is configured, sorting nodes in the X candidate nodes from high to low according to scores;
and acquiring nodes arranged in the previous preset positions to reconstruct the verifier node set.
Preferably, the method further comprises:
and in the X candidate nodes, when detecting that the node does not accept verification and/or repeated voting, setting the score of the detected node to zero, and deleting the detected node from the X candidate nodes.
To achieve the above object, the present invention further provides an electronic device, comprising:
a memory storing at least one instruction; and
a processor executing instructions stored in the memory to implement the verifier node selection method.
Preferably, the electronic device is a node constituting a content distribution network or a blockchain network.
To achieve the above object, the present invention further provides a verifier node selection system, comprising:
the system comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring information of N candidate nodes in a block chain system, and the information of the candidate nodes comprises historical service quality scores of the candidate nodes;
the construction unit is used for selecting M verifier nodes from the N alternative nodes to form a verifier node set of the target block according to the historical service quality scores of the alternative nodes; n, M are positive integers, and M is less than or equal to N.
Preferably, the constructing unit selects Y verifier nodes from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes, and the selecting includes:
and selecting the first Y nodes with the highest historical service quality score from the X candidate nodes to form a verifier node set of the target block.
Preferably, the system further comprises:
the selecting unit is used for selecting one verification node from the verifier node set as a proposer node of the target block;
the obtaining unit is further configured to obtain service data generated by the proposer node within a preset time period;
the evaluation unit is used for evaluating the proposer node according to the service data to obtain a service quality score in a preset time period; and
and the updating unit is used for updating the historical service quality scores of the proposer nodes according to the service quality scores.
Preferably, the evaluation unit is specifically configured to:
acquiring current service data of the proposer node and service data generated when a preset number of times adjacent to the current service is used as the proposer node to perform service from the service data;
according to the acquired service data, when the proposer node is determined to propose valid blocks in continuous M times of services including the current service, or propose invalid blocks and/or unreported blocks in continuous N times of services, updating the historical service quality score of the proposer node and keeping the proposer node; or
Updating a historical service quality score of the proposer node and removing the proposer node when determining that the proposer node proposes an invalid block and/or an unrendered block in continuous Q services including the current service according to the acquired service data;
wherein M, N, Q is an integer greater than 0, and Q is greater than N.
Preferably, the obtaining unit is further configured to obtain a current score of the proposer node when the historical service quality score of the proposer node is updated and the proposer node is reserved;
a promotion unit for promoting the current score by a preset score when the proposer node promotes effective blocks in continuous M services including the current service; or
A reduction unit, configured to reduce the current score by the preset score when the proposer node proposes an invalid block and/or a non-proposed block in N consecutive services including the current service.
Preferably, the obtaining unit is further configured to obtain a current score of the proposer node when the historical service quality score of the proposer node is updated and the proposer node is removed;
a removing unit, configured to reduce the current score by a preset score, and remove the proposer node from the verifier node set;
the acquisition unit is further configured to acquire a node with the highest score among the remaining nodes except the verifier node set among the X candidate nodes;
and the adding unit is used for adding the acquired nodes into the verifier node set.
Preferably, the system further comprises:
the sorting unit is used for sorting the nodes in the X candidate nodes from high to low according to the scores after the blocks are configured;
the construction unit is further used for acquiring nodes arranged in the previous preset positions to reconstruct the verifier node set.
Preferably, the system further comprises:
and the deleting unit is used for setting the score of the detected node to zero when detecting that the node does not accept verification and/or repeated voting in the X candidate nodes, and deleting the detected node from the X candidate nodes.
In summary, the invention can obtain information of X candidate nodes in a block chain system, where the information of the candidate nodes includes historical service quality scores of the candidate nodes, and according to the historical service quality scores of the candidate nodes, Y verifier nodes are selected from the X candidate nodes to form a verifier node set of a target block; x, Y is a positive integer, and X is less than or equal to Y, thereby realizing dynamic adjustment of the verification person node set, improving the verification efficiency of the block chain system, further improving the service quality of the block chain system, and accelerating the transaction speed.
Drawings
FIG. 1 is a schematic flow chart of an embodiment of the present invention;
fig. 2 is a schematic diagram of an internal structure of an electronic device according to an embodiment of the disclosure;
FIG. 3 is a functional block diagram of a verifier node selection system of the present invention;
description of the main elements
Electronic device 1
Memory device 12
Processor with a memory having a plurality of memory cells 13
Verifier node selection system 11
Building unit 110
Acquisition unit 111
Evaluation unit 112
Updating unit 113
Sorting unit 114
Delete unit 115
Lifting unit 116
Reduction unit 117
Removing unit 118
Joining unit 119
Selection unit 120
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
The terms "first," "second," "third," "fourth," and the like in the description and in the claims of the present application and in the drawings described above, if any, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It will be appreciated that the data so used may be interchanged under appropriate circumstances such that the embodiments described herein may be practiced otherwise than as specifically illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It should be noted that the description relating to "first", "second", etc. in the present invention is for descriptive purposes only and is not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In addition, technical solutions between various embodiments may be combined with each other, but must be realized by a person skilled in the art, and when the technical solutions are contradictory or cannot be realized, such a combination should not be considered to exist, and is not within the protection scope of the present invention.
The invention provides a verifier node selection method.
Fig. 1 is a schematic flow chart according to an embodiment of the present invention. The order of the steps in the flow diagram can be changed and some steps can be omitted according to different requirements.
The verifier node selection method is applied to one or more electronic devices, the electronic devices are devices capable of automatically performing numerical calculation and/or information processing according to preset or stored instructions, and hardware devices of the electronic devices include but are not limited to microprocessors, Application Specific Integrated Circuits (ASICs), Programmable Gate arrays (FPGAs), Digital Signal Processors (DSPs), embedded devices, and the like.
The electronic device may be any electronic product capable of performing human-computer interaction with a user, for example, a Personal computer, a tablet computer, a smart phone, a Personal Digital Assistant (PDA), a game machine, an interactive Internet Protocol Television (IPTV), an intelligent wearable device, and the like.
The electronic device may also include a network device and/or a user device. The network device includes, but is not limited to, a single network server, a server group consisting of a plurality of network servers, or a Cloud Computing (Cloud Computing) based Cloud consisting of a large number of hosts or network servers.
The Network where the electronic device is located includes, but is not limited to, the internet, a wide area Network, a metropolitan area Network, a local area Network, a Virtual Private Network (VPN), and the like.
In one embodiment, the method comprises:
s11, obtaining information of X candidate nodes in the blockchain system, wherein the information of the candidate nodes comprises historical service quality scores of the candidate nodes.
In at least one embodiment of the invention, the X number of candidate nodes corresponds to a verifier node (validator) having the right to participate in the verification of a block, and/or the generation of a block, and/or the packaging of a block, a plurality of verifier nodes constituting the set of verifier nodes.
In at least one embodiment of the present invention, the X candidate nodes may include a large number of nodes, and the electronic device may further randomly extract a plurality of nodes from the X candidate nodes to construct the verifier node set.
Of course, in other embodiments, the electronic device may further extract a plurality of nodes from the X candidate nodes according to other rules to construct the verifier node set, which is not limited herein.
For example: the electronic equipment can determine the deposit amount of each node, acquire the nodes with the deposit amounts larger than or equal to a preset value to construct the verifier node set, and can sequence the nodes according to the deposit amounts and acquire the nodes before the appointed ranking to construct the verifier node set.
S12, selecting Y verifier nodes from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes; wherein X, Y are all positive integers, and X is less than or equal to Y.
In at least one embodiment of the present invention, the electronic device, according to the historical service quality scores of the candidate nodes, selecting Y verifier nodes from the X candidate nodes to form a verifier node set of the target block includes:
and the electronic equipment selects the first Y nodes with the highest historical service quality score from the X candidate nodes to form a verifier node set of the target block.
It should be noted that, in other embodiments, the historical qos score may be only used as an evaluation dimension, and meanwhile, it may be comprehensively determined which nodes are selected to become verifier nodes according to the deposit amount, load condition, and/or network delay of each node, and the nodes with high historical qos score, high deposit amount, low load, and low network delay are preferentially selected to form a verifier node set.
In at least one embodiment of the invention, the method further comprises:
the electronic equipment selects one verification node from the verifier node set as a proposer node of a target block, obtains service data generated by the proposer node in a preset time period, evaluates the proposer node according to the service data to obtain a service quality score in the preset time period, and updates a historical service quality score of the proposer node according to the service quality score.
Specifically, the electronic device may randomly acquire any verifier node from the set of verifier nodes as a presenter node.
In at least one embodiment of the present invention, to ensure that each verifier node has an equal chance of being selected as the proposer node, the electronic device randomly obtains any verifier node from the set of verifier nodes as the proposer node, and since each verifier node has the same probability of being selected as the proposer node, each verifier node also has the same probability of being removed, making subsequent updates to the set of verifier nodes more fair.
In at least one embodiment of the present invention, through the service data, the electronic device can determine whether the proposer node proposed a block during service while determining whether the proposed block is valid, can determine that the proposer node elected a total of several times, and whether valid blocks were proposed each time when elected, and the like.
In at least one embodiment of the invention, each verifier node in the set of verifier nodes may be selected as a proposer node, at which point the verifier node selected as a proposer node is not only responsible for proposing a block, but also has the right to vote for the proposed block, as with other verifier nodes in the set of verifier nodes.
Specifically, when the proposer node proposes a block, all the verifier nodes in the set of verifier nodes perform voting verification on the block, including the right of the proposer node to vote.
In general, in the consensus algorithm, when a verifier node that reaches a preset threshold approves the block, the electronic device determines that the block is valid, and otherwise, when a verifier node that is smaller than the preset threshold does not approve the block, the electronic device determines that the block is invalid.
Further, in order to ensure the validity of the verification, the preset threshold may be configured to be greater than or equal to 2/3, and since the larger the preset threshold is, the lower the fault tolerance of the system is, the preset threshold is preferably 2/3.
In at least one embodiment of the present invention, the electronic device evaluates the proposer node according to the service data, and obtaining the service quality score in a preset time period includes:
the electronic device obtains, from the service data, current service data of the proposer node and service data generated when a preset number of times adjacent to the current service is served as the proposer node, and further, the electronic device evaluates the proposer node according to the obtained service data, including, but not limited to, any of the following cases:
(1) when the proposer node is determined to propose the valid blocks in continuous M services including the current service or propose the invalid blocks and/or the non-proposed blocks in continuous N services, the electronic equipment updates the historical service quality score of the proposer node and retains the proposer node.
(2) Upon determining that the proposer node proposes an invalid block and/or an unrendered block in Q consecutive services, including the current service, the electronic device updates a historical quality of service score for the proposer node and removes the proposer node.
Wherein M, N, Q is an integer greater than 0, and Q is greater than N.
For example: when the preset number of times is 2 times, the electronic device obtains service data of the proposer node in three continuous service times, including: current service data, last service data, and last service data. Further, the value of M may be 3, the value of N may be 2, and the value of Q may be 3, so that when the electronic device determines that the proposer node has proposed a valid block in three consecutive services including the current service, or has proposed an invalid block and/or an unreported block in 2 consecutive services, the electronic device updates the historical quality of service score of the proposer node and retains the proposer node; or when the electronic device determines that the proposer node proposes an invalid block and/or a non-proposed block in 3 continuous services including the current service, the electronic device updates the historical service quality score of the proposer node and removes the proposer node.
In at least one embodiment of the invention, each validator node has an initial score of the same value (e.g., 100) before any service is performed, service data is generated upon service, and after the service data is generated, the electronic device may evaluate each validator node based on the generated service data to generate a change in score that is indicative of the quality of service of each validator node.
It will be appreciated that the score of each validator node will typically vary, and in order to facilitate uniform management of the score of each validator node, the electronic device may set a maximum value (e.g., 500) and a minimum value (e.g., 0) of the score to which the score of a validator node may be raised to a maximum value and lowered to a minimum value.
In at least one embodiment of the invention, the method further comprises:
(1) when the historical service quality score of the proposer node is updated and the proposer node is reserved, the electronic equipment acquires the current score of the proposer node, and when the proposer node proposes a valid block in continuous M services including the current service, the electronic equipment improves the current score by a preset score; or when the proposer node proposes an invalid block and/or a non-proposed block in N continuous services including the current service, the electronic equipment reduces the current score by the preset score.
It is understood that when the proposer node provides valid blocks in M consecutive services including the current service, the service quality of the proposer node is better, and therefore, the electronic device increases the current score by the preset score to represent that the service of the proposer node is better, obviously, since each verifier node may be selected as a proposer node multiple times, the score may be continuously accumulated, and a higher score indicates that the service of the corresponding verifier node is better.
On the contrary, when the proposer node proposes an invalid block and/or an unreported block in N continuous services including the current service, the service quality of the proposer node is poor, the proposer node either continuously proposes the invalid block or does not propose the block when the block should be proposed, therefore, the electronic equipment reduces the current score by the preset score to represent that the service of the proposer node is poor, obviously, each verifier node can be selected as the proposer node for multiple times, therefore, the score can be changed continuously, and the lower the score, the poorer the service of the corresponding verifier node is indicated.
(2) When the historical service quality score of the proposer node is updated and the proposer node is removed, the electronic equipment obtains the current score of the proposer node, further reduces the current score by a preset score, removes the proposer node from the verifier node set, obtains the node with the highest score in the other nodes except the verifier node set in the X candidate nodes, and further adds the obtained node into the verifier node set.
It will be appreciated that when an offeror node selected from the set of verifier nodes does not serve or maliciously propose an invalid block, if no action is taken, the offeror node still has the same probability of being selected as other verifier nodes in the next round of election, which inevitably results in reduced overall system efficiency and, in turn, affects transaction confirmation speed of the blockchain system.
Thus, when the quality of service score is an updated score and removed, indicating that the quality of service of the offeror node is too poor, the electronic device may remove the proposer node from the set of verifier nodes directly after reducing the current score by a preset score to prevent the proposer node from continuing to affect the service, after removal, the set of verifier nodes will have a free denomination, therefore, the electronic equipment acquires the node with the highest score in the rest nodes except the verifier node set in the X candidate nodes, and adds the acquired nodes into the verifier node set, thereby filling the vacancy of the verifier node set, and the service quality of the added verifier nodes in other nodes is the best, so that the verifier node set is further optimized to perform better service.
The preset score may be configured by a user, for example: 1 point, etc.
In at least one embodiment of the present invention, the electronic device can continuously update the score of each verifier node in the set of verifier nodes, so as to quantify the service quality of each verifier node, and can update the composition of the set of verifier nodes, thereby further improving the service quality of the system by optimizing the set of verifier nodes.
In at least one embodiment of the invention, the method further comprises:
after the configuration blocks are processed, the electronic equipment sequences the nodes in the X candidate nodes from high to low according to scores, and acquires the nodes arranged in the previous preset positions to reconstruct the verifier node set.
It can be understood that when the electronic device is interfered by external factors (such as disconnection of a machine room, etc.), some verifier nodes can be removed from the verifier node set due to the fact that blocks cannot be proposed when the electronic device serves as proposer nodes, but the service quality of the verifier nodes is not good, so that the electronic device constructs the verifier node set again according to the scores every time the electronic device passes through the configuration blocks, so that the verifier nodes which are good in service quality and removed accidentally are added into the verifier node set again, and each verifier node in the verifier node set is better in service in all nodes at the beginning, and the verifier node set is updated to achieve the purpose of further optimization.
Of course, in other embodiments, the electronic device may also sort the nodes in the X candidate nodes according to the deposit amount and the score of each node.
Specifically, the electronic device may configure different weights for the deposit amount and the score, calculate the comprehensive score of each node according to the weights, and further sort the nodes in the X candidate nodes according to the obtained comprehensive score, so as to implement multi-dimensional and more comprehensive evaluation on each node.
In at least one embodiment of the invention, the method further comprises:
and in the X candidate nodes, when detecting that the node does not accept verification and/or repeated voting, the electronic equipment sets the score of the detected node to zero, and deletes the detected node from the X candidate nodes.
Through the embodiment, the malicious node can be directly deleted, the influence on the service of the system is avoided, and the stability of the system is improved.
Obviously, in the scheme, the grade of each verifier node is dynamically adjusted through the service data of each verifier node when the verifier node is selected as the proposer node, and then the adjustment of the verifier node set is carried out in combination with the grade dynamics, so that the nodes capable of stabilizing the blocks have greater advantages when being selected as the verifier nodes, and can be used for eliminating rogue nodes in time, or the probability that the nodes are not selected as the verifier nodes is reduced, and further, the useless work of the system when the nodes are used as the proposer nodes is effectively reduced, and the efficiency and the stability of the whole block chain system are improved.
In summary, the invention can obtain information of X candidate nodes in a block chain system, where the information of the candidate nodes includes historical service quality scores of the candidate nodes, and according to the historical service quality scores of the candidate nodes, Y verifier nodes are selected from the X candidate nodes to form a verifier node set of a target block; x, Y is a positive integer, and X is less than or equal to Y, thereby realizing dynamic adjustment of the verification person node set, improving the verification efficiency of the block chain system, further improving the service quality of the block chain system, and accelerating the transaction speed.
Referring to fig. 2, in the present embodiment, the electronic device 1 may be a node constituting a blockchain network.
The electronic device 1 may comprise a memory 12, a processor 13 and a bus, and may further comprise a computer program, such as a verifier node selection program, stored in the memory 12 and executable on the processor 13.
It will be understood by those skilled in the art that the schematic diagram is merely an example of the electronic device 1, and does not constitute a limitation to the electronic device 1, the electronic device 1 may have a bus-type structure or a star-type structure, the electronic device 1 may further include more or less hardware or software than those shown in the figures, or different component arrangements, for example, the electronic device 1 may further include an input and output device, a network access device, and the like.
It should be noted that the electronic device 1 is only an example, and other existing or future electronic products, such as those that can be adapted to the present invention, should also be included in the scope of the present invention, and are included herein by reference.
The memory 12 includes at least one type of readable storage medium, which includes flash memory, a removable hard drive, a multimedia card, a card-type memory (e.g., SD or DX memory, etc.), a magnetic memory, a magnetic disk, an optical disk, and the like. The memory 12 may in some embodiments be an internal storage unit of the electronic device 1, for example a removable hard disk of the electronic device 1. The memory 12 may also be an external storage device of the electronic device 1 in other embodiments, such as a plug-in mobile hard disk provided on the electronic device 1, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and so on. Further, the memory 12 may also include both an internal storage unit and an external storage device of the electronic device 1. The memory 12 can be used not only to store application software installed in the electronic apparatus 1 and various types of data such as codes of a verifier node selection program, etc., but also to temporarily store data that has been output or is to be output.
The processor 13 may be composed of an integrated circuit in some embodiments, for example, a single packaged integrated circuit, or may be composed of a plurality of integrated circuits packaged with the same or different functions, including one or more Central Processing Units (CPUs), microprocessors, digital Processing chips, graphics processors, and combinations of various control chips. The processor 13 is a Control Unit (Control Unit) of the electronic device 1, connects various components of the electronic device 1 by various interfaces and lines, and executes various functions and processes data of the electronic device 1 by running or executing programs or modules (e.g., executing a verifier node selection program, etc.) stored in the memory 12 and calling data stored in the memory 12.
The processor 13 executes an operating system of the electronic device 1 and various installed application programs. The processor 13 executes the application program to implement the steps in the various verifier node selection method embodiments described above, such as steps S11, S12 shown in fig. 1.
Alternatively, the processor 13, when executing the computer program, implements the functions of the modules/units in the above device embodiments, for example:
acquiring information of X candidate nodes in a block chain system, wherein the information of the candidate nodes comprises historical service quality scores of the candidate nodes;
selecting Y verifier nodes from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes; wherein X, Y are all positive integers, and X is less than or equal to Y.
Illustratively, the computer program may be divided into one or more modules/units, which are stored in the memory 12 and executed by the processor 13 to accomplish the present invention. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution process of the computer program in the electronic device 1. For example, the computer program may be divided into a construction unit 110, an acquisition unit 111, an evaluation unit 112, an update unit 113, a sorting unit 114, a deletion unit 115, an elevation unit 116, a reduction unit 117, a removal unit 118, an addition unit 119, and a selection unit 120.
The bus may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one arrow is shown in FIG. 2, but this does not indicate only one bus or one type of bus. The bus is arranged to enable connection communication between the memory 12 and the at least one processor 13 etc.
Although not shown, the electronic device 1 may further include a power supply (such as a battery) for supplying power to each component, and preferably, the power supply may be logically connected to the at least one processor 13 through a power management device, so as to implement functions of managing charging, discharging, and power consumption through the power management device. The power supply may also include any component of one or more dc or ac power sources, recharging devices, power failure detection circuitry, power converters or inverters, power status indicators, and the like. The electronic device 1 may further include various sensors, a bluetooth module, a Wi-Fi module, and the like, which are not described herein again.
Further, the electronic device 1 may further include a network interface, and optionally, the network interface may include a wired interface and/or a wireless interface (such as a WI-FI interface, a bluetooth interface, etc.), which are generally used for establishing a communication connection between the electronic device 1 and other electronic devices.
Optionally, the electronic device 1 may further comprise a user interface, the user interface may comprise a Display (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface may further comprise a standard wired interface, a wireless interface. Alternatively, in some embodiments, the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode) touch device, or the like. The display, which may also be referred to as a display screen or display unit, is suitable for displaying information processed in the electronic device 1 and for displaying a visualized user interface, among other things.
It is to be understood that the described embodiments are for purposes of illustration only and that the scope of the appended claims is not limited to such structures.
The integrated unit implemented in the form of a software functional module may be stored in a computer-readable storage medium. The software functional module is stored in a storage medium and includes several instructions to enable a computer device (which may be a personal computer, a computer device, or a network device) or a processor (processor) to execute parts of the methods according to the embodiments of the present invention.
The integrated modules/units of the electronic device 1 may be stored in a computer-readable storage medium if they are implemented in the form of software functional units and sold or used as separate products. Based on such understanding, all or part of the flow of the method according to the embodiments of the present invention may be implemented by a computer program, which may be stored in a computer-readable storage medium, and when the computer program is executed by a processor, the steps of the method embodiments may be implemented.
Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying said computer program code, recording medium, U-disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM).
Fig. 2 only shows the electronic device 1 with the components 12-13, and the verifier node selection procedure, it being understood by a person skilled in the art that the structure shown in fig. 2 does not constitute a limitation of the electronic device 1, and may comprise fewer or more components than shown, or a combination of certain components, or a different arrangement of components.
In conjunction with fig. 1, the memory 12 in the electronic device 1 stores a plurality of instructions to implement a verifier node selection method, which the processor 13 may execute to implement:
acquiring information of X candidate nodes in a block chain system, wherein the information of the candidate nodes comprises historical service quality scores of the candidate nodes;
selecting Y verifier nodes from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes; wherein X, Y are all positive integers, and X is less than or equal to Y.
Specifically, the processor 13 may refer to the description of the relevant steps in the embodiment corresponding to fig. 1 for a specific implementation method of the instruction, which is not described herein again.
Referring to fig. 3, a functional module diagram of the verifier node selection system of the present invention is shown. The verifier node selection system 11 includes a construction unit 110, an acquisition unit 111, an evaluation unit 112, an update unit 113, a sorting unit 114, a deletion unit 115, an elevation unit 116, a reduction unit 117, a removal unit 118, an addition unit 119, and a selection unit 120. The module/unit referred to in the present invention refers to a series of computer program segments that can be executed by the processor 13 and that can perform a fixed function, and that are stored in the memory 12. In the present embodiment, the functions of the modules/units will be described in detail in the following embodiments.
The obtaining unit 111 obtains information of X candidate nodes in the blockchain system, where the information of the candidate nodes includes historical qos scores of the candidate nodes.
In at least one embodiment of the invention, the X number of candidate nodes corresponds to a verifier node (validator) having the right to participate in the verification of a block, and/or the generation of a block, and/or the packaging of a block, a plurality of verifier nodes constituting the set of verifier nodes.
In at least one embodiment of the present invention, the X candidate nodes may include a large number of nodes, and the construction unit 110 may further randomly extract a plurality of nodes from the X candidate nodes to construct the verifier node set.
Of course, in other embodiments, the constructing unit 110 may also extract a plurality of nodes from the X candidate nodes according to other rules to construct the verifier node set, which is not limited herein.
For example: the constructing unit 110 may determine the deposit amount of each node, and acquire the node whose deposit amount is greater than or equal to the preset value to construct the verifier node set, and the constructing unit 110 may also sort the nodes according to the deposit amount, and acquire the node before the designated ranking to construct the verifier node set.
The construction unit 110 selects Y verifier nodes from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes; wherein X, Y are all positive integers, and X is less than or equal to Y.
In at least one embodiment of the present invention, the constructing unit 110 selects Y verifier nodes from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes, where the selecting includes:
the constructing unit 110 selects the first Y nodes with the highest historical qos score from the X candidate nodes to form a verifier node set of the target block.
It should be noted that, in other embodiments, the historical qos score may be only used as an evaluation dimension, and meanwhile, it may be comprehensively determined which nodes are selected to become verifier nodes according to the deposit amount, load condition, and/or network delay of each node, and the nodes with high historical qos score, high deposit amount, low load, and low network delay are preferentially selected to form a verifier node set.
In at least one embodiment of the present invention, the selecting unit 120 selects one of the verification nodes from the set of verifier nodes as a proposer node of the target block, the obtaining unit 111 obtains service data generated by the proposer node within a preset time period, the evaluating unit 112 evaluates the proposer node according to the service data to obtain a service quality score within the preset time period, and the updating unit 113 updates the historical service quality score of the proposer node according to the service quality score.
Specifically, the obtaining unit 111 may randomly obtain any verifier node from the set of verifier nodes as an proposer node.
In at least one embodiment of the present invention, in order to ensure that each verifier node has an equal chance of being selected as the proposer node, the obtaining unit 111 randomly obtains any verifier node from the set of verifier nodes as the proposer node, and since each verifier node has the same probability of being selected as the proposer node, each verifier node also has the same probability of being removed, so that subsequent updates to the set of verifier nodes are more fair.
In at least one embodiment of the present invention, through the service data, the obtaining unit 111 can determine whether the proposer node proposed a block during service and can also determine whether the proposed block is valid, the obtaining unit 111 can also determine that the proposer node elected a total of several times and proposed a valid block each time, and the like.
In at least one embodiment of the invention, each verifier node in the set of verifier nodes may be selected as a proposer node, at which point the verifier node selected as a proposer node is not only responsible for proposing a block, but also has the right to vote for the proposed block, as with other verifier nodes in the set of verifier nodes.
Specifically, when the proposer node proposes a block, all the verifier nodes in the set of verifier nodes perform voting verification on the block, including the right of the proposer node to vote.
In general, in the consensus algorithm, when a verifier node that reaches a preset threshold approves the block, the block is determined to be valid, and otherwise, when the verifier node that is smaller than the preset threshold does not approve the block, the block is determined to be invalid.
Further, in order to ensure the validity of the verification, the preset threshold may be configured to be greater than or equal to 2/3, and since the larger the preset threshold is, the lower the fault tolerance of the system is, the preset threshold is preferably 2/3.
In at least one embodiment of the present invention, the evaluating unit 112 evaluates the proposer node according to the service data, and obtaining the service quality score in a preset time period includes:
the evaluation unit 112 obtains the current service data of the proposer node from the service data, and the service data generated when the previous preset times adjacent to the current service are served as the proposer node, and further, the evaluation unit 112 evaluates the proposer node according to the obtained service data, including, but not limited to, any one of the following cases:
(1) when it is determined that the proposer node proposes a valid block in M consecutive services including the current service, or proposes an invalid block and/or an unreported block in N consecutive services, the updating unit 113 updates the historical service quality score of the proposer node and retains the proposer node.
(2) When it is determined that the proposer node proposes an invalid block and/or an unrendered block in Q consecutive services, including the current service, the removal unit 118 updates the historical quality of service score of the proposer node and removes the proposer node.
Wherein M, N, Q is an integer greater than 0, and Q is greater than N.
For example: when the preset number of times is 2 times, the evaluation unit 112 obtains service data of the proposer node in three consecutive times of service, including: current service data, last service data, and last service data. Further, the M may be 3, the N may be 2, and the Q may be 3, so that when the evaluation unit 112 determines that the proposer node proposes a valid block in three consecutive services including the current service, or proposes an invalid block and/or an unreported block in 2 consecutive services, the updating unit 113 updates the historical qos score of the proposer node and retains the proposer node; or when the evaluation unit 112 determines that the proposer node proposes an invalid block and/or a non-proposed block in 3 consecutive services including the current service, the removal unit 118 updates the historical service quality score of the proposer node and removes the proposer node.
In at least one embodiment of the present invention, each verifier node has an initial score (e.g., 100) of the same value before any service is performed, service data is generated upon the service, and after the service data is generated, the updating unit 113 can evaluate each verifier node based on the generated service data, thereby generating a change in score that is indicative of the quality of service of each verifier node.
It will be appreciated that the score of each validator node will typically vary, and in order to facilitate uniform management of the score of each validator node, the updating unit 113 may set a highest value (e.g., 500) and a lowest value (e.g., 0) of the score to which the score of a validator node may be raised at the highest and lowered at the lowest.
In at least one embodiment of the invention, further:
(1) when the historical service quality score of the proposer node is updated and the proposer node is reserved, the obtaining unit 111 obtains the current score of the proposer node, and when the proposer node proposes a valid block in continuous M services including the current service, the promoting unit 116 promotes the current score by a preset score; or when the proposer node proposes invalid blocks and/or non-proposed blocks in N consecutive services including the current service, the reduction unit 117 reduces the current score by the preset score.
It is understood that when the proposer node proposes a valid block in M consecutive services including the current service, the service quality of the proposer node is better, and therefore, the updating unit 113 raises the current score by the preset score to represent that the service of the proposer node is better, obviously, since each verifier node may be selected as a proposer node multiple times, the score may be continuously accumulated, and a higher score indicates that the service of the corresponding verifier node is better.
On the contrary, when the proposer node proposes an invalid block and/or an unrendered block in N consecutive services including the current service, the proposer node is poor in service quality, or proposes an invalid block continuously, or does not propose a block when a block should be proposed, so the updating unit 113 reduces the current score by the preset score to represent that the proposer node is poor in service.
(2) When the historical service quality score of the proposer node is updated and the proposer node is removed, the obtaining unit 111 obtains the current score of the proposer node, the reducing unit 117 further reduces the current score by a preset score, the removing unit 118 removes the proposer node from the verifier node set, the obtaining unit 111 obtains the node with the highest score in the rest nodes except the verifier node set in the X candidate nodes, and the adding unit 119 further adds the obtained node into the verifier node set.
It will be appreciated that when an offeror node selected from the set of verifier nodes does not serve or maliciously propose an invalid block, if no action is taken, the offeror node still has the same probability of being selected as other verifier nodes in the next round of election, which inevitably results in reduced overall system efficiency and, in turn, affects transaction confirmation speed of the blockchain system.
Thus, when the quality of service score is an updated score and removed, indicating that the quality of service of the offeror node is too poor, the updating unit 113 may directly remove the proposer node from the set of verifier nodes after reducing the current score by a preset score, so as to prevent the proposer node from continuing to influence the service, and after removing, the set of verifier nodes will have a free denomination, therefore, the updating unit 113 obtains the node with the highest score among the rest nodes except the verifier node set in the X candidate nodes, and adds the acquired nodes into the verifier node set, thereby filling the vacancy of the verifier node set, and the service quality of the added verifier nodes in other nodes is the best, so that the verifier node set is further optimized to perform better service.
The preset score may be configured by a user, for example: 1 point, etc.
In at least one embodiment of the present invention, the updating unit 113 can continuously update the score of each verifier node in the set of verifier nodes, so as to quantify the service quality of each verifier node, and can update the composition of the set of verifier nodes, so as to further improve the service quality of the system by optimizing the set of verifier nodes.
In at least one embodiment of the present invention, after configuring the block, the sorting unit 114 sorts the nodes in the X candidate nodes from high to low according to the scores, and the constructing unit 110 obtains the nodes in the previous preset order to reconstruct the verifier node set.
It can be understood that, when the system is interfered by external factors (for example, a machine room is disconnected, etc.), some verifier nodes may be removed from the verifier node set due to the fact that a block cannot be proposed when the system is used as a proposer node, but this does not indicate that the service quality of the verifier nodes is not good, so that the construction unit 110 constructs the verifier node set again according to the score every time the system passes through the configuration block, so as to rejoin the verifier nodes which have good service quality and are accidentally removed into the verifier node set, and thus, each verifier node in the verifier node set is served better in all nodes at the beginning, and then the acquisition unit 111, the evaluation unit 112, and the updating unit 113 are repeatedly called to update the verifier node set, thereby achieving the purpose of further optimization.
Of course, in other embodiments, the sorting unit 114 may also sort the nodes in the X candidate nodes according to the deposit amount and the score of each node.
Specifically, the sorting unit 114 may configure different weights for the deposit amount and the score, calculate the comprehensive score of each node according to the weights, and further sort the nodes in the X candidate nodes according to the obtained comprehensive score, so as to implement multidimensional and more comprehensive evaluation on each node.
In at least one embodiment of the present invention, in X candidate nodes, when it is detected that a node does not accept verification and/or duplicate voting, the deleting unit 115 sets the score of the detected node to zero, and deletes the detected node from the X candidate nodes.
Through the embodiment, the malicious node can be directly deleted, the influence on the service of the system is avoided, and the stability of the system is improved.
Obviously, in the scheme, the grade of each verifier node is dynamically adjusted through the service data of each verifier node when the verifier node is selected as the proposer node, and then the adjustment of the verifier node set is carried out in combination with the grade dynamics, so that the nodes capable of stabilizing the blocks have greater advantages when being selected as the verifier nodes, and can be used for eliminating rogue nodes in time, or the probability that the nodes are not selected as the verifier nodes is reduced, and further, the useless work of the system when the nodes are used as the proposer nodes is effectively reduced, and the efficiency and the stability of the whole block chain system are improved.
In summary, the invention can obtain information of X candidate nodes in a block chain system, where the information of the candidate nodes includes historical service quality scores of the candidate nodes, and according to the historical service quality scores of the candidate nodes, Y verifier nodes are selected from the X candidate nodes to form a verifier node set of a target block; x, Y is a positive integer, and X is less than or equal to Y, thereby realizing dynamic adjustment of the verification person node set, improving the verification efficiency of the block chain system, further improving the service quality of the block chain system, and accelerating the transaction speed.
In the above embodiments, all or part may be implemented by software, hardware devices, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the invention to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or an integrated server, data center, or the like that includes one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, removable hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in the form of a hardware device, and can also be realized in the form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be substantially implemented or contributed to by the prior art, or all or part of the technical solution may be embodied in a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a magnetic disk, or an optical disk.
It should be noted that the above-mentioned numbers of the embodiments of the present invention are merely for description, and do not represent the merits of the embodiments. And the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, apparatus, article, or method that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, apparatus, article, or method. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, apparatus, article, or method that includes the element.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (11)

  1. A verifier node selection method, the method comprising:
    acquiring information of X candidate nodes in a block chain system, wherein the information of the candidate nodes comprises historical service quality scores of the candidate nodes;
    selecting Y verifier nodes from the X candidate nodes to form a verifier node set of the target block according to the historical service quality scores of the candidate nodes; wherein X, Y are all positive integers, and X is less than or equal to Y.
  2. The verifier node selection method of claim 1, wherein selecting Y verifier nodes from X candidate nodes to form the set of verifier nodes for the target block according to historical qos scores of the candidate nodes comprises:
    and selecting the first Y nodes with the highest historical service quality score from the X candidate nodes to form a verifier node set of the target block.
  3. A verifier node selection method according to claim 1, further comprising:
    selecting one verification node from the verifier node set as a proposer node of a target block;
    acquiring service data generated by the proposer node in a preset time period;
    evaluating the proposer node according to the service data to obtain a service quality score in a preset time period; and
    and updating the historical service quality score of the proposer node according to the service quality score.
  4. The verifier node selection method of claim 3, wherein the evaluating the proposer node based on the service data to obtain a quality of service score over a preset time period comprises:
    acquiring current service data of the proposer node and service data generated when a preset number of times adjacent to the current service is used as the proposer node to perform service from the service data;
    according to the acquired service data, when the proposer node is determined to propose valid blocks in continuous M times of services including the current service, or propose invalid blocks and/or unreported blocks in continuous N times of services, updating the historical service quality score of the proposer node and keeping the proposer node; or
    Updating a historical service quality score of the proposer node and removing the proposer node when determining that the proposer node proposes an invalid block and/or an unrendered block in continuous Q services including the current service according to the acquired service data;
    wherein M, N, Q is an integer greater than 0, and Q is greater than N.
  5. The verifier node selection method of claim 4, wherein in updating the historical quality of service score for the proposer node and retaining the proposer node, the method further comprises:
    obtaining a current score of the proposer node;
    when the proposer node proposes a valid block in continuous M services including the current service, the current score is improved by a preset score; or
    When the proposer node proposes invalid blocks and/or non-proposed blocks in N continuous services including the current service, reducing the current score by the preset score.
  6. The verifier node selection method of claim 4, wherein, when updating the historical quality of service score for the proposer node and removing the proposer node, the method further comprises:
    obtaining a current score of the proposer node;
    reducing the current score by a preset score and removing the proposer node from the verifier node set;
    obtaining the nodes with the highest scores in the other nodes except the verifier node set in the X optional nodes;
    and adding the acquired nodes into the verifier node set.
  7. The verifier node selection method of claim 1, further comprising:
    after the block is configured, sorting nodes in the X candidate nodes from high to low according to scores;
    and acquiring nodes arranged in the previous preset positions to reconstruct the verifier node set.
  8. The verifier node selection method of claim 1, further comprising:
    and in the X candidate nodes, when detecting that the node does not accept verification and/or repeated voting, setting the score of the detected node to zero, and deleting the detected node from the X candidate nodes.
  9. An electronic device, characterized in that the electronic device comprises:
    a memory storing at least one instruction; and
    a processor executing instructions stored in the memory to implement the verifier node selection method of any of claims 1-8.
  10. A verifier node selection system, the system comprising:
    the system comprises an acquisition unit, a processing unit and a processing unit, wherein the acquisition unit is used for acquiring information of N candidate nodes in a block chain system, and the information of the candidate nodes comprises historical service quality scores of the candidate nodes;
    the construction unit is used for selecting M verifier nodes from the N alternative nodes to form a verifier node set of the target block according to the historical service quality scores of the alternative nodes; n, M are positive integers, and M is less than or equal to N.
  11. A computer readable storage medium having stored thereon a verifier node selection program executable by one or more processors to implement the verifier node selection method of any one of claims 1 to 8.
CN201980004692.8A 2019-12-03 2019-12-03 Method, electronic equipment, system and medium for selecting nodes of verifier Active CN113383364B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/122628 WO2021108978A1 (en) 2019-12-03 2019-12-03 Method for selecting validator node, electronic device, system, and medium

Publications (2)

Publication Number Publication Date
CN113383364A true CN113383364A (en) 2021-09-10
CN113383364B CN113383364B (en) 2023-05-16

Family

ID=76222156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980004692.8A Active CN113383364B (en) 2019-12-03 2019-12-03 Method, electronic equipment, system and medium for selecting nodes of verifier

Country Status (2)

Country Link
CN (1) CN113383364B (en)
WO (1) WO2021108978A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637127B (en) * 2020-11-23 2022-05-13 北京邮电大学 Cross-block chain communication method and device
CN113672680A (en) * 2021-07-19 2021-11-19 哈尔滨工业大学(深圳) Lightweight probability verification method and device in block chain, block chain node and medium

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180260909A1 (en) * 2017-03-08 2018-09-13 Alibaba Group Holding Limited Handing requests in a consensus network
CN109241359A (en) * 2018-08-18 2019-01-18 深圳市网心科技有限公司 Block chain node device, block catenary system, block data processing system and method
CN109427012A (en) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 A kind of transaction and verification method based on block chain
CN109639837A (en) * 2019-01-31 2019-04-16 东南大学 Block chain DPoS common recognition method based on faith mechanism
JP2019101719A (en) * 2017-12-01 2019-06-24 株式会社bitFlyer Method for enabling smart contract to be implemented in block chain network and node constituting block chain network
US10331511B1 (en) * 2015-02-18 2019-06-25 Amazon Technologies, Inc. Poison pill prevention for consensus protocols
US20190287107A1 (en) * 2018-03-15 2019-09-19 International Business Machines Corporation Resource equity for blockchain
CN110290021A (en) * 2019-06-19 2019-09-27 辽宁大学 Across chain common recognition time delay optimization method based on dynamic programming algorithm
US20190340361A1 (en) * 2016-03-30 2019-11-07 British Telecommunications Public Limited Company Blockchain state reliability determination

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108320155B (en) * 2017-12-21 2020-09-11 中国科学院信息工程研究所 Method for realizing block chain consensus mechanism
CN108377206B (en) * 2018-03-12 2021-04-06 众安信息技术服务有限公司 Method, apparatus and computer-readable storage medium for configuring consensus algorithm
KR101975822B1 (en) * 2018-10-26 2019-05-08 (주)리그시스템 Private blockchain network system and method for consensus based on blockchain

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10331511B1 (en) * 2015-02-18 2019-06-25 Amazon Technologies, Inc. Poison pill prevention for consensus protocols
US20190340361A1 (en) * 2016-03-30 2019-11-07 British Telecommunications Public Limited Company Blockchain state reliability determination
US20180260909A1 (en) * 2017-03-08 2018-09-13 Alibaba Group Holding Limited Handing requests in a consensus network
CN109427012A (en) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 A kind of transaction and verification method based on block chain
JP2019101719A (en) * 2017-12-01 2019-06-24 株式会社bitFlyer Method for enabling smart contract to be implemented in block chain network and node constituting block chain network
US20190287107A1 (en) * 2018-03-15 2019-09-19 International Business Machines Corporation Resource equity for blockchain
CN109241359A (en) * 2018-08-18 2019-01-18 深圳市网心科技有限公司 Block chain node device, block catenary system, block data processing system and method
CN109639837A (en) * 2019-01-31 2019-04-16 东南大学 Block chain DPoS common recognition method based on faith mechanism
CN110290021A (en) * 2019-06-19 2019-09-27 辽宁大学 Across chain common recognition time delay optimization method based on dynamic programming algorithm

Also Published As

Publication number Publication date
WO2021108978A1 (en) 2021-06-10
CN113383364B (en) 2023-05-16

Similar Documents

Publication Publication Date Title
US11830001B2 (en) Blockchain consensus method, accounting node and node
WO2019114128A1 (en) Block chain transaction block processing method, electronic device and readable storage medium
CN112738172B (en) Block chain node management method and device, computer equipment and storage medium
CN113383364A (en) Verifier node selection method, electronic device, system, and medium
CN114238959A (en) User access behavior evaluation method and system based on zero-trust security system
CN111694843B (en) Missing number detection method and device, electronic equipment and storage medium
CN109309735B (en) Connection processing method, server, system and storage medium
CN111405052A (en) P2P penetration method based on port prediction, electronic device and medium
CN106991070A (en) Real-time computing technique and device
CN109710603B (en) Data cleaning method, system, storage medium and electronic equipment
CN105430052B (en) A kind of referee method and device for group system
CN108255703B (en) SQL script fault repairing method and terminal thereof
CN111905362A (en) Game guild loading method and server
CN112256472A (en) Distributed data calling method and device, electronic equipment and storage medium
US10977150B2 (en) Data analysis
CN111563129A (en) Distributed storage area block chain account book method
CN107797924A (en) A kind of method for detecting abnormality and its terminal of SQL scripts
CN114626103A (en) Data consistency comparison method, device, equipment and medium
CN113849520A (en) Intelligent identification method and device of abnormal SQL (structured query language), electronic equipment and storage medium
JPWO2020100186A1 (en) Information processing equipment, control methods, and programs
CN108399170A (en) Data digging method and device
CN115002211B (en) Method, device, equipment and medium for realizing after-sale micro-service based on cloud protogenesis
CN114185622B (en) Page loading method, device, equipment and storage medium
CN111143456B (en) Spark-based Cassandra data import method, device, equipment and medium
CN114841129A (en) Data import method and device, electronic equipment and storage medium

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210918

Address after: 518057 floors 21-23, block B, building 12, Shenzhen Bay science and technology ecological park, No. 18, Keji South Road, community, high tech Zone, Yuehai street, Nanshan District, Shenzhen, Guangdong

Applicant after: Xunlei Networking Technologies, Ltd.

Address before: 518063 Room 201, building a, No.1 Qianwan 1st Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant