Here are some updates of the various projects, tooling and resources being worked on by the Mina ecosystem over the last month.
*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, whose work are independent from any of the initiatives that the Mina Foundation or its ecosystem partners are working on, unless otherwise stated.
Chainsafe – Lerna Jabourian, Project Manager
Chainsafe is working on reimplementing the Mina protocol in Rust. As of late we are working on an MVP, which is a smaller scope of the original project. It consists of a non-consensus node which will be able to:
- Run a web browser
- Check the state of the chain
- Download blocks
- Validate proofs similar to a full node
We have made significant progress on the web node extension. We’re now able to completely serialize/deserialize an entire block in-browser. At the moment, the state & the chain data are being fetched from the canonical graphQL API (via https://graphql.minaexplorer.com), which will retrieve the latest blocks from the network. Once downloaded, the blocks are sent to the rust module in WASM to deserialize the data in json serialization format. The blocks then get validated and chain selection is run to then proceed with what is considered the best chain.
See demo below:
Step 1: Click on “Query” to fetch basic info on the latest blocks
Step 2: Click on “Poll latest blocks” to download blocks and run chain selection
Step 3: Receive info for the last 10 blocks
Effort is also being put towards refactoring our consensus tests to make them more maintainable.
We will be working on integrating the web node with the Auro wallet. Additionally, we’ll be delving into supporting retrieval of account information by implementing sparse merkle ledger as well as merkle proofs by way of the new graphQL endpoint.
We are looking into adding issues for outside contributors to work on via Github: https://github.com/ChainSafe/mina-rs/issues
Feel free to follow our progress and chat with us via:
=nil; Foundation – Mikhail Komarov, Founder
Nil Foundation is working on In-EVM Mina Verification for the zkBridge. Last month was dedicated to several things:
- Audit-related circuits adjustments – The ABDK team is doing an extraordinary job regarding getting into all the details and this obviously requires us to introduce a lot of adjustments, explanations, etc.
- Proof generation performance – It is critical to have the auxiliary proof generated within reasonable timings, so we’ve dedicated time to that.
- Paving the road to the zkBridge’s future – Specifications and papers. We will release a separate blog post about all that 🙂
For those interested in checking out some recent PRs related to proof generation performance adjustments:
- https://github.com/NilFoundation/crypto3-zk/pull/48 – using point-value polynomial form within the proof generator
- The following are about proof generation parallelization:
Now that we’re preparing a verification part for the audit, we wouldn’t mind if the Mina community takes a look and leaves a review of the implementation of the in-EVM verification part. We would love to adjust it to match the highest community expectations.
O(1) Labs – Emre Tekisalp, CEO
o1js (formerly SnarkyJS) Week
The O(1) Labs team has been working hard to prepare to host the first-ever o1js (formerly SnarkyJS) Week. Join to learn how to write zkApps (with Intro & Advanced dev workshops) & to meet other zkApps developers from the Mina community!
Improving Node Stability
The latest alpha release 1.3.2 is being tested on devnet and the last stable release 1.3.1 has been running smoothly on Mainnet for well over a month. We’ve been focused on shipping performance improvements and addressing outstanding issues. We hope to promote 1.3.2 to beta and then a stable release in the coming weeks.
Berkeley QA Network
The Berkeley QA Network is ongoing and the QA task force is diligently participating and helping to address issues that occur. If you would like to participate in the QA network, please chime in on the #devnet channel on Mina’s Discord. A few more redeployments to the QA network are planned in the coming weeks, so look out for more enhancements and fixes.
zkApps & o1js (formerly SnarkyJS)
Deployment of zkApps to Berkeley QANet is now fully possible using Mina zkApp CLI. Elegant support for “preconditions” in o1js (formerly SnarkyJS) has also been implemented. These allow a zkApp developer to set specific network or account-related conditions that must be true in order for their transaction to be accepted by the network; docs coming soon. o1js (formerly SnarkyJS) proving on NodeJS now supports multi-cores for faster performance. Mina zkApp CLI size has been reduced to only 706 KB–now even your tools are lighter weight.
An update to Proof Systems was recently completed, which improves compile times of o1js (formerly SnarkyJS) circuits by ~5x and similarly improves proving times by around ~3x. Additionally, a first working version of a circuit-writing API was completed for Kimchi. Some optimizations are planned, but we hope to make this new API available for public consumption in the not too distant future. Additionally, the team is reviewing a third iteration of a proposed keccak circuit design which will be a significant step toward enabling compatibility of zkApps and Proof Systems compatibility with Ethereum and other EVM-based chains.
Engineering progress is at a standstill as we continue to recruit for a qualified Rust engineer to work on this project in a dedicated capacity.
Mina Alert Bot – Makalfo#7996
Community member and zkApp Builders Program participant Makalfo has built a Mina Alert Bot for blockchain events. This utilizes Telegram to dispatch alerts such as block production, transactions, and delegation transactions. Examples include:
- Mina Explorer produces a canonical or orphaned block: A Telegram message would be dispatched of the production of the block, chain status, and the associated coinbase reward
- DexHeim sends 10 Mina to ZKValidator: A Telegram message would be dispatched of the transaction amount and the decoded memo, if applicable
- Figment receives a delegation transaction: A Telegram message would be dispatched of the delegation
Check out this Medium post for how to utilize the bot. If anybody is interested in the Github repo, feel free to reach out to me. I would also appreciate if community members use the service and let me know if there are any functions that are desired! I added some filtering of spam transactions (e.g. balance must be greater than 1 and no links in the memos) but it has met my original goal so I do not need to watch my addresses on the explorers.
b62.io – talha | b62.io#0779
Community member Talha was involved in creating b62.io, a resource for the Turkish Mina community.
B62.io is the world’s lightest blog! (The b62’s name comes from the first 3 digits of all Mina wallet addresses.) We create content to help the community, share articles on topics that the community is interested in, provide Turkish translations of news from Mina’s ecosystem, as well as helpful infographics. We are working to create a resource where the Mina Turkey community will find answers to their questions and where they can be informed of developments related to the Mina ecosystem. In addition, the Mina Whale Alert Twitter & Telegram bot which reports large Mina transactions and Mina Turkish trade chat are members of the b62 family. And we are working on introducing other new tools and content to the community on the site soon.
We are happy that the content we produce is read and shared by thousands of people. For example, zkApe, the only Turkish news bulletin that publishes about zero knowledge projects, shared b62 and its contents many times in its bullet and recommended it to its readers. See here, here and here. Articles published on b62 were also shared on Turkish crypto communities, such as those of Blockland DAO, Coin Fedaileri and of course the Mina Turkiye Telegram.
- We are working on a Mina Turkish dictionary.
- We are creating some infographic templates for Mina ecosystem projects.
- We will create some new social media channels for b62 (like Telegram Mina news feed and b62 Telegram chat).
- We will start publishing a b62 bulletin soon.
We encourage everyone to follow, like and share the b62.io Mina content!
Mina Blacklist – carbonara | WeStake.Club#5880
Community and Genesis Founding Member Carbonara has created a new tool called the Mina Blacklist.
Mina Blacklist is an open/crowd-sourced list of Mina addresses being used for malicious purposes. The list is accessible from the Web UI or from the API. The idea is to have a transparent and up-to-date list, so developers can query addresses in their software and take preventive measures to help end users. For example, Clorio Wallet and MinaExplorer use the Mina Blacklist to verify if an address is in the list and then visually mark the addresses as a threat. The list is automated by the MinaScamWatcher, a bot that is constantly scanning the network for newer threats and when it finds one, it submits them to the repository.
The bot creates the PRs and then one of the maintainers of the repository verifies the legitimacy of the report (sometimes there are false positives, so it’s important to be manually checked) and merges the PR to the list. You can see the github repo here.