Blockchain Consensus Parallel Execution Method
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing Tendermint consensus protocol for block chain consensus is inefficient due to network delays and substantial time consumption in contract execution and voting processes, resulting in low throughput.
Innovation Solution
A block chain-based block consensus method that parallelly processes contract execution and consensus voting, caching execution results in a temporary list and storing them to the block chain upon consensus pass, thereby reducing the time required for block chaining and enhancing throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If two rounds of voting and contract execution are performed sequentially in the Tendermint consensus protocol, then consensus reliability is ensured, but the time consumption increases and throughput decreases
Solution Approach 1:
The patent applies preliminary action by executing the contract before the consensus voting process is fully completed. The system caches the execution result temporarily, and only commits it to the block chain after consensus is reached. This allows the computationally intensive contract execution to overlap with the voting process, reducing overall time consumption while maintaining reliability through the temporary caching mechanism that ensures commitment only after consensus.
2Reliability
If two rounds of voting are performed with network broadcasting, then consensus agreement is achieved, but network delay consumes substantial time
Solution Approach 1:
The patent performs contract execution in advance before the consensus voting process completes, caching the result temporarily. This preliminary action allows the execution to finish during the voting process rather than waiting for voting to complete first, thereby reducing the time loss from network delays while ensuring the result is only committed after consensus is achieved.
3Reliability
If contract execution is performed after block consensus, then execution correctness is guaranteed, but the overall processing time increases
Solution Approach 1:
The patent executes the contract preliminarily before consensus is fully reached, caching the execution result in temporary storage. This allows the execution to complete during the consensus process rather than sequentially after it. The execution correctness is maintained because the cached result is only committed to the block chain after consensus verification confirms its validity, thus reducing total processing duration without sacrificing correctness.
4Device complexity
If sequential processing of consensus voting and contract execution is used, then system complexity is reduced, but processing efficiency decreases
Solution Approach 1:
The patent uses preliminary action to execute the contract before consensus voting completes, caching the result temporarily. This approach maintains relatively simple system architecture by using a straightforward temporary caching mechanism rather than complex parallel processing infrastructure, while significantly improving block chaining efficiency by overlapping the execution time with the voting time.
Data Source
AI summary
In a block chain-based block consensus method, a proposal block generated in an Nth round with a block height of M is acquired, and validity verification is performed on the proposal block. An application is executed based on transaction data in the proposal block to obtain a target execution result. A block hash of the proposal block and the target execution result are stored in a memory, including N execution results with the block height of M. While the application is executed based on the transaction data, two rounds of consensus voting processing are performed on the proposal block to obtain a first consensus result. Based on the first consensus result being a consensus pass result, the target execution result mapped by the block hash of the proposal block in the memory is acquired, and the proposal block and the target execution result are stored to a block chain.


