IOHK | Paper

Library > Proof-of-Work Sidechains

Proof-of-Work Sidechains

February/2019, Workshop on Trusted Smart Contracts 2019


During the last decade, the blockchain space has exploded with a plethora of new cryptocurrencies, covering a wide array of different features, performance and security characteristics. Nevertheless, each of these coins functions in a stand-alone manner, independently. Sidechains have been envisioned as a mechanism to allow blockchains to communi- cate with one another and, among other applications, allow the transfer of value from one chain to another, but so far there have been no decen- tralized constructions. In this paper, we put forth the first sidechains con- struction that allows communication between proof-of-work blockchains without trusted intermediaries. Our construction is generic in that it al- lows the passing of any information between blockchains. It gives rise to two illustrative examples: the “remote ICO,” in which an investor pays in currency on one blockchain to receive tokens in another, and the “two- way peg,” in which an asset can be transferred from one chain to another and back. We pinpoint the features needed for two chains to communi- cate: On the source side, a proof-of-work blockchain that has been in- terlinked, potentially with a velvet fork; on the destination side, a block- chain with any consensus mechanism that has sufficient expressibility to implement verification. We model our construction mathematically and give a formal proof of security. In the heart of our construction, we use a recently introduced cryptographic primitive, Non-Interactive Proofs of Proof-of-Work (NIPoPoWs). Our security proof uses a standard cryp- tographic reduction from our new proof-of-work sidechains protocol to the security of NIPoPoWs, which has, in turn, been shown to be secure in previous work. Our working assumption is honest majority in each of the communicating chains. We demonstrate the feasibility of our con- struction by providing an implementation in the form of a Solidity smart contract.