Blockchain Cache Object Event Aggregation for Block Addition Overhead
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The overhead in time and processor cycles associated with adding blocks to a blockchain, due to the need for network consensus and storage, makes it inefficient for frequent data updates, insertions, or deletions in a blockchain-based system.
Innovation Solution
Implementing a cache to store events related to database changes, allowing for bulk processing and reducing the frequency of direct blockchain additions by aggregating multiple events into a single block, thereby minimizing the number of blockchain transactions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If blocks are added frequently to store every database change in the blockchain, then data integrity and immutability are maintained, but system performance deteriorates due to high overhead in network consensus and block addition operations
Solution Approach 1:
The patent segments the data storage function into two parts: a database for frequent writes and a blockchain for periodic bulk storage. This segmentation allows the system to maintain data integrity in the blockchain without requiring frequent block additions, thus resolving the contradiction between reliability and productivity.
Solution Approach 2:
The patent implements preliminary action by pre-processing database changes into event objects and storing them in a buffer before bulk-adding to the blockchain. This preliminary preparation reduces the frequency of blockchain operations while ensuring data integrity is maintained through structured event objects containing all necessary information.
2Productivity
If the frequency of adding blocks to the blockchain is reduced to improve performance, then system productivity increases, but the timeliness of data availability in the blockchain deteriorates
Solution Approach 1:
The patent applies preliminary action by pre-processing database changes into standardized event objects with timestamps and change types, storing them in a buffer ready for bulk addition. This preparation ensures that when blocks are added to the blockchain, the data is immediately available in a structured format, reducing the time loss despite reduced addition frequency.
Solution Approach 2:
The patent changes the parameter of block addition from frequent individual additions to periodic bulk additions. This parameter change improves productivity by reducing the overhead of frequent network consensus operations, while the use of event objects with timestamps ensures data availability timeliness is maintained through efficient batch processing.
3Productivity
If multiple database changes are aggregated into a single block to reduce overhead, then system productivity improves, but the complexity of managing block contents increases
Solution Approach 1:
The patent segments each database change into a discrete event object with clear structure (change type, timestamp, data before/after). This segmentation allows multiple changes to be aggregated into a single block while maintaining manageability through standardized, independent event units, thus improving productivity without excessive complexity.
Solution Approach 2:
The patent changes the organization parameter from individual blocks per change to bulk blocks containing multiple event objects. This parameter change improves block addition efficiency by reducing overhead, while the use of structured event objects with consistent parameters keeps the complexity of managing block contents manageable through standardization.
Data Source
AI summary
Methods and systems are described for using cache objects to store events for adding corresponding objects in a blockchain. In one implementation, a first cache object is identified. The cache object stores events published responsive to updates, insertions, or deletions of records in a database object. An identifier for the cache object is based on a time window with which the cache object is associated, and an identifier for the database object. Events are retrieved from a cache that includes the cache object, based on the identifier for the cache object. The events were stored in the cache object during the time window. A block is added to a blockchain. The block's payload includes objects corresponding to a subset of the events.


