System and method for decentralised, scalable, and secure consensus between cooperating blockchain systems
A method of maintaining integrity of a distributed block chain, including blocks of at least a first and second block chain sequence of blocks, the method including: (a) with the blocks of at least a first and second block chain sequence of blocks, reflecting at least the headers of a first block of the first chain in a subsequent first block of the second block chain; (b) reflecting at least the headers of the subsequent first block in a subsequent block of the first chain; (c) for the first chain, and the subsequent block, finding the most recently reflected first block in the reflected subsequent first block; (d) establishing the most recently reflected first block is known to the most recently reflected second block; and (e) establishing that the second block is known to the current second block and wherein the reflecting includes incorporating the header information of a block of one blockchain into the block of the other blockchain.
1 . A method of maintaining integrity of a distributed block chain, including blocks of at least a first (L) and second (R) block chain sequence of blocks, the method including the steps of:
(a) reflecting at least headers of a first block (L i+1 ) of the first (L) block chain in a subsequent first block (R j+1 ) of the second (R) block chain;
(b) reflecting at least headers of the subsequent first block (R i+1 ) in a subsequent (L i+2 ) block of the first (L) block chain;
(c) for the first (L) block chain, and the subsequent (L i+2 ) block, finding a most recently reflected L block as indicated in the reflected headers of the subsequent first block (R j+1 );
(d) establishing the most recently reflected L block is known to a most recently reflected R block (R j+1 ); and
(e) establishing that the reflected R block (R i+1 ) of the second (R) block chain is known to a current L block (L i+2 );
and wherein said reflecting includes incorporating header information of a block of one block chain into a block of the other block chain.
2 . A method of maintaining the integrity of a distributed block chain as claimed in claim 1 , the method further including the steps of:
(b1) reflecting at least the headers of the subsequent first block (L i+2 ) in a subsequent (R j+2 ) block of the second (R) block chain;
(c2) for the second (R) block chain, and the subsequent (R i+2 ) block, finding the most recently reflected R block in the reflected subsequent first block (L i+2 );
(d3) establishing the most recently reflected R block is known to the most recently reflected L block; and
(e4) establishing that the L block (L i+2 ) is known to the current R block (R j+2 ).
3 . A method as claimed in claim 1 , wherein said reflecting further includes an estimate of a cost of creation of the reflected block chain blocks.
4 . A method as claimed in claim 1 , wherein the reflected header information further includes a weighting of the reflected block chain, the weighting being an indicator of work formed in the reflected chain.
5 . A method as claimed in claim 4 , wherein the weighting is an estimate of relative work involved in the reflected chain creation.
6 . A method as claimed in claim 1 , wherein miners of the block chains are incentivized to mine blocks of the block chain which produce a block with a largest reward divided by that block chain's average time between blocks.
7 . A method as claimed in claim 1 , further comprising recursively reflecting blocks, including the step of a first L block of the first (L) block chain mutually reflecting an M block of an M block chain with the M block mutually reflecting an R block of the second (R) block chain.
8 . A method as claimed in claim 7 , wherein in a blockchain environment where the first (L) block chain mutually reflects the M block chain which also mutually reflects the second (R) block chain, a method of mutually recursively reflecting the first (L) block chain and the second (R) block chain, the method including the steps of:
(a) the first L block reflecting a first M block of the M block chain,
(b) a subsequent L block of the first (L) block chain reflecting a second subsequent M block of the M block chain,
(c) the first (L) block chain utilizing the two reflected blocks of the M block chain to determine a reflection of the second (R) block chain.
9 . A method as claimed in claim 8 , wherein the second (R) block chain utilizes two reflected blocks of the M block chain to determine a reflection of the first (L) block chain.
10 . A method as claimed in claim 1 , wherein a series of block chains mutually reflect one another.
11 . A method as claimed in claim 10 , wherein the first (L) block chain reflects multiple child base-chains which, in turn, reflect further child-base chains.
12 . A method as claimed in claim 10 , wherein miners of each block chain partially validate the blocks of all other associated reflected block chain.
13 . A method as claimed in claim 12 , wherein the headers include Merkle proofs.
14 . A method as claimed in claim 13 , wherein at least one node of the first (L) block chain replicates a local instance of the second (R) block chain that follows network rules of the second (R) block chain.
15 . A method as claimed in claim 12 , wherein the first (L) block chain uses a chain-weighting algorithm which has as input a determination of whether the headers of blocks of the first (L) block chain have been recorded in the second (R) block chain.
16 . A method as claimed in claim 15 , wherein the chain-weighting algorithm has as input an exchange rate of coin of the first (L) block chain and coin of the second (R) block chain.
17 . A method as claimed in claim 12 , wherein the block chains use different consensus methods.
18 . A system comprising:
a network including a plurality of pairs of reflected block chains having reflections, wherein:
headers of blocks of a first of the pair are recorded in a second of the pair and headers of blocks of the second of the pair are recorded in the first of the pair, and
the system is configured to perform the method of claim 12 .
19 . A system as claimed in claim 18 , wherein new block chains and associated reflections are instantiated depending on a capacity of the system.
20 . A system as claimed in claim 18 , wherein the network comprises a plurality of simplex tiles wherein each simplex tile is arranged such that reflections thereof are internal and mutual and wherein each simplex tile has at least one external reflection to a block chain of another simplex tile.
21 . A method as claimed in claim 1 , wherein headers of blocks of the second (R) block chain are recorded in the first (L) block chain.