Blockchain Transaction Storage With Erasure Coding for Byzantine Faults
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The rapid increase in blockchain transaction data size leads to excessive storage requirements, centralization of data ownership, and inefficiencies in existing distributed storage methods, particularly due to redundant storage across participating nodes, which is not optimized for Byzantine fault tolerance.
Innovation Solution
A method for storing blockchain transaction data by encoding blocks into chunks, including parity chunks, and distributing these chunks across multiple nodes, ensuring Byzantine fault tolerance while minimizing storage space and access delays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If blockchain transaction data is redundantly stored in all participating nodes, then data integrity and reliability are ensured, but excessive disk/memory capacity is required and storage scalability deteriorates
Solution Approach 1:
The patent segments the blockchain ledger into transaction data and state data, storing them in separate locations. Transaction data is stored in a distributed file system across multiple nodes, while state data is stored in a key-value store. This segmentation allows nodes to store only the transaction data they need rather than redundant copies of the entire ledger, reducing storage requirements while maintaining data integrity through distributed storage.
Solution Approach 2:
The patent uses Merkle proofs and cryptographic hashing to create compact representations of transaction data that can be verified without storing the complete original data. Nodes can verify transaction integrity using these cryptographic copies rather than storing redundant full copies of all transaction data, significantly reducing storage capacity requirements while maintaining reliability.
2Quantity of substance
If transaction data is stored in a distributed manner using DHT or sharding, then storage capacity is reduced, but Byzantine fault tolerance is not adequately guaranteed
Solution Approach 1:
The patent applies erasure coding to transaction data before distributing it across nodes. This preliminary encoding action transforms the original data into multiple encoded chunks with built-in redundancy, allowing the system to tolerate Byzantine faults (malicious or failed nodes) while maintaining data availability. The encoding is performed in advance, so fault tolerance is inherent in the distributed storage structure itself.
Solution Approach 2:
The patent combines multiple cryptographic and encoding techniques (Merkle trees, erasure coding, digital signatures) to create a composite storage system that achieves both reduced storage requirements and Byzantine fault tolerance. The layered approach integrates different protective mechanisms at multiple levels of the storage architecture.
3Adaptability or versatility
If nodes store complete ledger copies, then data ownership is decentralized, but new nodes face long synchronization times and high performance requirements
Solution Approach 1:
The patent extracts the most frequently accessed state data from the distributed transaction data storage and stores it separately in a key-value store. New nodes can quickly synchronize by downloading only the compact state data rather than the entire transaction history, dramatically reducing synchronization time while maintaining the ability to verify transactions through distributed storage of transaction data.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Disclosed herein is a method for storing blockchain transaction data. The method includes selecting at least one block file storing blockchain transactions as an encoding block file target, generating encoded chunks including parity chunks using the encoding block file target, and making at least one of the encoded chunks correspond to at least one of blockchain nodes to store at least one of the encoded chunks.