Retro

Upgrade Mechanism Testing Retrospective

The upgrade mechanism testing program was launched to validate the end-to-end process and dry-run the upgrade mechanisms and tools that will be used in the mainnet Major Upgrade together with the Pre-Upgrade and Release Candidate builds.

Highlights

  • The Upgrade Mechanism Testing (UMT) participants were carefully selected from applicants of Testworld Mission 2.0. 
  • 45 node operators from 25 different countries helped to upgrade the network, collectively running 3 archive nodes, 2 SNARK coordinators, 16 SNARK workers, and 80 block producing nodes.
  • UMT allowed validation of the end-to-end upgrade process, and the testing of tools that will be used in the mainnet upgrade, helping to identify issues which have now been resolved. 
  • Next up, the Devnet will be upgraded to provide ecosystem participants with the final opportunity to test Berkeley features before the Mainnet upgrade.

Overview 

The upgrade mechanism testing program was launched to validate the end-to-end process and dry-run the upgrade mechanisms and tools that will be used in the mainnet Major Upgrade together with the Pre-Upgrade and Release Candidate builds. The program brought together 45 experienced node operators to perform various tasks, before successfully forking the network in the early hours of March 1st, 2024. 

The program replicated all of the milestones of the Mainnet upgrade process in the UMT testnet, including transaction and network stop slots, archive node migration, post-upgrade package generation, and Berkeley network deployment. 

This testing period allowed the team to gather important feedback and suggestions from the community resulting in improvements to the archive node, migration tooling, and documentation. These improvements will be available for the upcoming Devnet upgrade. A huge shoutout to everyone who participated and made the program a success. 

Findings 

The UMT network kicked off with 45 node operators who collectively ran 3 archive nodes, 2 SNARK coordinators, 16 SNARK workers, and 80 block producing nodes, each with responsibilities assigned according to their roles. On day two, 85% of node operators were requested to upgrade to the pre-Berkeley release, representing the minimum stake threshold set for the upgrade, allowing the team to observe how the network will behave when not all stake is upgraded. 

On day three, the transaction and network stop slots, integrated into the pre-Berkeley release, were reached as scheduled at hours 0 and 5 respectively, commencing a 15-hour network downtime period. During this period, the team at o1Labs simultaneously worked on archive node migration and the post-upgrade node build. 

The migration process uncovered a discrepancy between the ledger outputs from the archive node and the export process, creating migration issues with the post-upgrade build. The cause for the mismatch was resolved promptly, along with a second mismatching hash, allowing the post-upgrade build to be released and the network to be deployed at hour 15, a few hours later than initially scheduled. 

Operators upgraded and produced the first Berkeley block of the UMT shortly afterward. Congratulations once again to @Syd and @KakashiSenpai for producing the first blocks on the network. 

The program concluded after a period of network monitoring to ensure the quality and behavior of the chain met expectations. The team is happy to report that no critical bugs or issues were found, and the network showed significant improvements. 

A special thank you to o1Labs for their support in running the program!

Next Steps 

The testnet for Mina’s Berkeley Upgrade was split into four tracks: zkApp End-to-End (E2E) testing, external security auditing, protocol performance testing, and upgrade mechanism testing, which are now all complete. The final milestone will upgrade Mina’s Devnet, providing ecosystem participants with a final opportunity to test Berkeley features before the mainnet upgrade takes place. 

If you would like to participate in the Devnet upgrade or would like to test Berkeley features in a test environment, please ensure you upgrade your node to the latest release, 1.4.1, and keep an eye on the #Devnet channel in Mina’s Discord server. It is strongly recommended that users deploy this to at least one node to get comfortable with this build ahead of the mainnet upgrade.

You can find more information, and keep track of upgrade related updates at the following links: 

X: @MinaProtocol

Discord: discord.gg/minaprotocol

About Mina Protocol

Mina is the world’s lightest blockchain, powered by participants. Rather than apply brute computing force, Mina uses advanced cryptography and recursive zk-SNARKs to design an entire blockchain that is about 22kb, the size of a couple of tweets. It is the first layer-1 to enable efficient implementation and easy programmability of zero knowledge smart contracts (zkApps). With its unique privacy features and ability to connect to any website, Mina is building a private gateway between the real world and crypto—and the secure, democratic future we all deserve.

More from our Blog

SEE ALL POSTS
Announcement,Resource / 2024-04-25 / Vitor Silva
Mina Protocol’s Upcoming Major Upgrade: Everything You Need to Know
Mina Protocol, the native-ZK blockchain live on mainnet since 2021, is on the verge of a major upgrade poised to be a game-changer for the entire crypto ecosystem.
Read more
Announcement / 2024-04-23 / Mina Foundation
Mina Protocol to Integrate Celestia’s Modular Data Availability Layer
Read more
Learn / 2024-04-11 / Yonatan Medina
Introducing recursive zkRollups: A recursive improvement to zkRollups and zkApps for Mina
Read more
Learn / 2024-04-04 / Vitor Silva
Mina’s Berkeley Upgrade – What to Expect
Read more

About the Tech

AboutTechCta

Mina uses advanced cryptography and recursive zk-SNARKs to deliver true decentralization at scale.

Get Started

GetStartedCta

Getting started with ZK on Mina is simple.