This week, we released Kinode Version 0.8, the latest instantiation of our platform for high-throughput and truly decentralized crypto applications. The last time we wrote about a release, it was Version 0.6, and the big deal there was our first stable release candidate. And as with 0.6, Version 0.8 has some fixes and quality of life improvements, which we’ll get to. But it also includes a big-deal feature: backward compatibility.
As an analogy, let’s consider the case of Ethereum circa 2015. This is when Ethereum itself achieved backward compatibility. In the case of Ethereum, backward compatibility ensures that the blockchain can support and run older smart contracts, applications, and protocols even after updates or changes to its core software. This is achieved through mechanisms like Ethereum Improvement Proposals (EIPs), careful versioning practices that allow developers to specify compatible compiler versions, and transitional periods during deprecations to give developers time to update their systems.
The benefit of backward compatibility is that developers can be confident that their applications will still work even as the network evolves. With Kinode Version 0.8, we can now offer the same assurance. To put it plainly, the off-chain environment in 2024 has achieved parity with the on-chain environment of 2015.
Nodes that upgrade to 0.8.0 will be able to safely communicate with older nodes. Any Wasm app that ran on a node in the 0.7 days will still work on 0.8, even though we pushed a kernel upgrade. In both cases, this works by matching on a version In the case of networking, there was not a protocol-level change other than the inclusion of TCP-mode, so older nodes simply won’t use that mode. For apps, they can now specify a version of the kernel that they run against. Old apps will get the old kernel, and new apps will get the new one. At the kernel level, the changes are minor, so supporting multiple versions has no impact on performance or code maintenance. And in the future, we can now confidently upgrade the kernel to improve performance and security without destroying the ability for outside developers to trust the system’s stability.
The importance of system stability cannot be overstated. One of the reasons that early blockchain development became so attractive to a certain kind of developer was that one could write code, deploy it, and it would live forever on-chain. Our goal with Kinode OS is to present the same guarantee in an off-chain platform.
Note that backward compatibility represents an early achievement for Kinode; we had not committed to full backward compatibility until Version 1.0, and it is conceivable that breaking changes could still occur, but we’re confident enough in the development of the platform thus far to call it early.
A full technical description of the release can be found on our Github.
As we said last time, we’re iterating toward Version 1.0. We’ll continue to “extensively test each new version, push the software to its limits, fix the bugs, and release the next version. Then, we rinse and repeat until the software stops breaking altogether.” We still don’t know how long this will take, but the road from 0.6 to 0.8 was a matter of a couple of months. So we’re pretty confident that the “months, not years” mantra from last time is a solid bet. And another mantra from before remains true as well: we’re going to keep challenging each version until we can’t break it, to prepare our software to live forever.
We’d love for you to join us in testing Kinode. To get free access to the hosting platform Valet, sign up for the waitlist here. You can always run your own Kinode or get started developing by reading our docs. And you can come talk to the devs directly by joining our Discord or Telegram. We do our building out in the open and want to help you build your project, too.
Backward compatibility has come to the off-chain computation environment. Come experience it with us and enjoy everything else Kinode has to offer, too. We can’t wait to see you on Kinode.