Reorganization-Immune Blockchain Indexing via Mono-Increasing Sequences
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The decentralized nature of blockchains poses challenges for data indexing, as new chains and protocols constantly emerge, requiring a compatible indexing platform that can handle chain reorganizations and data availability issues, while conventional approaches are inefficient and unreliable.
Innovation Solution
A bifurcated indexing system with a dynamic compute engine decouples storage and compute layers, allowing for flexible data formatting and processing schema selection, and uses sticky master nodes for efficient node balancing and reorganization-immune indexing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a common indexing platform is developed to handle blockchain data, then indexing efficiency and scalability are improved, but the system must handle chain reorganizations and forks which complicates the indexing logic and reduces reliability
Solution Approach 1:
The patent segments the indexing process into separate components: a blockchain data receiver that ingests blocks independently, a reorganization detector that identifies forks and reorgs, and an indexer that processes only canonical chain data. This segmentation allows each component to handle its specific task reliably while maintaining overall indexing efficiency.
Solution Approach 2:
The patent introduces an intermediary reorganization detector component that sits between the blockchain receiver and the indexer. This intermediary monitors chain reorganizations and forks, filtering out non-canonical data before it reaches the indexer, thus protecting the indexing system from reliability issues while maintaining high indexing throughput.
2Adaptability or versatility
If data is extracted from blockchain nodes on an ad hoc basis, then data availability flexibility is improved, but extraction speed and reliability deteriorate
Solution Approach 1:
The patent implements preliminary action by maintaining a persistent connection to blockchain nodes and pre-fetching blocks as they are produced. The system continuously receives and buffers blockchain data in advance, so when indexing is needed, the data is already available in the buffer, eliminating extraction delays while maintaining flexibility in when indexing occurs.
3Loss of information
If the indexing system processes all blockchain data including forks and reorganizations, then comprehensive data coverage is improved, but processing time and computational resources increase
Solution Approach 1:
The patent applies partial action by selectively processing only the canonical chain data and ignoring forked or reorganized blocks. The reorganization detector identifies which blocks belong to the canonical chain versus forks, and the indexer processes only those canonical blocks. This partial processing approach maintains data coverage for the valid chain while significantly reducing processing time and resource consumption.
4Device complexity
If a standardized indexing schema is used for all blockchains, then system simplicity is improved, but adaptability to new chains and protocols deteriorates
Solution Approach 1:
The patent implements universality by designing an indexing system with a configurable schema that can adapt to different blockchain protocols while maintaining a consistent processing framework. The system includes protocol-specific parsers and configurable data models that allow the same core indexing engine to handle multiple blockchain types (Ethereum, Bitcoin, etc.) and their evolving protocols, thus achieving both simplicity and adaptability.
Data Source
AI summary
Systems and methods for creating a reorganization-immune blockchain index using mono-increasing sequence records are described. For example, the system may receive on-chain data for a plurality of blocks, wherein the plurality of blocks comprises a first block comprising a first event of a plurality of blockchain events within the on-chain data. The system may determine a first sequence number for the first event, wherein the first sequence number is based on a mono-increasing sequence record.


