Bitcoin (Nakamoto) blockchain cannot refer to the event occurring in another blockchain. This can happen by extending Bitcoin’s transaction script language to have the validation and consensus rules of another blockchain encoded in the script of the Bitcoin blockchain. This update will need a lot of effort in building the Script language and for the miners of bitcoin
to check and validate every other blockchain.
Sidechains are proposed by Adam Back, which presents the separate blockchain termed as child blockchain, having its Genesis block and consensus mechanism, which is connected to the parent blockchain through the use of two-way peg allowing the movement of assets across the chains at a fixed exchange rate. The two-way peg worked by utilising the Simple Payment Verification (SPV) client to show improved ownership of the assets on the parent chain. SPV (Nakamoto) is light-weight which checks the validity of transaction without running the full node, hence making it possible for the low resource client like mobiles to review the evidence in the form of SPV proof.
A full validating node has to validate every transaction and mine the blocks on the longest valid blockchain, where validating requires keeping track of all the blocks, and checking all the transaction in every block. The SPV client works on the assumption that the miners have done the work of validating and adding the transactions to the block by putting enough proof of work. SPV nodes hold the block headers, making the chain light-weight and checks only for the particular transaction is included in the Merkle tree of transactions by validating the block header. Sidechains use SPV proof by confirming transactions by holding the longest blockchain of headers instead of the longest valid blockchain which is the full node.
Drivechain (Lerner) proposed efficient sidechains as merge-mining sidechains. Drivechain considered sidechain as an extension to the existing blockchain with the same assets used on both the blockchains. Merge-mining is beneficial as both blockchain will be using the same asset, provides in a trustless setting and requires the miners to be aware of both the blockchains. The problem with Drivechain is for the miners, they need to be mindful of all the sidechains, and with an increase in the number of blocks on each sidechain, the bandwidth, latency, storage and other resources consumption will increase. The money earned by these miners is only limited to transaction fees, it will result in a loss for the miners to operate these sidechains.
SPV chain grows linearly as the blockchain grows which makes the light-weight chain needs more resources with time. Moreover, in the case where the blockchain has fast block generation rate, the frequency of updating the chain will be high, causing the delayed creation of SPV proof.
To create compact SPV chains, a new data structure skip-list was proposed which provide probabilistic SPV proof which takes polylogarithmic time to
compare to the linear time-based SPV proof.
The skip-list data structure for compressed SPV proof is created by segregating the blocks depending on the amount of work done compared to the target difficulty of the blocks and then interlinking them based on their difficulty level. The Proof-of-Proof-of-Work (PoPoW) by Kiayias et al., makes use of the skip-list data structure to generate the compacts proofs.
PoPoWs need the Prover and Verifier setting to accomplish the proof creation where Prover is the one who runs the blockchain full node and Verifier generates the evidence by communication with the Prover in multiple rounds. PoPoWs creates short proofs and the chain grows logarithmically, but needs a trusted environment setting with an interactive approach.
The most recent work by Kiayias et al. in making the PoPoWs efficient is the Non-interactive-Proof-of-Proof-of-Work (NiPoPoWs). NiPoPoWs made the proof generation a one-shot attempt making the PoPoWs setting non-interactive, presenting the protocol work in a trustless environment. The Sidechains are made efficient using the NiPoPoW proofs making the cross-chain transaction between multiple blockchains efficient, trustless and