CN110855432A - Asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions - Google Patents

Asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions Download PDF

Info

Publication number
CN110855432A
CN110855432A CN201911049650.4A CN201911049650A CN110855432A CN 110855432 A CN110855432 A CN 110855432A CN 201911049650 A CN201911049650 A CN 201911049650A CN 110855432 A CN110855432 A CN 110855432A
Authority
CN
China
Prior art keywords
block
verifier
round
super
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911049650.4A
Other languages
Chinese (zh)
Other versions
CN110855432B (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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201911049650.4A priority Critical patent/CN110855432B/en
Publication of CN110855432A publication Critical patent/CN110855432A/en
Application granted granted Critical
Publication of CN110855432B publication Critical patent/CN110855432B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The invention discloses an asynchronous BFT & DPOS consensus mechanism based on verifiable random function distribution verifier rewards, which mainly comprises the following steps: s1: initializing a system; s2: selecting a super node; s3: selecting a verifier; s4: generating a block; s5: confirming the block; s6: the distribution of the reward; s7: and switching the super nodes. The role of the verifier is introduced, the verifier enables the standby node not to be idle any more but to participate in the verification work of the block, and the verifier can enable the system to stop running by exercising the verification right at the first moment when the super node runs through the malicious attack system, so that the system based on the VBDPOS common identification mechanism can prevent the attack of the attacker on the system at the first moment, and the safety of the system is improved. Through the design of the block confirmation scheme, the VBDPOS consensus mechanism can meet the existing commercial requirements on the basis of improving the overall safety and simultaneously not reducing the performance too much.

Description

Asynchronous BFT & DPOS consensus mechanism for verifier reward distribution based on verifiable random function
Technical Field
The invention relates to the technical field of block chains, in particular to an asynchronous BFT & DPOS consensus mechanism for distributing verifier rewards based on verifiable random functions.
Background
The advent of blockchain technology, which is a combination of multi-technology and discipline, is called a new revolution, and the distributed system and distributed applications are developed vigorously, and the most important blockchain technology in determining the quality of a blockchain distributed system is a consensus mechanism, which is a core technology for the safety and development of the blockchain distributed system.
The blockchain system is decentralized, and nodes are distributed and parallel throughout, so a system must be designed to maintain the order and fairness of operation of the distributed system, unify the version of the blockchain, reward users who provide resource to maintain the blockchain, and punish malicious jeopardizers. Such a system must rely on some way to prove who has obtained the packaging rights (or billing rights) for a block chain and can obtain the reward of packaging the block; or who intends to do harm, a certain penalty is obtained, a system for operating the distributed system is called a consensus mechanism, the background problem of the consensus mechanism is the Byzantine problem, and in a distributed decentralized network, how to achieve consensus by nodes, keep data consistent and maintain system operation. After about 10 years of development, the blockchain is currently recognized as a POW consensus mechanism represented by bitcoin, a POS consensus mechanism represented by ether house, and a DPOS consensus mechanism represented by EOS.
Currently, the top ten commercially available blockchain distributed system named EOS is a high-performance blockchain underlying operating system developed by block.one corporation, and the consensus mechanism adopted by EOS is DPOS (trusted rights attestation) consensus mechanism. The DPOS consensus mechanism votes for 21-bit super nodes through a decentralized voting mechanism, the 21-bit super nodes representing all EOS holders to fulfill rights and obligations. The super nodes are endowed with the accounting right, collect transaction information, pack the transaction information into blocks, broadcast the blocks to other super nodes, upload the blocks to a block chain after passing verification, and obtain corresponding rewards. The DPOS (delegation rights and interests) mechanism is optimized on the basis of PoS, and producers are selected by voting to fulfill rights and obligations on their behalf instead of being determined with effort. If the producer is out of position, the producer may be voted out by the bearer at any time.
The reward distribution of the DPOS consensus mechanism of the existing EOS design is unreasonable, and the existing EOS adopts a continuous reissue mode triggered by drawing on the basis of 10 hundred million tokens, and the reissue is approximately 5% annually. The increased EOS token is used for node reward and proposal fund, wherein the node reward accounts for one fifth, namely, the increased token accounts for 5% of the tokens in the EOS system, 1% of the tokens are the node reward, and the rest 4% of the tokens are the proposal fund. The 1% node reward is divided into two rewards, namely a super node block reward and a super node and spare node ticket rate reward. The block awarding accounts for one fourth of 1%, namely 0.25% of 5% EOS tokens increased every year are awarded to the super node as the block awards, 0.75% of the 5% EOS tokens increased every year are awarded to the super node and the standby node as the ticket obtaining awards, the allocation rule of the ticket obtaining rate awards is that awards are allocated according to the ticket obtaining rate, and when the ticket obtaining rate is too low, the voting awards actually drawn by the standby node are less than 100EOS tokens, and the standby node cannot obtain the voting awards.
Due to the fact that the punishment mechanism of the DPOS consensus mechanism of the existing EOS system is not timely, potential safety hazards exist in the EOS system. When a super node colludes to launch an attack on the EOS system, for example, by means of verifying false transactions, packaging false transactions, producing blocks containing these false transactions, packaging multiple blocks simultaneously, and a double-flower attack, irreparable loss is caused to the EOS system, so that the benefit of the money holder is subjected to huge loss.
Even if the system or the user finds the collusion behavior of the super node, the punishment on the attacker or the maintenance of the system is postpositive, even if the last money holder votes to cast the malicious attacker out of the super node, the punishment is caused on the attacker, the stability of the EOS system is maintained, but the loss caused by the attacker cannot be recovered, so that the safety of the EOS system and the benefit of the EOS system user cannot be guaranteed in time.
Disclosure of Invention
The invention provides an asynchronous BFT & DPOS consensus mechanism based on verifiable random function distribution verifier reward, aiming at overcoming the problem that the punishment mechanism of the DPOS consensus mechanism of the EOS system in the prior art is not timely.
In order to solve the technical problems, the invention adopts the technical scheme that: an asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions, comprising the steps of:
s1, initializing the system, in a VBDPOS consensus mechanism, the candidate becomes a node after application by submitting equipment, facilities, personnel data description and certification by an applicant who wants to become a node candidate;
s2: selecting a super node, voting the candidate of each node by a token holder through a voting system, selecting 21 nodes with the highest votes as the super nodes according to the ranking of the votes, generating 252 blocks as one block period, updating the votes in real time when each block period starts, and updating the rankings of the super nodes and the verifiers;
s3: selecting a verifier, and applying to become the verifier when the standby node meets the following three conditions, so as to participate in the block verification and confirmation work of the system; the three conditions are: the ticket number weight acquired by the standby node is required to be larger than the total ticket number of the system by X%, and X% is the lowest ticket number weight which can receive 100EOS rewards and is calculated in real time according to the ticket rate of the network; the standby nodes participating in the verification need to lock a certain amount of EOS deposit to a specific account, and the specific account submitted by the deposit can be a specified account of an authority or a specific account guaranteed by an intelligent contract; the verifier needs to keep a real-time communication state with all the super nodes and other verifiers continuously;
s4: the block generation is consistent with an asynchronous BFT-DPOS common identification mechanism, in a block production process, a super node can arrange a sequence to produce the blocks according to a specified algorithm, the super node which is currently responsible for block output can collect transaction information and pack the transaction information into the blocks, the packed blocks are broadcasted to other super nodes and a verifier to verify, and in the process of waiting for block confirmation, a new block can be generated at the same time; if a node has not generated a block within the last 24 hours, it will be moved out of the supernode's candidate list;
s5: the method comprises the following steps that (1) verification is conducted on a new block by other super nodes and verifiers during block verification, verification and signature results are broadcast, when the super nodes responsible for the block continuously monitor a network after broadcast, signature confirmation of 15 super nodes and signature confirmation and certificates of over 2/3 verifiers are collected, and the super nodes and the verifiers make different selections according to different conditions and a block confirmation scheme of a VBDPOS common identification mechanism;
s6: distributing the rewards, namely comparing a minimum certificate by nodes in the system after each round of block confirmation is completed according to a reward distribution mechanism for selecting winners based on a verifiable random function, achieving consensus on the minimum certificate, and obtaining the verification rewards of the round of block by a verifier holding the minimum certificate, namely the winners of the round of block;
s7: in the process of block generation, if the last block is not confirmed in 12 blocks belonging to the a super node, the a super node will start to produce the next block because the a super node can believe that it has not been forged. However, if the super node a finishes producing 12 blocks, when the super node B is in turn producing the blocks, the super node B will wait until it confirms that the 12 th block of the super node a has obtained the confirmation of the other 15 super nodes and the verifier, and then will follow the producing blocks.
It should be noted that step S3 may be performed simultaneously with step S4, but step S4 is performed before step S5.
Preferably, in step S5, the number of all verifiers is set to Nall2/3 verifiers number N2/3The block height is the r-th round, the block generated by the r-th round is B1, the block generated by the r + 1-th round is B2, and the seed parameter of the r-th round is QrThe super node responsible for block output is an A super node, the number of the verifiers and the certificates received by the A super node at a certain moment is set to be X, and the specific steps of the confirmation of the VBDPOS block are as follows:
s 51: block, seed parameter production and broadcast, r-1 round minimal voucher QrI.e. the seed parameter Q of the r-th roundrIn the r-th round of block production process, the super nodes can arrange blocks in a well-ordered production sequence according to a specified algorithm, the super nodes which are currently responsible for block production can collect transaction information and pack the transaction information into the blocks, and the packed blocks B1 and the seed parameter Q of the round of blocksrBroadcast to other super nodes and verifier for verification, and generate a new block B2 simultaneously in the process of waiting for block confirmation;
s 52: the verification of the block and the generation of the certificate, the super node and the verifier in the system are on line all the time, the network is monitored, and when they receive the new block B1 and the seed parameter QrThen, firstly, generating respective certificates according to an algorithm flow for selecting winners based on a verifiable random function; and then, the block B1 is independently verified to ensure that the transaction information is correct and has no false.
Each super node and verifier would broadcast block B1 of round r and the respective "signature + credential" over the network;
s 53: the block B1 gets system confirmation, the a super node will continue to monitor the network after broadcasting the block B1, when signature confirmations of more than 15 super nodes and signature confirmations and certificates of more than 2/3 verifiers are collected, it can be regarded that the block B1 gets system confirmation, the super node will add the block B1 to the block chain, and the previously produced block B2 and seed parameter Q of round r +1r+1Broadcasting, entering block confirmation of the r +1 th round; block B1 is acknowledged, because of network latency, there are two different processing modes, resulting in two different processesAs a result, the system is ensured to operate normally, and the delay is controlled within one second; the super node A can judge the number of the collected signature confirmations of the super nodes at any time, and once the number of the signature confirmations of the super nodes exceeds (contains) 15, the super node A can enter a timing state and judge the number of the collected signature confirmations of the verifier.
Preferably, the step s53 specifically includes:
1) when entering the timing state, if X is NallThe super node A can automatically compare the certificate sizes of all verifiers to obtain a minimum certificate, and the minimum certificate in the r round is the seed parameter Q of the r +1 roundr+1The A super node will add block B1 to the block chain, block B2 and seed parameter Q of the r +1 th round produced beforer+1Broadcasting, entering block confirmation of the r +1 th round;
2) upon entering the timed state, N2/3<X<NallThe A super node waits for one second and collects N at any time timed in one secondallThe signature quantity of each verifier, the super node A can automatically compare the sizes of the certificates of all verifiers to obtain a minimum certificate, and the minimum certificate of the round r is the seed parameter Q of the round r +1r+1The A super node would then add block B1 to the blockchain, block B2 and seed parameter Q of the previous r +1 th round of productionr+1Broadcasting, entering block confirmation of the r +1 th round;
3) when entering the timing state, if X<N2/3The A super node waits for one second and does not collect N after one second is timedallThe number of signatures of each verifier, but when the settlement is performed after one second, the number of signatures of the verifier which is collected exceeds (includes) N2/3The super node A can automatically compare the collected certificate sizes of the verifiers to obtain a minimum certificate, and the minimum certificate of the round r is the seed parameter Q of the round r +1r+1The A super node would then add block B1 to the blockchain, block B2 and seed parameter Q of the previous r +1 th round of productionr+1Broadcast, enter chunk ack for round r + 1.
4) When entering the timing state, if X<N2/3The A super node waits for one second and does not collect N after one second is timed2/3The number of signatures of each verifier is regarded as that the block chain system has a problem, and the verifier exercises the verification right to ensure that the block cannot be confirmed, or the verifier is attacked, and the block stops production.
In the above technical solution, after the verifier is introduced at the step of block verification, the block verification is changed from the previous verification and verification requiring only 15 super nodes to the verification and verification requiring 15 super nodes and more than 2/3 verifier, and compared with the existing system based on the DPOS consensus mechanism, the security of the system based on the VBDPOS consensus mechanism is greatly improved, and the problem is that the increased number of verification and verification required for the current block affects the generation of the next block in the block chain system (each block is generated on the basis of the previous block), so in the VBDPOS consensus mechanism, the scheme of the confirmation block is newly designed, so that the VBDPOS consensus mechanism does not have an excessive impression on the performance of the system on the basis of improving the security of the system, because in the scheme design, the delay is controlled within one second when the system normally operates, the block output efficiency is in the block chain field, can meet business requirements, and is enough to be put into business use.
The verifier is forced online and forced to participate in each round of block validation, but the system will not be down because the verifier is out of order, but will continue to operate steadily. In the existing network state, one second is enough time for all nodes to finish synchronizing the same certificate, and in the process of participating in verification, the signature confirmation and the certificate of the A verifier are not received by the producing super node within one second, and the A verifier is regarded as lacking the block confirmation. That is, if the two situations occur, the a verifier directly sends the signature and the certificate point to point without being received by the super node in production, and the signature and the verification randomly broadcasted by the a verifier are not received by the super node in production, then the a verifier is regarded as lacking the confirmation of the round block, and cannot participate in the selection of the winner in the round block production, a is deducted by 5% of the guarantee fund, the 5% of the guarantee fund is awarded to the verifier in the round, and the a verifier is rejected because the guarantee fund is insufficient, and the verification job and the verification reward obtaining cannot be participated in the next round of block period until the a resubmits the guarantee fund to obtain the verifier qualification. Regardless of what problem the a-verifier is unable to participate in the verification, the absence of the a-verifier affects the choice of the minimum credential, since the minimum credential changes due to the absence of the verifier.
Preferably, the step S6 specifically includes the following steps:
s61, verifier condition is satisfied;
s62, generating the certificate of the verifier;
s 63: the verifier participates in the verification work;
s64: the process of winner selection and verification.
In the technical scheme, the reward distribution mechanism for selecting the winners based on the verifiable random function can ensure that each turn of verifier reward distribution of the VBDPOS consensus mechanism is random and unpredictable, so that the reward distribution is fair for the verifier. In addition, each round of block verification rewards are randomly distributed, and two advantages are that the rewards are intuitive, and the block verification rewards of each round are fixed amount and cannot be reduced due to the increase of the number of verifiers. The other is that the fully randomly distributed reward is the average distribution with time attribute, so that the verifier can not participate in the block verification any more when the verifier is not drawn as a winner because of participating in the block verification, because the round number is enough and continuously participates as long as the time for participating in the verification is long enough, and the frequency of drawing as the winner of the verifier approaches the probability according to the law of large numbers.
Preferably, at the beginning of a block cycle, the standby node qualifies as a verifier in step s61 with the following conditions:
a: the ticket weight acquired by the standby node is required to be larger than the total ticket weight of X% of the system, and X% is the lowest ticket weight which can be calculated in real time and can receive 100EOS rewards;
b: the standby nodes participating in the verification need to lock a certain amount of EOS deposit to a specific account;
c: the verifier needs to maintain a real-time communication state with all supernodes and other verifiers continuously.
In the technical scheme, the standby node which does not meet the condition cannot obtain the reward even if the standby node participates in the verification process (sends the signature and the certificate) and is not approved by the super node and the system. There must be a certain requirement for the number of votes, since the validation does not require a too large threshold, which is a means for allocating rewards to the standby nodes from the point of view of the health consensus mechanism, and there is a certain requirement for the standby nodes in order for the rewards to be given to the contributing standby nodes.
Preferably, in step s62, the difference between the VBDPOS consensus mechanism and the existing DPOS consensus mechanism is that VBDPOS has more verifiers qualification audit and verifiers participate in block verification in the verification step, and VBDPOS publishes a random algorithm based on the current seed parameter, namely, a verifiable random function VRF, and a key parameter of the VRF is the private key of the user, and the private key is only known by the user himself; then, each standby node signs the seed parameters by using a private key thereof and inputs a hash function to obtain a certificate thereof; the certificate is proved through zero knowledge, and the ownership of a certain certificate can be proved on the basis of completely not revealing a private key; the credential contains 5 properties:
a: the seed parameters are continuously updated and unpredictable, so that the voucher is also continuously updated and is a random number;
B. the hash function and private key ensure that the owner of each credential is specific;
C. asymmetric key algorithms and zero knowledge proof ensure that the owner of the credential can prove ownership of the credential;
D. the voucher can not be forged;
E. the credentials are generated locally, requiring private key generation but may be validated over the network at the same time without the public private key.
Preferably, in step s63, before the new block is not published, the standby node only knows whether it is the verifier and cannot know whether it is the winner, and only after the block is produced and verified, the verifier knows whether it has obtained the verification reward of the round of block verification; before the results are gone, the attacker cannot predict the credentials, does not know which credentials are the smallest, and after the results come out, the attacker cannot alter the history.
Preferably, in step s64, the super node a responsible for the round of block generation sends the block to other super nodes and standby nodes, and the block sending adopts a combination of random broadcast and point-to-point transmission, so the propagation delay is extremely low, the consensus is fast, and the verification can be performed afterwards. The verifier of the verification process broadcasts the certificate, the signature of the block, the block and the verification result generated by the block in the round to all the super nodes and the standby nodes, the nodes can continuously monitor and collect the verification result and the certificate in the confirmation process of the new block, the size of the certificate is automatically compared, the minimum certificate is selected, the verifier with the minimum certificate is the verifier of the round winning the prize, the verification reward can be obtained, the verification reward is not distributed in time, and according to the minimum certificate, the winner can obtain the reward only after knowing that the block is in an irreversible state.
Preferably, said step s64 mainly comprises the following steps:
s 641: generating a public key and a private key; s 642: the implementation of the signature; s 643: verifying the signature; s 644: updating seed parameters; s 645: generating a certificate; s 646: selecting a winner; s 647: authentication of the credential; s 648: distribution of the reward.
In the VBDPOS consensus mechanism, the verifier is a backup node that passes conditional screening, the verifier must be a backup node, and the backup node is not necessarily a verifier. The system roles are illustrated as follows, user: initiating a transaction, and voting out a standby node and a super node; super node: collecting transaction information, packaging the transaction information into a block, broadcasting the block to other super nodes, uploading the block to a block chain after verification is passed, and obtaining corresponding rewards; and (3) standby nodes: if the ticket number of the standby node enters the front 21 after one round of block production is started, the standby node becomes the super node, the right of the super node is exercised, the obligation of the super node is completed, and the benefit of the super node is obtained; and (3) verifier: the new verification authority is the spare node meeting the condition, participates in the verification of the block confirmation, and participates in the distribution of the verification reward.
Compared with the prior art, the beneficial effects are:
the VBDPOS common identification mechanism introduces the role of a verifier on the basis of a super node and a standby node of the existing DPOS common identification mechanism, the standby node which meets specific requirements is enabled to become the verifier, the role of the verifier is introduced to enable the standby node not to be idle any more, but to participate in verification work of a block, and the verifier can enable the system to stop running by exercising verification right at the first moment when the super node runs through a malicious attack system, so that the system based on the VBDPOS common identification mechanism can prevent an attacker from attacking the system at the first moment, the problem that a punishment mechanism in the system is not timely is solved, and the safety of the system is improved. Through the design of the block confirmation scheme, the VBDPOS consensus mechanism can meet the existing commercial requirements on the basis of improving the overall safety without reducing the performance too much. By means of a reward distribution mechanism that picks winners based on a verifiable random function, a random, unpredictable, fair distribution of rewards is achieved.
The method has the advantages that winners are selected to distribute rewards based on a verifiable random function, so that the standby nodes can participate in verification work of blocks, the rewards can be obtained by the standby nodes according to the ticket rate compared with the conventional DPOS (distributed data operating System) consensus mechanism, the verifier is cognizant and approved to ensure that the verification work is carried out, the verifier must be kept online and available for equipment all the time, on one hand, the influence of loopholes of incapability of the standby nodes only for reward incapability and invisibility is reduced by using reward distribution rules, on the other hand, rewards are increased for honest and donated workers, and therefore when the super nodes of the system fail, the competent verifier who keeps data backup and keeps online can take over the failed super nodes to work more quickly, and the system can operate stably.
The voting reward of the existing DPOS consensus mechanism cannot directly correspond to the contribution of the standby nodes on one hand, and the reward is too low, so that most of the standby nodes are in a loss state, and under the condition of long-term loss, the standby nodes can be selected to leave the EOS, so that the stability and the distributed performance of the EOS system are reduced. The VBDPOS consensus mechanism improves the prize of the standby node and guarantees the fairness of prize distribution by picking up winners to distribute the prize based on verifiable random functions. This may facilitate the selection of the standby node to operate as a system rather than leaving the system.
Compared with the existing DPOS consensus mechanism, the VBDPOS consensus mechanism has the difference that the verification and confirmation of the blocks are not completed by the super node any more, but the super node and the verifier participate simultaneously. The verifier does not participate in the production of the block but participates in the verification and validation of the block. When the super node attacks such as malicious/non-malicious/collusion, the independent verifier can give 'non-confirmed' block signature confirmation in the first time, so that the malicious block cannot take effect, the system is prevented from being attacked in the first time, and the safety of the system and the benefit of a system user are protected.
The VBDPOS consensus mechanism improves the system security, does not have excessive influence on the system performance, and can be put into commercial use.
The improvement of the security performance usually represents the cost payment, for example, in order to ensure the security of the POW common identification mechanism in the bitcoin system, miners need to spend a large amount of resources such as power and equipment to ensure the stable operation of the bitcoin system, and the bitcoin system is not attacked. But the VBDPOS consensus mechanism greatly improves the safety performance of the system while improving the cost in a small scale. Compared with the existing EOS node, the VBDPOS consensus mechanism has the advantages that the requirement of the VBDPOS consensus mechanism is consistent with the requirement of the DPOS consensus mechanism, and other hardware and equipment are not required to be added. The cost of VBDPOS is only communication cost and calculation cost, the communication cost is only simple information receiving and sending, the calculation cost is mainly calculation and verification of the hash function, a large amount of resources are not needed to be spent on the two costs, and the two costs can be completed by using a home computer and a home network, so that the VBDPOS consensus mechanism does not greatly increase the cost when the safety is greatly improved, and only slightly increases the network communication cost and the small power cost.
The VBDPOS common identification mechanism not only has safety, but also has growth in safety, the price of a block chain token is increased, the number of verifiers is increased, the safety of a block chain system based on the VBDPOS common identification mechanism can be increased, the price of the token can be directly increased, the VBDPOS malicious-branch-resistant capability can be directly improved, more verifiers can be attracted, and therefore the VBDPOS malicious-branch-resistant capability can be indirectly improved, and the VBDPOS common identification mechanism not only has higher safety performance compared with the existing DPOS common identification mechanism, but also has higher growth in safety.
Drawings
FIG. 1 is a flow diagram of the asynchronous BFT & DPOS consensus mechanism of the present invention based on verifiable random function distribution verifier rewards;
FIG. 2 is a block diagram of the VBDPOS consensus mechanism of the present invention;
FIG. 3 is a logic flow diagram of the VRF-based winners selection in the present invention;
fig. 4 is a flowchart of selecting winners based on a verifiable function in an embodiment of the present invention.
Detailed Description
The drawings are for illustrative purposes only and are not to be construed as limiting the patent; for the purpose of better illustrating the embodiments, certain features of the drawings may be omitted, enlarged or reduced, and do not represent the size of an actual product; it will be understood by those skilled in the art that certain well-known structures in the drawings and descriptions thereof may be omitted. The positional relationships depicted in the drawings are for illustrative purposes only and are not to be construed as limiting the present patent.
The same or similar reference numerals in the drawings of the embodiments of the present invention correspond to the same or similar components; in the description of the present invention, it should be understood that if there are terms such as "upper", "lower", "left", "right", "long", "short", etc., indicating orientations or positional relationships based on the orientations or positional relationships shown in the drawings, it is only for convenience of description and simplicity of description, but does not indicate or imply that the device or element referred to must have a specific orientation, be constructed in a specific orientation, and be operated, and therefore, the terms describing the positional relationships in the drawings are only used for illustrative purposes and are not to be construed as limitations of the present patent, and specific meanings of the terms may be understood by those skilled in the art according to specific situations.
The technical scheme of the invention is further described in detail by the following specific embodiments in combination with the attached drawings:
example 1
As shown in fig. 1, an asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions includes the following steps:
s1, initializing the system, in a VBDPOS consensus mechanism, the candidate becomes a node after application by submitting equipment, facilities, personnel data description and certification by an applicant who wants to become a node candidate;
s2: selecting a super node, voting the candidate of each node by a token holder through a voting system, selecting 21 nodes with the highest votes as the super nodes according to the ranking of the votes, generating 252 blocks as one block period, updating the votes in real time when each block period starts, and updating the rankings of the super nodes and the verifiers;
s3: selecting a verifier, and applying to become the verifier when the standby node meets the following three conditions, so as to participate in the block verification and confirmation work of the system; the three conditions are: the ticket number weight acquired by the standby node is required to be larger than the total ticket number of the system by X%, and X% is the lowest ticket number weight which can receive 100EOS rewards and is calculated in real time according to the ticket rate of the network; the standby nodes participating in the verification need to lock a certain amount of EOS deposit to a specific account, and the specific account submitted by the deposit can be a specified account of an authority or a specific account guaranteed by an intelligent contract; the verifier needs to keep a real-time communication state with all the super nodes and other verifiers continuously;
s4: the block generation is consistent with an asynchronous BFT-DPOS common identification mechanism, in a block production process, a super node can arrange a sequence to produce the blocks according to a specified algorithm, the super node which is currently responsible for block output can collect transaction information and pack the transaction information into the blocks, the packed blocks are broadcasted to other super nodes and a verifier to verify, and in the process of waiting for block confirmation, a new block can be generated at the same time; if a node has not generated a block within the last 24 hours, it will be moved out of the supernode's candidate list;
s5: the method comprises the following steps that (1) verification is conducted on a new block by other super nodes and verifiers during block verification, verification and signature results are broadcast, when the super nodes responsible for the block continuously monitor a network after broadcast, signature confirmation of 15 super nodes and signature confirmation and certificates of over 2/3 verifiers are collected, and the super nodes and the verifiers make different selections according to different conditions and a block confirmation scheme of a VBDPOS common identification mechanism;
s6: distributing the rewards, namely comparing a minimum certificate by nodes in the system after each round of block confirmation is completed according to a reward distribution mechanism for selecting winners based on a verifiable random function, achieving consensus on the minimum certificate, and obtaining the verification rewards of the round of block by a verifier holding the minimum certificate, namely the winners of the round of block;
s7: in the process of block generation, if the last block is not confirmed in 12 blocks belonging to the a super node, the a super node will start to produce the next block because the a super node can believe that it has not been forged. However, if the super node a finishes producing 12 blocks, when the super node B is in turn producing the blocks, the super node B will wait until it confirms that the 12 th block of the super node a has obtained the confirmation of the other 15 super nodes and the verifier, and then will follow the producing blocks.
As shown in fig. 2, in step S5, the number of all verifiers is set to Nall2/3 verifiers number N2/3The block height is the r-th round, the block generated by the r-th round is B1, the block generated by the r + 1-th round is B2, and the seed parameter of the r-th round is QrThe super node responsible for block output is the super node A, and the number of the verifiers' signatures and the certificates received by the super node A at a certain moment is setThe specific steps for identifying the VBDPOS block are as follows:
s 51: block, seed parameter production and broadcast, r-1 round minimal voucher QrI.e. the seed parameter Q of the r-th roundrIn the r-th round of block production process, the super nodes can arrange blocks in a well-ordered production sequence according to a specified algorithm, the super nodes which are currently responsible for block production can collect transaction information and pack the transaction information into the blocks, and the packed blocks B1 and the seed parameter Q of the round of blocksrBroadcast to other super nodes and verifier for verification, and generate a new block B2 simultaneously in the process of waiting for block confirmation;
s 52: the verification of the block and the generation of the certificate, the super node and the verifier in the system are on line all the time, the network is monitored, and when they receive the new block B1 and the seed parameter QrThen, firstly, generating respective certificates according to an algorithm flow for selecting winners based on a verifiable random function; and then, the block B1 is independently verified to ensure that the transaction information is correct and has no false.
Each super node and verifier would broadcast block B1 of round r and the respective "signature + credential" over the network;
s 53: the block B1 gets system confirmation, the a super node will continue to monitor the network after broadcasting the block B1, when signature confirmations of more than 15 super nodes and signature confirmations and certificates of more than 2/3 verifiers are collected, it can be regarded that the block B1 gets system confirmation, the super node will add the block B1 to the block chain, and the previously produced block B2 and seed parameter Q of round r +1r+1Broadcasting, entering block confirmation of the r +1 th round; block B1 is confirmed by the system, because of the network delay, there are two different processing methods, and two different processing results are obtained, so as to ensure the system operates normally, and the delay is controlled within one second; the super node A can judge the number of the collected signature confirmations of the super nodes at any time, and once the number of the signature confirmations of the super nodes exceeds (contains) 15, the super node A can enter a timing state and judge the number of the collected signature confirmations of the verifier.
In addition, step s53 specifically includes:
1) when entering the timing state, if X is NallThe super node A can automatically compare the certificate sizes of all verifiers to obtain a minimum certificate, and the minimum certificate in the r round is the seed parameter Q of the r +1 roundr+1The A super node will add block B1 to the block chain, block B2 and seed parameter Q of the r +1 th round produced beforer+1Broadcasting, entering block confirmation of the r +1 th round;
2) when entering the timing state, if N2/3<X<NallThe A super node waits for one second and collects N at any time timed in one secondallThe signature quantity of each verifier, the super node A can automatically compare the sizes of the certificates of all verifiers to obtain a minimum certificate, and the minimum certificate of the round r is the seed parameter Q of the round r +1r+1The A super node would then add block B1 to the blockchain, block B2 and seed parameter Q of the previous r +1 th round of productionr+1Broadcasting, entering block confirmation of the r +1 th round;
3) when entering the timing state, if X<N2/3The A super node waits for one second and does not collect N after one second is timedallThe number of signatures of each verifier, but when the settlement is performed after one second, the number of signatures of the verifier which is collected exceeds (includes) N2/3The super node A can automatically compare the collected certificate sizes of the verifiers to obtain a minimum certificate, and the minimum certificate of the round r is the seed parameter Q of the round r +1r+1The A super node would then add block B1 to the blockchain, block B2 and seed parameter Q of the previous r +1 th round of productionr+1' broadcast, enter chunk ack for round r + 1.
4) When entering the timing state, if X<N2/3If the super node a waits for one second and does not collect the number of signatures of N2/3 verifiers after the one second is counted, it is determined that the block chain system has a problem, and the verifier exercises the verification right to make the block unable to confirm or the verifier is attacked, and the block stops production.
In this embodiment, after the verifier is introduced at the step of block verification, the block verification is changed from the previous verification and verification requiring only 15 super nodes to the verification and verification requiring 15 super nodes and more than 2/3 verifier, and compared with the existing system based on the DPOS consensus mechanism, the security of the system based on the VBDPOS consensus mechanism is greatly improved, and the problem is that the increased number of verification and verification required for the current block affects the generation of the next block in the block chain system (each block is generated on the basis of the previous block), so in the VBDPOS consensus mechanism, the scheme for verifying the block is newly designed, so that the VBDPOS consensus mechanism does not have an excessive impression on the performance of the system on the basis of improving the security of the system, because in the scheme design, the delay of normal operation of the system is controlled within one second, the block output efficiency is in the block chain field, can meet business requirements, and is enough to be put into business use.
The verifier is forced online and forced to participate in each round of block validation, but the system will not be down because the verifier is out of order, but will continue to operate steadily. In the existing network state, one second is enough time for all nodes to finish synchronizing the same certificate, and in the process of participating in verification, the signature confirmation and the certificate of the A verifier are not received by the producing super node within one second, and the A verifier is regarded as lacking the block confirmation. That is, if the two situations occur, the a verifier directly sends the signature and the certificate point to point without being received by the super node in production, and the signature and the verification randomly broadcasted by the a verifier are not received by the super node in production, then the a verifier is regarded as lacking the confirmation of the round block, and cannot participate in the selection of the winner in the round block production, a is deducted by 5% of the guarantee fund, the 5% of the guarantee fund is awarded to the verifier in the round, and the a verifier is rejected because the guarantee fund is insufficient, and the verification job and the verification reward obtaining cannot be participated in the next round of block period until the a resubmits the guarantee fund to obtain the verifier qualification. Regardless of what problem the a-verifier is unable to participate in the verification, the absence of the a-verifier affects the choice of the minimum credential, since the minimum credential changes due to the absence of the verifier.
As shown in fig. 3, step S6 specifically includes the following steps:
s61, verifier condition is satisfied;
s62, generating the certificate of the verifier;
s 63: the verifier participates in the verification work;
s64: the process of winner selection and verification.
In this embodiment, the prize distribution mechanism that picks winners based on a verifiable random function can make each round of verifier prize distribution of the VBDPOS consensus mechanism random, unpredictable, and thus fair to the verifier. In addition, each round of block verification rewards are randomly distributed, and two advantages are that the rewards are intuitive, and the block verification rewards of each round are fixed amount and cannot be reduced due to the increase of the number of verifiers. The other is that the fully randomly distributed reward is the average distribution with time attribute, so that the verifier can not participate in the block verification any more when the verifier is not drawn as a winner because of participating in the block verification, because the round number is enough and continuously participates as long as the time for participating in the verification is long enough, and the frequency of drawing as the winner of the verifier approaches the probability according to the law of large numbers.
In step s61, at the beginning of a block cycle, the standby node is qualified as the verifier only if it satisfies the following conditions:
a: the ticket weight acquired by the standby node is required to be larger than the total ticket weight of X% of the system, and X% is the lowest ticket weight which can be calculated in real time and can receive 100EOS rewards;
b: the standby nodes participating in the verification need to lock a certain amount of EOS deposit to a specific account;
c: the verifier needs to maintain a real-time communication state with all supernodes and other verifiers continuously.
In this embodiment, the standby node that does not satisfy the condition, even if participating in the verification process (sending signatures and certificates), will not be recognized by the super node and the system, and will not receive the reward. There must be a certain requirement for the number of votes, since the validation does not require a too large threshold, which is a means for allocating rewards to the standby nodes from the point of view of the health consensus mechanism, and there is a certain requirement for the standby nodes in order for the rewards to be given to the contributing standby nodes.
In addition, in step s62, the difference between the VBDPOS consensus mechanism and the existing DPOS consensus mechanism is that VBDPOS adds verifier qualification audit and verifier participation to block verification in the verification step, VBDPOS publishes a random algorithm based on the current seed parameter, namely, a verifiable random function VRF, a key parameter of the VRF is the private key of the user, and the private key is known only by the user himself; then, each standby node signs the seed parameters by using a private key thereof and inputs a hash function to obtain a certificate thereof; the certificate is proved through zero knowledge, and the ownership of a certain certificate can be proved on the basis of completely not revealing a private key; the credential contains 5 properties:
a: the seed parameters are continuously updated and unpredictable, so that the voucher is also continuously updated and is a random number;
B. the hash function and private key ensure that the owner of each credential is specific;
C. asymmetric key algorithms and zero knowledge proof ensure that the owner of the credential can prove ownership of the credential;
D. the voucher can not be forged;
E. the credentials are generated locally, requiring private key generation but may be validated over the network at the same time without the public private key.
In step s63, before the new block is not published, the standby node only knows whether the standby node is a verifier or not, and cannot know whether the standby node is a winner, and only after the block is produced and verified, the verifier knows whether the standby node obtains a verification reward of the block verification; before the results are gone, the attacker cannot predict the credentials, does not know which credentials are the smallest, and after the results come out, the attacker cannot alter the history.
In addition, in step s64, the super node a responsible for the round of block generation sends the block to other super nodes and standby nodes, and the block sending adopts a combination of random broadcast and point-to-point transmission, so the propagation delay is extremely low, the consensus is fast, and the verification can be performed afterwards. The verifier of the verification process broadcasts the certificate, the signature of the block, the block and the verification result generated by the block in the round to all the super nodes and the standby nodes, the nodes can continuously monitor and collect the verification result and the certificate in the confirmation process of the new block, the size of the certificate is automatically compared, the minimum certificate is selected, the verifier with the minimum certificate is the verifier of the round winning the prize, the verification reward can be obtained, the verification reward is not distributed in time, and according to the minimum certificate, the winner can obtain the reward only after knowing that the block is in an irreversible state.
In addition, as shown in fig. 4, step s64 mainly includes the following steps:
s 641: generating a public and private key, namely generating a private key SK and a public key PK by a verifier A through an elliptic curve encryption ECC algorithm;
s 642: the signature is realized by inputting the block A into an SHA256 hash function to output a hash digest H (A), and then using a private key signature Sig (H (A)) to the hash digest, thereby obtaining the signature to the block A. The verifier transmits "block a + signature Sig (h (a))", to other nodes.
s 643: verifying the signature, namely, after the public key PK of the verifier is provided for other nodes to obtain a block A and a signature Sig (H (A)), inputting the public key PK + the block A + the signature Sig (H (A)) into a verification function, and obtaining a verification result according to the principle of a digital signature;
s 644: and updating the seed parameter, wherein the seed parameter of the first round is a random number updated by a random algorithm (such as SHA-256). Each round of block production process has a continuously updated parameter Q, called seed parameter, where the seed parameter is essentially a 256-bit character string composed of 0 and 1, and is an output hash value input through SHA-256 hash function, the seed parameter is continuously updated, and the seed parameter is unpredictable. The generation of the seed parameter Qr is the output of the generated random number in the corresponding verifiable random function, and the formula is as follows:
Qr=H(SIGA(Qr-1,r)),r>1
s 645: and generating the certificate, namely generating the unique certificate of the verifier A through a verifiable random function. In the process of the r round block verification, the verifier A uses the private key thereof to verify the seed parameter Q of the previous roundr-1Signing with the round number r to obtain SigA (Q)r-1R), the signature is essentially a pair of Q's using a private keyr-1And r, encrypting the character string after the character string is connected in series. Sign SigA (Q)r-1R) generating zero-knowledge PROOF byte string PROOFA by function conversion, wherein PROOF inputs hash function to obtain user A's certificate H (SigA (Q)r-1,r))。
1. The credential is a binary spread of random 256-bit numbers between 0 and 1, and it is unlikely that credentials of different users will be identical.
2. The seed parameter is a random number in the design of the mechanism, and before the final verification result comes out, no one knows what the seed parameter is in the next round.
3. Zero knowledge proof PROOFA is used to generate credentials, and to verify ownership of credentials to others.
4. Credential H (SigA (Q) of round r, Ar-1R)) is not published immediately after generation, but is broadcast along with the verification of the r-th round tile.
s 646: the winners are selected, the 2 decimal 0.H (SigA (Q) constructed from the voucherr-1R)) (i.e. after writing the character string of the certificate to the decimal point) are uniformly distributed between 0 and 1, and in the course of one round of verification, the verifiers are required to be on-line in the qualification verification, so that every verifier can finally receive the certificates of all other verifiers in round r, and after size comparison, the certificate which is the smallest is the "winner" of the round r which can reach consensus.
s 647: and (3) verifying the certificate, in the round r, after the other verifiers receive the certificate of the verifier A and the PROOFA given by the verifier A, the other verifiers verify the PROOFA, and if the public key of the verifier A guaranteed by the digital certificate is used for decrypting the PROOFA given by the verifier A, the obtained result and the seed parameter Q are obtainedr-1Consistently, the proof is a proof of a unique and verified PROOFA derived credential H (SigA (Q)r-1R)) are unique, and allThe capability is certified as belonging to verifier a, the credential cannot be forged and can be verified quickly due to the nature of the hash function.
s 648: and the super node and the verifier in charge of the block keep real-time communication, and the super node and the verifier are in real-time point-to-point communication, so that the super node in the block can collect signature confirmation and certificate of the verifier at the fastest speed, the rank can be given first, and then the randomly broadcasted signature + certificate can be confirmed by other super nodes and verifiers successively. The system and the nodes automatically collect and verify the awards through the intelligent contracts, the awards are automatically distributed in the current round of verification, and the awards are automatically distributed by the intelligent contracts after the r-th round of blocks become irreversible. The certificate of r-1 round winner is the seed parameter Q of the next roundr
It should be understood that the above-described embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. Other variations and modifications will be apparent to persons skilled in the art in light of the above description. And are neither required nor exhaustive of all embodiments. Any modification, equivalent replacement, and improvement made within the spirit and principle of the present invention should be included in the protection scope of the claims of the present invention.

Claims (9)

1. An asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions, comprising the steps of:
s1, initializing the system, in a VBDPOS consensus mechanism, the candidate becomes a node after application by submitting equipment, facilities, personnel data description and certification by an applicant who wants to become a node candidate;
s2: selecting a super node, voting the candidate of each node by a token holder through a voting system, selecting 21 nodes with the highest votes as the super nodes according to the ranking of the votes, generating 252 blocks as one block period, updating the votes in real time when each block period starts, and updating the rankings of the super nodes and the verifiers;
s3: selecting a verifier, and applying to become the verifier when the standby node meets the following three conditions, so as to participate in the block verification and confirmation work of the system; the three conditions are: the ticket number weight acquired by the standby node is required to be larger than the total ticket number of the system by X%, and X% is the lowest ticket number weight which can receive 100EOS rewards and is calculated in real time according to the ticket rate of the network; the standby nodes participating in the verification need to lock a certain amount of EOS deposit to a specific account, and the specific account submitted by the deposit can be a specified account of an authority or a specific account guaranteed by an intelligent contract; the verifier needs to keep a real-time communication state with all the super nodes and other verifiers continuously;
s4: the block generation is consistent with an asynchronous BFT-DPOS common identification mechanism, in a block production process, a super node can arrange a sequence to produce the blocks according to a specified algorithm, the super node which is currently responsible for block output can collect transaction information and pack the transaction information into the blocks, the packed blocks are broadcasted to other super nodes and a verifier to verify, and in the process of waiting for block confirmation, a new block can be generated at the same time; if a node has not generated a block within the last 24 hours, it will be moved out of the supernode's candidate list;
s5: the method comprises the following steps that (1) verification is conducted on a new block by other super nodes and verifiers during block verification, verification and signature results are broadcast, when the super nodes responsible for the block continuously monitor a network after broadcast, signature confirmation of 15 super nodes and signature confirmation and certificates of over 2/3 verifiers are collected, and the super nodes and the verifiers make different selections according to different conditions and a block confirmation scheme of a VBDPOS common identification mechanism;
s6: distributing the rewards, namely comparing a minimum certificate by nodes in the system after each round of block confirmation is completed according to a reward distribution mechanism for selecting winners based on a verifiable random function, achieving consensus on the minimum certificate, and obtaining the verification rewards of the round of block by a verifier holding the minimum certificate, namely the winners of the round of block;
s7: in the process of block generation, if the last block is not confirmed in 12 blocks belonging to the a super node, the a super node will start to produce the next block because the a super node can believe that it has not been forged. However, if the super node a finishes producing 12 blocks, when the super node B is in turn producing the blocks, the super node B will wait until it confirms that the 12 th block of the super node a has obtained the confirmation of the other 15 super nodes and the verifier, and then will follow the producing blocks.
2. The asynchronous BFT of claim 1 for verifiable random function based allocation of verifier rewards&The DPOS consensus mechanism is characterized in that in step S5, the number of all verifiers is set to Nall2/3 verifiers number N2/3The block height is the r-th round, the block generated by the r-th round is B1, the block generated by the r + 1-th round is B2, and the seed parameter of the r-th round is QrThe super node responsible for block output is an A super node, the number of the verifiers and the certificates received by the A super node at a certain moment is set to be X, and the specific steps of the confirmation of the VBDPOS block are as follows:
s 51: block, seed parameter production and broadcast, r-1 round minimal voucher QrI.e. the seed parameter Q of the r-th roundrIn the r-th round of block production process, the super nodes can arrange blocks in a well-ordered production sequence according to a specified algorithm, the super nodes which are currently responsible for block production can collect transaction information and pack the transaction information into the blocks, and the packed blocks B1 and the seed parameter Q of the round of blocksrBroadcast to other super nodes and verifier for verification, and generate a new block B2 simultaneously in the process of waiting for block confirmation;
s 52: the verification of the block and the generation of the certificate, the super node and the verifier in the system are on line all the time, the network is monitored, and when they receive the new block B1 and the seed parameter QrThen, firstly, generating respective certificates according to an algorithm flow for selecting winners based on a verifiable random function; and then, the block B1 is independently verified to ensure that the transaction information is correct and has no false.
Each super node and verifier would broadcast block B1 of round r and the respective "signature + credential" over the network;
s 53: the block B1 gets system confirmation, the a super node will continue to monitor the network after broadcasting the block B1, when signature confirmations of more than 15 super nodes and signature confirmations and certificates of more than 2/3 verifiers are collected, it can be regarded that the block B1 gets system confirmation, the super node will add the block B1 to the block chain, and the previously produced block B2 and seed parameter Q of round r +1r+1Broadcasting, entering block confirmation of the r +1 th round; block B1 is confirmed by the system, because of the network delay, there are two different processing methods, and two different processing results are obtained, so as to ensure the system operates normally, and the delay is controlled within one second; the super node A can constantly judge the number of the collected signature confirmations of the super nodes, and once the number of the signature confirmations of the super nodes is more than or equal to 15, the super node A can enter a timing state and judge the number of the collected signature confirmations of the verifier.
3. The asynchronous BFT & DPOS consensus mechanism for verifiable random function based distribution of verifier rewards as claimed in claim 2, wherein said step s53 specifically comprises:
1) when entering the timing state, if X is NallThe super node A can automatically compare the certificate sizes of all verifiers to obtain a minimum certificate, and the minimum certificate in the r round is the seed parameter Q of the r +1 roundr+1The A super node will add block B1 to the block chain, block B2 and seed parameter Q of the r +1 th round produced beforer+1Broadcasting, entering block confirmation of the r +1 th round;
2) when entering the timing state, if N2/3<X<NallThe A super node waits for one second and collects N at any time timed in one secondallThe signature quantity of each verifier, the super node A can automatically compare the sizes of the certificates of all verifiers to obtain a minimum certificate, and the minimum certificate of the round r is the seed parameter Q of the round r +1r+1The A super node would then add block B1 to the blockchain, block B2 and seed parameter Q of the previous r +1 th round of productionr+1Broadcast, enter block of round r +1Confirming;
3) when entering the timing state, if X<N2/3The A super node waits for one second and does not collect N after one second is timedallThe number of signatures of each verifier, but when the settlement is performed after one second, the number of signatures of the verifier which is collected exceeds (includes) N2/3The super node A can automatically compare the collected certificate sizes of the verifiers to obtain a minimum certificate, and the minimum certificate of the round r is the seed parameter Q of the round r +1r+1The A super node would then add block B1 to the blockchain, block B2 and seed parameter Q of the previous r +1 th round of productionr+1Broadcast, enter chunk ack for round r + 1.
4) When entering the timing state, if X<N2/3The A super node waits for one second and does not collect N after one second is timed2/3The number of signatures of each verifier is regarded as that the block chain system has a problem, and the verifier exercises the verification right to ensure that the block cannot be confirmed, or the verifier is attacked, and the block stops production.
4. The asynchronous BFT & DPOS consensus mechanism for verifiable random function based assignment of verifier rewards as claimed in claim 1, wherein said step S6 specifically comprises the steps of:
s61, verifier condition is satisfied;
s62, generating the certificate of the verifier;
s 63: the verifier participates in the verification work;
s64: the process of winner selection and verification.
5. The asynchronous BFT & DPOS consensus mechanism for verifiable random function based assignment of verifier rewards as claimed in claim 4, wherein at the beginning of a block period in step s61, the standby node qualifies as a verifier subject to the following conditions:
a: the ticket weight acquired by the standby node is required to be larger than the total ticket weight of X% of the system, and X% is the lowest ticket weight which can be calculated in real time and can receive 100EOS rewards;
b: the standby nodes participating in the verification need to lock a certain amount of EOS deposit to a specific account;
c: the verifier needs to maintain a real-time communication state with all supernodes and other verifiers continuously.
6. The asynchronous BFT & DPOS consensus mechanism for verifier reward assignment based on verifiable random function as claimed in claim 4, wherein in step s62, the VBDPOS consensus mechanism achieves consensus on new blocks and is different from the existing DPOS consensus mechanism in that VBDPOS has more verifier qualification audit and verifier participation in block verification in the verification step, VBDPOS publishes a random algorithm based on the current seed parameter, namely verifiable random function VRF, one key parameter of VRF is user's private key, and this private key is only known to the user himself; then, each standby node signs the seed parameters by using a private key thereof and inputs a hash function to obtain a certificate thereof; the certificate is proved through zero knowledge, and the ownership of a certain certificate can be proved on the basis of completely not revealing a private key; the credential contains 5 properties:
a: the seed parameters are continuously updated and unpredictable, so that the voucher is also continuously updated and is a random number;
B. the hash function and private key ensure that the owner of each credential is specific;
C. asymmetric key algorithms and zero knowledge proof ensure that the owner of the credential can prove ownership of the credential;
D. the voucher can not be forged;
E. the credentials are generated locally, requiring private key generation but may be validated over the network at the same time without the public private key.
7. The asynchronous BFT & DPOS consensus mechanism for verifiable random function based assignment of verifier rewards as claimed in claim 4, wherein in step s63, before the new block is not published, the standby node only knows whether it is the verifier or not, and cannot know whether it is the winner, and only after the block is produced and verified, does the verifier know whether it has received the verification reward for this round of block verification; before the results are gone, the attacker cannot predict the credentials, does not know which credentials are the smallest, and after the results come out, the attacker cannot alter the history.
8. The asynchronous BFT & DPOS consensus mechanism for verifiable random function based assignment of verifier rewards as claimed in claim 4, wherein in step s64, super node a responsible for the round of block production sends the block to other super nodes and standby nodes, and the block sending uses a combination of random broadcast and point-to-point transmission, so the propagation delay is extremely low, the consensus is fast, and the later can be verified; the verifier of the verification process broadcasts the certificate, the signature of the block, the block and the verification result generated by the block in the round to all the super nodes and the standby nodes, the nodes can continuously monitor and collect the verification result and the certificate in the confirmation process of the new block, the size of the certificate is automatically compared, the minimum certificate is selected, the verifier with the minimum certificate is the verifier of the round winning the prize, the verification reward can be obtained, the verification reward is not distributed in time, and according to the minimum certificate, the winner can obtain the reward only after knowing that the block is in an irreversible state.
9. The asynchronous BFT & DPOS consensus mechanism for verifiable random function based distribution of verifier rewards of claim 4, wherein said step s64 consists essentially of the steps of:
s 641: generating a public key and a private key;
s 642: the implementation of the signature;
s 643: verifying the signature;
s 644: updating seed parameters;
s 645: generating a certificate;
s 646: selecting a winner;
s 647: authentication of the credential;
s 648: distribution of the reward.
CN201911049650.4A 2019-10-31 2019-10-31 Asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions Active CN110855432B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911049650.4A CN110855432B (en) 2019-10-31 2019-10-31 Asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911049650.4A CN110855432B (en) 2019-10-31 2019-10-31 Asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions

Publications (2)

Publication Number Publication Date
CN110855432A true CN110855432A (en) 2020-02-28
CN110855432B CN110855432B (en) 2023-03-14

Family

ID=69598881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911049650.4A Active CN110855432B (en) 2019-10-31 2019-10-31 Asynchronous BFT & DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions

Country Status (1)

Country Link
CN (1) CN110855432B (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111047330A (en) * 2020-03-18 2020-04-21 杭州智块网络科技有限公司 Verification bonus awarding method and device for blocks
CN111600709A (en) * 2020-05-26 2020-08-28 牛津(海南)区块链研究院有限公司 Method and device for generating verifiable random number
CN112101940A (en) * 2020-09-16 2020-12-18 上海万向区块链股份公司 Random verifiable sample selection system implemented with block chains
CN112398930A (en) * 2020-11-04 2021-02-23 深圳前海微众银行股份有限公司 Block chain consensus method, node device, system and storage medium
CN112511338A (en) * 2020-11-09 2021-03-16 迅鳐成都科技有限公司 Block chain consensus network dynamic recovery method, electronic device, system and medium
CN113111373A (en) * 2021-05-13 2021-07-13 北京邮电大学 Random number generation method of VBFT (visual basic FT) consensus mechanism and consensus mechanism system
CN113300889A (en) * 2020-12-31 2021-08-24 恬家(上海)信息科技有限公司 Method for adjusting link width and block link network system
WO2022010004A1 (en) * 2020-07-07 2022-01-13 라인플러스 주식회사 Random sampling bft consensus method and system, and computer program
CN115643043A (en) * 2022-09-09 2023-01-24 北京航空航天大学 Cross-chain consensus election method and system based on verification delay function

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109039713A (en) * 2018-07-16 2018-12-18 夸克链科技(深圳)有限公司 A kind of block chain common recognition device and algorithm
CN109165092A (en) * 2018-07-10 2019-01-08 矩阵元技术(深圳)有限公司 A kind of common recognition method, apparatus and system based on effective calculation power contribution
CN109639837A (en) * 2019-01-31 2019-04-16 东南大学 Block chain DPoS common recognition method based on faith mechanism

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165092A (en) * 2018-07-10 2019-01-08 矩阵元技术(深圳)有限公司 A kind of common recognition method, apparatus and system based on effective calculation power contribution
CN109039713A (en) * 2018-07-16 2018-12-18 夸克链科技(深圳)有限公司 A kind of block chain common recognition device and algorithm
CN109639837A (en) * 2019-01-31 2019-04-16 东南大学 Block chain DPoS common recognition method based on faith mechanism

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111047330B (en) * 2020-03-18 2020-09-22 杭州智块网络科技有限公司 Verification bonus awarding method and device for blocks
CN111047330A (en) * 2020-03-18 2020-04-21 杭州智块网络科技有限公司 Verification bonus awarding method and device for blocks
CN111600709B (en) * 2020-05-26 2023-03-14 牛津(海南)区块链研究院有限公司 Verifiable random number generation method and device
CN111600709A (en) * 2020-05-26 2020-08-28 牛津(海南)区块链研究院有限公司 Method and device for generating verifiable random number
WO2022010004A1 (en) * 2020-07-07 2022-01-13 라인플러스 주식회사 Random sampling bft consensus method and system, and computer program
CN112101940A (en) * 2020-09-16 2020-12-18 上海万向区块链股份公司 Random verifiable sample selection system implemented with block chains
CN112398930A (en) * 2020-11-04 2021-02-23 深圳前海微众银行股份有限公司 Block chain consensus method, node device, system and storage medium
CN112511338A (en) * 2020-11-09 2021-03-16 迅鳐成都科技有限公司 Block chain consensus network dynamic recovery method, electronic device, system and medium
CN113300889A (en) * 2020-12-31 2021-08-24 恬家(上海)信息科技有限公司 Method for adjusting link width and block link network system
CN113111373A (en) * 2021-05-13 2021-07-13 北京邮电大学 Random number generation method of VBFT (visual basic FT) consensus mechanism and consensus mechanism system
CN113111373B (en) * 2021-05-13 2022-06-07 北京邮电大学 Random number generation method of VBFT (visual basic FT) consensus mechanism and consensus mechanism system
CN115643043A (en) * 2022-09-09 2023-01-24 北京航空航天大学 Cross-chain consensus election method and system based on verification delay function
CN115643043B (en) * 2022-09-09 2024-04-19 北京航空航天大学 Cross-chain consensus election method and system based on verification delay function

Also Published As

Publication number Publication date
CN110855432B (en) 2023-03-14

Similar Documents

Publication Publication Date Title
CN110855432B (en) Asynchronous BFT &amp; DPOS consensus mechanism for assigning verifier rewards based on verifiable random functions
CN109544334B (en) Method for realizing network extensible block chain
CN108880863B (en) Smart power grid equipment safety diagnosis service system based on block chain technology
CN109842606B (en) Block chain consensus algorithm and system based on consistent Hash algorithm
Lu et al. Zebralancer: Private and anonymous crowdsourcing system atop open blockchain
CN110351067B (en) Block chain consensus method for master-slave multi-chains
CN111090892B (en) Block chain consensus method and device based on VRF and threshold signature
CN111988137B (en) DPoS (dual port service) consensus method and system based on threshold signature and fair reward
CN110892674A (en) Transaction generation method and block verification method of block chain
KR102601973B1 (en) System architecture and how it processes data
Yuan et al. Efficient Byzantine consensus mechanism based on reputation in IoT blockchain
CN112651830B (en) Block chain consensus method applied to power resource sharing network
CN110610421B (en) Guarantee fund management method and device under fragment framework
CN113326516A (en) Block chain consensus method, block chain system and computer equipment
Sun et al. RTChain: A reputation system with transaction and consensus incentives for e-commerce blockchain
Wang et al. Blockchain-based dynamic energy management mode for distributed energy system with high penetration of renewable energy
CN106920097A (en) A kind of generation time block chain method of Quantum Chain common recognition agreement
CN114372589A (en) Federated learning method and related device
CN110445795A (en) A kind of block chain certification uniqueness confirmation method
CN116595094A (en) Federal learning incentive method, device, equipment and storage medium based on block chain
CN114422146A (en) Anonymous sorting method for block chain main nodes
CN110990790A (en) Data processing method and equipment
EP3520370B1 (en) A decentralised database
CN114049117A (en) Block chain consensus method with high TPS
CN112995167A (en) Kafka mechanism-based power utilization information acquisition method, block chain network and user side

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Jiang Li

Inventor after: Huang Jun

Inventor after: Chen Bin

Inventor after: Chen Meiyun

Inventor after: Liu Yi

Inventor after: Yang Chao

Inventor after: Xie Shengli

Inventor before: Huang Jun

Inventor before: Jiang Li

Inventor before: Chen Bin

Inventor before: Chen Meiyun

Inventor before: Liu Yi

Inventor before: Yang Chao

Inventor before: Xie Shengli

GR01 Patent grant
GR01 Patent grant