The Mina Foundation is excited to share an update on the product priorities that were previously published, as well as some emerging priorities. This update is a result of collaboration with Mina ecosystem partners and listening to feedback from the Mina community.
|Project||Description||Estimated Completion Date|
|zkApps Bootcamp||Formerly zkApps Hackathon. Engaged with developers and educated them to build with zkApps.||Q4 2021 – Completed|
|New SNARK to bring faster verification and prover time than the original PLONK SNARK.||Q4 2021 – Completed (to be incorporated in an upcoming hard fork)|
|Improve Node Stability||Make node operation more stable. (Example project: BitSwap)||Ongoing|
zkApps Builders Program
|A program to educate, support, and work with developers who are building zkApps, and enlist their help to improve zkApps and SnarkyJS.||Q2 2022|
Document Mina’s crypto libraries and curve points
|Package Mina’s proof system to be easily adopted by other ZKP-enabled products.||Q2 2022|
|zkApps Testing||Formerly zkApps Testnet. This is now a series of phases to test the stability of zkApps on a network.||Q2 2022|
|zkApps Software Development Kit (SDK)||Provide the toolkit that the developers need to build on Mina: SnarkyJS & zkApp CLI.||Q2 2022|
|Bridge to Ethereum: One Way Mina -> Ethereum||Enable Ethereum developers to access the Mina state on EVM.||Q2 2022|
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.||Q3 2022|
Non-Native Token Support
|Enable creation of non-native tokens on Mina (similar to ERC20).||Q3 2022|
|Easy zkApps Programmability on Mainnet||Enable easy programmability and basic use cases of zkApps on Mina Mainnet.||Q3 2022|
|Multi-Environment Setup||Upgrade infrastructure to support more networks running in parallel for Mina. Enable community to run their own networks.||Q3 2022|
|Non-Consensus Nodes||Direct access to the Mina network for web and mobile nodes, without needing to run a consensus node.||Q3 2022|
|ZK Oracles||Formerly WebzkApps. This is to ship the Minimally Viable Product (MVP) to connect real world data to blockchain in the most trustless way possible, using HTTPS.||Q4 2022|
ZK Rollup on Mina
|Increase transaction throughput on Mina using ZK Rollup.||TBD|
Update on Existing Projects
zkApps Testing (formerly zkApps Testnet)
Formerly a project called zkApps Testnet, this has grown in scope to include a series of testing phases to ensure its stability for easy zkApps programmability on Mina Mainnet. Based on initial internal testing by Mina ecosystem partner O(1) Labs and feedback from developers, the process for testing zkApps will be as follows:
Initial Testing (started Q4 2021) → Public QANet (targeting Q1 2022) → Testnet ‘Berkeley’ (targeting Q2 2022)
The plan is to launch the Public QANet in Q1 2022 with participation from experienced participants within the Mina community to help test zkApps on a network. Upon the successful completion of the Public QANet, there will be at least one testnet (which will be named ‘Berkeley’) targeted for Q2 for broader community participation. Depending on how these networks go, it might be necessary to conduct multiple testnets. The updated scope for these tests now also includes support for non-native tokens at the protocol level.
zkApps Bootcamp (formerly zkApps Hackathon)
The zkApps Hackathon was restructured to be the zkApps Bootcamp and took place successfully in Q4 2021, as planned. Because zkApps are such an emerging technology, Mina Foundation and O(1) Labs decided to focus this first zkApps event on educating and familiarizing developers with zkApps, hence the shift towards a bootcamp structure. We received over 400 applications for the zkApps Bootcamp, and limited the participants to under 100 individuals so as to provide a better hands-on experience. More than 20 projects were submitted and 9 teams/individuals were selected to take part in the zkApps Builders Program to continue building zkApps on Mina.
Prior to the Bootcamp, O(1) Labs also co-hosted a zkApps Workshop with ZK Hack which attracted record numbers of developers out of the entire series of ZK Hack workshops. Read the zkApps Workshop & Bootcamp Retro for more details.
The plan is to have another zkApps-related event in 2022 after ensuring network stability is maintained with the addition of full zkApps programmability and a more mature version of SnarkyJS are available.
Improve Node Stability
Improving node stability is an ongoing effort, and we’re happy to share that two releases – 1.2.1 and 1.2.2 – were shipped since our last update, which both significantly improved node stability. Most recently, the alpha of release 1.3.0 was also shipped, and the goal is to ship 1.3.0 Stable in Q1 2022. Check out the release notes for more information on what these releases include. BitSwap will most likely be part of the next hard fork, the specifics of which will be shared in the coming months via a Mina Improvement Proposal (MIP) that the community can comment on.
We have been listening to feedback from our community and are aware of some recent node operation reliability issues, such as low fill rate at the beginning of epochs. Mina Foundation is working with ecosystem partners and community members to actively look into these issues and address them, as part of our ongoing node stability improvement efforts.
Easy zkApps Programmability on Mainnet
Easy zkApps programmability and usage on Mina Mainnet is targeted for Q3 2022, after the successful completion of ‘Berkeley’ Testnet, which you can read more about in the zkApps Testing section above. After ‘Berkeley’ is completed, there will be an MIP to decide on a hard fork for zkApps to enable easy zkApps programmability on Mainnet. Those interested can keep an eye on the MIPs channel.
zkApps Software Development Kit (SDK)
The zkApps SDK includes the zkApps CLI and SnarkyJS. A user-friendly API for SnarkyJS, a TypeScript library for writing smart contracts based on zero-knowledge proofs for the Mina Protocol, has been developed and is being tested internally and with zkApps Builders Program participants. SnarkyJS feature goals have been defined and prioritized for both the ‘Berkeley’ Testnet and Mainnet. The goal is to complete all ‘Berkeley’ milestone features by early Q2 2022. Following the ‘Berkeley’ Testnet, the focus will be on getting SnarkyJS “production ready” – fixing bugs, integrating feedback from zkApps developers in the community, improving docs, etc.
This priority has been delayed in favor of focusing on further developing zkApps. When easy zkApps programmability is enabled on Mainnet, supporting multiple test environments will then become more relevant.
Bridge to Ethereum: One Way Mina → Ethereum
The in-EVM verifier is progressing well and a demo will be ready in a couple of weeks from Nil Foundation. Work is underway to identify the functionality that will be required for the end-to-end use cases that we want to enable and the incentives around the bridge. Read the specifics of the latest updates from Nil Foundation.
ZK Oracles (formerly WebzkApps)
ZK Oracles is the new name for the WebzkApps project, which is intended to connect real world data to blockchains via HTTPS. So far, a list of known technical and usability problems have been outlined and the research for solutions has begun. A proposal for a phase 1, ZK Oracles architecture has also been proposed and the O(1) Labs team is iterating on the specs for it. This phase 1 is currently planned as a public release which may have relatively slow performance and limited support for cipher suites, but will nonetheless enable a host of use cases under a minimal set of trust assumptions. The plan is also to build a new cryptographic primitive that is currently called “Random Access Lookups”, which will improve the performance of parsing server responses in SNARKs and will be a critical component of ZK Oracles.
Development on this has been slower than expected, but the velocity is starting to pick up as earlier priorities advance. A new milestone has been added to the scope and more detailed deliverables have been agreed upon for the existing milestones with Mina ecosystem partner Chainsafe. Stay tuned for more updates.
Since we last published a product priorities blog post, some new important projects have emerged that have been added to the list.
With the introduction of SnarkyJS, rollups become possible on Mina. Given their immense value to increase transaction throughput, we see this as an emerging priority. One of the developers participating in the zkApps Builders Program is also building a ZK Rollup, which we’re excited to see. We will share more about ZK Rollup availability on Mina as we work to scope and resource this project.
Initially, the plan for launching easy zkApps programmability on Mainnet did not include support for non-native tokens. However, after further discussions with Web3 developers, we are seeing a lot of excitement for potential financial and DeFi use cases of zk-SNARKs, which prompted us to look more into non-native tokens.
After researching whether to implement tokens at the Layer 1 (as part of Mina Protocol) or at the Layer 2 (via a zkApp), we concluded that Layer 1 tokens have advantages over Layer 2 tokens:
- Layer 1 tokens do not require off-chain storage (which a Layer 2 token implementation would require)
- Mina Protocol already has support for sequencing of multiple transactions in a block (whereas sequencing of zkApp tx’s requires additional technical effort)
Essentially, Layer 1 tokens provide all the benefits of Layer 2 tokens, because both can be used inside a zkApp, with none of the downsides of layer 2 tokens. And thus, non-native token support at the protocol level will likely be part of the hard fork to enable easy zkApps programmability on mainnet, which the community will have a chance to comment on via an MIP.
zkApps Builders Program
The zkApps Builders Program is an exciting new initiative that emerged out of the zkApps Bootcamp.
The main objectives of the zkApps Builders Program are to:
- Remove barriers that exist preventing the developer community from building on Mina, by providing them with technical knowledge and financial resources.
- Encourage and share the possibilities of what can be built on Mina.
- Enhance the developer experience of SnarkyJS via fast iteration and feedback from developers.
As we iterate on SnarkyJS towards its 1.0 release, we want to incorporate developers’ feedback into Mina products on a high frequency basis, which this program will help enable. The zkApps Builders Program is scheduled to run from now until Q2 2022.
Enable 3rd-party, off-chain usage of Mina’s proof system
As we talk with more potential partners and developers, we are seeing some interest in a “step-by-step” approach to adopting Mina. Specifically, we are hearing feedback that some would like to first use the Mina proof system off-chain, and after a successful initial proof of concept, they would follow up with integrating into the Mina chain.
Given the off-chain nature of Mina’s smart contract computations, and how SnarkyJS is designed, this is an easy add-on to Mina’s product roadmap. SnarkyJS and its documentation will be updated to more easily enable the broader community to adopt SnarkyJS for varied zero-knowledge (ZK) applications, including off-chain use, to broaden the ZK ecosystem that can interact with the Mina chain. The goal is to make these updated docs available by Q3 2022.
In addition, another related project will document Mina’s crypto libraries and curve points, to facilitate adoption by third parties who are interested in ZK applications. The target date for this is Q2 2022.
To continue to keep the Mina community informed, Mina Foundation will be sharing an updated view of the Mina Protocol product priorities each quarter. There is also a lot of great progress being made in the Mina ecosystem, and there will be periodic ecosystem updates coming soon. Stay tuned!