CN110400409B - Threshold voting method, system and related equipment based on BLS signature algorithm - Google Patents

Threshold voting method, system and related equipment based on BLS signature algorithm Download PDF

Info

Publication number
CN110400409B
CN110400409B CN201910684684.4A CN201910684684A CN110400409B CN 110400409 B CN110400409 B CN 110400409B CN 201910684684 A CN201910684684 A CN 201910684684A CN 110400409 B CN110400409 B CN 110400409B
Authority
CN
China
Prior art keywords
voting
nodes
node
period
preferred
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
Application number
CN201910684684.4A
Other languages
Chinese (zh)
Other versions
CN110400409A (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 Onething Technology Co Ltd
Shenzhen Xunlei Network Technology Co Ltd
Original Assignee
Shenzhen Onething Technology Co Ltd
Shenzhen Xunlei Network 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, Shenzhen Xunlei Network Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201910684684.4A priority Critical patent/CN110400409B/en
Publication of CN110400409A publication Critical patent/CN110400409A/en
Application granted granted Critical
Publication of CN110400409B publication Critical patent/CN110400409B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C13/00Voting apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Abstract

The threshold voting method, system and related equipment based on the BLS signature algorithm are used for saving network system resources in the threshold voting process. An embodiment method may comprise: receiving signature data sent by effective voting nodes in the current voting period; if the ratio of the number N of the effective voting nodes to the total number M of all the voting nodes exceeds a first threshold value T, confirming that the voting passes, and selecting a first preset number A of preferred nodes from the effective voting nodes in the current voting period by adopting a simulated annealing algorithm, wherein A is not more than N and not less than the product of M and T; aggregating the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate corresponding aggregated signature data; and sending the aggregated signature data and the identity information of the corresponding preferred node to verification node equipment.

Description

Threshold voting method, system and related equipment based on BLS signature algorithm
Technical Field
The invention relates to the field of information security, in particular to a threshold voting method, a threshold voting system and related equipment based on a BLS signature algorithm.
Background
With the rapid development of networks, the original paper voting mode is widely replaced by the voting mode based on the networks.
The existing network voting mode is usually based on a digital signature technology, the voting information is digitally signed by a private key of each voting node, the signature information is sent to a statistic node, and finally the digital signatures of all the voting nodes are sent to a verification node for verification.
In the existing scheme, the aggregation node needs to send the digital signature data of all the voting nodes to the verification node, and particularly when the aggregation node is applied to a block chain network, the block chain network needs to store the digital signatures of all the voting nodes, which wastes bandwidth and storage resources.
Disclosure of Invention
The embodiment of the invention provides a threshold voting method, a threshold voting system and related equipment based on a BLS signature algorithm, which are used for saving network system resources in the threshold voting process.
The first aspect of the embodiments of the present invention provides a threshold voting method based on a BLS signature algorithm, which is applied to an aggregation node device, and the method may include:
receiving signature data sent by effective voting nodes in the current voting period;
if the ratio of the number N of the effective voting nodes to the total number M of all the voting nodes exceeds a first threshold value T, confirming that the voting passes, and selecting a first preset number A of preferred nodes from the effective voting nodes in the current voting period by adopting a simulated annealing algorithm, wherein A is not more than N and not less than the product of M and T;
aggregating the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate corresponding aggregated signature data;
and sending the aggregated signature data and the identity information of the corresponding preferred node to verification node equipment so that the verification node equipment verifies the aggregated signature data.
Optionally, as a possible implementation manner, in the embodiment of the present invention, the selecting, by using a simulated annealing algorithm, a first preset number a of preferred nodes from the valid voting nodes in the current voting period includes:
and selecting the first A preferred nodes with the most effective voting times in the latest W historical voting periods from the effective voting nodes in the current voting period.
Optionally, as a possible implementation manner, in the embodiment of the present invention, the selecting, from the valid voting nodes in the current voting period, the first a preferred nodes with the largest number of valid voting times in the latest W history voting periods includes:
constructing a first-class voting result vector according to the received identity information of effective voting nodes in the current voting period, wherein each voting period corresponds to one first-class voting result vector, each voting node corresponds to one dimension value in the first-class voting result vector, the dimension values corresponding to all the effective voting nodes are the same, and the dimension values corresponding to the other voting nodes are the same;
the aggregation node equipment stores voting result vectors corresponding to the latest W historical voting periods to form an M multiplied by W matrix, Mi,jCorresponding dimension value of the ith voting node in the jth voting period according to a formula
Figure BDA0002145894230000021
Calculating the weight corresponding to each effective voting node, wherein all effective voting nodes in the current voting period form a set R, and i belongs to the R;
and determining a first preset number A of preferred nodes with the weight values ranked at the top according to the weight corresponding to each effective voting node.
Optionally, as a possible implementation manner, in the embodiment of the present invention, when the identity information of a number of preferred nodes corresponding to W identical historical voting periods and each historical voting period is stored in the verification node device and the aggregation node device, the selecting, by using a simulated annealing algorithm, a first preset number a of preferred nodes from valid voting nodes in a current voting period includes:
judging the W piecesWhether a first target voting period exists in the historical voting period or not, wherein the first target voting period is a set formed by all preferred nodes in the first target voting period
Figure BDA0002145894230000022
The set Q is a set of effective voting nodes in the current voting period;
if the first target voting period exists, determining that the preferred node corresponding to the first target voting period is the preferred node corresponding to the current voting period;
if the first target voting period does not exist, judging whether a second target voting period exists in the W historical voting periods or not, wherein a set formed by A-1 preferred nodes exists in the second target voting period
Figure BDA0002145894230000023
If a plurality of second target voting periods exist, calculating the weight of each second target voting period
Figure BDA0002145894230000024
Selecting a preferred voting period according to the weight of each second target voting period, wherein the number k corresponding to the voting period with shorter time interval of the current voting period is smaller;
selecting a target node in the set Q and a set R corresponding to the preferred voting period2As a preferred nodes corresponding to the current voting period, wherein the target node is in the set R2Each node in the set being different.
Optionally, as a possible implementation manner, the threshold voting method of the BLS signature algorithm in the embodiment of the present invention may further include:
acquiring the latest public key data of all voting nodes, judging whether the latest public key data is updated or not, if so, synchronizing the latest public key data to all verification node devices, and determining the voting nodes corresponding to the nonexistent public keys as leaving nodes;
if a first history voting period exists in the W history voting periods, and the departure node in the first history voting period is a valid voting node or the preferred node, deleting the identity information of all preferred nodes or the identity information of all valid voting nodes in the first history voting period, which is stored in the aggregation node device.
A second aspect of the embodiments of the present invention provides a threshold voting method based on a BLS signature algorithm, which is applied to a verification node device, where an aggregation public key corresponding to W historical voting periods is stored in the verification node device, and the method may include:
receiving aggregated signature data of a current voting period and corresponding identity information of a preferred node, which are sent by aggregated node equipment;
determining an aggregation public key which is most similar to a node public key set corresponding to the aggregation signature data from aggregation public keys corresponding to the latest W historical voting periods as an optimal aggregation public key;
and performing discrete logarithm multiplication and/or discrete logarithm division operation on the basis of the optimal aggregation public key to obtain a latest aggregation public key corresponding to the effective voting node in the current voting period, and verifying the aggregation signature data according to the latest aggregation public key.
Optionally, as a possible implementation manner, in an embodiment of the present invention, the determining, as an optimal aggregation public key, an aggregation public key that is most similar to a node public key set corresponding to the aggregated signature data from aggregation public keys corresponding to the latest W historical voting periods includes:
constructing a second voting result vector V corresponding to the current voting period according to the identity information of the preferred node of the current voting periodREach voting period corresponds to a second-class voting result vector, each voting node corresponds to a dimension value in the second-class voting result vector, the dimension values corresponding to all the preferred nodes are the same, and the dimension values corresponding to the other voting nodes are the same;
calculating W second-class voting result vectors V corresponding to the W locally-stored historical voting periodskAnd said VRWherein k is not less than 1 and not more than W, and determining the distance from the VRV with the smallest Hamming distancekAnd taking the aggregation public key in the corresponding historical voting period as the optimal aggregation public key.
Optionally, as a possible implementation manner, the threshold voting method of the BLS signature algorithm in the embodiment of the present invention may further include:
synchronizing the latest public key data of all voting nodes, judging whether the latest public key data is updated or not, and if so, determining the voting nodes corresponding to the nonexistent public keys as leaving nodes;
if a first history voting period exists in the W history voting periods, and the departure node in the first history voting period is a valid voting node or the preferred node, deleting the identity information and the aggregation public key of all the preferred nodes in the first history voting period, which are stored in the verification node device.
A third aspect of the embodiments of the present invention provides a blockchain system, where the blockchain system includes an aggregation node device and a verification node device, where,
the aggregation node device is configured to perform the steps in the threshold voting method embodiment of the BLS signature algorithm according to any one of the first aspect;
the verifying node device is adapted to perform the steps in an embodiment of the threshold voting method of the BLS signature algorithm according to any of the second aspects.
A fourth aspect of the embodiments of the present invention provides a terminal device, where the terminal device includes a memory and a processor, where the memory stores a computer program that is executable on the processor, and the computer program, when executed by the processor, implements the steps in the threshold voting method embodiment of the BLS signature algorithm according to any one of the first aspect and the second aspect.
Optionally, as a possible implementation manner, the terminal device in the embodiment of the present invention is a node forming a CDN network or a blockchain network.
A fifth aspect of the embodiments of the present invention provides a threshold voting system based on a BLS signature algorithm, which may include:
the receiving unit is used for receiving signature data sent by effective voting nodes in the current voting period;
the selecting unit is used for selecting a first preset number A of preferred nodes from the effective voting nodes in the current voting period by adopting a simulated annealing algorithm if the ratio of the number N of the effective voting nodes to the total number M of all the voting nodes exceeds a first threshold value T, wherein A is not more than N and not less than the product of M and T;
the aggregation unit is used for aggregating the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate corresponding aggregated signature data;
and the sending unit is used for sending the aggregated signature data and the identity information of the corresponding preferred node to the verification node equipment so that the verification node equipment verifies the aggregated signature data.
A sixth aspect of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores thereon a computer program, which is executable by one or more processors to implement the steps in the threshold voting method embodiment based on the BLS signature algorithm according to any one of the first and second aspects.
A seventh aspect of the embodiments of the present invention provides a computer program product, which includes computer instructions, when executed on a computer, for enabling the computer to perform the steps in the BLS signature algorithm-based threshold voting method embodiment according to any one of the first and second aspects.
The following can be known:
in the embodiment of the invention, after determining that the vote passes in the current voting period, the aggregation node device can select the first preset number of preferred nodes from the effective voting nodes in the current voting period, and aggregate the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate the corresponding aggregated signature data. And secondly, a simulated annealing algorithm is adopted in the process of selecting the optimal nodes, the algorithm can select the optimal node combination with the global optimum, the public key aggregation operation of members with the same composition of the optimal aggregation public key and the latest aggregation public key is saved, and the calculation amount of the aggregation public key corresponding to the current voting period calculated by the verification node equipment is further reduced.
Drawings
Fig. 1 is a schematic diagram of an embodiment of a threshold voting method based on a BLS signature algorithm according to an embodiment of the present invention;
FIG. 2 is a diagram of another exemplary embodiment of a threshold voting method based on the BLS signature algorithm according to the embodiment of the present invention;
fig. 3 is a schematic diagram of an embodiment of a threshold voting method based on the BLS signature algorithm according to the present invention;
FIG. 4 is a diagram of another embodiment of the threshold voting method based on the BLS signature algorithm according to the present invention;
FIG. 5 is a schematic diagram of an embodiment of a threshold voting system based on the BLS signature algorithm according to the embodiment of the present invention;
fig. 6 is a schematic diagram of an embodiment of a terminal device in the embodiment of the present invention.
The implementation, functional features and advantages of the objects of the present invention will be further explained with reference to the accompanying drawings.
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 derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection 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.
Multiple signatures are a special digital signature algorithm. On the basis of a general digital signature, multiple signatures additionally require that signatures of different users for the same information can be aggregated. The aggregated signature size should be smaller than the sum of all the different user signatures before aggregation, while verifying the aggregated signature may enable the verifier to believe that the signature population is indeed signed. In a multiple signature system, there are three roles, signer, aggregator, verifier. The signer comprises a plurality of user nodes which have different public keys and private keys and sign shared information. The aggregator is usually assumed by a certain user node, and collects the signature from the signer and then performs aggregation. The verifier may include any number of user nodes. The verifier determines whether all of the participating signers have signed the information by verifying the aggregated signature.
The applicant notices that the multiple signature algorithm can be applied to the network voting process, for example, the signature data of all voters can be aggregated to generate aggregated signature data, and in the verification process, the public keys of all voters need to be aggregated and the aggregated signature data needs to be verified according to the aggregated public key. However, although this approach can reduce the network resources occupied by the signature data, there is still room for further optimization. For example, a BLS aggregate signature algorithm is used for signature aggregation, when there are N voting nodes, each corresponding verification node needs to perform multiplication of about N discrete logarithms to obtain an aggregate public key in order to verify the aggregate signature, when the value of N is huge, a large amount of computing resources and time are consumed for computing the aggregate public key in each verification process, and the resource waste is more serious for multiple verifications.
For convenience of understanding, a detailed flow in the embodiment of the present invention is described below, and referring to fig. 1, an embodiment of a threshold voting method based on the BLS signature algorithm in the embodiment of the present invention includes:
101. receiving signature data sent by effective voting nodes in the current voting period;
in the embodiment of the invention, when voting nodes approve the proposal information corresponding to the voting data in the network voting process, the voting data can be signed according to the private key of the voting nodes to generate corresponding signature data and the signature data is sent to aggregation node equipment, the voting nodes sending the signature data are effective voting nodes in the current voting period, and the aggregation node equipment can receive the signature data sent by all the effective voting nodes in the current voting period.
102. If the ratio of the number N of the effective voting nodes to the total number M of all the voting nodes exceeds a first threshold value T, selecting a first preset number A of preferred nodes from the effective voting nodes in the current voting period by adopting a simulated annealing algorithm;
after the voting is completed, the aggregation node device may statistically calculate a ratio of the number N of valid voting nodes to the total number M of all voting nodes, and if the ratio does not exceed a preset first threshold T, it indicates that the voting does not pass and signature data aggregation is not required, and if the ratio exceeds the preset first threshold T, it indicates that the voting passes and signature data aggregation is required. In practical applications, the number of valid voting nodes may be greater than the product of M and T, however, the applicant notices that it is only necessary to verify the authenticity of the signatures of at least M × T valid voting nodes when the voting is confirmed to pass, for example, T is set to 0.5 in 1000 voting nodes, and the number of valid voting nodes in the current voting period is 800, so that it is only necessary to verify the authenticity of the signatures of at least 500 valid voting nodes at minimum, and the signature data of all 800 voting nodes do not need to be aggregated. In view of this, in the embodiment of the present application, a simulated annealing algorithm may be used to select a first preset number a of preferred nodes from the valid voting nodes in the current voting period, where a is not greater than N and not less than the product of M and T.
The applicant notices that effective voting nodes in each voting period in the multiple voting processes are not completely different, that is, an effective voting node set formed in each voting process, an overlapping interval exists between effective voting node sets corresponding to multiple historical voting periods, and an overlap also exists between constituent members of an aggregation public key corresponding to multiple historical voting periods. In view of this, in the embodiment of the present application, a simulated annealing algorithm may be adopted to select a first preset number a of preferred nodes with a higher voting probability from the effective voting nodes in the current voting period, and aggregate signature data corresponding to the a preferred nodes, so that the overlapping degree of the component members of the aggregation public key corresponding to the aggregation signature data of the current voting period and the aggregation public key of the historical voting period is higher.
Specifically, the simulated annealing algorithm is used for solving the problem that the optimal solution is difficult to accurately calculate. When a solution is found, the closer the solution is to the optimal solution, the greater the probability of accepting the solution. Meanwhile, even if one solution is far away from the optimal solution, the solution is still accepted with a small probability for preventing the calculation from falling into the local optimal solution. In the embodiment of the invention, because each verification node has limited calculation and storage capacity, only the latest aggregation results of a plurality of times can be reserved, and if the difference of the selected optimal node sets is too large, a large amount of calculation is expected to be performed on each verification node. Therefore, not only the overlapping degree of the aggregation public key corresponding to the aggregated signature data and the constituent members of the aggregation public key of the historical voting period stored by the verification node is ensured, but also the selected preferred node is ensured to be as close as possible to the preferred node participating in the voting in the next round. The aggregation node device may adopt a simulated annealing algorithm to select the first a preferred nodes with the largest number of valid votes in the latest W history voting periods from the valid voting nodes in the current voting period.
Optionally, as a possible implementation manner, selecting, by using a simulated annealing algorithm, the first a preferred nodes with the largest number of valid votes in the latest W history voting periods from the valid voting nodes in the current voting period in the embodiment of the present invention includes:
constructing a first-class voting result vector according to the received identity information of effective voting nodes in the current voting period, wherein each voting period corresponds to one first-class voting result vector, each voting node corresponds to one dimension value in the first-class voting result vector, the dimension values corresponding to all the effective voting nodes are the same, and the dimension values corresponding to the other voting nodes are the same;
the aggregation node equipment stores voting result vectors corresponding to the latest W historical voting periods to form an M multiplied by W matrix, Mi,jCorresponding dimension value of the ith voting node in the jth voting period according to a formula
Figure BDA0002145894230000091
Calculating the weight corresponding to each effective voting node, wherein all effective voting nodes in the current voting period form a set R, and i belongs to the R;
and determining a first preset number A of preferred nodes with the weight values ranked at the top according to the weight corresponding to each effective voting node.
It should be noted that, for the aggregation node device, the number corresponding to the latest W historical voting periods is stored in accordance with the time interval from the current voting period, and the smaller the time interval from the current voting period, the smaller the number corresponding to the smaller the number.
Figure BDA0002145894230000092
The calculation process of (a) is to generate a random number r if
Figure BDA0002145894230000093
If true, then corresponding mi,jHas a probability value of 1, otherwise if
Figure BDA0002145894230000094
If true, then corresponding mi,jHas a probability value of 0. It will be appreciated that the weight values in the above embodiments
Figure BDA00021458942300000914
The method is only exemplary, and can be reasonably set according to actual requirements, and only the simulated annealing principle needs to be met.
Optionally, as a possible implementation manner, when the identity information of a number of preferred nodes corresponding to W identical historical voting periods and each historical voting period is stored in the verification node device and the aggregation node device, selecting a first preset number of a preferred nodes from valid voting nodes in a current voting period by using a simulated annealing algorithm in the embodiment of the present invention includes:
judging whether a first target voting period exists in the W historical voting periods or not, wherein the first target voting period is a set formed by all preferred nodes in the first target voting period
Figure BDA0002145894230000096
The set Q is a set of effective voting nodes in the current voting period;
if the first target voting period exists, determining that the preferred node corresponding to the first target voting period is the preferred node corresponding to the current voting period;
if the first target voting period does not exist, judging whether a second target voting period exists in the W historical voting periods or not, wherein a set formed by A-1 preferred nodes exists in the second target voting period
Figure BDA0002145894230000097
If a plurality of second target voting periods exist, calculating the weight of each second target voting period
Figure BDA0002145894230000098
Selecting a preferred voting period according to the weight of each second target voting period, wherein the number k corresponding to the voting period with shorter time interval of the current voting period is smaller;
one target node in the set Q and a set R corresponding to the preferred voting period2The node in (2) is used as A preferred nodes corresponding to the current voting period, wherein the target node is in contact with the set R2Each node in the set being different.
Specifically, if there are a plurality of second goal voting periods, the weights of the respective second goal voting periods may be used
Figure BDA0002145894230000099
Calculating the total weight
Figure BDA00021458942300000910
Generating a random number r ∈ [0, weight >]Determining a preferred voting period from the interval in which r lies, e.g.
Figure BDA00021458942300000911
If yes, selecting a preferred voting period with k equal to 1;
Figure BDA00021458942300000912
if so, then a preferred voting period of k-2 is chosen, and so on, with each k chosen just as a percentage of its weight in the total weight.
If the second target voting period does not exist, the method can also be usedFinding a third target voting period in one step, wherein a set formed by A-2 preferred nodes exists in the third target voting period
Figure BDA00021458942300000913
And so on to find out the preferred voting period finally.
It can be understood that, although the data of the W historical voting periods stored in the verification node device and the data of the W historical voting periods stored in the aggregation node device are both identified by using the same letter, different amounts of data of the historical voting periods can be set according to actual requirements, that is, values of the two W may be different, and may be set reasonably specifically according to actual requirements and hardware resources, which is not limited here.
Optionally, in order to improve the reliability of the voting in the embodiment of the present invention, a plurality of verification node devices may be selected, for example, a plurality of node devices in the blockchain network may be selected as the verification node devices, which is not limited herein.
103. Aggregating the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate corresponding aggregated signature data;
after determining all the preferred nodes in the current voting period, the aggregation node device may aggregate the signature data sent by all the preferred nodes in the current voting period by using a BLS signature algorithm, and generate corresponding aggregated signature data.
The BLS signature algorithm is proposed by three people, namely, the computer Dan Boneh, Ben Lynn and Hovav Shacham of stanford university, and a specific algorithm implementation process is not described herein again.
104. And sending the aggregated signature data and the identity information of the corresponding preferred node to the verification node equipment.
The aggregation node device may send the aggregated signature data and the identity information of the corresponding preferred node to the verification node device, so that the verification node device verifies the aggregated signature data.
It can be understood that the identity information of the preferred node in the embodiment of the present invention may be a unique number of the corresponding voting node device or a public key corresponding to the voting node device, and is not limited herein.
In the embodiment of the invention, after determining that the vote passes in the current voting period, the aggregation node device can select the first preset number of preferred nodes from the effective voting nodes in the current voting period, and aggregate the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate the corresponding aggregated signature data. And secondly, a simulated annealing algorithm is adopted in the process of selecting the optimal nodes, the algorithm can select the optimal node combination with the global optimum, the public key aggregation operation of members with the same composition of the optimal aggregation public key and the latest aggregation public key is saved, and the calculation amount of the aggregation public key corresponding to the current voting period calculated by the verification node equipment is further reduced.
Optionally, as a possible implementation manner, on the basis of the embodiment shown in fig. 1, before performing statistics on voting data each time, it is determined whether the latest public key data is updated, if so, the latest public key data is synchronized to all verification node devices, and a voting node corresponding to a non-existent public key is determined as a departure node;
and if the first history voting period exists in the W history voting periods and the departure node in the first history voting period is a valid voting node or a preferred node, deleting the identity information of all preferred nodes or the identity information of all valid voting nodes in the first history voting period, which is stored in the aggregation node device.
The following describes an authentication flow on the authentication node device side in the embodiment of the present invention with reference to a specific flow. Referring to fig. 2, another embodiment of the threshold voting method for the BLS signature algorithm in the embodiment of the present invention may include:
201. receiving aggregated signature data of a current voting period and corresponding identity information of a preferred node, which are sent by aggregated node equipment;
202. determining an aggregation public key which is most similar to a node public key set corresponding to the aggregation signature data from aggregation public keys corresponding to the latest W historical voting periods as an optimal aggregation public key;
the verification node device may determine, from the aggregation public keys corresponding to the latest W historical voting periods, the aggregation public key most similar to the node public key set corresponding to the aggregation signature data as the optimal aggregation public key, and a method for specifically identifying the aggregation public key most similar to the node public key set corresponding to the aggregation signature data is not limited here, for example, a simulated annealing algorithm may be used to calculate an identity degree of an overlap degree of the public keys participating in a party, where the higher the overlap degree is, the higher the identity degree is.
For example, the verification node device may construct a second voting result vector V corresponding to the current voting period according to the identity information of the preferred node of the current voting periodR(ii) a Calculating W second-class voting result vectors V corresponding to the W locally-stored historical voting periodskAnd VRAnd determining the distance to VRV with the smallest Hamming distancekAnd taking the aggregation public key in the corresponding historical voting period as the optimal aggregation public key.
Specifically, after the verifying node device receives the aggregated signature data corresponding to the current voting period and the identity information of the corresponding preferred node, the verifying node device in the embodiment of the present invention may construct the second-class voting result vector V corresponding to the current voting period according to the identity information of the preferred node of the current voting periodREach voting period corresponds to a second voting result vector, each voting node corresponds to a dimension value in the second voting result vector, the dimension values corresponding to all the preferred nodes are the same, and the dimension values corresponding to the other voting nodes are the same. For example, assuming that the whole system has M voting nodes, without loss of generality, each node can be represented by a sequence number, and each voting result vector of the second type has M dimensionsThe value of each voting period corresponds to M voting nodes one by one, wherein the dimension values corresponding to the preferred nodes are all 1, and the dimension values of the other nodes are all 0, so that each voting period corresponds to one M-dimensional second-class voting result vector. V is used for the second type voting result vector corresponding to the current voting periodRIndicating that the second type voting result vector corresponding to other historical voting periods uses VkWherein 1. ltoreq. k. ltoreq.W.
After the verification node device receives the aggregated signature data corresponding to the current voting period and the identity information of the corresponding preferred node, only one optimal historical voting period needs to be found out from the stored data, the similarity between the optimal historical voting period preferred node set and the optimal voting period preferred node set is extremely high, the latest aggregated public key corresponding to the current voting period can be obtained by discrete logarithm multiplication and/or discrete logarithm division operation based on the aggregated public key corresponding to the historical voting period, and the calculation amount in the verification process of the signature data in the current voting period can be further reduced. For example, the number of the preferred node of the current voting period is 1, 3, 5, 7, and 9, respectively, the aggregation public key E corresponding to the historical voting period is stored in the verification node device, and the number of the preferred node corresponding to the aggregation public key E is 1, 3, 5, 7, and 8, the latest aggregation public key corresponding to the current voting period can be obtained only by performing a discrete logarithm division operation on the aggregation public key E (i.e., removing the public key corresponding to the preferred node 8), and performing a discrete logarithm multiplication operation (i.e., multiplying the public key corresponding to the preferred node 9).
In order to select an optimal historical voting period from the W historical voting periods, the verification node device in the embodiment of the present invention may calculate W second-class voting result vectors V corresponding to the W locally stored historical voting periodskHamming distance from the latest voting result vector, and determining distance from VRV with the smallest Hamming distancekAnd taking the aggregation public key in the corresponding historical voting period as the optimal aggregation public key.
203. And (3) performing multiplication of a discrete logarithm and/or division operation of the discrete logarithm on the basis of the optimal aggregation public key to obtain a latest aggregation public key corresponding to the effective voting node in the current voting period, and verifying the aggregation signature data according to the latest aggregation public key.
In the embodiment of the invention, the verification node equipment calculates W second-class voting result vectors V corresponding to W historical voting periods stored locallykHamming distance from the latest voting result vector, and determining distance from VRV with the smallest Hamming distancekTaking the aggregation public key in the corresponding historical voting period as an optimal aggregation public key; the latest aggregation public key corresponding to the current voting period is obtained by multiplication of the discrete logarithm and/or division operation of the discrete logarithm on the basis of the optimal aggregation public key, so that public key aggregation operation of members with the same composition of the optimal aggregation public key and the latest aggregation public key is saved, and the calculation amount of the aggregation public key corresponding to the current voting period calculated by the verification node device is reduced.
For the convenience of understanding, the threshold voting method of the BLS signature algorithm in the embodiment of the present invention will be described with reference to fig. 3 and 4 in conjunction with a specific application example.
Referring to fig. 3, assume that the whole system has M voting nodes, each having a globally knowable public key. When any node changes the public key, the latest public key can be synchronized in the whole network. Without loss of generality, each node may be represented by a sequence number. Each verifying node maintains the result of the last W times of public key aggregation which are different from each other. The size of W depends on the storage and computation capabilities of the verifying nodes, e.g. between 5 and 10, depending on the verifying node itself, which may be different. Each time the result is represented by an M-bit 0,1 vector v. If a certain public key exists in the result of the public key aggregation, the vector is 1 at the corresponding position of the public key, otherwise, the vector is 0.
And maintaining the result of voting for each node for W times closest to the current time by the aggregation node. The result of each vote is represented by a 0,1 vector with M bits, if the node votes, the vector is 1 at the corresponding position of the node, otherwise, the vector is 0. The W vectors together form an mxw matrix. Element m in the matrixi,jAnd the voting node with the sequence number i represents whether to vote in the previous j-th effective voting.
The aggregation node first checks whether the public key is up to date each time it receives a vote. If the public key is not up to date, the node is dynamically added to or separated from the network. The voting history of the leaving node should be emptied and its number assigned to the node that newly joined the network. Then, whether the number of votes N is larger than tM is judged. If the number of votes is less than tM, the voting is not enough, and the current round of voting is quitted. If N is larger than or equal to tM, selecting tM nodes from the N voting nodes for aggregation by using a simulated annealing algorithm as follows.
The simulated annealing algorithm is used for solving the problem that the optimal solution is difficult to accurately solve. When a solution is found, the closer the solution is to the optimal solution, the greater the probability of accepting the solution. Meanwhile, even if one solution is far away from the optimal solution, the solution is still accepted with a small probability for preventing the calculation of the solution from falling into the local optimal solution. In our problem, we should not only ensure that the aggregated result is easy to calculate for the verification result, but also ensure that the selected node is as close as possible to the node participating in the next round of voting. This is because each verification node has limited calculation and storage capabilities, and only the latest aggregation results of several times are retained, and if the difference R is too large each time, it is expected that each verification node performs a large amount of calculations. At the same time, it is unpredictable which nodes participate in the voting in the next round. Therefore, we consider that the closer to the vote of the current round, the closer to the optimal solution, and use this idea to calculate the weight of each node, and then select the optimal solution.
We use R to represent the set of valid voting nodes, where R is a random number uniformly distributed in the range of [0,1], and e is a mathematical constant, then the optional simulated annealing algorithm implementation may be:
Figure BDA0002145894230000141
the calculation process is as follows: when i is a fixed value, calculating the probability sum of each node
Figure BDA0002145894230000142
Figure BDA0002145894230000143
Wherein
Figure BDA0002145894230000144
And if the corresponding probability P is 1, otherwise, if the corresponding probability P is 0, selecting the public keys of the tM nodes at the top of the rank to perform signature aggregation operation. Finally, after aggregation, the aggregation node broadcasts the multiple signatures and the node numbers or public keys involved in the signatures to all verification nodes.
Referring to fig. 4, after the verification node receives the aggregated signature, first, an M-bit vector corresponding to the current aggregation result is extracted according to the received node number or the public key list, and then Hamming Distance (Hamming Distance) between the vector and the previously stored vector is sequentially calculated. The calculation method of the Hamming distance is as follows:
two M-bit vectors can be considered as two M-dimensional vectors, each element in the vector being either 0 or 1. Starting from the 1 st dimension to the M th dimension, if the corresponding position elements of the two vectors are different, the Hamming distance is + 1.
And after the verification node equipment calculates the Hamming distance between the vector of the current aggregation result and the vector stored before, selecting the public key aggregation corresponding to the vector with the minimum Hamming distance, wherein the computation amount of the aggregation calculation of the public key is the minimum of the computation amount of the current public key aggregation.
In this embodiment, by using the simulated annealing algorithm, the aggregation node selects the public key set with the minimum computation amount of the verification node in advance before aggregation, so that the original multiplication calculation requiring N discrete logarithms becomes very small, and the optimal multiplication can be optimized to 1 discrete logarithm multiplication. The optimization degree depends on dynamic factors such as network conditions and node behaviors. And the simulated annealing algorithm considers the calculation weight, and can better adapt to a dynamically changing network, particularly a network in which voting nodes frequently enter and exit. When a new node enters the network to start voting, the node does not have a history of a lot of votes at the aggregation node, but the simulated annealing algorithm still allows the node to enter the set of public key aggregation considering the few most recent votes of the node, and meanwhile timely updates the verification set of the verification node (the verification set of the verification node depends on the selection of the aggregation node on the public key aggregation node).
Referring to fig. 5, an embodiment of the present invention further provides a threshold voting system for a BLS signature algorithm, which includes:
a receiving unit 501, configured to receive signature data sent by a valid voting node in a current voting period;
a selecting unit 502, if the ratio of the number N of the effective voting nodes to the total number M of all the voting nodes exceeds a first threshold T, confirming that the vote passes, and selecting a first preset number a of preferred nodes from the effective voting nodes in the current voting period by using a simulated annealing algorithm, wherein a is not greater than N and not less than the product of M and T;
the aggregation unit 503 is configured to aggregate the signature data sent by all the preferred nodes in the current voting period by using a BLS signature algorithm, and generate corresponding aggregated signature data;
a sending unit 504, configured to send the aggregated signature data and the identity information of the corresponding preferred node to the verification node device, so that the verification node device verifies the aggregated signature data.
In the embodiment of the invention, after determining that the vote passes in the current voting period, the aggregation node device can select the first preset number of preferred nodes from the effective voting nodes in the current voting period, and aggregate the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate the corresponding aggregated signature data. And secondly, a simulated annealing algorithm is adopted in the process of selecting the optimal nodes, the algorithm can select the optimal node combination in the global sense, and further the calculation amount of the verification node equipment for calculating the aggregation public key corresponding to the current voting period is reduced.
Optionally, as a possible implementation manner, the selecting unit in the embodiment of the present invention may further include:
the building module is used for building a first-class voting result vector according to the received identity information of the effective voting nodes in the current voting period, wherein each voting period corresponds to one first-class voting result vector, each voting node corresponds to one dimension value in the first-class voting result vector, the dimension values corresponding to all the effective voting nodes are the same, and the dimension values corresponding to the other voting nodes are the same;
a calculation module for storing voting result vectors corresponding to the latest W historical voting periods in the aggregation node device to form an M multiplied by W matrix, Mi,jCorresponding dimension value of the ith voting node in the jth voting period according to a formula
Figure BDA0002145894230000151
Calculating the weight corresponding to each effective voting node, wherein all effective voting nodes in the current voting period form a set R, and i belongs to the R;
and the selection module is used for determining a first preset number A of preferred nodes with the weight values ranked at the top according to the weight corresponding to each effective voting node.
Optionally, as a possible implementation manner, when the verification node device stores preferred nodes corresponding to the same W historical voting periods, the selecting unit in the embodiment of the present invention may further include:
a first judging module, configured to judge whether a first target voting period exists in the W history voting periods, where a set formed by all preferred nodes in the first target voting period
Figure BDA0002145894230000152
The set Q is a set of effective voting nodes in the current voting period;
the first determining module is used for determining that the preferred node corresponding to the first target voting period is the preferred node corresponding to the current voting period if the first target voting period exists;
a second judging module, for judging whether there is a second target voting period in the W historical voting periods if there is no first target voting period, and there is A in the second target voting periodSet of 1 preferred nodes
Figure BDA0002145894230000161
A second confirming module for calculating the weight of each second target voting period if there are multiple second target voting periods
Figure BDA0002145894230000162
Selecting a preferred voting period according to the weight of each second target voting period, wherein the number k corresponding to the voting period with shorter time interval of the current voting period is smaller;
a third confirmation module for selecting a target node in the set Q and a set R corresponding to the preferred voting period2The node in (2) is used as A preferred nodes corresponding to the current voting period, wherein the target node is in contact with the set R2Each node in the set being different.
Optionally, as a possible implementation manner, the threshold voting system of the BLS signature algorithm in the embodiment of the present invention may further include:
and the updating unit is used for acquiring the latest public key data of all the voting nodes, judging whether the latest public key data is updated or not, synchronizing the latest public key data to all the verification node devices if the latest public key data is updated, and deleting the historical voting data corresponding to the nonexistent public key.
Optionally, as a possible implementation manner, the threshold voting system of the BLS signature algorithm in the embodiment of the present invention may further include:
a second receiving unit, configured to receive aggregation signature data of a current voting period and identity information of a corresponding preferred node, where the aggregation signature data is sent by an aggregation node device;
a second constructing unit, configured to construct a second voting result vector V corresponding to the current voting period according to the identity information of the preferred node of the current voting periodRWherein each voting period corresponds to a second type voting result vector, each voting node corresponds to a dimension value in the second type voting result vector, the dimension values corresponding to all the preferred nodes are the same,the corresponding dimension values of the rest voting nodes are the same;
a second calculation unit for calculating W second-class voting result vectors V corresponding to the locally stored W historical voting periodskHamming distance from the latest voting result vector, where k is 1. ltoreq. W, and determining the distance from VRV with the smallest Hamming distancekTaking the aggregation public key in the corresponding historical voting period as an optimal aggregation public key;
and the second aggregation unit is used for performing multiplication of a discrete logarithm and/or division operation of the discrete logarithm on the basis of the optimal aggregation public key to obtain the latest aggregation public key corresponding to the effective voting node in the current voting period.
It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the system, the apparatus and the unit described in the embodiments of the present invention may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
Referring to fig. 6, in this embodiment, a terminal device is further provided, where the terminal device 1 may be a Personal Computer (PC), or may be a terminal device of a smart phone, a tablet Computer, a palmtop Computer, a portable Computer, an intelligent router, an ore machine, or a network storage device.
The terminal device 1 may be a node constituting a CDN network or a blockchain network.
The terminal device 1 may include a memory 11, a processor 12 and a bus 13. The processor 11, when executing the computer program, implements the steps in the threshold voting method embodiment of the BLS signature algorithm described above and illustrated in fig. 1, such as steps 101 to 104 illustrated in fig. 1. Alternatively, the processor, when executing the computer program, implements the functions of each module or unit in the above-described device embodiments.
In some embodiments of the present invention, the processor is specifically configured to implement the following steps:
receiving signature data sent by effective voting nodes in the current voting period;
if the ratio of the number N of the effective voting nodes to the total number M of all the voting nodes exceeds a first threshold value T, confirming that the voting passes, and selecting a first preset number A of preferred nodes from the effective voting nodes in the current voting period by adopting a simulated annealing algorithm, wherein A is not more than N and not less than the product of M and T;
aggregating the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate corresponding aggregated signature data;
and sending the aggregated signature data and the identity information of the corresponding preferred node to the verification node equipment so that the verification node equipment verifies the aggregated signature data.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
and selecting the first A preferred nodes with the most effective voting times in the latest W historical voting periods from the effective voting nodes in the current voting period.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
constructing a first-class voting result vector according to the received identity information of effective voting nodes in the current voting period, wherein each voting period corresponds to one first-class voting result vector, each voting node corresponds to one dimension value in the first-class voting result vector, the dimension values corresponding to all the effective voting nodes are the same, and the dimension values corresponding to the other voting nodes are the same;
the aggregation node equipment stores voting result vectors corresponding to the latest W historical voting periods to form an M multiplied by W matrix, Mi,jCorresponding dimension value of the ith voting node in the jth voting period according to a formula
Figure BDA0002145894230000171
Calculating the weight corresponding to each effective voting node, wherein all effective voting nodes in the current voting period form a set R, and i belongs to the R;
and determining a first preset number A of preferred nodes with the weight values ranked at the top according to the weight corresponding to each effective voting node.
When W identical history voting periods are stored in the verification node device and the aggregation node device, and the identity information of a preferred nodes corresponding to each history voting period, optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
judging whether a first target voting period exists in the W historical voting periods or not, wherein the first target voting period is a set formed by all preferred nodes in the first target voting period
Figure BDA0002145894230000181
The set Q is a set of effective voting nodes in the current voting period;
if the first target voting period exists, determining that the preferred node corresponding to the first target voting period is the preferred node corresponding to the current voting period;
if the first target voting period does not exist, judging whether a second target voting period exists in the W historical voting periods or not, wherein a set formed by A-1 preferred nodes exists in the second target voting period
Figure BDA0002145894230000182
If a plurality of second target voting periods exist, calculating the weight of each second target voting period
Figure BDA0002145894230000183
Selecting a preferred voting period according to the weight of each second target voting period, wherein the number k corresponding to the voting period with shorter time interval of the current voting period is smaller;
selecting a target node in the set Q and a set R corresponding to the preferred voting period2The node in (2) is used as A preferred nodes corresponding to the current voting period, wherein the target node is in contact with the set R2Each node in the set being different.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
acquiring the latest public key data of all voting nodes, judging whether the latest public key data is updated or not, if so, synchronizing the latest public key data to all verification node devices, and determining the voting nodes corresponding to the nonexistent public keys as leaving nodes;
and if the first history voting period exists in the W history voting periods and the departure node in the first history voting period is a valid voting node or a preferred node, deleting the identity information of all preferred nodes or the identity information of all valid voting nodes in the first history voting period, which is stored in the aggregation node device.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
receiving aggregated signature data of a current voting period and corresponding identity information of a preferred node, which are sent by aggregated node equipment;
determining an aggregation public key which is most similar to a node public key set corresponding to the aggregation signature data from aggregation public keys corresponding to the latest W historical voting periods as an optimal aggregation public key;
and (3) on the basis of the optimal aggregation public key, performing multiplication of a discrete logarithm and/or division operation of the discrete logarithm to obtain the latest aggregation public key corresponding to the effective voting node in the current voting period.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
constructing a second voting result vector V corresponding to the current voting period according to the identity information of the preferred node of the current voting periodREach voting period corresponds to a second-class voting result vector, each voting node corresponds to a dimension value in the second-class voting result vector, the dimension values corresponding to all the preferred nodes are the same, and the dimension values corresponding to the other voting nodes are the same;
calculating W second-class voting result vectors V corresponding to the W locally-stored historical voting periodskAnd VRWhere k is 1. ltoreq. k. ltoreq.W, and determining the distance from VRV with the smallest Hamming distancekAnd taking the aggregation public key in the corresponding historical voting period as the optimal aggregation public key.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
synchronizing the latest public key data of all voting nodes, judging whether the latest public key data is updated or not, and if so, determining the voting nodes corresponding to the nonexistent public keys as leaving nodes;
and if the first historical voting period exists in the W historical voting periods and the departure node in the first historical voting period is a valid voting node or a preferred node, deleting the identity information and the aggregation public key of all the preferred nodes in the first historical voting period, which are stored in the verification node device.
The memory 11 includes at least one type of readable storage medium, and the readable storage medium includes a flash memory, a hard disk, 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 11 may in some embodiments be an internal storage unit of the terminal device 1, for example a hard disk of the terminal device 1. The memory 11 may also be an external storage device of the terminal device 1 in other embodiments, such as a plug-in hard disk provided on the terminal device 1, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like. Further, the memory 11 may also include both an internal storage unit of the terminal device 1 and an external storage device. The memory 11 can be used not only for storing application software installed in the terminal device 1 and various types of data such as codes of the computer program 01, but also for temporarily storing data that has been output or is to be output.
The processor 12 may be a Central Processing Unit (CPU), a controller, a microcontroller, a microprocessor or other data Processing chip in some embodiments, and is used for executing program codes stored in the memory 11 or Processing data, such as executing the program 01.
The bus 13 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 thick line is shown in FIG. 6, but this is not intended to represent only one bus or type of bus.
Further, the terminal device may further include a network interface 14, and the network interface 14 may optionally 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 terminal device 1 and other electronic devices.
Optionally, the terminal device 1 may further include a user interface, the user interface may include a Display (Display), an input unit such as a Keyboard (Keyboard), and the optional user interface may further include a standard wired interface and 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 terminal device 1 and for displaying a visual user interface.
Fig. 6 only shows the terminal device 1 with the components 11-14 and the computer program 01, it being understood by a person skilled in the art that the structure shown in fig. 6 does not constitute a limitation of the terminal device 1, but may comprise fewer or more components than shown, or a combination of certain components, or a different arrangement of components.
The present invention also provides a computer-readable storage medium having a computer program stored thereon, which when executed by a processor, performs the steps of:
receiving signature data sent by effective voting nodes in the current voting period;
if the ratio of the number N of the effective voting nodes to the total number M of all the voting nodes exceeds a first threshold value T, confirming that the voting passes, and selecting a first preset number A of preferred nodes from the effective voting nodes in the current voting period by adopting a simulated annealing algorithm, wherein A is not more than N and not less than the product of M and T;
aggregating the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate corresponding aggregated signature data;
and sending the aggregated signature data and the identity information of the corresponding preferred node to the verification node equipment so that the verification node equipment verifies the aggregated signature data.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
and selecting the first A preferred nodes with the most effective voting times in the latest W historical voting periods from the effective voting nodes in the current voting period.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
constructing a first-class voting result vector according to the received identity information of effective voting nodes in the current voting period, wherein each voting period corresponds to one first-class voting result vector, each voting node corresponds to one dimension value in the first-class voting result vector, the dimension values corresponding to all the effective voting nodes are the same, and the dimension values corresponding to the other voting nodes are the same;
the aggregation node equipment stores voting result vectors corresponding to the latest W historical voting periods to form an M multiplied by W matrix, Mi,jCorresponding dimension value of the ith voting node in the jth voting period according to a formula
Figure BDA0002145894230000211
Calculating the weight corresponding to each effective voting node, wherein all effective voting nodes in the current voting period form a set R, and i belongs to the R;
and determining a first preset number A of preferred nodes with the weight values ranked at the top according to the weight corresponding to each effective voting node.
When W identical history voting periods are stored in the verification node device and the aggregation node device, and the identity information of a preferred nodes corresponding to each history voting period, optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
judging whether W historical voting periods exist or notThere is a first goal voting period, a set of all preferred nodes within the first goal voting period
Figure BDA0002145894230000212
The set Q is a set of effective voting nodes in the current voting period;
if the first target voting period exists, determining that the preferred node corresponding to the first target voting period is the preferred node corresponding to the current voting period;
if the first target voting period does not exist, judging whether a second target voting period exists in the W historical voting periods or not, wherein a set formed by A-1 preferred nodes exists in the second target voting period
Figure BDA0002145894230000213
If a plurality of second target voting periods exist, calculating the weight of each second target voting period
Figure BDA0002145894230000214
Selecting a preferred voting period according to the weight of each second target voting period, wherein the number k corresponding to the voting period with shorter time interval of the current voting period is smaller;
selecting a target node in the set Q and a set R corresponding to the preferred voting period2The node in (2) is used as A preferred nodes corresponding to the current voting period, wherein the target node is in contact with the set R2Each node in the set being different.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
acquiring the latest public key data of all voting nodes, judging whether the latest public key data is updated or not, if so, synchronizing the latest public key data to all verification node devices, and determining the voting nodes corresponding to the nonexistent public keys as leaving nodes;
and if the first history voting period exists in the W history voting periods and the departure node in the first history voting period is a valid voting node or a preferred node, deleting the identity information of all preferred nodes or the identity information of all valid voting nodes in the first history voting period, which is stored in the aggregation node device.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
receiving aggregated signature data of a current voting period and corresponding identity information of a preferred node, which are sent by aggregated node equipment;
determining an aggregation public key which is most similar to a node public key set corresponding to the aggregation signature data from aggregation public keys corresponding to the latest W historical voting periods as an optimal aggregation public key;
and (3) on the basis of the optimal aggregation public key, performing multiplication of a discrete logarithm and/or division operation of the discrete logarithm to obtain the latest aggregation public key corresponding to the effective voting node in the current voting period.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
constructing a second voting result vector V corresponding to the current voting period according to the identity information of the preferred node of the current voting periodREach voting period corresponds to a second-class voting result vector, each voting node corresponds to a dimension value in the second-class voting result vector, the dimension values corresponding to all the preferred nodes are the same, and the dimension values corresponding to the other voting nodes are the same;
calculating W second-class voting result vectors V corresponding to the W locally-stored historical voting periodskAnd VRWhere k is 1. ltoreq. k. ltoreq.W, and determining the distance from VRV with the smallest Hamming distancekAnd taking the aggregation public key in the corresponding historical voting period as the optimal aggregation public key.
Optionally, in some embodiments of the present invention, the processor may be further configured to implement the following steps:
synchronizing the latest public key data of all voting nodes, judging whether the latest public key data is updated or not, and if so, determining the voting nodes corresponding to the nonexistent public keys as leaving nodes;
and if the first historical voting period exists in the W historical voting periods and the departure node in the first historical voting period is a valid voting node or a preferred node, deleting the identity information and the aggregation public key of all the preferred nodes in the first historical voting period, which are stored in the verification node device.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, 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 a data storage device, such as a server, a data center, etc., that is integrated with one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, 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 a form of hardware, and can also be realized in a 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: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
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 (12)

1. A threshold voting method based on a BLS signature algorithm is applied to aggregation node equipment, and comprises the following steps:
receiving signature data sent by effective voting nodes in the current voting period;
if the ratio of the number N of the effective voting nodes to the total number M of all the voting nodes exceeds a first threshold value T, confirming that the voting passes, and selecting a first preset number A of preferred nodes from the effective voting nodes in the current voting period by adopting a simulated annealing algorithm, wherein A is not more than N and not less than the product of M and T;
aggregating the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate corresponding aggregated signature data;
sending the aggregated signature data and the identity information of the corresponding preferred node to verification node equipment so that the verification node equipment verifies the aggregated signature data;
the selecting a first preset number A of preferred nodes from the effective voting nodes in the current voting period by adopting a simulated annealing algorithm comprises the following steps:
selecting the first A preferred nodes with the most effective voting times in the latest W historical voting periods from the effective voting nodes in the current voting period;
the step of selecting the first A preferred nodes with the most effective voting times in the latest W historical voting periods from the effective voting nodes in the current voting period comprises the following steps:
and determining a first preset number A of preferred nodes with weight values ranked at the top according to the weight corresponding to each effective voting node, wherein the weight is used for representing the voting probability of the effective voting node.
2. The method of claim 1, wherein the selecting the first a preferred nodes with the largest number of valid votes in the last W historical voting periods from the valid voting nodes in the current voting period comprises:
constructing a first-class voting result vector according to the received identity information of effective voting nodes in the current voting period, wherein each voting period corresponds to one first-class voting result vector, each voting node corresponds to a dimension value in the first-class voting result vector to indicate whether the voting nodes vote or not, the dimension values corresponding to all the effective voting nodes are the same, and the dimension values corresponding to the rest voting nodes are the same;
the aggregation node equipment stores first-class voting result vectors corresponding to the latest W historical voting periods to form an M multiplied by W matrix, and M isi,jCorresponding dimension value of the ith voting node in the jth voting period according to a formula
Figure FDA0003293708030000011
Calculating the weight corresponding to each effective voting node, wherein all effective voting nodes in the current voting period form a set R, and i belongs to the R;
and determining a first preset number A of preferred nodes with the weight values ranked at the top according to the weight corresponding to each effective voting node.
3. The method of claim 1, wherein when the identity information of a preferred nodes corresponding to W identical historical voting periods and each historical voting period is stored in the verification node device and the aggregation node device, the selecting a first preset number a of preferred nodes from the valid voting nodes in the current voting period by using a simulated annealing algorithm comprises:
judging whether a first target voting period exists in the W historical voting periods or not, wherein the first target voting period is a set formed by all preferred nodes in the first target voting period
Figure FDA0003293708030000021
The set Q is a set of effective voting nodes in the current voting period;
if the first target voting period exists, determining that the preferred node corresponding to the first target voting period is the preferred node corresponding to the current voting period;
if the first target voting period does not exist, judging whether a second target voting period exists in the W historical voting periods or not, wherein a set formed by A-1 preferred nodes exists in the second target voting period
Figure FDA0003293708030000022
If a plurality of second target voting periods exist, calculating the weight of each second target voting period
Figure FDA0003293708030000023
Selecting a preferred voting period according to the weight of each second target voting period, wherein the number k corresponding to the voting period with shorter time interval of the current voting period is smaller;
selecting a target node in the set Q and a set R corresponding to the preferred voting period2Node inAs A preferred nodes corresponding to the current voting period, wherein the target node is in a set R2Each node in the set being different.
4. The method of any one of claims 1-3, further comprising:
acquiring latest public key data of all voting nodes, judging whether the latest public key data is updated or not, if so, synchronizing the latest public key data to all verification node devices, and determining the voting nodes corresponding to the nonexistent public keys as leaving nodes;
if a first history voting period exists in the W history voting periods, and the departure node in the first history voting period is a valid voting node or the preferred node, deleting the identity information of all preferred nodes or the identity information of all valid voting nodes in the first history voting period, which is stored in the aggregation node device.
5. A threshold voting method based on a BLS signature algorithm is applied to verification node equipment, and an aggregation public key corresponding to W historical voting periods is stored in the verification node equipment, and the method comprises the following steps:
receiving aggregated signature data of a current voting period and corresponding identity information of a preferred node, which are sent by aggregated node equipment;
determining an aggregation public key which is most similar to a node public key set corresponding to the aggregation signature data from aggregation public keys corresponding to the latest W historical voting periods as an optimal aggregation public key;
and performing discrete logarithm multiplication and/or discrete logarithm division operation on the basis of the optimal aggregation public key to obtain a latest aggregation public key corresponding to the effective voting node in the current voting period, and verifying the aggregation signature data according to the latest aggregation public key.
6. The method of claim 5, wherein determining, as an optimal aggregation public key, an aggregation public key that is most similar to a node public key set corresponding to the aggregated signature data from the aggregation public keys corresponding to the latest W historical voting periods comprises:
constructing a second voting result vector V corresponding to the current voting period according to the identity information of the preferred node of the current voting periodREach voting period corresponds to a second-class voting result vector, each voting node corresponds to a dimension value in the second-class voting result vector to indicate whether the voting node votes, the dimension values corresponding to all the preferred nodes are the same, and the dimension values corresponding to the rest voting nodes are the same;
calculating W second-class voting result vectors V corresponding to the W locally-stored historical voting periodskAnd said VRWherein k is not less than 1 and not more than W, and determining the distance from the VRV with the smallest Hamming distancekAnd taking the aggregation public key in the corresponding historical voting period as the optimal aggregation public key.
7. The method of claim 6, further comprising:
synchronizing the latest public key data of all voting nodes, judging whether the latest public key data is updated or not, and if so, determining the voting nodes corresponding to the nonexistent public keys as leaving nodes;
if a first history voting period exists in the W history voting periods, and the departure node in the first history voting period is a valid voting node or the preferred node, deleting the identity information and the aggregation public key of all the preferred nodes in the first history voting period, which are stored in the verification node device.
8. A blockchain system comprising an aggregation node device and a verification node device, wherein,
the aggregation node device is configured to perform the steps of the threshold voting method based on the BLS signature algorithm according to any one of claims 1 to 4;
the verifying node device is adapted to perform the steps in the threshold voting method based on the BLS signature algorithm according to any one of claims 5 to 7.
9. A terminal device, characterized in that the terminal device comprises a memory and a processor, the memory having stored thereon a computer program being executable on the processor, the computer program, when being executed by the processor, implementing the steps in the threshold voting method of the BLS signature algorithm according to any one of claims 1 to 7.
10. A threshold voting system based on BLS signature algorithm, comprising:
the receiving unit is used for receiving signature data sent by effective voting nodes in the current voting period;
the selecting unit is used for selecting a first preset number A of preferred nodes from the effective voting nodes in the current voting period by adopting a simulated annealing algorithm if the ratio of the number N of the effective voting nodes to the total number M of all the voting nodes exceeds a first threshold value T, wherein A is not more than N and not less than the product of M and T;
the aggregation unit is used for aggregating the signature data sent by all the preferred nodes in the current voting period by adopting a BLS signature algorithm to generate corresponding aggregated signature data;
a sending unit, configured to send the aggregated signature data and identity information of the corresponding preferred node to a verification node device, so that the verification node device verifies the aggregated signature data;
the selection unit includes:
and the selection module is used for determining a first preset number A of preferred nodes with the weight values ranked at the top according to the weight corresponding to each effective voting node, wherein the weight is used for expressing the voting probability of the effective voting nodes.
11. A computer-readable storage medium having stored thereon a computer program executable by one or more processors to perform the steps in the BLS signature algorithm based threshold voting method according to any one of claims 1 to 7.
12. A computer program product comprising computer instructions which, when run on a computer, cause the computer to perform the steps of the BLS signature algorithm based threshold voting method according to any one of claims 1 to 7.
CN201910684684.4A 2019-07-26 2019-07-26 Threshold voting method, system and related equipment based on BLS signature algorithm Active CN110400409B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910684684.4A CN110400409B (en) 2019-07-26 2019-07-26 Threshold voting method, system and related equipment based on BLS signature algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910684684.4A CN110400409B (en) 2019-07-26 2019-07-26 Threshold voting method, system and related equipment based on BLS signature algorithm

Publications (2)

Publication Number Publication Date
CN110400409A CN110400409A (en) 2019-11-01
CN110400409B true CN110400409B (en) 2022-02-22

Family

ID=68325181

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910684684.4A Active CN110400409B (en) 2019-07-26 2019-07-26 Threshold voting method, system and related equipment based on BLS signature algorithm

Country Status (1)

Country Link
CN (1) CN110400409B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111443895A (en) * 2020-03-12 2020-07-24 杭州泛链科技有限公司 Verifiable random number generation method applied to block chain

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000021041A1 (en) * 1998-10-06 2000-04-13 Chavez Robert M Digital elections network system with online voting and polling
JP2000207483A (en) * 1998-11-11 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> Electronic voting method, voting system and program recording medium
WO2003063055A2 (en) * 2002-01-23 2003-07-31 Amerasia International Technology, Inc. Generation and verification of a digitized signature
CN102568073A (en) * 2010-12-02 2012-07-11 微软公司 Media asset voting
CN103955984A (en) * 2014-03-24 2014-07-30 广州华多网络科技有限公司 Method, server, voting processing node and system for achieving interconnection network voting
CN107968708A (en) * 2017-11-10 2018-04-27 财付通支付科技有限公司 Generate method, apparatus, terminal and the server of signature
CN109360100A (en) * 2018-11-13 2019-02-19 北京航空航天大学 Transaction rapid acknowledgment method and device based on block chain technology
CN109816844A (en) * 2019-01-30 2019-05-28 陕西师范大学 A kind of quantum ballot system based on quantum homomorphism signature

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1571777A1 (en) * 2004-03-02 2005-09-07 France Telecom Electronic voting process using fair blind signatures
EP1756767A2 (en) * 2004-06-07 2007-02-28 Dategrity Corporation Cryptographic systems and methods, including practical high certainty intent verification, such as for encrypted votes in an electronic election
US20110139872A1 (en) * 2009-12-11 2011-06-16 International Lottery and Totalizator Systems, Inc System and Method for Capturing Write-In Selections on a Paper Ballot
CN102629396B (en) * 2012-04-09 2014-04-02 中科院成都信息技术股份有限公司 Information encryption and quick processing method for alternative candidate-containing electronic votes
JP2014130436A (en) * 2012-12-28 2014-07-10 Musashi Eng Co Ltd Voting paper classification device
CN106373251A (en) * 2016-08-30 2017-02-01 中科院成都信息技术股份有限公司 Electronic vote counting method based on secret sharing
CN109522456A (en) * 2018-11-14 2019-03-26 全链通有限公司 The node availability detection generated based on block
CN109543075B (en) * 2018-11-14 2020-09-22 全链通有限公司 Block generation method and system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000021041A1 (en) * 1998-10-06 2000-04-13 Chavez Robert M Digital elections network system with online voting and polling
JP2000207483A (en) * 1998-11-11 2000-07-28 Nippon Telegr & Teleph Corp <Ntt> Electronic voting method, voting system and program recording medium
WO2003063055A2 (en) * 2002-01-23 2003-07-31 Amerasia International Technology, Inc. Generation and verification of a digitized signature
CN102568073A (en) * 2010-12-02 2012-07-11 微软公司 Media asset voting
CN103955984A (en) * 2014-03-24 2014-07-30 广州华多网络科技有限公司 Method, server, voting processing node and system for achieving interconnection network voting
CN107968708A (en) * 2017-11-10 2018-04-27 财付通支付科技有限公司 Generate method, apparatus, terminal and the server of signature
CN109360100A (en) * 2018-11-13 2019-02-19 北京航空航天大学 Transaction rapid acknowledgment method and device based on block chain technology
CN109816844A (en) * 2019-01-30 2019-05-28 陕西师范大学 A kind of quantum ballot system based on quantum homomorphism signature

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Towards the intelligent agents for blockchain e-voting system;MichałPawlak;《Procedia Computer Science》;20181231;全文 *
一种基于门限的电子投票方案;邹秀斌;《计算机科学》;20120715;第1节 *
同态签密方案及其在电子投票中的应用;张鹏;《深圳大学学报理工版》;20111130;全文 *
安全电子投票协议的设计与研究;刘忆宁;《桂林电子科技大学》;20161010;全文 *
聚合签名与数字签密技术研究;文毅玲;《中国博士学位论文全文数据库 信息科技辑》;20130430;全文 *

Also Published As

Publication number Publication date
CN110400409A (en) 2019-11-01

Similar Documents

Publication Publication Date Title
EP3586493B1 (en) Method for mining a block in a decentralized blockchain consensus network
CN110300172B (en) Block chain data consensus method and related equipment
CN107944610B (en) Method for predicting event popularity, server and computer-readable storage medium
CN110505305B (en) Block chain fragmentation method and device and block chain system
US8966273B2 (en) Lightweight group signature system and method with short signature
CN106682906B (en) Risk identification and service processing method and equipment
CN111523890A (en) Data processing method and device based on block chain, storage medium and equipment
WO2020258252A1 (en) Consensus method for block chain data and related device
US20210049690A1 (en) Computer implemented voting process and system
CN111414373A (en) Consensus method and consensus system
CN103095824A (en) File uploading control method and system
CN110505064A (en) Thresholding voting method, system and relevant device based on EC-Schnoor signature algorithm
CN102510400A (en) Method, apparatus and equipment used for determining user suspectableness degree
CN110400409B (en) Threshold voting method, system and related equipment based on BLS signature algorithm
CN113434906B (en) Data query method, device, computer equipment and storage medium
CN113242301B (en) Method, device, computer equipment and storage medium for selecting true server
CN113807415A (en) Federal feature selection method and device, computer equipment and storage medium
CN112733181A (en) Product recommendation method, system, computer equipment and storage medium
CN113162971A (en) Block link point management method, device, computer and readable storage medium
CN110401537A (en) Thresholding voting method, system and relevant device based on BLS signature algorithm
WO2021052033A1 (en) Data calling method and apparatus, and device and computer readable storage medium
CN114070847B (en) Method, device, equipment and storage medium for limiting current of server
CN110601834B (en) Consensus method, device, equipment and readable storage medium
CN114221964A (en) Access request processing method and device, computer equipment and storage medium
CN110401541A (en) Thresholding voting method, system and relevant device based on EC-Schnoor signature algorithm

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: 20210909

Address after: 518000 21 / f-23 / F, block B, building 12, Shenzhen Bay science and technology ecological park, No. 18, South Keji Road, high tech community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Xunlei Networking Technologies, Ltd.

Applicant after: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

Address before: 518052 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

GR01 Patent grant
GR01 Patent grant