WO2022127424A1 - 区块组头的获取方法及装置,存储介质及电子装置 - Google Patents
区块组头的获取方法及装置,存储介质及电子装置 Download PDFInfo
- Publication number
- WO2022127424A1 WO2022127424A1 PCT/CN2021/128716 CN2021128716W WO2022127424A1 WO 2022127424 A1 WO2022127424 A1 WO 2022127424A1 CN 2021128716 W CN2021128716 W CN 2021128716W WO 2022127424 A1 WO2022127424 A1 WO 2022127424A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- block group
- node
- group header
- block
- voting
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 16
- 238000012795 verification Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 13
- 238000012546 transfer Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000001960 triggered effect Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
Definitions
- the present invention relates to the field of communications, and in particular, to a method and device for acquiring a block group header, a storage medium and an electronic device.
- the blockchain system is a distributed system that can be traced back in history, cannot be tampered with, and solves the problem of multi-party mutual trust.
- the distributed system is bound to face the problem of consistency, that is, consensus needs to be reached, and the consensus of the distributed system needs to rely on a reliable consensus algorithm, and the common consensus algorithms include the proof-of-work consensus algorithm, the practical Byzantine fault-tolerant algorithm, and the parallel voting proof algorithm. Wait.
- the blockchain nodes are divided into: accounting nodes, voting nodes and leadership nodes.
- accounting nodes generates a block and publishes it to the network.
- the voting node collects the blocks generated by the accounting node and votes, and then summarizes the voting information and sends it to the leader node.
- the leader node collects the aggregated voting information for statistics, and then The statistical results are written into the block group header, and finally the block group header is published to the network.
- parallel voting proves that the PPoV consensus algorithm has a low acquisition rate in the process of acquiring block group headers, and no effective solution has been proposed yet.
- Embodiments of the present invention provide a method and device for obtaining a block group header, a storage medium, and an electronic device, so as to solve one of the related technical problems at least to a certain extent, including parallel voting to prove that the PPoV consensus algorithm is in the process of obtaining a block group.
- the acquisition rate is not high in the process of the head.
- a method for obtaining a block group header including: determining whether a target node in a blockchain system satisfies a preset condition, wherein the preset condition is used to indicate at least the following One: the target node has received the block group header and has not received a preset number of legal blocks, and the target node has not received the block group header; after determining that the target node has not received the block group
- determine the event cause that the target node does not receive the block group header wherein the event cause includes at least one of the following: the target node fails to receive the block group header, the The block chain system does not generate a block group header; according to the event cause, the acquisition method of the block group header that has not been received by the target node is determined.
- an apparatus for obtaining a block group header including: a first determination module configured to determine whether a target node in the blockchain system satisfies a preset condition, wherein, The preset condition is used to indicate at least one of the following: the target node has received the block group header and has not received a preset number of legal blocks, the target node has not received the block group header; the second The determining module is configured to determine the event cause that the target node has not received the block group header when it is determined that the target node has not received the block group header, wherein the event cause includes at least one of the following : The target node fails to receive the block group header, and the blockchain system does not generate a block group header; the third determination module is set to determine that the target node has not received the block group header according to the event cause. How to obtain the block group header.
- a computer-readable storage medium is also provided, where a computer program is stored in the computer-readable storage medium, wherein the computer program is configured to execute the above block group when running How to get the header.
- an electronic device including a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the above-mentioned area through the computer program How to get the block group header.
- Fig. 1 is the hardware structure block diagram of the computer terminal of the acquisition method of the block group header of the embodiment of the present invention
- FIG. 2 is a schematic diagram of message passing in a PoV consensus process according to an embodiment of the present invention
- FIG. 3 is a schematic diagram of a PPoV consensus process according to an embodiment of the present invention.
- FIG. 4 is a flowchart of a method for obtaining a block group header according to an embodiment of the present invention
- FIG. 5 is a schematic diagram of a block chain node timeout trigger condition according to an embodiment of the present invention.
- FIG. 6 is a structural diagram of a timeout processing module of a blockchain node according to an embodiment of the present invention.
- FIG. 7 is a flowchart of timeout processing of a blockchain node according to an embodiment of the present invention.
- FIG. 8 is a structural block diagram of an apparatus for acquiring a block group header according to an embodiment of the present invention.
- FIG. 1 is a hardware structural block diagram of a computer terminal according to a method for acquiring a block group header according to an embodiment of the present invention.
- the computer terminal may include one or more (only one is shown in FIG.
- processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA, etc.
- the above-mentioned computer terminal may further include a transmission device 106 and an input and output device 108 for communication functions.
- the structure shown in FIG. 1 is only a schematic diagram, which does not limit the structure of the above-mentioned computer terminal.
- the computer terminal may also include more or fewer components than those shown in FIG. 1 , or have a different configuration with equivalent or more functions than those shown in FIG. 1 .
- the memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as computer programs corresponding to the method for obtaining the block group header in the embodiment of the present invention.
- the processor 102 runs the computer programs stored in the memory 104 , so as to perform various functional applications and data processing, that is, to implement the above method.
- Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
- memory 104 may further include memory located remotely from processor 102, which may be connected to a computer terminal through a network. Examples of such networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
- Transmission means 106 are used to receive or transmit data via a network.
- the specific example of the above-mentioned network may include a wireless network provided by the communication provider of the computer terminal.
- the transmission device 106 includes a network adapter (Network Interface Controller, NIC for short), which can be connected to other network devices through a base station so as to communicate with the Internet.
- the transmission device 106 may be a radio frequency (Radio Frequency, RF for short) module, which is used to communicate with the Internet in a wireless manner.
- RF Radio Frequency
- the traditional Proof of Vote (PoV) consensus algorithm has designed a specific role model to classify the nodes in the blockchain network into Certification, Butler, Butler Candidate and General User (Ordinary User) four roles.
- the candidate stewards can be transformed by ordinary users after applying for joining, and the stewards are elected by the committee members. In the voting stage, each committee member needs to vote for each candidate steward, and the N b nodes with more votes will become the steward nodes.
- the housekeeper node is mainly responsible for collecting transactions and generating blocks.
- the consensus process of block generation is jointly carried out by a steward and all members.
- the steward is called the on-duty steward, and the on-duty steward is determined by the on-duty steward number.
- N c members in total, namely C1, C2,...,CN c
- N b stewards namely B1, B2,..., BN b , Fig.
- FIG. 2 is a schematic diagram of message transfer in the PoV consensus process according to an embodiment of the present invention , in Figure 2, round(r) is the rth round, round(r+1) is the r+1th round, PREPARE is preparation, READY is preparation, COMMIT is submission, Pre-Block is pre-block, Final-Block for the final block.
- the PoV consensus algorithm divides a round of consensus into four stages: Prepare, Ready, Commit and Confirm.
- the Confirm stage is the block submission stage and does not need to transmit messages.
- Each block contains a block header and an indeterminate number of transactions.
- the on-duty steward takes a certain number of transactions from the transaction pool and packs them to generate a pre-block and sends the pre-block to all members.
- the difference between the pre-block and the official block is that the pre-block does not have a time stamp, a committee signature and the next on-duty housekeeper number.
- the committee node needs to verify the block header of the received pre-block and the information contained in the transaction. If the verification passes, it will sign the pre-block header and send the signature to the on-duty steward. After collecting the signatures of committee members exceeding N c /2, the on-duty steward can complete the pre-block and release the official block.
- the node that receives the newly released block stores the block in the local blockchain and updates the relevant variables including the number of the on-duty housekeeper, thereby replacing the on-duty housekeeper responsible for the next round of consensus.
- the PoV consensus algorithm selects a node from multiple candidate nodes as the accounting node and generates blocks in each consensus cycle. Therefore, the process of generating blocks is performed serially, which is difficult to support in large-scale clusters. High throughput performance in environments.
- a block group consists of a block group header and a block group body.
- Each block group header contains the height and voting result of the current block group, and the block group body contains all the blocks that have passed the vote.
- each block contains the hash value of the previous block group, the Merkle root, the generator's public key, timestamp and other information and transaction sets.
- PPoV consensus generally expresses the identities of blockchain nodes as voting nodes, accounting nodes, and leadership nodes.
- FIG. 3 is a schematic diagram of a PPoV consensus process according to an embodiment of the present invention. Each round of PPoV consensus consists of the following steps:
- Each accounting node generates a block and publishes it to the network.
- Each blockchain node collects the blocks generated by all accounting nodes;
- voting node After the voting node collects the blocks generated by the accounting node in S1, it votes for each block separately and generates a total voting message to send to the leader node.
- the voting message contains the hash value of each block, as well as the opinions and signatures of whether or not to agree;
- the leader node collects the voting messages sent by the voting nodes and counts the voting results. When the approval or disapproval of each block exceeds half of the number of voting nodes, the statistical results and all voting messages are stored in the block group header. Then the leader node generates a random number, which is the number of the leader node for the next consensus cycle, and writes it into the block group header. Then publish the block group header to the network;
- the design of the current PPoV consensus algorithm is not perfect. Considering that in the real environment, the server may fail due to various reasons and cause it to fail to work normally, in the case of multi-node parallel accounting, the traditional PPoV consensus algorithm may be caused by the failure of a small number of accounting nodes, resulting in the area generated by other normal nodes. Blocks also cannot be verified and generated, that is, the traditional PPoV consensus algorithm cannot generate block group headers for some reasons and cannot meet the termination property.
- FIG. 4 is a flowchart of a method for obtaining a block group header according to an embodiment of the present invention, and the flow includes the following steps:
- Step S402 determining whether the target node in the blockchain system satisfies a preset condition, wherein the preset condition is used to indicate at least one of the following: the target node has received the block group header and has not received the preset condition The number of legal blocks, the target node did not receive the block group header;
- Step S404 in the case of determining that the target node has not received the block group header, determine the event cause that the target node has not received the block group header, wherein the event cause includes at least one of the following: the The target node fails to receive the block group header, and the block chain system does not generate a block group header;
- Step S406 determine how the target node acquires the unreceived block group header.
- the target node of the blockchain system meets the preset conditions.
- Two different strategies are formulated according to these two situations. In the case of not receiving the block group header, determine the event cause of not receiving the block group header, and then determine that the target node has not received the block group header according to the event cause. How to get the block group header of .
- the above technical solution solves the problem that the parallel voting proof PPoV consensus algorithm has a low acquisition rate in the process of acquiring block group headers, and then when acquiring block group headers, different acquisition methods are used according to different event reasons, which improves the performance of the block group header.
- the fetch rate of block group headers is not limited to the process of acquiring block group headers.
- Condition 1 The target node has received the block group header and has not received the preset number of legal blocks;
- Condition 2 The target node has not received Block group header.
- the target node in the blockchain system needs to judge whether the preset conditions are met. If not, a timeout will be triggered, and the target node will perform the relevant timeout operation. The target node does not receive the block group header.
- the event cause that the target node does not receive the block group header, wherein the event cause includes at least one of the following: the target node fails to receive the block group header successfully, and the blockchain system If the block group header is not generated, then the blockchain system will determine how the target node obtains the block group header that has not been received according to the cause of the event. For example, a certain accounting node A in the blockchain system does not receive the block group header, so accounting node A will trigger a timeout operation, request its blockchain height from all voting nodes, and maintain the online status of each voting node locally.
- the accounting node A will then determine the acquisition method according to the event cause.
- determining the acquisition method of the block group header that has not been received by the target node according to the event cause includes: indicating in the event cause
- the block group header that has not been successfully received is obtained synchronously from the voting node of the blockchain system.
- the target node will go to the voting node to request the block group header. Because the voting node is the core consensus point of the blockchain network, it is considered to have the latest If the system generates a block group header, the voting node will definitely receive it during the broadcast of the generated block group header to the blockchain network. For example, if billing node A does not receive the block group header, billing node A will go to voting node B for data synchronization to obtain the block group header.
- the blockchain height of voting node B is higher than that of billing node A. high.
- the block chain height is used to indicate the block height.
- the blockchain height can be understood as a database. Since the blockchain system is a distributed system without a unified database, it can be understood that each blockchain node has a database. The height of the voting node blockchain is higher than that of the local blockchain, which means that the database update degree of the voting node is better than that of the accounting node database. Therefore, in order to obtain the block group header, it is necessary to obtain the block group header from the database with a poor update degree. Data synchronization in a good database.
- determining the acquisition mode of the block group header that has not been received by the target node according to the event cause includes: indicating in the event cause
- the voting node is instructed to vote for the received block, and the processing result of the unreceived legal block is set as the target value to indicate the
- the voting node has no opinion on the unreceived legal block, and obtains the voting result of the voting node; sends the voting result to the rotating accounting node to instruct the rotating accounting node to generate the unreceived to the legal block group header.
- the accounting node when the accounting node requests the height of its blockchain from all voting nodes, it does not find that the height of the blockchain of the voting node is higher than that of the local blockchain of the accounting node, Therefore, it can be understood that the block chain system does not generate a block group header.
- all voting nodes are instructed to vote for the blocks received from the accounting nodes, and at the same time, the legal blocks that have not been received will be processed.
- the result is set as the target value to indicate that the voting node has no opinion on the unreceived block, and the voting node sends all voting results to the rotating accounting node for statistics, so that the rotating accounting node generates a block group head.
- voting node X, voting node Y, and voting node Z respectively generate a voting information table for the rotating accounting node M, and the rotating accounting node M collects statistics, thereby generating a block group header.
- the rotating accounting node can only apply for the block group after receiving more than 2N v /3 voting information from the voting nodes. Count each block and generate statistical results. If the number of voting nodes that agree with any legal block exceeds 1N v /3, the rotating accounting node agrees to generate the any legal block. Set its voting result to 1, otherwise the rotating bookkeeping node does not agree to generate any of the legal blocks, and its voting result is set to -1.
- the N v is the number of the voting nodes in the blockchain system.
- the existing voting node X, voting node Y, voting node Z, voting node W, and rotating accounting node M can generate statistical results only after receiving the voting information of at least three voting nodes among the four voting nodes. , and any block is allowed to be produced only if at least two of the four voting nodes vote to agree.
- the rotating checkout node After the rotating accounting node generates a valid block group header, the rotating checkout node broadcasts the generated block group header to all nodes in the blockchain system to instruct all nodes to verify the generated block group header. , when all nodes are verifying, only the block group header that contains more than 2N v /3 votes can pass the verification, and in the case of passing the verification, it will receive the successfully generated block group header.
- the target node successfully receives the target group header, but does not receive a preset number of legal blocks, it sends an acquisition request to other nodes in the blockchain system, wherein, The acquisition request is used to acquire the legal block from the other node, the other node is a node other than the target node in the blockchain system, and the other node saves the legal block block.
- accounting node A successfully received the block group header after the PPoV consensus ended, but did not receive enough blocks due to network failure, such as not receiving block b and block c, the accounting node at this time A will broadcast to other nodes in the blockchain network to obtain blocks b and c that have not been received.
- the PPoV consensus algorithm refers to all the operations performed to generate a block group as one round of consensus.
- the blocks generated by other normal nodes may not be verified and generated due to the failure of a small number of accounting nodes.
- accounting nodes rotating accounting nodes and voting nodes.
- epoch is a consensus round
- T cut the duration of each consensus round
- N epoch is the number of consensus rounds that have passed from time t 0 to the current time t:
- N epoch (tt 0 )%T cut ;
- FIG. 5 is a schematic diagram of a block chain node timeout triggering condition according to an embodiment of the present invention. If in a round of consensus, the target node block chain system in the block chain system still fails after the deadline T cut of a consensus round epoch. If the submission conditions are met, that is, a qualified block group cannot be generated, a timeout will be triggered, that is, the block group header of the block group of this round of consensus and all valid blocks that have been voted for are not received at the same time.
- FIG. 6 is a structural diagram of a timeout processing module of a blockchain node according to an embodiment of the present invention; it includes a timing submodule, a vote statistics submodule, a view transformation submodule, and an incentive submodule.
- the timing sub-module provides the start time t 0 , the end time t and the duration T cut of the current round of consensus.
- the voting statistics sub-module includes voting operations of voting nodes and statistical operations of rotating accounting nodes. Specifically, all voting nodes perform voting operations after receiving the timeout message and send them to the rotating accounting nodes of the next epoch. If the block that has been received is voted in the normal way, the result of the block that has not been received is set to 0 (no opinion), and its hash value is set to be empty. After receiving more than 2N v /3 votes from voting nodes, the rotating accounting node will count each block in the block group and generate statistical results.
- the statistical rule is: if any numbered block is If the approval votes obtained by any hash value exceeds N v /3, it can be regarded as agreeing to generate a block, and its voting result is set to 1, otherwise it is regarded as opposing the generation of a block, and its voting result is set to -1 .
- N v is the number of voting nodes.
- the view transformation sub-module includes the data synchronization operation of the node and the block group header verification operation.
- voting nodes are the core consensus nodes of the network, they are considered to have the latest blockchain state. All nodes need to request their blockchain heights from all voting nodes, and maintain the online status of each voting node locally. If there is a voting node whose blockchain height is higher than that of the local blockchain, the node will request a block group higher than the local height to synchronize data.
- a node receives a new block group header, it needs to verify the list of votes contained in the block group header received after the timeout. Only the block group header that contains more than 2N v /3 votes can pass the verification. , in which the block with more than N v /3 approval votes can pass the vote, otherwise it will be regarded as the vote failed.
- the incentive sub-module implements the scoring mechanism and the reward mechanism. Specifically, each voting node maintains a list of accounting nodes and scores them. The score for each accounting node represents the degree of trust in the accounting node, and also becomes one of the basis for voting by voting nodes. After each round of term ends, the accounting node will receive the reward from the alliance according to the number of legal blocks and block group headers that have been generated.
- FIG. 7 shows the timeout processing of a blockchain node according to an embodiment of the present invention. flow chart. Taking the accounting node timeout processing as an example, for general non-incentive scenarios, the specific timeout processing can be divided into two situations:
- One situation is that the accounting node has received valid block group headers, but not enough valid blocks.
- the block group header has been generated to indicate that the consensus has been completed, and the failure to receive enough valid blocks may be caused by network failures and other reasons, so it is only necessary to request the missing valid blocks from other nodes.
- Another situation is that the accounting node does not receive a valid block group header. The reason may be that the rotating accounting node fails, or it may be that the accounting nodes in other parts fail, so enough blocks cannot be generated. The following steps are required at this point:
- Step 1 The accounting node needs to request its blockchain height from all voting nodes, and maintain the online status of each voting node locally. If there is a voting node whose blockchain height is higher than that of the local blockchain, the node will request a block group higher than the local height to synchronize data, and then end the timeout processing. Otherwise, continue to execute the following timeout operations;
- Step 2 All voting nodes immediately perform the voting operation. If the block has been received, they will vote in the normal way. For the block that has not been received, set the result to 0 (no opinion), and set its hash value to be empty. The generated vote needs to be sent to the rotating accounting node of the next epoch;
- Step 3 After receiving more than 2N v /3 votes, the rotating accounting node counts each block in the block group and generates statistical results.
- the statistical rule is: if any numbered block is If the approval votes obtained by any hash value exceeds N v /3, it can be regarded as agreeing to generate a block, and its voting result is set to 1, otherwise it is regarded as opposing the generation of a block, and its voting result is set to -1 .
- N v is the number of voting nodes
- Step 4 If N epoch > 1, that is, if it times out more than twice, the rotating accounting node needs to be replaced. If the number of the accounting node before the timeout is R 0 , the current number R of the rotating accounting node is (R 0 +N epoch -1)% Nw . Among them, N w is the number of accounting nodes;
- Step 5 All nodes need to verify the list of votes contained in the block group header received after the timeout. Only the block group header containing more than 2N v /3 votes can pass the verification and obtain more than N v /3 votes. Blocks with approval votes can be voted on, otherwise they will be considered as voted failures.
- the trigger of timeout is also accompanied by a decrease in the revenue of accounting nodes. Details are as follows:
- the voting proof consensus has designed a scoring mechanism and a reward mechanism.
- the purpose of accounting nodes participating in elections and generating legal blocks is mainly to obtain accounting fees.
- the alliance chain system can solve the problem of billing fees by introducing tokens, and the amount unit and conversion of the token corresponds to the real currency amount unit and conversion one-to-one. After the alliance is established, an alliance fund account address will be set up, which corresponds to a real account for depositing funds in the bank in reality.
- the accounting node with the higher score has a greater probability of getting votes to be elected as the leader node.
- the leader node that successfully encapsulates the legal block group will receive the corresponding amount of reward according to the number, thereby attracting more people to join the ranks of the accounting nodes, rewarding the behavior of honest work, punishing the behavior of evil, making the system more and more Safe and reliable development.
- Each voting node will maintain a list of accounting nodes and score them.
- the scoring rules are:
- Rule 3 When the accounting node is not online and misses the production block, it will trigger a timeout, and its score will be reduced or even cleared by all voting nodes. If it is zero, it means that when the accounting node comes back online, the points need to be restarted from the beginning.
- the score of the accounting node in each voting node may be different.
- the score for each accounting node represents the trust level of the accounting node, and it also becomes one of the basis for voting by the voting node.
- the bookkeeping nodes will receive rewards from the alliance based on the number of legal blocks and block group headers that have been generated, giving them motivation to apply for elections, work honestly, and stay online for a long time.
- Embodiment 1 In an incentive-free transfer scenario based on parallel voting proof consensus, it is assumed that user A requests to transfer a sum of funds from his own account to user B's account. If user A has not received the block group containing whether the transfer is successful before Tcut, a timeout will be triggered.
- the specific processing flow is as follows:
- the voting node After receiving the timeout request, the voting node immediately performs the voting operation. If the block has been received, it will vote in the normal way. If the block has not been received, the result will be set to 0 (no opinion), and its The hash value is empty. After receiving more than 2N v /3 votes, the rotating bookkeeping node will count each block in the block group and generate statistical results;
- Embodiment 2 In the scenario of unincentivized identification registration based on the consensus of parallel voting proof, it is assumed that user X requests to register a new identification in the network. If user X has not received the block group containing the identification of whether the registration is successful before Tcut, a timeout will be triggered.
- the specific processing flow is as follows:
- the voting node immediately performs the voting operation after receiving the timeout request. If the block has been received, it will vote in the normal way. If the block has not been received, the result will be set to 0 (no opinion), and its The hash value is empty. After receiving more than 2N v /3 votes, the rotating accounting node will count each block in the block group and generate statistical results;
- this processing rule ensures that a legal block group can inevitably be generated in a consensus round, that is, the accounting node receives to a valid block group header and enough blocks.
- the traditional PPoV consensus algorithm generates block group headers, the voting nodes cannot perform voting operations because the accounting nodes do not generate enough blocks, so that the leading nodes cannot receive the voting results and cannot generate blocks.
- the group header, the method of obtaining the block group header during the above-mentioned timeout processing is a supplement and improvement to the traditional PPoV consensus process, which increases the robustness of the blockchain and enables the blockchain network to meet abnormal conditions. Runs normally and produces blocks.
- This embodiment also provides an apparatus for acquiring a block group header, which is used to implement the above-mentioned embodiment and other implementation manners, which have been described and will not be repeated.
- the term "module” may be a combination of software and/or hardware that implements a predetermined function.
- the devices described in the following embodiments are preferably implemented in software, implementations in hardware, or a combination of software and hardware, are also possible and contemplated.
- FIG. 8 is a structural block diagram of an apparatus for obtaining a block group header according to an embodiment of the present invention, the apparatus includes:
- the first determination module 82 is configured to determine whether the target node in the blockchain system satisfies a preset condition, wherein the preset condition is used to indicate at least one of the following: the target node has received the block group header And the preset number of legal blocks has not been received, and the target node has not received the block group header;
- the second determining module 84 is configured to, in the case of determining that the target node has not received the block group header, determine the event cause that the target node has not received the block group header, wherein the event cause includes the following At least one of: the target node has not successfully received the block group header, and the block chain system has not generated a block group header;
- the third determination module 86 is configured to determine, according to the event cause, the acquisition method of the block group header that has not been received by the target node.
- the target node of the blockchain system satisfies the preset conditions, and the preset conditions have two cases.
- One is that the target node has received the block group header but has not received the preset number of legal areas. block, another case is that the target node did not receive the block group header.
- Two different strategies are formulated according to these two situations. In the case of not receiving the block group header, determine the event cause of not receiving the block group header, and then determine that the target node has not received the block group header according to the event cause. How to get the block group header of .
- the above technical solution solves the problem that the parallel voting proof PPoV consensus algorithm has a low acquisition rate in the process of acquiring block group headers, and then when acquiring block group headers, different acquisition methods are used according to different event reasons, which improves the performance of the block group header.
- the fetch rate of block group headers is not limited to the process of acquiring block group headers.
- condition one the target node has received the block group header and has not received the preset number of legal blocks.
- Condition 2 The target node does not receive the block group header.
- the target node in the blockchain system needs to judge whether the preset conditions are met. If not, a timeout will be triggered, and the target node will perform the relevant timeout operation. The target node does not receive the block group header.
- the event cause that the target node does not receive the block group header, wherein the event cause includes at least one of the following: the target node fails to receive the block group header successfully, and the blockchain system If the block group header is not generated, then the blockchain system will determine how the target node obtains the block group header that has not been received according to the cause of the event. For example, a certain accounting node A in the blockchain system does not receive the block group header, so accounting node A will trigger a timeout operation, request its blockchain height from all voting nodes, and maintain the online status of each voting node locally.
- the accounting node A will then determine the acquisition method according to the event cause.
- the third determination module 86 is further configured to synchronize with the voting node of the blockchain system when the event cause indicates that the target node has not successfully received the block group header Get the block group header that was not successfully received.
- the target node if the target node does not receive the block group header, the target node will go to the voting node to request the block group header. Because the voting node is the core consensus point of the blockchain network, it is considered to have the latest If the system generates a block group header, the voting node will definitely receive it during the broadcast of the generated block group header to the blockchain network. For example, if billing node A does not receive the block group header, billing node A will go to voting node B for data synchronization to obtain the block group header. The blockchain height of voting node B is higher than that of billing node A. high.
- the block chain height is used to indicate the block height.
- the blockchain height can be understood as a database. Since the blockchain system is a distributed system without a unified database, it can be understood that each blockchain node has a database. The height of the voting node blockchain is higher than that of the local blockchain, which means that the database update degree of the voting node is better than that of the accounting node database. Therefore, in order to obtain the block group header, it is necessary to obtain the block group header from the database with a poor update degree. Data synchronization in a good database.
- the third confirmation module 86 is further configured to instruct the voting node to vote on the received block when the cause of the event indicates that the block chain system does not generate a block group header, and to The processing result of the unreceived legal block is set as the target value to indicate that the voting node has no opinion on the unreceived legal block, and the voting result of the voting node is obtained; the voting result is sent to The rotating accounting node to instruct the rotating accounting node to generate the unreceived legal block group header.
- the accounting node when the accounting node requests the height of its blockchain from all voting nodes, it does not find that the height of the blockchain of the voting node is higher than that of the local blockchain of the accounting node, Therefore, it can be understood that the block chain system does not generate a block group header.
- all voting nodes are instructed to vote for the blocks received from the accounting nodes, and at the same time, the legal blocks that have not been received will be processed.
- the result is set as the target value to indicate that the voting node has no opinion on the unreceived block, and the voting node sends all voting results to the rotating accounting node for statistics, so that the rotating accounting node generates a block group head.
- voting node X, voting node Y, and voting node Z respectively generate a voting information table for the rotating accounting node M, and the rotating accounting node M collects statistics, thereby generating a block group header.
- the rotating accounting node can only apply for the block group after receiving more than 2N v /3 voting information from the voting nodes. Count each block and generate statistical results. If the number of voting nodes that agree with any legal block exceeds 1N v /3, the rotating accounting node agrees to generate the any legal block. Set its voting result to 1, otherwise the rotating bookkeeping node does not agree to generate any of the legal blocks, and its voting result is set to -1.
- the N v is the number of the voting nodes in the blockchain system.
- the existing voting node X, voting node Y, voting node Z, voting node W, and rotating accounting node M can generate statistical results only after receiving the voting information of at least three voting nodes among the four voting nodes. , and any block is allowed to be produced only if at least two of the four voting nodes vote to agree.
- the rotating checkout node After the rotating accounting node generates a valid block group header, the rotating checkout node broadcasts the generated block group header to all nodes in the blockchain system to instruct all nodes to verify the generated block group header. , when all nodes are verifying, only the block group header that contains more than 2N v /3 votes can pass the verification, and in the case of passing the verification, it will receive the successfully generated block group header.
- the target node successfully receives the target group header, but does not receive a preset number of legal blocks, it sends an acquisition request to other nodes in the blockchain system, wherein, The acquisition request is used to acquire the legal block from the other node, the other node is a node other than the target node in the blockchain system, and the other node saves the legal block block.
- accounting node A successfully received the block group header after the PPoV consensus ended, but did not receive enough blocks due to network failure, such as not receiving block b and block c, the accounting node at this time A will broadcast to other nodes in the blockchain network to obtain blocks b and c that have not been received.
- Embodiments of the present invention further provide a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.
- the above-mentioned storage medium may be configured to store a computer program for performing the following steps:
- S1 determine whether the target node in the blockchain system satisfies a preset condition, wherein the preset condition is used to indicate at least one of the following: the target node has received the block group header and has not received the preset number , the target node has not received the block group header;
- the event cause includes at least one of the following: the target node The node fails to receive the block group header, and the block chain system does not generate the block group header;
- S3 Determine, according to the event cause, the acquisition method of the target node for the unreceived block group header.
- the above-mentioned computer-readable storage medium may include, but is not limited to, a USB flash drive, a read-only memory (Read-Only Memory, referred to as ROM for short), a random access memory (Random Access Memory, referred to as RAM for short), a mobile Various media that can store computer programs, such as hard disks, magnetic disks, or optical disks.
- ROM Read-Only Memory
- RAM Random Access Memory
- An embodiment of the present invention also provides an electronic device, comprising a memory and a processor, where a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any of the above method embodiments.
- the above-mentioned processor may be configured to perform the following steps through a computer program:
- S1 determine whether the target node in the blockchain system satisfies a preset condition, wherein the preset condition is used to indicate at least one of the following: the target node has received the block group header and has not received the preset number , the target node has not received the block group header;
- the event cause includes at least one of the following: the target node The node fails to receive the block group header, and the block chain system does not generate the block group header;
- S3 Determine, according to the event cause, the acquisition method of the target node for the unreceived block group header.
- the electronic device may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
- modules or steps of the present invention can be implemented by a general-purpose computing device, and they can be centralized on a single computing device or distributed in a network composed of multiple computing devices
- they can be implemented in program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, can be performed in a different order than shown here.
- the described steps, or they are respectively made into individual integrated circuit modules, or a plurality of modules or steps in them are made into a single integrated circuit module to realize.
- the present invention is not limited to any particular combination of hardware and software.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Development Economics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Game Theory and Decision Science (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- Technology Law (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (10)
- 一种区块组头的获取方法,包括:确定区块链系统中的目标节点是否满足预设条件,其中,所述预设条件用于指示至少以下之一:所述目标节点已接收到区块组头且没有接收到预设数量的合法区块,所述目标节点没有收到区块组头;在确定所述目标节点没有收到区块组头的情况下,确定所述目标节点没有收到区块组头的事件原因,其中,所述事件原因包括以下至少之一:所述目标节点未成功收到所述区块组头,所述区块链系统未产生区块组头;根据所述事件原因确定所述目标节点对没有收到的所述区块组头的获取方式。
- 根据权利要求1所述的方法,其中,根据所述事件原因确定所述目标节点对没有收到的所述区块组头的获取方式,包括:在所述事件原因指示为所述目标节点未成功收到所述区块组头的情况下,向所述区块链系统的投票节点同步获取未成功接收到的所述区块组头。
- 根据权利要求2所述的方法,其中,向所述区块链系统的投票节点同步获取未成功接收到的所述区块组头,包括:从所述区块链系统中确认投票节点,其中,所述投票节点区块链高度比所述目标节点区块链高度高,所述区块链高度用于指示区块高度;从所述投票节点同步获取比所述目标节点区块链高度高的所述区块组头。
- 根据权利要求1所述的方法,其中,根据所述事件原因确定所述目标节点对没有收到的所述区块组头的获取方式,包括:在所述事件原因指示为所述区块链系统未产生区块组头的情况下,指示投票节点对于已接收到的区块进行投票,以及将未收到的合法区块的处理结果设置为目标值,以指示所述投票节点对所述未收到的合法区块无意见,得到所述投票节点的投票结果;将所述投票结果发送至轮值记账节点,以指示所述轮值记账节点产生所述未产生的合法区块组头。
- 根据权利要求4所述的方法,其中,将所述投票结果发送至轮值记账节点,以指示所述轮值记账节点产生所述未产生的合法区块组头,包括:对于所述未产生的合法区块组头对应的任一合法区块,如果所述轮值记账节点统计到所述任一合法区块的同意意见的投票节点超过1N v/3,确定所述轮值记账节点同意产生所述任一合法区块,所述N v为所述区块链系统中所述投票节点的数量。
- 根据权利要求1所述的方法,其中,根据所述事件原因确定所述目标节点对没有收到的所述区块组头的获取方式之后,所述方法还包括:在所述没有收到的所述区块组头已被成功产生的情况下,指示轮值结账节点向所述区 块链系统的所有节点广播成功产生到的区块组头,以指示所述所有节点对所述成功获取到的区块组头进行验证,并在验证通过的情况下,接收所述成功产生到的区块组头。
- 根据权利要求1所述的方法,其中,确定区块链系统中的目标节点是否满足预设条件之后,所述方法还包括:在确定所述目标节点已接收到区块组头且没有接收到预设数量的合法区块的情况下,向所述区块链系统中的其他节点发送获取请求,其中,所述获取请求用于从所述其他节点获取所述合法区块,所述其他节点为所述区块链系统中除所述目标节点之外的节点,且所述其他节点保存有所述合法区块。
- 一种区块组头的获取装置,包括:第一确定模块,被设置成确定区块链系统中的目标节点是否满足预设条件,其中,所述预设条件用于指示至少以下之一:所述目标节点已接收到区块组头且没有接收到预设数量的合法区块,所述目标节点没有收到区块组头;第二确定模块,被设置成在确定所述目标节点没有收到区块组头的情况下,确定所述目标节点没有收到区块组头的事件原因,其中,所述事件原因包括以下至少之一:所述目标节点未成功收到所述区块组头,所述区块链系统未产生区块组头;第三确定模块,被设置成根据所述事件原因确定所述目标节点对没有收到的所述区块组头的获取方式。
- 一种计算机可读的存储介质,包括存储的程序,其中,所述程序运行时执行上述权利要求1至7任一项中所述的方法。
- 一种电子装置,包括存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2023537119A JP7520237B2 (ja) | 2020-12-16 | 2021-11-04 | ブロックグループヘッダの取得方法及び装置、記憶媒体、並びに電子装置 |
US18/257,667 US20240031151A1 (en) | 2020-12-16 | 2021-11-04 | Obtaining method and apparatus for block group header, storage medium, and electronic device |
KR1020237022466A KR20230112718A (ko) | 2020-12-16 | 2021-11-04 | 블록 그룹 헤더의 획득 방법 및 장치, 저장 매체 및전자 장치 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011488871.4A CN114638452A (zh) | 2020-12-16 | 2020-12-16 | 区块组头的获取方法及装置,存储介质及电子装置 |
CN202011488871.4 | 2020-12-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022127424A1 true WO2022127424A1 (zh) | 2022-06-23 |
Family
ID=81945086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/128716 WO2022127424A1 (zh) | 2020-12-16 | 2021-11-04 | 区块组头的获取方法及装置,存储介质及电子装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240031151A1 (zh) |
JP (1) | JP7520237B2 (zh) |
KR (1) | KR20230112718A (zh) |
CN (1) | CN114638452A (zh) |
WO (1) | WO2022127424A1 (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109964446A (zh) * | 2018-06-08 | 2019-07-02 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
CN110868434A (zh) * | 2018-08-27 | 2020-03-06 | 深圳金刚链计算技术有限公司 | 一种多层分片架构的区块链共识方法及系统 |
US20200092085A1 (en) * | 2018-09-18 | 2020-03-19 | Nhn Corporation | Blockchain system including a distributed network of a plurality of nodes and a method for achieving an agreement between the plurality of nodes executed by processors of the block chain system |
WO2020138532A1 (ko) * | 2018-12-27 | 2020-07-02 | 서강대학교 산학협력단 | 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법 |
CN111368008A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111382456A (zh) * | 2020-06-01 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 提案消息处理方法、装置、设备以及存储介质 |
CN112104482A (zh) * | 2020-08-11 | 2020-12-18 | 佛山赛思禅科技有限公司 | 一种基于并行投票的共识方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165945B (zh) | 2018-09-07 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 代表节点设备选举方法、装置、计算机设备及存储介质 |
-
2020
- 2020-12-16 CN CN202011488871.4A patent/CN114638452A/zh active Pending
-
2021
- 2021-11-04 WO PCT/CN2021/128716 patent/WO2022127424A1/zh active Application Filing
- 2021-11-04 US US18/257,667 patent/US20240031151A1/en active Pending
- 2021-11-04 JP JP2023537119A patent/JP7520237B2/ja active Active
- 2021-11-04 KR KR1020237022466A patent/KR20230112718A/ko unknown
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109964446A (zh) * | 2018-06-08 | 2019-07-02 | 北京大学深圳研究生院 | 一种基于投票的共识方法 |
CN110868434A (zh) * | 2018-08-27 | 2020-03-06 | 深圳金刚链计算技术有限公司 | 一种多层分片架构的区块链共识方法及系统 |
US20200092085A1 (en) * | 2018-09-18 | 2020-03-19 | Nhn Corporation | Blockchain system including a distributed network of a plurality of nodes and a method for achieving an agreement between the plurality of nodes executed by processors of the block chain system |
WO2020138532A1 (ko) * | 2018-12-27 | 2020-07-02 | 서강대학교 산학협력단 | 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법 |
CN111368008A (zh) * | 2020-05-27 | 2020-07-03 | 腾讯科技(深圳)有限公司 | 基于区块链的数据处理方法、装置、设备及可读存储介质 |
CN111382456A (zh) * | 2020-06-01 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 提案消息处理方法、装置、设备以及存储介质 |
CN112104482A (zh) * | 2020-08-11 | 2020-12-18 | 佛山赛思禅科技有限公司 | 一种基于并行投票的共识方法 |
Non-Patent Citations (1)
Title |
---|
MIN, XIN-PING ET AL.: "Permissioned Blockchain Dynamic Consensus Mechanism Based Multi-Centers", CHINESE JOURNAL OF COMPUTERS, vol. 41, no. 5, 31 May 2018 (2018-05-31), pages 1005 - 1020, XP055944483 * |
Also Published As
Publication number | Publication date |
---|---|
JP7520237B2 (ja) | 2024-07-22 |
US20240031151A1 (en) | 2024-01-25 |
JP2023554090A (ja) | 2023-12-26 |
KR20230112718A (ko) | 2023-07-27 |
CN114638452A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255713B (zh) | 一种区块链网络中某一时间段内记账权的获取方法 | |
CN109559120B (zh) | 基于权重的区块链共识方法、系统、存储介质及电子设备 | |
WO2021244208A1 (zh) | 区块链的提案消息处理方法、装置、设备以及存储介质 | |
CN112685796B (zh) | 一种基于区块链的区块共识方法以及相关设备 | |
CN107301600B (zh) | 一种跨链交易的区块链互联网模型的核心构建方法 | |
CN111131209B (zh) | 一种改进的高效共识方法、系统、计算机设备及存储介质 | |
CN111106942A (zh) | 一种基于ap-pbft算法的区块链信用机制 | |
CN111010278B (zh) | 一种基于DPoS高容错分层共识方法 | |
CN111314067B (zh) | 区块存储方法、装置、计算机设备及存储介质 | |
CN110796547A (zh) | 一种基于联盟区块链的改进的实用拜占庭容错系统 | |
CN112104482B (zh) | 一种基于并行投票的共识方法 | |
CN113141414B (zh) | 一种cnfs协议中区块链节点的分组多链异步共识方法 | |
CN111682942B (zh) | 一种应用于许可链的二元加权拜占庭容错共识方法 | |
WO2021135934A1 (zh) | 一种区块链记账方法、装置、节点及存储介质 | |
CN107153646B (zh) | 一种数据处理方法和设备 | |
CN112492016B (zh) | 一种跨进程可扩展的共识方法及系统 | |
CN109919760A (zh) | 基于投票机制的拜占庭容错共识算法 | |
CN113179168A (zh) | 一种区块链的跨链交互方法 | |
CN112069259A (zh) | 一种基于区块链的多云环境数据存储系统及方法 | |
CN109978528B (zh) | 一种可插拔共识协议框架模型、共识协议及其实现方法 | |
CN114936253A (zh) | 区块链的共识方法及装置、电子设备、存储介质 | |
WO2022127424A1 (zh) | 区块组头的获取方法及装置,存储介质及电子装置 | |
CN114172680A (zh) | 一种基于节点信誉机制的区块链系统及其运行方法 | |
CN112511312A (zh) | 一种可组装的共识方法及系统 | |
CN116260826A (zh) | 一种供应链溯源中拜占庭容错共识方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21905353 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 18257667 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2023537119 Country of ref document: JP |
|
ENP | Entry into the national phase |
Ref document number: 20237022466 Country of ref document: KR Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 30.10.2023) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21905353 Country of ref document: EP Kind code of ref document: A1 |