In this post I’m going to explore arguably the single most innovative feature of Koinos; its modular upgradeability. At Koinos Group, we aren’t designing the Koinos blockchain around any single feature like transactions per second or sharding. Instead, we’re designing Koinos so that it can improve at a much faster rate than any other blockchain, and continue improving even when it achieves a high market capitalization, which is precisely when other projects stop getting better.
As the most experienced decentralized application development team in the world, we’ve learned first hand that there is no such thing as perfect code and so you will never know which piece of your code you will need an update. This is why we employ modular designs at every layer of the stack. We take great care to ensure that all systems are broken down into manageable sub-systems with small footprints and deliberate bridges (or “interfaces”) so that we can isolate faults, pinpoint bugs, and rapidly issue patches.
While modular designs protect the system and make it easier to find and fix bugs, blockchains introduce unique challenges due to their immutable nature. When changes have to be made to the system itself, a hardfork is often required. A hardfork a blockchain-specific system reboot and reloading process that is extremely disruptive, technically challenging and time consuming, and political.
If you wanted to increase the rate at which a blockchain can be improved by an order of magnitude, then eliminating the need to hardfork would be the way to do it, so that’s exactly what we sought to do. When general purpose blockchains originally launched, upgrading smart contracts was difficult due to the immutability of the database, which meant that either a hardfork had to be executed just to modify one developer’s smart contract, or a complicated system had to be developed to enable one smart contract to be replaced by a new and different smart contract.
To address this issue blockchain developers built technologies that enabled smart contract developers to upgrade their smart contracts without requiring a hardfork or the launching of a new and different smart contract. This was an incredible innovation that we believe has been underappreciated because it was now possible to modify a blockchain without a hardfork.
The problem was that this only applied to the code being run by developers. Most of the code powering the system itself, still couldn’t be changed without a hardfork and it was this code in particular that, in our experience, had held back progress the most. This prompted us to ask the question that ultimately led to the development of one of our killer-features; modular upgradeability.
That question was, “If smart contracts can be upgraded without a hardfork why not move as much of the system code as possible into smart contracts?” Well, that’s exactly what we set out to do. In order to do this we had to build Koinos totally from scratch, we couldn’t use existing blockchain platforms like Ethereum or EOS, but because we made that difficult decision we were able to move practically all of the system code into smart contracts, leaving only a very simple blockchain, with only the most basic functions needed in order to produce blocks and run smart contracts. That’s why we’re proud to say that the Koinos blockchain framework is the world’s most simple blockchain!
Pushing the Limits of Smart Contracts
This post is all about how we built Koinos from the ground up to improve at a more rapid rate than any other blockchain and you now understand that this comes from pushing the limits of what smart contracts can be used to do. By pushing practically all of the system logic into smart contracts, any behavior can be added to the blockchain without requiring a hardfork. But there are other benefits that come from modular upgradeability like the creation of an on-chain upgrade path and the fact that ironically, modular upgradeability actually makes hardforks easier and less controversial. We’ll be covering these topics in future content, so be sure to subscribe to our YouTube channel, follow us on social media, and join our newsletter by heading over to koinos.io, where you can also learn more about the Koinos blockchain. Thanks for your time.