Blockchain Branching and Data Reconciliation for Disconnected Collaboration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed ledger technologies like blockchain struggle to maintain a consistent set of data between multiple parties, especially in scenarios with intermittent connectivity, leading to forking and the inability to merge divergent data versions automatically and efficiently.
Innovation Solution
A system that extends blockchain functionality by allowing controlled branching and automatic reconciliation of divergent data using conditional authority rules and merge calculus, ensuring data consistency and preserving history across a unified chain.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If blockchain maintains a single authoritative version of database history, then data consistency is ensured, but the system cannot support multiple histories or automatic merging of divergent versions
Solution Approach 1:
The patent segments the blockchain structure into multiple independent chains or histories, allowing each to maintain its own sequence of transactions and data versions. This segmentation enables the system to support multiple divergent histories simultaneously while preserving the integrity of each individual chain through cryptographic hashing and consensus mechanisms.
Solution Approach 2:
The patent implements automated merging mechanisms that can combine multiple divergent blockchain histories into a unified state. When connectivity is restored or conflicts need resolution, the system automatically reconciles different versions by applying conflict resolution rules, merging transactions, and updating the global state to reflect all valid operations from different histories.
2Productivity
If blockchain allows forking with parallel branches, then forward progress is maintained during disconnection, but the ability to unroll/revert operations is lost
Solution Approach 1:
The patent implements preliminary action by maintaining complete transaction logs and state snapshots at each fork point before operations are executed. This allows the system to record the exact state before divergent operations occur, enabling subsequent unrolling or reversion to previous states by restoring these pre-recorded snapshots, thus maintaining the ability to revert even as forward progress continues.
3Adaptability or versatility
If Git allows manual merging of conflicting updates, then multiple histories can be maintained, but automatic reconciliation is not achieved
Solution Approach 1:
The patent implements self-service by enabling the blockchain system to automatically perform merging and conflict resolution operations without human intervention. The system includes automated algorithms that detect conflicts between divergent histories, apply predefined conflict resolution rules, execute the merging process, and update the global state automatically, thus achieving both multiple history support and full automation.
4Reliability
If centralized database enforces serialization order, then data consistency is maintained, but all nodes must connect to the central database to perform operations
Solution Approach 1:
The patent segments the centralized database model into distributed blockchain chains, where each node maintains its own copy of the data and can perform operations locally. This segmentation allows nodes to operate independently during disconnection while still maintaining data consistency through the cryptographic and consensus mechanisms that ensure all nodes eventually reach agreement on the valid state.
Data Source
AI summary
Techniques for extending blockchain to support controlled branching and consistent data reconciliation for collaborative data evolution include: storing multiple data assets on a global ledger used by multiple nodes in a network; generating a first local cache for a first subset of the multiple nodes; storing, by a node in the first subset, a write transaction to the first local cache; and merging the write transaction from the first local cache onto the global ledger.


