Private Blockchain Concurrency Control for Deterministic Replica Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional private blockchains face challenges in achieving high throughput and replica consistency due to non-deterministic concurrency control protocols, which can lead to divergent states among replicas and increased abort rates, particularly in disk-oriented systems with complex transaction logic.
Innovation Solution
A deterministic concurrency control protocol for private blockchains, referred to as blockchain protocol 100, employs an optimistic approach that minimizes aborts by identifying and addressing backward dangerous structures in transaction dependencies without static analysis, supports inter-block parallelism, and utilizes update reordering and coalescence to ensure serializability and resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If non-deterministic concurrency control protocols are used, then system flexibility and ease of implementation are improved, but replica consistency and throughput deteriorate due to divergent states and increased abort rates
Solution Approach 1:
The patent changes the fundamental parameter of concurrency control from non-deterministic to deterministic by introducing a simulation step that predicts transaction outcomes before commit. This simulation phase evaluates transactions against a snapshot of the database state and checks for dangerous structures in the dependency graph, ensuring all replicas will reach the same state without requiring complex locking mechanisms.
Solution Approach 2:
The patent performs preliminary validation through a simulation step before actual transaction commit. During this simulation phase, the system generates a dependency graph and identifies dangerous structures that would lead to inconsistency. This preliminary action prevents aborts and ensures replica consistency before transactions are permanently committed, resolving the contradiction between ease of implementation and reliability.
2Device complexity
If conventional concurrency control protocols are used, then implementation simplicity is improved, but throughput deteriorates due to high abort rates under high contention
Solution Approach 1:
The patent introduces a simulation step as an intermediary between transaction submission and commit. This simulation phase acts as a mediator that predicts transaction outcomes and identifies potential conflicts before they cause aborts. By using this intermediary validation layer, the system achieves high throughput under contention without requiring complex locking protocols, as the simulation prevents problematic transactions from being committed.
Solution Approach 2:
The patent implements feedback through the simulation step that provides information about potential transaction conflicts before commit. The system generates a dependency graph during simulation and uses this feedback to identify dangerous structures. This feedback mechanism allows the system to make informed decisions about transaction commitment, reducing abort rates and improving throughput without increasing protocol complexity.
3Productivity
If optimistic concurrency control is used to minimize aborts, then throughput is improved, but replica consistency deteriorates due to non-deterministic execution
Solution Approach 1:
The patent changes the execution model parameter from non-deterministic optimistic concurrency control to deterministic execution by introducing a simulation step. This simulation phase evaluates transactions against a fixed snapshot state and uses deterministic rules for identifying dangerous structures in the dependency graph. This parameter change ensures that all replicas execute transactions in the same order and reach the same state, maintaining replica consistency while achieving high throughput through minimized aborts.
Solution Approach 2:
The patent performs preliminary simulation and validation before actual transaction commit to ensure deterministic execution. The simulation step generates a dependency graph and identifies dangerous structures that would lead to non-deterministic behavior. By performing this preliminary deterministic validation, the system ensures replica consistency is maintained while allowing optimistic concurrency control to maximize throughput through reduced abort rates.
4Reliability
If static analysis is used to detect dangerous structures, then replica consistency is improved, but throughput deteriorates due to increased processing overhead
Solution Approach 1:
The patent applies partial analysis by focusing only on identifying dangerous structures in the dependency graph during simulation, rather than performing comprehensive static analysis on all transaction aspects. The simulation step generates a dependency graph and specifically looks for dangerous patterns (cycles involving read-write dependencies) that would lead to inconsistency. This partial focus on critical consistency issues maintains replica consistency while minimizing processing overhead and preserving throughput.
Data Source
AI summary
A deterministic concurrency control protocol for a blockchain is described. A set of transactions of the blockchain are received at a node. A simulation step and a commit step are performed to process the transactions. A dependency graph is generated comprising the set of transactions and a set of dependencies between the set of transactions, the set of dependencies including one or more read-write dependencies. A backward dangerous structure is identified in the dependency graph. The backward dangerous structure includes a first read-write dependency from a second transaction to a first transaction, and a second read-write dependency from a third transaction to the second transaction. A transaction is aborted based on the identified backward dangerous structure. Each non-aborted transaction is committed. Steps for update reordering, update coalescence, and inter-block parallelism are described.


