Project Update: Finalizing the Koinos Blockchain Framework
V3: More Than a Test Net
This sprint we have been running V3 internally, integrating the last of the upgrades we want to make, and running tests on those features. We’re excited to announce that all integration tests are now passing! Integration testing is the stage of software testing where all the modules we’ve been working on are combined and tested all working together as a cohesive unit.
It’s hard to overstate how important V3 is for the future of Koinos. V3 is more than just the next iteration of the test net, it should be the final iteration of the Koinos Blockchain Framework. Not only is this framework the foundation of Koinos main net, it will also be the foundation of every Koinos-based blockchain that is ever built!
Once V3 is live, we shouldn’t need to hard fork any of the framework code again. When it comes to main net features like proof of burn and governance, this will all be smart contract development work which is far less complex than framework development. Of course, because these smart contracts will be upgradeable in-band, we will be able to rapidly iterate on them without disrupting the operation of the test net or even the main net.
High Standard for Release
Even though integration tests are passing, V3 still isn’t quite ready for release. That’s because our standard for V3 is unusually high. This isn’t because we’re being perfectionists, it’s because the priority now is not to simply release another test net, but to finalize the Koinos Blockchain Framework. We have made a number of important architectural changes to Koinos that will require a restart of the test net, so we are bundling the completion of the framework with the release of V3.
In short, we want V3 to be the last hard fork Koinos ever needs!
V3 is intended to be the final version of both the microservice architecture and “the blockchain” (i.e. the chain microservice) so it’s much more important that we get it right, rather than simply releasing something that we know will require another relaunch. You know how Koinos is all about eliminating the need to hard fork? Well, the stuff we’re trying to finalize in V3 is all the stuff that would require a hard fork if we wanted to upgrade it. In other words, it’s everything we’ll be stuck with.
That is what good platform design does; it empowers as many developers as possible to contribute to the project so that new features and improvements emerge in a rapid and bottom-up manner, rather than from the top-down.
AssemblyScript for System Contracts
A perfect example of this is the work that community developer Roamin has been doing on the AssemblyScript SDK. Which reminds me, based on community feedback we’ll no longer be using the term “contract development toolkit” or “CDT.” The AssemblyScript SDK doesn’t just make writing Koinos smart contracts more accessible to dApp developers, it makes writing Koinos system features more accessible since on Koinos the system is also written in smart contracts!
But the benefits of AssemblyScript likely won’t stop there. AssemblyScript is a lot less verbose than C++ (you don’t have to write as much code to get the same behaviors) and it seems to generate much smaller files than the C++ SDK. This means that we could use the AS SDK to write system contracts, that those contracts might take even less time to write than they would in C++, and this would increase performance because those contracts would consume fewer network resources!
This is all to show that when you build the platform right, it’s like there’s always wind filling your sails. Things just get better, faster. Shipping V3 is far less about releasing a new version of the test net, and far more about making sure that the Koinos Blockchain Framework has every thing that it needs to ensure that it never needs to hard fork again. In an ideal world, that means that we don’t need to release a new version of the test net again until main net!
Our goal when we started out was to build a new kind of blockchain that could improve at a far more rapid rate because individual upgrades could be pushed to the network like an operating system patch, rather than requiring massive monolithic upgrades which generally require a hard fork. This was a fundamental reimagining of general purpose blockchains designed entirely around the idea that every feature other than the basic cryptography necessary to construct a technically correct blockchain should be moved into smart contracts that could be upgraded in-band (i.e. without a hard fork).
At the same time we reimagined fees in a way that would finally allow for frictionless onboarding of end users without forcing developers to eat the cost in tokens, and we reimagined the consensus algorithm in a way that would deliver more decentralization than proof of work, more security and efficiency than proof of stake, and accessible to all.
When we first started out on this journey there were countless unknowns. While we thought what we wanted to do was possible, we appreciated that no one else had ever done anything like this, and probably for good reason. In fact, even if it was possible to build it, we didn’t even know if people would want a blockchain like the one we wanted to build. Looking back it’s amazing how far we’ve come.
All of those questions are now clearly answered. There is more demand for a truly fee-less and infinitely upgradeable blockchain than there was even when we started and we now know exactly what is left to be done in order to complete this revolutionary blockchain (the KBF). In fact, we are down to the last few items that need to be completed to finalize the KBF and release test net V3!
Developers, Developers, Developers
Possibly best of all, a complete Koinos Blockchain Framework means that dApp developers will be able to build the smart contracts they need to launch a dApp on main net! Up until now we’ve been making fundamental changes to the blockchain that could negatively impact the functionality of smart contracts running on Koinos.
The test nets have been useful for allowing developers to begin familiarizing themselves with Koinos and thinking about their dApps, but after the release of V3 we expect to see developers starting to write the kind of smart contracts we expect to see powering dApps like wallets, market makers, and who knows what else!
So if you’re a developer who is interested in building a dApp on Koinos, now is the time to get started!
If you have any questions for us about how to build your dApp or even your business, e-mail us at firstname.lastname@example.org. We’re here to help you build an insanely great dApp!