Asynchronous Transaction Verification for Byzantine Fault Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing Byzantine fault detection techniques in database systems suffer from high latency and reduced transaction throughput due to the need for synchronous consensus processing between replicas, which is burdensome and inefficient.
Innovation Solution
Implement an asynchronous Byzantine fault detection protocol that verifies transaction correctness after execution by storing transaction management data in a second computer system, allowing for asynchronous validation and reducing the need for synchronous consensus processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous consensus processing is performed between Ledger and Auditor for Byzantine fault detection, then detection reliability is improved, but transaction latency increases and throughput decreases
Solution Approach 1:
The Auditor performs validation of transaction correctness in advance by checking proofs of execution results before the transaction is fully committed. This preliminary validation allows the system to detect Byzantine faults without requiring synchronous consensus processing during transaction execution, thereby reducing latency while maintaining detection reliability
Solution Approach 2:
Proofs of execution results serve as an intermediary mechanism between the Ledger and Auditor. Instead of requiring direct synchronous interaction for validation, the Ledger generates proofs that the Auditor can independently verify asynchronously. This intermediary enables fault detection without the performance penalty of synchronous consensus
2Reliability
If synchronous consensus processing is performed between Ledger and Auditor for Byzantine fault detection, then detection reliability is improved, but transaction throughput decreases
Solution Approach 1:
Validation is performed in advance of transaction commitment through asynchronous verification of execution proofs. This allows multiple transactions to be processed in parallel without waiting for consensus confirmation, significantly improving throughput while maintaining the ability to detect Byzantine faults through the proof validation mechanism
Solution Approach 2:
The Auditor continuously validates transaction proofs asynchronously without interrupting the transaction processing flow. This continuous validation approach ensures that Byzantine fault detection operates in parallel with normal transaction processing, maintaining high throughput while providing ongoing reliability checks
Data Source
Figure 1
Figure 2~3
Figure 4~5
AI summary
After a transaction is executed in a first computer system, a validation system performs validation related to the transaction. Specifically, the validation system stores transaction management data for each transaction executed in the first computer system in a second computer system. When the transaction is executed in response to a transaction request, the first computer system returns a result including a proof related to the execution of the transaction. For each transaction, the transaction management data includes data held by the transaction request and data acquired from the result of the transaction and having the proof of the transaction. The validation system specifies the transaction management data of validation target transaction from the second computer system and performs validation on the basis of the specified transaction management data.