*Please note that each ecosystem roadmap update may contain forecasts, projections, targets or other forward-looking statements. Such forward-looking statements are based on the relevant ecosystem partner’s estimates and assumptions based on information available at the time such update is made. Accordingly, plans, goals and other statements may not be realized as described, and actual results may differ materially from those presented in such an update. In addition, the Mina Foundation is not responsible for updates made by community contributors or ecosystem partners, whose work is important to the development of the Mina ecosystem and is independent from any of the initiatives that the Mina Foundation is working on.
Mina Ecosystem Roadmap
|PROJECT||DESCRIPTION||Team||ESTIMATED COMPLETION DATE|
|Improve Node Stability||Make node operation more stable. (Example project: BitSwap)||O(1) Labs||Ongoing — groundwork for BitSwap to be included in Berkeley hardfork|
|zkApps Builders Program||Program to educate, support, and work with developers who are building zkApps, and enlist their help to improve zkApps and SnarkyJS.||O(1) Labs||Cohort 2 finished on November 29, 2022! A wrap up blog post sharing details of participant projects will be coming soon.|
|zkApps Software Development Kit (SDK)||Provide the toolkit that developers need to build on Mina: SnarkyJS & zkApp CLI.||O(1) Labs||SnarkyJS and the zkApp CLI were available from Q2 2022 and continually receive improvements. See detailed updates below.|
|zkApps Testing||This is a series of phases to test the stability of zkApps on a network. Updated to: Initial Testing → Berkeley QANet → Berkeley Testnet Alpha→ Berkeley Incentivized Testnet||O(1) Labs||Berkeley Testnet Alpha launched in Q4 2022. Berkeley Incentivized Testnet will follow upon the successful completion of Testnet Alpha.|
|Custom Token Support (previously non-native token support)||Enable creation of custom tokens on Mina (similar to ERC20).||O(1) Labs||Custom tokens are available now and supported by the current SnarkyJS version and Berkeley Testnet. See the custom tokens tutorial.|
|Easy zkApps Programmability on Mainnet||Enable easy programmability and basic use cases of zkApps on Mina Mainnet.||O(1) Labs||Once Berkeley Incentivized Testnet has successfully concluded|
|On-Chain Voting — NEW||Feature to enable Mina holders to vote on governance proposals through signaling their support (on-chain) for proposed hard forks and other changes to the protocol.||Granola Systems||Q1 2023|
|Non-Consensus Nodes||An additional implementation of Mina Protocol in Rust, providing direct access to the Mina network for web and mobile nodes, without needing to run a consensus node.||Chainsafe||Q3 2022 — Partial proof of concept delivered |
Q4 2022 — Current form running on testnet
|zkBridge||Make zkApps accessible from Ethereum, as well as other EVM compatible chains.||=nil; Foundation||Q4 2022 — Full code delivery. |
Q1 2023 — Deployment and launch preparations.
|Enable 3rd-party, off-chain usage of Mina’s proof system||Enable zero-knowledge (ZK) enthusiasts to adopt Mina’s proof system without having to use the Mina chain.||O(1) Labs||Q4 2022 — Developers can use `ZkProgram` for off-chain use cases. See this tutorial. Further documentation related to off-chain use cases will be coming.|
|Multi-Environment Setup||Upgrade infrastructure to support more networks running in parallel for Mina. Enable community to run their own networks.||O(1) Labs||Deprioritized to focus on infrastructure and testing for the hard fork|
|zkOracles||This has been updated to two phases (see more details below).||O(1) Labs||Phase 1: Q4 2022 — Done & available. To create an oracle, see the oracle tutorial. |
Phase 2: Q2 2023
|zkRollup on Mina||Increase transaction throughput on Mina using ZK Rollup — first stage is a proof of concept.||Trivo25||Q4 2022|
Update on Ecosystem Roadmap Projects
zkApp Builders Program — Cohort 2
zkApps Builders Program cohort 2 finished successfully on Nov 29, 2022! This cohort created many interesting and useful projects, such as dynamic array access and JSON parsing for SnarkyJS, educational programs, and more. We’ll publish final presentations to YouTube to share builders’ projects, along with a wrap up blog post. Stay tuned!
zkApps Software Development Kit (SDK)
SnarkyJS v0.7.3 brings an even further refined user experience.
The O(1) Labs team introduced “Struct” to replace “CircuitValue” for defining custom data types, providing an even more intuitive syntax. You can now define custom error messages for your assertions by passing a string to any of the various assert methods. Token-related interactions can now be authorized using ZK proofs, in addition to the existing signature-based authorization. A new “init()” method on the SmartContract class provides a method that is invoked only on the first deployment of a zkApp, allowing you to initialize the zkApp account’s state easily.
The Berkeley Testnet has been running smoothly since late September and was recently upgraded with a number of key changes in mid November. Another redeploy is actively being planned in the coming weeks. Additionally, zkIgnite, cohort 0 has attracted lots of interest for developers who are eager to build zkApps. We look forward to the increased testing and activity that will occur as a result of that initiative.
Custom Token Support
Custom tokens are available now and supported by the current SnarkyJS version and Berkeley Testnet! See the custom tokens tutorial to get started.
Granola Systems is working closely with the Mina Foundation team to finalize a dashboard and the process that will allow Mina account holders to vote and view their votes, including final results, for upcoming Mina Improvement Proposals (MIPs). User testing is underway with plans to roll out the first release of the dashboard in early January.
Tools for improving security, correctness and node performance (Viable Systems)
Over the past few months, the Viable Systems team has been working on multiple tools that will improve the Mina ecosystem, with their primary focus being security, correctness, and performance. These include a fuzzer for the Mina node that will increase its security and a debugger for the P2P protocol used by the Mina node (currently LibP2P Go) that allows for further improvement to the performance of this library. Additionally, through the use of internal and external tracing support tools, they’ve been able to identify which processes were slow and optimize them, thus increasing the Mina node’s throughput and decreasing transaction latency
Mina’s zkBridge to Ethereum is in the final stages:
- Vanilla In-EVM verification has been finalized with proof generation, and its in-EVM verification along with auxiliary scripts. Ongoing proof verification cost optimization work continues.
- Wrapping in-EVM Mina’s state management logic was introduced, it’s still a work in progress, but some results regarding this part will be available to show at the end of the year.
- =nil; Foundation is organizing a bridge production deployment along with a competitive proof generation event. Such a deployment and a production launch event will take place during Q1 ‘23, but it is a post-project work.
Enable 3rd-party, off-chain usage of Mina’s proof system
Developers can use `ZkProgram` from SnarkyJS to prove and verify ZK proofs for off-chain use cases. See this tutorial using ZkProgram. Further documentation for off-chain use cases will be coming.
Work continues on the MPC protocol and primitives for phase 2 of zkOracles. We’ve hit a snag related to the complexity of the circuits on the proving side of the protocol but have not had bandwidth to mitigate this risk given the intense focus on zkApps and Berkeley. As a result, the estimated completion of phase 2 zkOracles has been moved out to Q2 ‘23.
zkRollup on Mina
Work continues as some of the earlier milestones have successfully been completed, including a basic proof of concept fund transfer, a distributed proof generation module, and more. After hitting some initial blockers, which have now mostly been fixed, next steps will be to work on generating proofs for zkApp contracts, as well as other improvements.