Below are some updates on the various projects, tooling and resources the Mina ecosystem and community have worked on recently.
Updates
*Please note that each ecosystem 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 Foundation – Lindsay Casale, Senior Director, Marketing; Sherry Lin, Director, Marketing
The Mina Foundation is helping serve and support the Mina ecosystem, specifically by allocating resources, supporting network health and security, and supporting participants on their path to the Mina ecosystem.
zkIgnite, Cohort 0 Launches
The Mina Foundation is inviting developers to co-build the next stage of zkApp development, or the zkApps Era, with the Mina community. Join fellow builders who are already part of zkIgnite’s Cohort 0 and earn MINA by completing tutorials and building zkApps. So far, over 2500 developers have joined Cohort 0 and over 700 have completed a tutorial. Be a part of Cohort 0 to:
- Be one of the 1000 to receive 50 MINA for completing zkApp tutorial 4
- Build a high quality zkApp and earn 5K MINA
- Potentially win one of the top 3 prizes:
- 1st prize: 20K MINA
- 2nd prize: 12K MINA
- 3rd prize: 8K MINA
- Earn a BONUS reward by building an oracle that pulls on-chain data for zkApp usage, for 1-1.5K MINA
There’s 250K MINA up for grabs and it’s not too late to join – you have until December 15, 2022 to build and collect rewards. Join Cohort 0 now >
Quarterly Community-Nominated Grants
There have been over 150 community grant nominations received for Q3 and the list of Mina community members eligible to receive grants for this cycle will be announced in late December, via Discord and other Mina Protocol channels. A reminder that the Community-Nominated Grants program accepts nominations on a rolling basis, so if you see a contribution from a fellow community member that is helpful to you or others, make sure to nominate them for a grant so we can reward them for their efforts. Nominate for a Quarterly Community Grant here and check out the full grant process here.
Flash Grants for Infrastructure & Tools
To support users of Mina Protocol and builders wanting to develop on Mina, the Mina Foundation is piloting a flash grant program to incentivize community members and teams for building essential dev tools and infrastructure. We are engaging with over 20 teams applying to build projects, such as operating and extending offchain storage. More will be shared on the projects and teams soon.
Events
Over the past few weeks, Mina concluded its 2022 zkConnect Developer Meetup series with events in San Francisco on Nov 2 and Bangalore on Dec 1. Over 100 combined attendees gathered to network with fellow devs and learn about zero-knowledge and how to build zkApps.
Mina also sponsored two ETHGLOBAL events in partnership with ecosystem partner o1Labs, including ETHSF and ETHIndia – resulting in 15 new zkApps from developer teams across both events. A big thank you to regional community manager Rakesh Pandey who hosted the Bangalore developer meetup and represented the Mina team at ETHIndia, alongside Jason Borseth and Jack Servia from o1Labs.
On Nov 22, Mina Foundation CEO Evan Shaprio hosted a livestream on YouTube with Brandon Kase, founding engineer at o1Labs, discussing the Magic of ZK, use cases, and the latest Mina zkApps. Check out the recording here.
While this concludes the 2022 events program, we are excited to return in 2023 with a new event series and are also planning to participate in various industry conferences throughout the year. Stay tuned and follow Mina Protocol on Twitter to receive event updates!
.
=nil; Foundation – Mikhail Komarov, Founder
For context, =nil; Foundation is working on bridging Mina to Ethereum and more.
This month we’ve achieved full vanilla in-EVM verification delivery and now it has to undergo the audit. We’re also close to finalizing the in-EVM state representation wrapping part, which means the production deployment will feature not just a state verification, but the plaintext state data accessibility. Besides that, we’re continuing our preparations for the production launch.
Current bridge implementation has noticeable room for improvements in terms of auxiliary proof generation performance and verification cost. We’re asking the community to help us by continuously generating auxiliary proofs for the bridge.
The two most important commits this month are:
- The one beginning the in-EVM Mina’s state management logic. See Github here.
- The one completing the canonical in-EVM verification delivery. See Github here.
o1Labs – Emre Tekisalp, CEO
o1js (formerly SnarkyJS) & zkApps
o1js (formerly SnarkyJS) v0.7.0 brings an even further refined user experience.
The o1Labs 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.
zkApp devs should upgrade their `zkapp-cli` to 0.5.1 or newer, and any current smart contract projects to use `snarkyjs` 0.7.1 or newer, in order to be compatible with the redeployed Berkeley Testnet redeployment on Nov 15th.
Berkeley Alpha Testnet
The Berkeley Alpha Testnet underwent its first upgrade on November 15th. This upgrade included a host of changes including the fix for a critical bug which would’ve allowed an attacker to change a zkApp’s account state with invalid authorizations. Notably, this bug was discovered during O(1)’s effort to build three zkApps to test the protocol. For more details on the upgrade, check out the Berkeley Release 0b63498 release notes. Instead of hard forking the Alpha Testnet, this upgrade was facilitated as a new redeployment. This saved us considerable effort which a hard fork would have necessitated, but the result is that all transactions on the previous Berkeley Alpha Testnet are lost and any previously deployed zkApps need to be redeployed. We’re hoping to facilitate another similar upgrade via a hard fork to the network in mid-December.
Berkeley Readiness
We’re getting close to the Berkeley release for incentivized testnet by fixing bugs such as the one mentioned above, and finishing development and testing work of the last updates. We’re also starting the work on authoring Mina Improvement Proposals that will constitute part of the Berkeley release.
Proof Systems
The o1Labs “Core Crypto” team is starting to pick up quite a bit of steam. The team is working on custom gates for bitwise XOR and rotation operations, foreign field multiplication, foreign field addition, and range checks. With the exception of the foreign field multiplication gates, the Rust implementation for these gates is complete. What remains is the work to integrate it into our recursive proof library, Pickles. Importantly, these gates will enable developers to implement otherwise too costly in-circuit operations like keccak hashing, AES encryption, or ECDSA signature verification, directly in o1js (formerly SnarkyJS).
zkOracles
In November, O(1)’s engineer working on zkOracles determined and specified a file format for zkOracles notarizations. He also built a tool to help generate these files without the elaborate MPC protocols necessitated by zkOracles. The goal of these efforts is to help determine if the appropriate circuits to parse these files and their included TLS sessions, are feasible, and if so, how they can be achieved.
Ethereum Signature Verification – NEW
o1Labs is working to enable the ability for zkApps to verify Ethereum ECDSA signatures. This work is important to enable certain interoperability use cases like bridges, and is planned in three distinct phases. In phase 1, O(1) is working on implementing custom Plonk gates for foreign field multiplication, foreign field addition, bitwise XOR, and bitwise rotation. In phase 2, these gates will be used in o1js (formerly SnarkyJS) to implement Ethereum’s keccak hash function and ECDSA verification algorithm as zkApps. It’s not yet clear whether O(1) or a different ecosystem member will facilitate this work. In phase 3, O(1) will deliver full custom Plonk gates for both keccak and ECDSA signature verification, resulting in superior proving performance for these algorithms over the phase 2 solution. O(1) hopes to complete the phase 1 custom gates by EOY ‘22.
Granola Systems, Inc. – Nicole McGee, Project Manager
On-Chain Voting
Granola Systems has been developing a dashboard to allow Mina holders to express their support on-chain for proposed changes on Mina, such as hard forks. Most recently, user testing of the dashboard has been carried out with a few community members, and we look forward to sharing plans for how and when this dashboard can be used to support on-chain voting!
zkFusion – trivo#0001
Community member Trivo#0001 is working on zkFusion, a modular zkRollup for Mina.
Currently, ongoing work is focused on enabling zkApp transactions. zkApp transactions, compared to normal transactions that only transfer funds between two parties, are more complex to process and therefore, require a more robust system. In order to allow zkApp transactions, work needs to be done to represent the account abstraction and write a circuit that allows the sequencer to generate proofs of zkApp transactions. With the release of the recent o1js (formerly SnarkyJS) version 0.7.1, a few breaking changes need to be fixed as well. For example, rewriting existing `CircuitValue` types to the new and more robust `Struct` type. The latest version also fixed a long outstanding bug which was blocking the distributed proof production module.
Additionally, the new o1js (formerly SnarkyJS) version fixed a long outstanding bug, which blocked the proof production module, which can now be finished.
Github repo: https://github.com/Trivo25/mina-zk-rollup
Mina Explainer Videos – G-Kriptocu#1377
I’ve been publishing videos regularly about Mina Protocol and Zero-Knowledge on my YouTube channel and my new website (MinaTimes.com). I also created a DC channel for the community and share all the Mina news and updates there. I’m doing this because I would like people to learn the technology, basics and the mission of Mina Protocol.
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.