In our Spotlight Series 2, we take an in-depth look at how Elastos addresses scalability with our unique sidechain architecture.
To view article in PDF:
Across the blockchain world, developers are currently in a race to solve the critical and ever-pressing problem of scalability, with many projects, including Ethereum, taking individual approaches to resolving their own scalability limitations. At the moment, the majority of blockchain platforms are not very scalable because they cannot enable a large number of DApps to run on their platforms nor a large number of users to access their services simultaneously. In parallel to these issues, there persists an ongoing conversation regarding the measure of Transactions Per Second – often referred to as TPS. In spite of its ubiquity in the blockchain lexicon, TPS is in fact irrelevant to most scalability solutions. What is most important to understand is that – for now at least – there is no perfectly scalable blockchain infrastructure. Bitcoin and Ethereum each has their own scalability issue, and while some projects have produced radical ideas that promise to resolve all scalability limitations once and for all, they exist only on whitepapers and are nowhere near production-stage. Some projects even claim to have solved the scalability issue in their respective test environments; however, if millions of users are not using such services and scalability is only achieved in a test environment, it has yet to withstand the test of real-time application. Some may succeed while many others will surely fail; but all the while, the race continues.
The Elastos Solution
While most blockchain projects are only just beginning to contemplate how to scale their blockchains, scalability is an integral function of the infrastructure that underpins the Elastos ecosystem. Elastos offers a unique solution to the scalability problem in a far different way than other established projects in the space: it implements a main chain-sidechain architecture. Elastos Carrier, a peer-to-peer decentralized network, also plays a significant role in the equation, which we will cover in greater depth in a future Spotlight Series. For now, what is important to understand is that Elastos uses blockchain only for its designated benefits: automated trust, authentication, and smart contract execution. For everything else, such as the transfer of data and information between apps or users which draws on Elastos Carrier’s decentralized peer-to-peer communication platform, and storage, which employs Elastos Hive’s decentralized storage network, the Elastos Ecosystem has a number of different instruments to ensure its network does not become congested.
Elastos implements a unique solution for its core blockchain technology called sidechains. Sidechains can be thought of as independent blockchains that have a very specific purpose, function independently of the main chain or other sidechains, and provide for a scalable solution for the decentralized applications of tomorrow. A sidechain is effectively a local road parallel to a highway. Perhaps this local road has several more intersections, stop signs, and traffic moving in different directions. If these intersections and stop signs were put on the highway, things would inevitably slow to a full-blown traffic jam. By appending local roads parallel to the highway, it allows specific traffic to exit and arrive at desired locations at specific times, which keeps the grand highway of the main chain uncongested.
We can imagine most public blockchain projects as one world computer. Ethereum, for example, actually identifies as a world computer and it performs superbly in such a role. Ethereum was revolutionary when it was incepted because it was the first platform to enable programmable blockchain applications using smart contracts. However, as evidenced by the infamous CryptoKitties incident, where a major influx of users and data caused even other apps running on Ethereum to lag and spiked gas prices corresponding to smart contract execution, the Ethereum network can only support so much network traffic and data exchange. When a single smart contract DApp can impart such insidious side effects on completely independent DApps running on the same platform, it becomes obvious that while Ethereum is a world computer, it cannot solve all of the world’s problems, nor can it effectively and efficiently run infinite DApps using finite shared resources.
The Identity of Elastos
The Elastos blockchain distinguishes itself from other projects in the space by simply refusing to take on the identity of a world computer. Rather, it is a global network of distributed world computers. Ethereum can be considered a world computer; NEO can be considered a world computer; EOS can be considered a world computer. Even most public blockchain platforms can be considered world computers. But, because Elastos has a unique structure composed of a main chain and related sidechains, the main chain is one world computer, the DID Sidechain is another world computer, the Token Sidechain is another world computer, and the Ethereum and NEO Sidechains are yet two more world computers. In such a distributed model, a network of global distributed world computers replaces a singular world computer whose resources are being overtaxed. So, while one world computer cannot solve all of the world’s problems, perhaps it can play a meaningful role within a distributed network of world computers where each sidechain handles one and only one objective.
Elastos offers a number of powerful sidechains:
Sidechains: Another Level Deeper
If a blockchain platform is robust and more developers prefer it, it is quite simple to port that platform to Elastos as a brand new sidechain. This process is in the very spirit of decentralized open source projects. In the future, if there ever comes a time when an Ethereum DApp experiences a surge in popularity and receives an influx of users, data, and transactions, a single Ethereum Sidechain may not suffice. In that case, it is possible to create an additional Ethereum Sidechain and place the heavily trafficked DApp on that Sidechain. This process can be repeated to as many iterations as are necessary to support near-infinite DApps. With this, we could potentially see not one, not two, but perhaps five Ethereum Sidechains and five NEO Sidechains running concurrently on Elastos’ infrastructure. That is the power of the seminal architecture that Elastos has built. The specifics concerning the process of sidechain augmentation will be discussed as they become appropriate, but the Cyber Republic community will play a major role in voting on whether to allow a single DApp to have its own independent sidechain all for itself. There are several other methodologies of achieving ecosystem-wide consensus regarding sidechain augmentation as well.
Sidechains: Flexible Consensus Mechanisms
It should be noted that a sidechain can only use Proof-of-Work (PoW) or Delegated-Proof-of-Stake (DPoS) at the moment. In the case where a sidechain uses PoW, it may merged-mined with Elastos, and thus with Bitcoin. Effectively, any sidechain of Elastos can leverage the unparalleled hashpower of the Bitcoin network and tap into the robust security it provides. As of now, the DID Sidechain uses PoW and is presently being merged-mined with Elastos. Because decentralized IDs enable everyone to get an ID for themselves using the power of blockchain technology, the DID Sidechain must be uncompromising in its security, as it makes up the integrity of Elastos’ base infrastructure. For this reason, merged-mining does a great service to both the DID Sidechain and the Elastos ecosystem at large. In the case where a sidechain uses DPoS, it can utilize the pre-established DPoS supernodes of the Elastos main chain to run the DPoS consensus for its sidechain, thereby achieving a faster block time and superior TPS. While the public Ethereum blockchain uses PoW and is currently in the process of switching to Proof-of-Stake (PoS), the Elastos platform’s Ethereum Sidechain uses DPoS. Essentially, the consensus mechanism for any sidechain can be changed at any time. Because the NEO Sidechain uses PoW, developers can choose to write NEO smart contracts, which draw on PoW and share the hashpower of the Bitcoin network. Likewise, they can opt for Ethereum smart contracts, as the Ethereum Sidechain’s DPoS has a block time of around 5 seconds. Such versatility and flexibility make the Elastos infrastructure appealing to and powerful for developers and users alike. In the future, if having a DPoS consensus on the NEO Sidechain is desirable, developers can easily make the switch from PoW to DPoS.
Beyond The Sidechain Architecture: Additional Instruments of Scalability
Sidechains aside, there are other elements of the Elastos infrastructure which serve to address the problem of scalability. On Elastos, applications need not interact with blockchains for every transaction or data exchange. Due to its lack of speed resulting from necessary consensus, the blockchain should not be used in each and every network transaction and data exchange. Elastos uses two additional instruments that make its infrastructure more scalable:
For autonomous trust, authentication, and smart contract execution, payments processing, and achieving consensus, blockchain and sidechains are utilized. Whereas for daily communications relaying data from one point to another and storing data, other components of Elastos such as Carrier and Hive are utilized. In effect, there are multiple types of peer-to-peer networks that are drawn on to facilitate various processes in the Elastos ecosystem. In that way, Elastos’ truest identity is a massive network of distributed computers working synergistically to solve the core problems of the traditional internet infrastructure.
Friendchains: An Introduction
In the Elastos Sidechain Whitepaper that was released in 2018, the concept of Friendchains was introduced. A Friendchain refers to any public blockchain platforms that are not part of the Elastos ecosystem. These include public blockchains such as NEO, Ethereum, and EOS. Elastos has ported the NEO and Ethereum platforms to run and be compatible within its ecosystem, and the ported versions work exclusively on Elastos. These ported, compatible chains are called Sidechains. Sidechains in the Elastos ecosystem include the NEO Sidechain and Ethereum Sidechain. For the time being, Friendchains are not a significant focus for Elastos, as our efforts in the immediate future will be directed at sidechains instead. Essentially, sidechains are exclusive to the Elastos ecosystem, while Friendchains exist outside the Elastos ecosystem. In the future, whenever Friendchain development begins, it will be possible to exchange ELA and other Friendchain tokens in a completely decentralized manner. That is the fundamental purpose of Friendchains: to provide the capability to exchange two different tokens from within and beyond the Elastos ecosystem in a decentralized, peer-to-peer fashion.
Below is a rough list of the different sidechains currently or soon-to-be available on Elastos. Note that more sidechains may be easily augmented should significant demand arise from the developer community.
- Elastos Main Chain
- Elastos DID Sidechain
- Elastos Token Sidechain
- Elastos Ethereum Sidechain
- Elastos NEO Sidechain
- Elastos DApp Sidechain
- Elastos Digital Assets Sidechain
Check out the following video that talks about how to set up your own Private Network for Elastos that includes main chain, DID Sidechain, token sidechain, arbitrators, wallet service, DID service and Elastos Hive: