Komodo Scalability Presentation.pdf (5.0 MB)
Download the slides from above. Here are my thoughts regarding those slides.
Scaling Without Compromises
- Komodo team is concluding that we are not a platform but rather a technology provider.
- We build end-to-end blockchain solutions
- The vision is to create a decentralized, scalable, interoperable, and secure ecosystem.
Scalability is an important
- Scalability is not just a problem if blockchain. All successful apps have faced challenges when they start growing in popularity. If the app is not able to scale it will break under the heavy load.
- The blockchain tech has not yet seen big adoption. When that happens even 20k TPS might not be enough.
- Currently about 20 million software developers are building software apps. In a decade blockchain could play a role in all services on Internet.
- Growth of digital services keeps increasing exponentially, and we talk more and more about 'machine economy' and 'Internet of Things'.
- If blockchain tech plays a crucial role in the Internet 3.0 vision, then we should focus more on the underlying architecture than raw 'transactions per second' output.
Usually something is sacrificed
It is a challenge to keep all of these three components in balance. Usually, one of them is partly sacrificed to get the other two.
- Decentralization (censorship resistance)
Scalability is required for the technology to gain broad adoption. Decentralization is necessary to cut costs (middlemen) and to build trust. Security is the most crucial concept, and without it, the technology would be unusable.
For example, a traditional bank has sacrificed all decentralization - but still keeps its client's funds relatively safe.
The vanilla blockchain tech achieved decentralization and security but suffers from the lack of scalability.
Security is the most important of them all, as no one would use banks or Bitcoin without it. For example, we could say the lack of security in sidechains has stopped us in adopting that scalability solution.
Security must be solved first. Komodo's security solution is called 'delayed Proof of Work' and was developed in late 2016.
Platform vs Komodo's vision in 2016
Initially, our project was building on top of a traditional third-party platform in 2014 and 2015. However, we saw it had few limiting factors that caused us to announce Komodo and start building technology solutions to achieve our vision of an ecosystem. One of these solutions was the 'delayed Proof of Work' security service.
On the currently dominant blockchain platforms, both the infrastructure and the security are shared among the projects that are using the platform.
Sharing security is beneficial as all projects chip into public security service that keeps them all safe. It is like they would build big walls around their gated community. However, in the long term, they will face scalability issues, and the technical problem turns into a political one.
When a project shares infrastructure with the other projects it is not able to make all the decisions it otherwise would if it had full control. Self-hosting the infrastructure is a much better option for the project as it stays in complete control. However, then the security is segregated, and even an individual miner could attack small chains.
With the Komodo's dPoW security each project can have a native blockchain (self-host infrastructure). As a result, the whole ecosystem scales as there is no limitation on how many projects can enter. There is no scalability problem from the ecosystem standpoint.
Two types of scalability
On scalability conversation, we should separate two types of scalability.
- Ecosystem Scalability
- Blockchain Scalability
If all projects on an ecosystem are using a shared infrastructure, then that infrastructure becomes a cap on how large the entire ecosystem can grow. In other words, ecosystem scalability equals blockchain (platform) scalability.
On Komodo, these two things are kept separate. We solved ecosystem scalability problem back in 2016, that was more about the underlying architectural choices. This year (2018) we are solving blockchain scalability side as well.
On Komodo, each project gets an 'assetchain', which means a native blockchain they can freely operate and build upon. It is their infrastructure.
Each assetchain can be scaled on-demand into an Assetchain Cluster. Those chains are linked together through 'multi-chain syncing'.
The key to the Assetchain scaling is blockchain interoperability. While the project has full interoperability within its cluster, it also maintains full interoperability with other Assetchains and Assetchain Clusters.
Back to basics: Merkle Tree
To understand Komodo's scalability we have first to understand what a Merkle tree is.
With Merkle tree, all transaction hashes can be combined layer by layer, until only one is left. That is called 'Merkle Root'. The Merkle root is included in block headers and allows us to validate that a particular transaction was involved in a block.
That is how Electrum wallets work on Bitcoin. All the Electrum wallet downloads are those block headers that contain the Merkle Root of each block.
Merkle Root of Merkle Roots
We can take the concept a step further and fingerprint multiple Merkle Roots together so that we get a Merkle Root of Merkle Roots (MoM).
All the 'MoM's across multiple blockchains are sent to KMD blockchain. Then on Komodo the data if fingerprinted once more (to the third level). We will get 'MoMoM', that we can then send back to the chains.
The process could be summed up and simplified into three steps.
- Fingerprint 'MoM' data
- Sync to KMD (from all chains)
- Fingerprint 'MoMoM' data
- Sync from KMD (to all chains)
As a result, we get full blockchain interoperability on the entire Komodo ecosystem.
Current Scaling Achievements
Our latest stress test had 1024 chains, and we achieved 20k transactions per second (TPS).
On Komodo, we can include multiple payments on a single transaction, so thus we can also say we made over 800k payments per second.
As far as we know this is currently the world record on blockchain scaling.
Road to One Million TPS
We are in talks with Amazon Web Services (AWS). Our team is getting ready for another stress test, and we are looking to get help and resources from AWS.
Once everything is in place, we will have live testing and presentation.
Komodo architecture allows any project to launch their Assetchain, that can then be scaled up to an Assetchain Cluster on-demand.
Each project can build their platform on top of the infrastructure they host. The user-facing service (dApp) would then be made on top of their platform.
There is no limitation on how bit the Komodo ecosystem could grow.
We also believe there is no limitation on how much TPS throughput each Assetchain Cluster could produce. If more is required, then the project can add more servers.
All in all Komodo blockchain scales linearly and different projects stay independent.