During the 2017 ICO Phase, people FOMO’d and invested in projects having only white papers. Some of these projects boasted high outputs and performance results. However, many of them showcased such claims in testnet environments only. They never progressed to the mainnet stage. It is very important to understand the difference between a testnet and a mainnet.
What is a testnet?
A testnet (Test Network) is an experimental network where developers can test, create, or modify functionalities and monitor the blockchain network performance.
They fix bugs and other kinds of network failures. The reuse test files ensure the accurate comparison between test runs. This sandbox environment enables the developers to take risks, experiment, and find out the best possible model, a stable version, to be implemented in the Mainnet. All these happen at scale in a controlled manner. Testnets ensure that Mainnet deployments happen faster.
Some blockchains (example: Ethereum) provide standard testing methodologies, tools, and certifications to accurately test complex networks at scale. It gives users confidence and is an integral part of the onboarding process, leading to adoption.
Ethereum Testnet Examples
Crypto Testnet Use Cases
- Development in a Safe environment: A testnet sandbox provides a secure environment for testing various development ideas.
- Minimal disruptions: Blockchain teams are aggressively trying to resolve problems around scalability, security, and decentralization. Numerous tests are being performed and prototypes are run on the cryptocurrency testnet without disrupting the mainnet.
- dApp compatibility tests: Any dApp which wants to onboard, needs to go through a phase of testing and fixes. New patches, features, etc are first tested in the testnet. Some examples of these tests include
- Security Tests
- Load Testing
- Blockchain Migration
- Integration Tests
- Disaster Recovery
What is a Mainnet?
A mainnet (Main Network) is the final, most stable, and fully functional version of the blockchain.
Mainnets enable dApps to be launched for public use. They see an increased number of validators who are incentivized by tokens with real value. All transactions are live on the mainnet.
Projects with a mainnet are always considered more mature. It gives users the confidence that the project has put lots of effort and resources into the blockchain. This is because the mainnet has gone through rigorous evaluation processes before launching.
Crypto Mainnet Use Cases
- Trust: The mainnet acts as proof that the blockchain is functional. It gives an open invitation to the public to participate in the Network.
- Use Cases: Before launching a mainnet a blockchain already partners with application creators. Hence some of those applications launch along with the mainnet launch. This provides use cases for further dApps to onboard the blockchain.
- Credibility: Most blockchains make the underlying codes public after the crypto mainnet launch. Such open-source projects become more credible to users.
- New opportunities: The permissionless, public network enables discovery.
- Additional features: Additional mainnet features like security properties (anti-spam capabilities) can be availed.
What is the Difference Between a Testnet and a Mainnet?
- Purpose: The testnet is the testing “Sandbox”, whereas the mainnet is the released functional blockchain.
- Cost of Operations: In the testnet, the tokens do not hold any value. The cost of operations in the mainnet is higher. Every operation performed on the blockchain requires a fee in the form of tokens that hold a certain value. Examples of these operations include transfers of value, staking rewards, or deployments of Smart Contracts.
- Network ID: The network ID helps developers identify the network. Mainnets and testnets have different Network IDs. For example, the Ethereum mainnet network ID is 1, while the other most commonly used testnets have network IDs of 3, 4, and 42 for Ropsten, Rinkeby, and Kovan, respectively.
- Genesis Block: A genesis block is the first block of every blockchain. Both testnets and mainnets have their own independent genesis blocks.
- Nodes: A testnet has fewer nodes than a mainnet.
- Transaction Frequency: Transaction frequency is low for a testnet.
Mainnet vs Testnet on the Matic Network
A testnet and a mainnet run independently. The testnet paves the way for the mainnet launch. Some projects leverage other blockchains to create their tokens. At the same time, they develop their mainnet. The Matic Network is a good recent example. Once the mainnet is launched, the old ERC-20 tokens are discarded, while the new ones are issued on the Matic mainnet. We will take this example to see how this journey works.
In November 2019, Matic launched its public incentivized staking testnet event “Counter Stake”. Validators earned mainnet MATIC tokens by showcasing technical skills and by practicing and competing with other validators.
Counter Stake had 3 stages:
- Stage 0 – Setup. Date: November 2019
Action: All validators run the Validator and Block Producer nodes, keep them synced with the given testnet, and understand the network. They also try deploying their testnet and experiment with the code.
- Stage 1 – Stake on the Beach Date: February 2020
Reward Pool: $40,000 worth of MATIC tokens
Action: Stage 1 started with ~30 nodes. The Matic Foundation controlled a majority stake in the testnet in week 1 of the program. In the subsequent weeks, there was an increase in the validator slots. Stage 1 also provided a mechanism to replace poorly performing validators with those on the waitlist.
Main testing features included are Staking, Unlocking rewards, Penalties, and Replacement strategies.
Stage 2 – The Grand Staking League
This is the final stage before the mainnet launch. Matic encouraged an all-out attack on the network at this stage.
The Matic Mainnet went live on the 31 May 2020.
- Step #1: DApp partner onboarding, Genesis Ceremony & mainnet Go-Live with initial validator set (only Matic Foundation nodes and nodes run by select validators invited by the Matic team will be active).
- Step#2: Incremental Nodes (Onboarding 5-10 at a time). This is also with Matic Foundation nodes.
- Step#3: Full release. Decentralized Release. Community Governance. 100+ Nodes.
Source: Matic Blog
Mainnet vs Testnet Conclusion
All core blockchain projects need to be evaluated based on the performance of the mainnet. Even then cryptocurrency mainnets are not the final products. There are repeated updates or revisions to a particular functionality. It is therefore very important to understand a project’s development road map and compare that with what has been achieved. Also, listen to comments from the project partners to evaluate how the partners are using the chain.