SideChain and Decentralized applications
By Inkarias - 2019-11-03
One of the most interesting use cases for blockchains is certainly decentralized applications. Reference in this area, the Ethereum protocol aims to offer an alternative to Bitcoin, allowing the creation of secure and self-executing computer programs often called smart contracts, or "smart contracts". However, beyond the attractive marketing promises of blockchains 2.0, the reality is more sober. Currently the Ethereum network can handle only about 15 transactions per second and experiences problems of congestion more and more frequent. Faced with these problems of scaling up the Ethereum network, namely the famous problem of "scalability" that affects a lot of protocols, the advent of technology "sidechains" offers interesting prospects.
What is a SideChain?
A sidechain is a secondary blockchain attached to a main blockchain. It has its own characteristics, but benefits from the community and security inherent in the main network for the final transactions that will be listed on the main blockchain (also called ChildChains). Technically, several sidechains independent of each other can be deployed around the same main blockchain. In fact, theoretically, many decentralized applications, the DApps, can operate on sidechains independent of each other. Thus, the load of each sidechain does not impact the speed of operations on the main blockchain.
Advantages and Drawbacks of Sidechains
A sidechain makes it possible to increase the volume of data processed on a decentralized network by offloading part of the operations listed in the mother blockchain towards sidechains, and thus considerably improve the scalability of the network. But this is not his only advantage.
The sidechains also allow the experimentation of new features that would be considered too risky to be deployed on the main network. Indeed, a bug or a hack that would affect a sidechain would not affect the main blockchain, nor even the other sidechains of the network, since they are all independent of each other. On the other hand, if the mother blockchain is compromised, the sidechains may be affected as well. Therefore, it is better to conduct sensitive experiments on sidechains rather than directly on the mother blockchain.
The interoperability of Sidechains
The sideschains also open new possibilities in terms of interoperability. Their infrastructure allows them to have a parallel computing capability, rather than executing the transactions one after another as Ethereum does. Ark or Lisk can scale the computing power of different sidechains inside a single side chain. An impressive potential if we imagine a possible interoperability between several thousand sidechains.
Interoperability is a key element in the development of many decentralized applications that require a wide range of information from multiple infrastructures. The need for new technologies allowing an efficient transfer of information from one blockchain to another makes the sidechain architecture very interesting.
SideChains and Bitcoin
Bitcoin currently has two active side chains. The first is RSK (also known as Rootstock), which is a side chain focused on the execution of Turing-complete smart contracts and is very similar to Ethereum. The corresponding token, whose value is fixed to that of bitcoin by bilateral anchoring, is Smart Bitcoin (RBTC). The second is Liquid, a side channel developed by Blockstream, whose purpose is to facilitate transactions between different financial players in the sector such as trading platforms. The corresponding token is Liquid Bitcoin (L-BTC).
A side chain can have its own consensus mechanism: by proof of work, by proof of stake, or via a consortium of a small number of actors, etc. In principle, it does not generate new tokens, so its security model is based on transaction costs. A side chain can also use merged mining. This method allows miners to mine more than one string at a time and was first implemented by Namecoin in 2011. More specifically, for sidechains, it is a question of reusing the partial work proofs of the main chain as proof of work for the side chains.
In the case of Bitcoin, the Liquid side chain uses a strong Federation of players in the financial ecosystem, including trading platforms. RSK, on the other hand, has a hybrid consensus mechanism that combines combined mining and federation of "notaries".
The two-way peg
The essential property on which the side chains rely is the two-way peg which needs to be set up to transfer assets from one chain to another. Indeed, if one wants to have a system that keeps its economic coherence, it must be able to move the asset concerned in both directions. For example, if the bitcoin price of Liquid (L-BTC) drops relative to that of bitcoin on the main channel (BTC), it is essential that market players can arbitrate the situation by transforming L-BTCs. in BTC, and thus restore the balance of prices.
The transfer of the main chain to the side chain (hand-to-side) is easy to set up on both sides. Since the side chain is always aware of what the main chain does, the side chain nodes can interpret the data contained in the output transaction according to their rules. Similarly, the transfer of the side chain to the main chain (side-to-main) is rather easy to set upside of the side chain: it is an integral part of the local rules.
On the other hand, what is difficult to do is to set up this transfer on the main channel. Indeed, the main channel does not have to know the side chain to which it is linked. If not, it should incorporate some of the side-chain consensus rules into its own consensus rules ("SPV proof"), thereby destroying (at least partially) the benefits of using the sidechains mentioned above. It is therefore the optional character of the side chain that makes anchoring extremely complicated.
Several protocols define architectures that bet on sidechains. This is particularly the case of Ark,Aelf or Lisk for example.
More than a solution, Lisk foresees an ecosystem (a modular blockchain) with :
- Decentralized P2P hosting of Dapps
- Decentralized P2P storage for Dapps
- Decentralized computing
- A Sidechain consensus mechanism for each Dapp
- API interfaces of Lisk and Bitcoin
- Tools for developers of DApps, to enable them to quickly take control of the ecosystem to create their decentralized application: Lisk CLI / Lisk Dapp SDK