The scalability problem is one that has plagued the Blockchain community since the very early days of Bitcoin. Due to the nature of decentralization and proof-of-work security, the speed at which transactions can be approved and included in the blockchain is naturally limited, and there’s only so much you can do by increasing block sizes and reducing the time between each block. Satoshi Nakamoto himself predicted this problem and started thinking of ways to make transactions without the need of confirming them in the main chain. His solution involved off-chain payment channels, but was ultimately deemed unreliable, and soon a number of others would come forth with their own solutions that were met with various degrees of success. Despite some earlier failures, the idea was clear: using off-chain solutions was the logical step in solving the blockchain scalability problem.
Eventually, another type of off-chain solution started being discussed: Sidechains. The basic idea for sidechains was simple enough: have other blockchains run in parallel to the main chain to allow horizontal scaling. This would make it possible for each chain to take care of its own set of transactions, which would effectively “free” the main chain of having to validate and store every single transaction. Using them to scale blockchains like Bitcoin wasn’t as simple though, since in practice each sidechain would be completely different, with their own set of miners and tokens, which meant that in order for all of them to be the same “Bitcoin”, the tokens in one chain would need to be locked in order to be unlocked for use in another chain. This would result in assets being split between multiple, different chains, which in turn would make payments that more complex to execute. The fact that each chain would need its own set of miners also raised some security concerns about the possibility of a certain sidechain getting compromised with no clear idea of what would happen to those assets in other chains.
The idea of sidechains was never pursued deeply enough in Bitcoin’s case, but it was also never completely abandoned, as other blockchains are still looking into the possibility of using them to help horizontal scaling. Ethereum faces a scalability crisis, and there have been suggestions of using sidechains to help solve it, but, at the moment, it looks like they will only be considered as temporary solutions, still with no definitive proposal about their implementation. EOS is also looking into the use of sidechains, it has actually been considered since its very inception with what is being called the Inter-Blockchain Communication, and its main objective is to, ideally, be able to scale the blockchain in a way that normal users and developers would not even have to worry about it and how it is implemented.
However, while it’s still hard to figure out how to use sidechains to scale most blockchains, there is another case where sidechains might become relevant and most used for: Dapps. Since dapps have their own needs and use cases, shifting all the burden of transactions related to each dapp to their own independent sidechains is a perfect fit. It’s also possible to have tokens specific to dapps only be used and traded in their specific sidechains. This eliminates the main problem in using sidechains to scale, as different tokens would be used in different sidechains with different purposes, instead of having a single token that is recreated in several sidechains.
This implementation of sidechains also gives dapps the freedom to use different blockchains with different consensus logic running in the background to facilitate their own needs and features. This opens a door of possibilities while still being able to keep using a strong and proved blockchain as their mainchain foothold. It also gives the option for dapps to be compatible with multiple blockchains if they so desire, making it possible for users of different chains to become users of the dapp. It’s very likely that we will see a lot more dapps implementing their own sidechains in the future for this very reason, as being able to reach as many users as possible is an obvious big advantage. Another possible advantage of using sidechains in dapps is giving the users the power to create and maintain their own sidechains, should each chain have no need to communicate with each other, other than with the main chain. This type of horizontal scaling is only viable for very specific use cases, such as BlockBase’s, but is definitely also an option for dapp developers.
Sidechains as a way to scale Bitcoin and other similar blockchains is a mostly abandoned idea, but the fact that discussion around them has never been completely abandoned, with more recent blockchains like EOSIO seriously considering their use, is proof that the idea is still seen as viable in other cases. We’re certain that more uses for sidechains will be suggested and implemented eventually, but we believe that dapps are the most obvious and easiest ones to implement, and that we will see more and more using them as the time goes on.
Article writen by Diogo Bulha — Lead Developer at BlockBase