Despite the recent surge in the popularity of blockchain technology and its potential to completely disrupt a number of different industries worldwide, there are still a number of major roadblocks that are preventing the industry from progressing.
The biggest cons of blockchain technology can be summed up in the infamous ‘scalability trilemma’ that has plagued developers constantly over the past few years. Essentially, it means that blockchains can’t currently exist without having to compromise on either scalability, security, or decentralization.
A number of scalability solutions have been proposed over the years. However, so far, most have had notable pitfalls which have ultimately made them unsuitable.
Two key scalability solutions proposed over recent years have shown significant potential. These are known as sidechains and sharding.
These two solutions are frequently compared. Sidechains are the newest solution, and have a few notable advantages over sharding.
Many companies are starting to realize the benefits of sidechains. One of the the major companies that is currently leading the charge is aelf — a decentralized cloud computing blockchain network that has been utilizing sidechains to fulfill its aim of becoming a highly effective, customizable OS.
Ultimately, it will become the “Linux system” for blockchain.
Sharding vs. Sidechains — What is the Difference, and Why Do Sidechains Have More Potential?
Sharding is an old concept in centralized database design that allows the user to break up their database into several individual databases that don’t share any common data.
Essentially, a ‘shard’ is a horizontal partition of data in a database. Some data from the database is stored in every shard, whereas some data is only available in a single shard.
Each individual shard is stored on a separate database server instance to share the load, and can be scaled infinitely.
However, sharding also has many a few notable challenges.
For starters, it significantly increases the complexity of SQL. This means that software developers are more likely to make mistakes that lead to bugs in the code, which ultimately increases the likelihood of the software failing. Secondly, transactions with interdependencies have to be put in the same shard to avoid double spend. This sometimes makes workload balancing difficult.
To make matters worse, corruption of one shard will cause the failure of the entire table.
Finally, adding or removing indexes and columns, modifying the schema, and even making backups of shards becomes more difficult, because all of the shards must be coordinated.
A sidechain (sometimes also referred to as a ‘childchain’), on the other hand, is essentially a blockchain attached to a parent blockchain (often referred to as the ‘main chain’) using a two-way peg.
Sidechains are a significantly newer mechanism than sharding. The two-way peg mechanism allows tokens and assets from a blockchain to be used in another blockchain, and then to be moved back to the original blockchain if required.
‘Federations’ are groups that serve as ‘intermediate’ points between main chains and sidechains in order to determine when a user’s coins are locked up and released. The members of the federation can be selected by the creators of the sidechain.
By grouping sidechains through their use-case, the problem of resource segregation also can be tackled. One use-case might require higher security while a different use-case must focus on transaction speeds. Since each sidechain can adjust their specific resource usage, a more effective use of given resources will now be achieved.
The main drawback of sidechains is that each sidechain is responsible for its own security, and if there isn’t enough mining power to secure a sidechain, there is a risk that it could be hacked.
However, the benefit of each sidechain being independent is that even if it is hacked or compromised, the damage will be contained within that chain and it won’t affect the main chain. Similarly, even if the main chain is hacked, the sidechains will still be able to operate.
In addition, each sidechain can select the best governance model that suits their specific requirements, and will be able to adjust or upgrade should the requirements change in the future.
Sidechains can be altered based on the needs of the specific application they have been designed for.
This is a vital feature, as incentives differ wildly depending on the type of application. For instance, a data-driven application will have very different requirements to a financial application.
By grouping sidechains through their use-case, the problem of resource segregation also can be tackled. One use-case might require higher security while a different use-case must focus on transaction speeds. Since each sidechain can adjust their specific resource usage, a more effective use of given resources will now be achieved. This in fact makes the architecture most suitable for real business use. It allows thousands of Dapps running at the same time and each of them has a certain level of autonomy and control of their own side chains.
This also resolved one of the challenges that sharding is facing — transaction interdependency, as most interdependency happens within the same application. So the risk of interdependency is much less and then can be completely resolved via a task scheduler.
There are currently a lot of opportunities for experimentation to figure out the most optimal trade-offs to suit the needs of a specific application.
aelf has created its own application-specific sidechains that enable automatic grouping. This is a huge step forward, as it significantly minimizes congestion and paves the way to parallel processing, to enable the maximum utilization of computer processing power.
These specialized chain structures make it possible to manage a huge range of business outlines. The mechanism even enables ‘chain splits’ to address capacity concerns for when demand increases.
All sidechains will leverage the aelf token as a means of value storage and transfer. Tokens can be transported between any chains that accept the aelf token. For instance, when a sidechain applies to be listed by the main chain, it will receive some locked in tokens from the main chain. Likewise, when the sidechain collects its transaction fees, it will share a proportion of them with the miners of the main chain.
This mechanism has been successfully tested, along with parallel processing, in testnet. The cluster nodes feature has also been successfully tested in testnet, which was launched on the 30th June 2018.
Could This Be the Next Breakthrough In Blockchain?
There’s no doubt that utilizing sidechains in this manner holds a lot of potential.
The technical vision held by aelf addresses many of the major challenges currently faced by the blockchain industry. Through the use of this technology, aelf is looking to resolve the scalability problem in addition to the two other key problems of resource segregation and proper governance models. These steps are crucial in the journey of bringing blockchain technology to become a mainstream enterprise solution.