Blockchain Recovery Deduplication via Chunk-Based TRE
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The recovery process of a blockchain in a distributed computing system is slow and costly due to the transfer of large amounts of redundant data across multiple replicas, especially when replicas are located in different sites, leading to network degradation and high data transfer charges.
Innovation Solution
The implementation of a Traffic Redundancy Elimination (TRE) replica that deduplicates and optimizes data transfer by splitting blocks into chunks, using hashes to retrieve already sent data, thereby reducing the amount of data sent between source and recovering replicas, and potentially lowering transfer costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If blocks are downloaded from another replica during recovery, then the blockchain state can be recovered, but the download process is very slow and takes a long period of time
Solution Approach 1:
The patent segments the blockchain data into discrete blocks that can be independently transferred and processed. Each block is treated as a separate unit during the recovery process, allowing for efficient chunk-based transmission and parallel processing across multiple replicas, thereby improving recovery speed while maintaining reliability
Solution Approach 2:
The patent implements preliminary actions by pre-computing and storing block validity proofs, transaction roots, and state commitments before recovery is needed. These pre-prepared data structures enable the recovering replica to quickly verify and apply blocks without performing expensive computations during the recovery process itself, significantly accelerating recovery while ensuring reliability
2Reliability
If blocks are downloaded and fully verified during recovery, then the blockchain integrity is ensured, but the process depends heavily on computing power, storage, and network speed
Solution Approach 1:
The patent implements feedback mechanisms where each transferred block includes validity proofs and state commitments that allow the recovering replica to verify block integrity incrementally. As blocks are received and verified, the replica receives feedback on its current state consistency, enabling it to detect and handle inconsistencies early in the recovery process rather than requiring complete verification of all blocks beforehand, thus reducing computational complexity while maintaining integrity
Solution Approach 2:
The patent introduces intermediary data structures such as state commitments, transaction roots, and validity proofs that act as mediators between the source and recovering replicas. These intermediaries carry cryptographic evidence of block validity, allowing the recovering replica to verify integrity without re-executing all transactions or performing exhaustive validation, thereby reducing computational requirements while ensuring blockchain integrity
3Reliability
If large amounts of blockchain data are transferred between replicas, then the recovery process can be completed, but network traffic increases and costs increase especially when replicas are in different sites
Solution Approach 1:
The patent extracts only the essential and necessary data for recovery by identifying and transferring only the minimum required blocks and their associated validity proofs, rather than transferring complete blockchain histories. By extracting and transferring only the critical state information and incremental changes needed for recovery, the system completes recovery while minimizing network traffic and associated costs, especially across distributed sites
Data Source
AI summary
In some embodiments, a method receives data for a block in a blockchain during a recovery process in which a recovering replica is recovering the block for a first instance of the blockchain being maintained by the recovering replica. The block is received from a second instance of the blockchain being maintained by a source replica. The method splits the data for the block into a plurality of chunks. Each chunk includes a portion of the data for the block; It is determined whether the recovering replica can recover a chunk in the plurality of chunks using a representation of the chunk. In response to determining that the recovering replica can recover the chunk, sending the representation of the chunk to the recovering replica. In response to determining that the recovering replica cannot recover the chunk, sending the data for the chunk to the recovering replica.


