Backup Blockchain Replication via Checkpoint State Transfer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
State machine replication-based distributed computing systems face challenges in synchronizing blockchain data across replicas, which can be slow and disruptive, especially during malicious attacks, leading to potential data loss and service disruption.
Innovation Solution
A backup client system that communicates with replicas to create and store a backup blockchain on external storage, allowing replicas to sync without being offline, using a state transfer service to determine checkpoints and retrieve blocks, and a backup service to store them efficiently, enabling faster data transfer and restoration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If replicas sync blockchain data by downloading and verifying blocks sequentially, then data consistency is maintained, but syncing time becomes very long (days)
Solution Approach 1:
The system performs preliminary actions by creating checkpoint messages that summarize blockchain state at specific points, and pre-computes proof-of-reachability data. This allows replicas to verify large amounts of blockchain data much faster than sequential verification, reducing syncing time from days to minutes while maintaining data consistency through cryptographic proofs.
Solution Approach 2:
The system creates backup blockchains as copies of the main blockchain, stored on external storage systems. These backup copies can be used for restoration without affecting the main blockchain operation, and can be synchronized faster using checkpoint-based methods rather than full sequential verification.
2Reliability
If replicas are brought offline for syncing, then data can be synchronized, but service availability is reduced and performance is disrupted
Solution Approach 1:
The system introduces backup clients as intermediary components that handle the backup and restoration operations. These backup clients can perform syncing and restoration tasks without taking replicas offline, as they operate independently and can restore data while replicas remain online and serving requests.
Solution Approach 2:
The system performs preliminary backup actions by continuously maintaining backup blockchains and pre-computing checkpoint data. When restoration is needed, the process can begin immediately using pre-prepared backup data, avoiding the need to take replicas offline for extended periods and minimizing service disruption.
3Object-affected harmful factors
If all replicas lose data during malicious attacks, then security is compromised, but backup mechanisms can restore data
Solution Approach 1:
The system implements beforehand cushioning by creating and maintaining backup blockchains before any data loss occurs. These backups are stored on external storage systems separate from the main replica nodes, providing a safety cushion that can be used to restore data if all replicas are compromised by malicious attacks, thus protecting against total data loss.
Solution Approach 2:
The system creates redundant copies of the blockchain data stored in backup clients with external storage. These copies are maintained separately from the main replicas, so if all replicas are compromised by attacks, the backup copies remain intact and can be used to restore the blockchain, ensuring data security and availability.
Data Source
AI summary
In some embodiments, a method sends first messages that request first information for a set of blocks of the blockchain to the N replicas. Each replica maintains a respective instance of the blockchain. Second messages is received from at least a portion of the N replicas. The second messages include the first information for the set of blocks from each respective instance of the blockchain that is maintained by the N replicas. The method analyzes the first information to determine whether a consensus on the first information is reached by a number of replicas. When consensus is reached, a request is sent to a replica for one or more blocks to back up to a backup blockchain and second information is received for the one or more blocks from the replica. The method uses the second information to back up the one or more blocks in the backup blockchain.


