Retro

Devnet Retrospective

The Devnet upgrade, launched as the final milestone ahead of the mainnet Berkeley Upgrade, provided the ecosystem with one last opportunity to test the upgrade process.

Highlights

  • The Devnet upgrade provided ecosystem participants with the final opportunity to test the upgrade process, which successfully concluded in April 2024.  
  • Ecosystem participants helped to gather feedback, uncover issues, and explore improvements ahead of the mainnet upgrade, scheduled for June 2024. 
  • The final milestone, Berkeley upgrade, will bring three key features to the network, proposed and voted on by the Mina community through on-chain governance MIP1, MIP3, and MIP4.
  • zkApp builders, staking pool operators, exchanges, and other ecosystem partners continue their testing on Devnet.

Overview 

Mina Protocol’s major mainnet upgrade, scheduled for June, 2024, will bring three key features to the network, proposed and voted on by the Mina community through on-chain governance MIP1, MIP3, and MIP4:

  • MIP4: ZK programmability with o1js, previously “SnarkyJS,” a TypeScript framework for writing zkApps. 
  • MIP3: Enhanced security and efficiency from Kimchi, Mina’s proof system that facilitates the creation of recursive ZK proofs.
  • MIP1: Removal of supercharged rewards, a temporary incentive to increase staking adoption at the earliest stages of mainnet.

The Devnet upgrade, launched as the final milestone ahead of the mainnet Berkeley Upgrade, provided the ecosystem with one last opportunity to test the upgrade process. This environment, an official Mina Protocol public network, also allowed the engineering teams at o1Labs and Mina Foundation to gather important feedback from the community, identify issues, and explore improvements. 

After successfully concluding on April 9th, zkApp builders, staking pool operators, exchanges, and other ecosystem partners continue their testing of Berkeley features on Mina’s Devnet, a longstanding testnet designed for developers to test, iterate, and improve their applications before deploying them to the production (mainnet) environment.

Fixes & Improvements

The following fixes and improvements are being worked on and will be implemented before the mainnet upgrade thanks to issues identified during the Devnet upgrade process and feedback from the community. 

  • State export issue when setting stop slots at compile time #15503
  • Passing config file in the fork package caused archive nodeN failures #15504
  • Ignore nonce checks in the balances table #15343
  • Workaround for the staged ledger hash mismatch issue #15254
  • Improvements to migration app performance #15352
  • Release migration verifier app that the community can use to verify their migration #15142
  • Input argument issue within the migration script #15439
  • Migration verifier app fixes #15386, #15734
  • Remove superuser permission requirement in migration verifier app #15479
  • Fixes to the replayer issues the community was seeing on pre-migrated Devnet AN: #15308; #15278

Our Findings

The Devnet upgrade process kicked off on April 4th with the release of the stop slot build. After the stop slots were reached correctly on April 9th, 12 hours of scheduled network downtime commenced, during which time the Berkeley package was generated, post-upgrade releases were built, and archive node migration was completed. 

A configuration issue, which arose during the build of the post-upgrade release, caused a minor delay in the process, adding an extra 32 minutes of network downtime, and reducing the time operators had to upgrade to less than 30 minutes. After reviewing feedback from the community and internal assessment, a decision has been made to increase network downtime by 3 hours for the upcoming mainnet upgrade.

Following the successful deployment of the new network, the first Berkeley block produced on Devnet, and a multi-day monitoring period, the process successfully concluded, providing the team and community with valuable insights and areas for improvement. A special thank you to the Mina community and o1Labs for their support! 

Archive node migration improvements, identified during Upgrade Mechanism Testing (UMT), were implemented ahead of the Devnet upgrade, allowing further testing. o1Labs ran multiple Devnet migrations simultaneously, through which they were able to isolate and debug issues at a much quicker pace. This resulted in various migration optimizations, namely a 50% improvement in performance and an improved tooling set for the community. 

UX improvements related to archive migration, which will be implemented ahead of the mainnet upgrade include improvements to the docker container configuration for easier setup and documentation updates to reflect community feedback.

Finally, a Berkeley runbook, which will outline milestones and expected timing, is being prepared and will be shared with the community to ensure alignment ahead of the mainnet upgrade. 

Next Steps 

The final milestone in this process, Mina Protocol’s major mainnet upgrade, has now been scheduled for June, 2024, contingent on 75% of active stake* being upgraded to the pre-Berkeley release. You can learn more about what to expect on the day of the upgrade here

With the Devnet now fully upgraded with Berkeley features, developers are encouraged to start building and testing their zkApps in this environment before deploying on mainnet. Learn more about how to get started with building on Mina Protocol here, join the #Devnet channel in Mina’s Discord server to interact with fellow builders, and explore the opportunities offered by Mina Foundation’s grant programs.

Pre-release testing is ongoing, and aims to refine and implement suggested improvements from the community in areas such as documentation and UX enhancements ahead of the mainnet upgrade. 

Finally, exchanges and partners continue their testing on Devnet, and staking pool operators are also encouraged to test pool payout processes and tooling in this environment. Please note: There will be a new hardware requirement post-upgrade for block producers and SNARK workers, who will require 32 GB of RAM post-upgrade. Additionally, prover and verifier BMI2 and AVX CPU instruction sets will also be required. 

Find more information, and keep track of upgrade-related updates at the following links: 

*The network active stake is the sum of total stake delegated to Mina block producers that have produced at least 1 block in the last 10k blocks.

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
Ecosystem Update / 2024-05-02 / Mina Protocol Governance Team
Next Steps for Mina Protocol’s Governance
Summary  Over the last few years, the Mina Ecosystem has grown substantially so that more people are working together towards realizing the Mina Ecosystem’s potential: unlocking zero knowledge proofs to verify data from any application easily, privately, and securely. A growing number of companies and individuals are joining and contributing to the ecosystem. As of […]
Read more
Learn / 2024-05-02 / Kurt Hemecker
Digital Identity: Solving the Privacy Problem with Zero Knowledge Proofs
Read more
Announcement, Resource / 2024-04-25 / Vitor Silva
Mina Protocol’s Upcoming Major Upgrade: Everything You Need to Know
Read more
Announcement / 2024-04-23 / Mina Foundation
Mina Protocol to Integrate Celestia’s Modular Data Availability Layer
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.