Search

KR-20260062739-A - METHOD AND SYSTEM FOR REDUCING IDLE TIME IN CONSENSUS PROCESS IN BLOCKCHAIN

KR20260062739AKR 20260062739 AKR20260062739 AKR 20260062739AKR-20260062739-A

Abstract

The present invention relates to a method for reducing idle time in a consensus process in a blockchain and a blockchain system, comprising the steps of: transmitting a prepare message containing a list of transactions from a proposal node to a plurality of validator nodes included in a blockchain network; transmitting a proposal message proposing a new block from the proposal node to the plurality of validator nodes included in the blockchain network; when each of the plurality of validator nodes receives the prepare message, processing the list of transactions included in the prepare message, and when the proposal message is received, reviewing the validity of the new block and transmitting a prevote message containing the review result to the plurality of validator nodes included in the blockchain network; and when each of the plurality of validator nodes receives the prevote message, transmitting a precommit message containing the result of confirming whether consensus has been reached to the plurality of validator nodes included in the blockchain network.

Inventors

  • 김종협
  • 정현일

Assignees

  • 주식회사 파라메타

Dates

Publication Date
20260507
Application Date
20241029

Claims (14)

  1. Regarding methods to reduce idle time in the consensus process in blockchain, A step of transmitting a prepare message containing a transaction list from a proposal node to multiple validator nodes included in a blockchain network; A step of transmitting a proposal message proposing a new block from the proposal node to the plurality of verification nodes included in the blockchain network; When each of the plurality of validator nodes receives the preparation message, the transaction list included in the preparation message is processed, and when the proposal message is received, the validity of the new block is reviewed and a prevote message including the review result is transmitted to the plurality of validator nodes included in the blockchain network; and When each of the plurality of validator nodes receives the pre-voting message, the step of transmitting a pre-commit message containing the result of confirming whether there is a consensus to the plurality of validator nodes included in the blockchain network. A method including
  2. In paragraph 1, The step of transmitting the above preparation message to the plurality of verification nodes included in the blockchain network is, A step of sending the preparation message to the plurality of validator nodes included in the blockchain network in at least one of the following cases: when the proposal node intending to send the preparation message completes the execution of the transaction list of the block prior to the previous one and receives the preparation message of the previous block from the proposal node of the previous block, when the first block is created, and when consensus is broken. A method including
  3. In paragraph 1, The step of transmitting the above preparation message and the step of transmitting the above proposal message are, When creating the first block or when consensus is broken, the proposal node simultaneously transmits the preparation message and the proposal message. A method including
  4. In paragraph 1, The above proposal message is, Not including the above transaction list method.
  5. In paragraph 1, The step of transmitting the above advance voting message is, The step of transmitting the advance voting message from each of the plurality of verification nodes to an aggregation node included in the blockchain network; and A step of aggregating the advance voting messages received from the aggregation node to generate an aggregated advance voting message, and transmitting the aggregated advance voting message to the plurality of verification nodes included in the blockchain network. A method including
  6. In paragraph 5, The step of transmitting the above advance voting message is, If the aggregated early voting message is not received within a preset time after each of the plurality of verification nodes transmits the early voting message to the aggregate node, the step of transmitting the early voting message to each of the plurality of verification nodes included in the blockchain network A method that includes more.
  7. In paragraph 1, Before the step of sending to the aggregation node, A step of selecting at least one of the aggregation nodes according to a preset method A method that includes more.
  8. A computer-readable recording medium characterized by having a program recorded thereon for executing the method of any one of claims 1 to 7.
  9. In blockchain network systems, Multiple nodes that operate as proposal nodes or validation nodes to implement a consensus algorithm for a block Includes, The above proposed node is, Send a prepare message containing a list of transactions to multiple validator nodes included in the blockchain network, and A proposal message proposing a new block is transmitted to the plurality of validator nodes included in the blockchain network, and Each of the above plurality of verification nodes is, Upon receiving the above preparation message, process the list of transactions included in the preparation message, and upon receiving the above proposal message, review the validity of the new block and send a prevote message including the review results to the plurality of validator nodes included in the blockchain network. Upon receiving the above advance voting message, a precommit message including the result of confirming whether there is a consensus is transmitted to the plurality of validator nodes included in the blockchain network. Blockchain network system.
  10. In Paragraph 9, The above proposed node is, When the execution of the transaction list of the previous block is completed and the preparation message of the previous block is received from the proposal node of the previous block, when the first block is created, and when consensus is broken, the preparation message is transmitted to the plurality of validator nodes included in the blockchain network in at least one of these cases. Blockchain network system.
  11. In Paragraph 9, The above proposed node is, When creating the first block or when consensus is broken, the proposal node simultaneously transmits the preparation message and the proposal message. Blockchain network system.
  12. In Paragraph 9, The above proposal message is, Not including the above transaction list Blockchain network system.
  13. In Paragraph 9, At least one of the plurality of nodes included in the above blockchain network system operates as an aggregation node, and Each of the above plurality of verification nodes is, The above advance voting message is transmitted to an aggregation node included in the above blockchain network, and The above aggregation node is, Aggregating the received advance voting messages to generate an aggregated advance voting message, and transmitting the aggregated advance voting message to the plurality of validator nodes included in the blockchain network. Blockchain network system.
  14. In Paragraph 13, Each of the above plurality of verification nodes is, If the aggregated early voting message is not received within a preset time after the early voting message is transmitted to the aggregate node, the early voting message is transmitted to each of the plurality of verification nodes included in the blockchain network. Blockchain network system.

Description

Method and System for Reducing IDLE Time in the Consensus Process in Blockchain The following embodiments relate to a consensus process in a blockchain. A blockchain consensus algorithm is a mechanism that enables multiple participants in a distributed network to agree on a single data state. This is a key element in ensuring the reliability and integrity of a blockchain. The purpose of a consensus algorithm is to allow multiple nodes to simultaneously add the same block and enable all nodes in the network to trust this data. Tendermint is a consensus algorithm based on the Byzantine Fault Tolerance (BFT) consensus algorithm and a blockchain engine that implements it. Tendermint is a technology primarily developed to achieve fast and secure consensus in blockchain networks, and it is widely used, particularly in the Cosmos network. Tendermint supports developers in easily creating blockchains and is designed with a structure that separates the consensus layer from the application layer. Figure 1 is a diagram illustrating an example of messages being transmitted over time during the consensus process of the Tendermint algorithm. Referring to FIG. 1, a plurality of nodes (110, 120, 130, 140) can transmit proposal messages, prevote messages, and precommit messages over time. In Figure 1, the first number in parentheses of each message represents the height of the block added to the blockchain, and the second number in parentheses represents the round, which indicates the number of times the consensus process for the block was attempted. That is, propose(1:0) represents the proposal message sent in the first attempt of the first block. The shaded square boxes in Figure 1 represent the time for executing the list of transactions included in the proposal message at each node. In the Tendermint algorithm, the transaction list is included in the proposal message and transmitted. Therefore, nodes included in the blockchain system have idle time until they receive the proposal message. The information described above may be provided as related art for the purpose of aiding understanding of the present invention. No claim or determination is made as to whether any of the foregoing can be applied as prior art related to the present invention. In relation to the description of the drawings, the same or similar reference numerals may be used for identical or similar components. Figure 1 is a diagram illustrating an example of messages being transmitted over time during the consensus process of the Tendermint algorithm. FIG. 2 is a flowchart illustrating the agreement process according to one embodiment of the present invention. FIG. 3 is a diagram illustrating an example in which a message is transmitted over time during the consensus process of a blockchain system according to one embodiment of the present invention. FIG. 4 is a diagram illustrating an example in which a message is transmitted over time when a discrepancy occurs during the consensus process of a blockchain system according to one embodiment of the present invention. FIG. 5 is a flowchart for aggregating and transmitting advance voting messages in a blockchain system according to one embodiment of the present invention. Figure 6 is a flowchart of the case where the aggregation node does not operate when aggregating and transmitting advance voting messages in a blockchain system according to one embodiment of the present invention. FIG. 7 is a diagram illustrating an example of transmitting a pre-voting message in a blockchain system according to one embodiment of the present invention. FIG. 8 is a diagram illustrating the schematic configuration of a node of a blockchain system according to one embodiment of the present invention. Hereinafter, embodiments are described in detail with reference to the attached drawings. However, various modifications may be made to the embodiments, and thus the scope of the patent application is not limited or restricted by these embodiments. It should be understood that all modifications, equivalents, and substitutions to the embodiments are included within the scope of the rights. The terms used in the embodiments are for illustrative purposes only and should not be interpreted as intended to be limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprising" or "having" are intended to indicate the existence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof. Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as generally understood by those skilled in the art to which the embodiments pertain. Terms such as those defined in commonly used di