What is the Cardano testnet for?

If you understand what testnet is for, you won’t be surprised that it is not in an ideal state or that a bug has appeared. If testnet is 100% stable, it is suspicious and some processes may be failing, because stability and 100% reliability is a quality that users expect from mainnet, not from testnet. Testnet is not for users, but for developers. Developers know that testnet can be unstable.

Testnet mission

Users use Cardano and may not even know that it is a mainnet, the main network that must be 100% secure and reliable. In the software world, we are never 100% sure that a bug or critical error will not occur. Teams set up processes and put in a huge amount of effort to achieve the highest possible level of confidence that the software will work exactly as expected.

Every software in the world needs maintenance and new developments as it needs to respond to the ever-changing environment and user requirements. Software that does not evolve will gradually become obsolete and will be overtaken by competitors. Alternatively, it may fail to function. For example, cryptographic tools may be used that cease to be secure. If the team does not replace them with new ones, the protocol will cease to be secure. In the long term, all teams will have to address the transition to cryptography that is resistant to quantum computing.

Protocols are software, and there are hidden bugs or parts (such as third-party libraries) in each that must be replaced or at least updated. The question is whether the flaws will show up and how critical the impact may be.

The testnet is a separate parallel network on which new software is tested before everyone agrees that a new version of the protocol can be deployed on the mainnet.

There are special versions of wallets that work only on testnet. A special testnet ADA coins and tokens with no real values are used. If you need to explore transactions and blocks on testnet, you need to use dedicated tools for that. For example, Cexplorer has a version that is only for testnet.

Once a new protocol version is created, say a new candidate that has ambitions to get on the mainnet, it must first prove its quality on the testnet. Sometimes it is even necessary to run multiple parallel testnets. There is intensive testing on the testnet. It is necessary to verify that the transition to the new version will be smooth and that everything will work as before. The new changes should ideally extend or improve the protocol without adversely affecting existing functionality. The goal of testnet is to approximate and mimic the functionality of mainnet as closely as possible.

The developers expect that the new release candidate will be fine and that testing on testnet will not reveal any problems. If this is the case, the new candidate can be deployed on the mainnet.

However, if a bug is found, this is the desired state. The team can analyze the bug and then fix it. It is very likely that a new release candidate will need to be created for the fix. Subsequently, new testing must take place with this new release. This will delay the release on the mainnet. This is annoying but quite common. There is nothing unusual about it. Testnet is for finding bugs in new software. Through this process, a potentially critical bug won’t jeopardize real user assets on the mainnet. If a bug was discovered on the mainnet, it could be a serious problem.

Careful testing of a new protocol version on testnet is a key part of any release process. From the perspective of users, but also third-party developers, it is annoying to delay the release of a new version they are waiting for. However, the delay is necessary as everyone expects the mainnet to work as reliably as possible.

How to perceive release delays

If a bug occurs on testnet, it will delay the release of the new version. There are many ways to look at this. Critics may say that the team didn’t deliver the expected improvements on time. That’s true, but it’s certainly not as big a problem as some media or people on social media are interpreting it. Software development takes a lot of time and it is impossible to predict exactly how long it will take. The team always tries to make development as predictable as possible, but the bigger the update, usually the more likely there will be a delay.

Even if the delay is unpleasant, there are things about it that can be perceived positively. The discovered bug on testnet is proof that the team and the community are carefully testing the new version of the Cardano client. Many people are making sure that only well-tested software gets onto the Cardano mainnet.

We don’t live in an ideal world where there are no found bugs on testnet and no delays. The Vasil upgrade is one of the biggest and most comprehensive improvements to the Cardano protocol. If you look at the history and search how much delayed a software release was, you will find that it was even years. It is necessary to accept the reality of software development. It doesn’t make much sense to blame the team or lose faith in the whole project.

Mac OS X was first demonstrated under the code-name Rhapsody in 1997, yet version 1 release didn’t arrive until a full four years later. Windows Vista was originally planned to ship in 2003, as a minor release between Windows XP and the true follow-up, but that release date slipped by three years.

Apple and Microsoft still exist despite the fact that software development can be dramatically delayed. Their products are used all over the world because they are reliable and work. Despite the delays in releasing new versions, these companies are able to eventually deliver products that are the best on the market, are innovative, and most importantly, are reliable. If there is a bug in the products, the companies are able to fix it quickly.

The blockchain protocol is relatively complex software. Cardano must first and foremost ensure that users do not lose their assets on the mainnet. It is difficult to update the global network as all full node operators need to be synchronized. There is a big difference between updating a new version of the operating system on your computer at home and updating the global blockchain network. Cardano is a decentralized network, so updating the software is not a matter of pressing a button. It’s a very similar process to testnets.

Users should first of all appreciate that the processes are set up so well that bugs are found on testnet and the community is able to find and fix the bug. Much underestimated is the fact that the Cardano protocol can be updated at full runtime thanks to the hard-fork combinator. This capability is not a given and there is a lot of effort behind it. There are suggestions on how to improve the release process.

Conclusion

The question is to what extent people should care about Cardano testnet and how the media should write about it. How many people care about how Microsoft tests the Windows operating system before updates are automatically installed? Operating systems also protect your property and privacy to some extent, because if it were easy for hackers to break into your privacy, they could get sensitive information. Most people trust that Microsoft engineers are doing their job well and that the new version will be better, higher quality, and more secure.

Cardano is not a product of a private company, but a global network. Cardano is being developed as an open-source project. The community expects maximum transparency as global blockchain networks have ambitions to replace the current financial services and IT giants. This is a huge ambition and it is uncertain to what extent it will be achieved. Success is partly dependent on how the media and people write about blockchain protocols and how users understand the issues. Most users will probably not be interested in testnet, and the reliability of the mainnet will be important to them.

Cardano mainnet runs reliably and without the need to reboot. So far, there have been no hacks at the first layer level. This is, among other things, a result of a well-functioning testnet, team, and community. The media should better consider how they inform users about the development of open-source software and authors should understand more about the topics they write about.

This article was prepared by Cardanians with support from Cexplorer.

Read the article: