Extending blockchain to support controlled branching and consistent data reconciliation for collaborative data evolution
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.
1 . One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
storing a plurality of data assets on a global ledger used by a plurality of nodes in a network;
generating a plurality of local caches including a first local cache, each local cache of the plurality of local caches being associated with a respective subset of the plurality of nodes;
storing, by a node in a first subset of the plurality of nodes, the first subset being associated with the first local cache, a write transaction to the first local cache;
merging the write transaction from the first local cache onto the global ledger; and
applying one or more conditional authority rules to determine that the first node is permitted to perform the write transaction;
wherein the one or more conditional authority rules are configured to grant write permission to a highest-ranked node that is in communication with a majority of the plurality of nodes.
2 . The one or more non-transitory computer-readable media of claim 1 , wherein storing the write transaction to the first local cache is performed responsive to determining that the node is not in communication with a majority of the plurality of nodes.
3 . The one or more non-transitory computer-readable media of claim 1 , wherein applying the one or more conditional authority rules depends at least on a mission context of the write transaction.
4 . The one or more non-transitory computer-readable media of claim 1 , wherein applying a conditional authority rule in the one or more conditional authority rules comprises performing one or more of:
(a) determining whether a conditional authority (CA) principal is an origin of the write transaction;
(b) determining whether a CA rule operation matches the write transaction;
(c) determining whether a CA rule target is an asset in the write transaction; or
(d) determining whether the write transaction satisfies one or more CA rule conditions.
5 . The one or more non-transitory computer-readable media of claim 1 , wherein merging the write transaction from the first local cache onto the global ledger comprises storing a branch history associated with the write transaction onto the global ledger.
6 . The one or more non-transitory computer-readable media of claim 1 , wherein merging the write transaction from the first local cache onto the global ledger comprises reconciling a conflict between the global ledger and the first local cache, based at least on a plurality of weighted contextual factors.
7 . The one or more non-transitory computer-readable media of claim 1 , the operations further comprising:
after merging the write transaction from the first local cache onto the global ledger, terminating an asset history associated with the write transaction on the first local cache.
8 . One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
storing a plurality of data assets on a global ledger used by a plurality of nodes in a network;
generating a plurality of local caches including a first local cache, each local cache of the plurality of local caches being associated with a respective subset of the plurality of nodes;
storing, by a node in a first subset of the plurality of nodes, the first subset being associated with the first local cache, a write transaction to the first local cache;
merging the write transaction from the first local cache onto the global ledger; and
responsive to determining that the node is not in communication with a majority of the plurality of nodes, copying asset dependencies from the global ledger to the first local cache.
9 . A system comprising:
a plurality of devices configured to write to a global ledger having a plurality of nodes, the plurality of devices including a first device, the first device having at least one processor, and the plurality of devices being configured to perform operations including
storing a plurality of data assets on the global ledger,
generating a plurality of local caches including a first local cache, each local cache of the plurality of local caches being associated with a respective subset of the plurality of nodes,
storing, by a node in a subset of nodes associated with the first local cache, a write transaction to the first local cache, and
merging the write transaction from the first local cache onto the global ledger; and
applying one or more conditional authority rules to determine that the first device is permitted to perform the write transaction;
wherein the one or more conditional authority rules are configured to grant write permission to a highest-ranked device that is in communication with a majority of the plurality of devices.
10 . The system of claim 9 , wherein storing the write transaction to the first local cache is performed responsive to determining that the first device is not in communication with a majority of the plurality of devices.
11 . The system of claim 9 , wherein applying the one or more conditional authority rules depends at least on a mission context of the write transaction.
12 . The system of claim 9 , wherein applying a conditional authority rule in the one or more conditional authority rules comprises performing one or more of:
(a) determining whether a conditional authority (CA) principal is an origin of the write transaction;
(b) determining whether a CA rule operation matches the write transaction;
(c) determining whether a CA rule target is an asset in the write transaction; or
(d) determining whether the write transaction satisfies one or more CA rule conditions.
13 . The system of claim 9 , wherein merging the write transaction from the first local cache onto the global ledger comprises storing a branch history associated with the write transaction onto the global ledger.
14 . The system of claim 9 , wherein merging the write transaction from the first local cache onto the global ledger comprises reconciling a conflict between the global ledger and the first local cache, based at least on a plurality of weighted contextual factors.
15 . A method comprising:
storing a plurality of data assets on a global ledger used by a plurality of nodes in a network;
generating a plurality of local caches including a first local cache, each local cache of the plurality of local caches associated with a respective subset of the plurality of nodes;
storing, by a node in a first subset of the plurality of nodes, the first subset being associated with the first local cache, a write transaction to the first local cache; and
merging the write transaction from the first local cache onto the global ledger; and
responsive to determining that the node is not in communication with a majority of the plurality of nodes, copying asset dependencies from the global ledger to the first local cache.
16 . The method of claim 15 , wherein storing the write transaction to the first local cache is performed responsive to determining that the node is not in communication with a majority of the plurality of nodes.
17 . The method of claim 15 , the operations further comprising:
applying one or more conditional authority rules to determine that the first node is permitted to perform the write transaction.
18 . The method of claim 17 , wherein applying a conditional authority rule in the one or more conditional authority rules comprises performing one or more of:
(a) determining whether a conditional authority (CA) principal is an origin of the write transaction;
(b) determining whether a CA rule operation matches the write transaction;
(c) determining whether a CA rule target is an asset in the write transaction; or
(d) determining whether the write transaction satisfies one or more CA rule conditions.
19 . The method of claim 15 , wherein merging the write transaction from the first local cache onto the global ledger comprises reconciling a conflict between the global ledger and the first local cache, based at least on a plurality of weighted contextual factors.