LATER NEXT NOW COMPLETED How to View This RoadmapThis is an interactive visual; Zoom In and pan around with your mouse to explore. Hover over a component for more detail. Mina Protocol’s Multi-Year RoadmapBuilding the Future of Programmable ZKPs The information contained herein is result of a culmination of inputs gathered from various Mina ecosystem participants. It is provided for illustrative purposes only and is not to be read as a forecast or a guarantee. Component StatesThe various states of completion for each component on this roadmap. FULL SCREEN ZOOM IN ZOOM OUT COMPLETE CRITICAL MILESTONE IN PROGRESS NOT STARTED Trust MinimizationEnsuring the Mina blockchain is sustainably and scalably decentralized. Read More Democratizing Consensus Participation Increases the likelihood an individual running a node produces a block, by re-weighting their likelihood of being selected to participate in consensus, with the goal of a world where everyone’s devices are running a node—further decentralizing consensus and increasing participation in the network. Staking Pool Reward Saturation To promote delegations to smaller pools for optimal decentralization, the amount of rewards available for delegating to a block producer gets capped at a saturation point. Robust On-Chain Identity Research direction with the aim of enabling secure, on-chain identity in a privacy-preserving manner. Succinct Blockchain Mina is the first cryptocurrency that uses a succinct blockchain, which provides a short and constant verification time for each transaction. Mina gets this done by including succinct proofs of state validity in each block. Mobile and Browser Block Production In-browser and mobile network validators / block producers. Mobile nodes able to come online for block production, to minimize impact on battery usage while maximizing decentralization. Full Node in-browser Rust implementation of the Mina node that runs inside the browser, providing the ability for users on browser and mobile to verify state and transactions without having to trust a third party. Uncapped Consensus Participation A critically important property of our protocol is that there is no limit on participation by nodes in any manner, meaning that participation in consensus is open to anyone able to run a node. Single-Server Off-Chain Storage Allows zkApp developers to verifiably store data for their applications off-chain in a single-server model. Off-chain data is stored in a Merkle tree and the state root of the Merkle tree is stored on-chain as an attestation to what is stored off-chain. Multi-Server Off-Chain Storage A multi-server storage solution that can be run by multiple parties for stronger trust guarantees. Modular Blockchain Off-Chain Storage Solutions leveraging storage on modular blockchains for zkApp data availability. On-Chain Data Availability Bonded on-chain storage and data availability using the MINA token. Data Availability Committees Scalable Data Availability. Assigns consensus nodes to committees, which are each assigned a portion of total on-chain data storage. Quantum Resistance Make Mina’s zero knowledge proofs quantum-resistant. ZK ProgrammabilityBuilding the best possible ZK programmability layer on Mina with scalable verification and zero knowledge privacy. Read More Custom Tokens Native tokens available on Mina, analogous to ERC-20, but with the full ZK programmability provided by Mina’s zkApps. Account Abstraction Account abstraction gives developers much more flexibility when interacting with Mina accounts enabling features such as multi-sig, and smart recovery as well as leverage the ability to change keys without changing wallets. Extended Lookup Tables A powerful PLONK custom gate which enables efficient parsing of strings in-SNARK, among other things. Rust Circuit Writing API A Rust API for writing and working with Mina zkApps-compatible zk-SNARK circuits via lower-level primitives. SnarkyJS Designed to run in the browser, SnarkyJS is Mina’s front-end ZK programmability SDK, enabling full programmability of ZKPs and all the features they unlock in TypeScript. Recursive ZKPs One of the first teams to implement recursive zk-SNARKs, making the lightweight nature of Mina possible by allowing a single proof to attest to the correctness of practically unlimited other proofs. zkApps on mainnet Full ZK programmability available for Mina, including native privacy, scaling, recursion, and easy-to-program primitives such as zkRollups and privacy pools. Cross-Chain Crypto Primitives Support for SHA-256, ECDS, Keccak256, and other cross-chain crypto primitives for efficient verification of commonly used signature schemes. Increase Circuit Size Limit Kimchi is limited to 15 columns and 2^16 constraints. That works well for many use cases, but maybe not other situations where one has a multitude of inputs to the circuit, or needs many more constraints.This will allow proofs of arbitrarily large computations, without needing to break the computations up into multiple proofs. Proof System Composability Enable recursive composition of different proof-system versions on Mina, allowing multiple versions to co-exist on the same mainnet. Running Mina in Mina Verify new versions of Mina inside existing versions of Mina, enabling new versions of Mina to interoperate with existing versions, enabling straightforward testing and zero-downtime upgrades. Pickles The Pickles proof system and associated toolkit offered substantial performance improvements and importantly opened the path towards general computation for zero knowledge smart contracts. VMs as Custom Gates Makes custom-built, efficient virtual machines easy to deploy on Mina’s proof system, enabling zkApps to be written in and execute languages like Rust or WASM. Compile Any Code to Mina Enable developers to use any programming language and compile almost all existing code to zkApps. zkApps CLI The command line interface to Mina’s zkApps and SnarkyJS, built with NodeJS and NPM for compatibility with the existing JavaScript and TypeScript ecosystems. Custom Gates A set of low-level PLONK custom gates useful for implementing common crypto algorithms. These gates include a foreign field multiplication gate, foreign field addition gate, XOR gate, bitwise rotation gate, and range check gadget. Kimchi Kimchi, a PLONK-based proving system that brings faster verification and prover time than the original. No TrustedSetup Pickles is one of the first deployed proof systems which doesn't require a trusted setup. Settlement Layer PerformanceOptimizing the performance of Mina’s latency, finality, and throughput. Read More Libp2p Libp2p is a network framework that is used to create decentralized peer-to-peer applications on Mina. Ouroboros Samasika PoS Mina builds on Ouroboros to create Ouroboros Samasika, a provably secure PoS protocol that combines the best features of each iteration of Ouroboros to deliver a PoS mechanism that can resolve long-range forks without requiring history or risking centralization by relying on trusted third parties to provide fork information. Advanced Networking Add Bitswap to Mina’s networking, in order to improve the the networking capacity as well as the speed at which peers can request and receive information. Decentralized Sequencing Between Mina’s decentralized consensus, and decentralized SNARK proving market, Mina achieves decentralized sequencing of zero knowledge proof transactions. Mina Node Optimizations Key operations and processes within the Mina node will be optimized, to achieve better node performance, creating opportunities for increased throughput and improved latency. Ultra LowLatency Network and node optimizations will allow for fast transaction settlement, reducing the latency from transaction creation to it being accepted by the network. GPU Accellerated Proving Hardware accelerated proving with GPUs. This reduces the latency to get large proofs included as part of zkRollups, and potentially reduces cost as well for proofs of large computations. Off-Chain SNARK Work Enable SNARK work to be performed off-chain such that transactions which include many account updates, along with the accompanying SNARK work proof, are executed simultaneously. Decentralized Prover The core data structure powering Mina’s prover sequencer. Implements an infinite accumulator of transactions with finite (O(1)) memory usage and parallelized proving for adjustable throughput, allowing for decentralized proving. Snarketplace Mina eliminates the need for trust and also incentivises the work of creating SNARK proofs by having a marketplace of ‘SNARK workers’: nodes which are responsible for producing SNARK proofs of transactions in the network. Random Committee BFT Mina’s consensus mechanism will be redesigned to evolve to use randomly selected committees, allowing the protocol to still allow anyone in the network to participate while enabling instant finality for transactions and increased performance. InstantFinality Consensus redesign will aim to achieve instant finality for transactions, meaning that any transactions can be considered final and irreversible with no chance of it being rolled back. Optimized TPS Through the redesign of consensus and the peer-to-peer network, Mina’s throughput will perform at the limits of package delivery of the P2P network itself. Raise zkApps Composability Limit Re-architect zkApp transactions to enable them to take full advantage of the decentralized prover. Composability is then limited only to the maximum number of proofs in a block. Transaction Execution Committees Assign Mina consensus nodes to native roll-ups that process transactions in parallel. Infinitely Horizontal Scaling Incentivize consensus nodes to participate in transaction execution committees contingent on demand, allowing on-demand scaling. Leverage Data-availability committees, plus insights from horizontally scalable databases (eg BigTable) to unlock a straightforward API for developers looking to build at scale. MinaversePushing the boundaries of composability between platforms and enabling applications and platforms to connect and build off of each other on Mina. Read More Trustless Interoperability with Ethereum Ethereum applications can make use of zero knowledge proofs on Mina. Ethereum state can be used to call and update zkApps on Mina. zkApps as Ethereum L2s Applications on Mina can choose to get their security from Ethereum. The ground truth of the application state is verified by the Ethereum settlement layer. Universal Multi-Sig Derive a Mina private key in zero knowledge, derive private keys for other chains with it, and sign transactions via an on-chain threshold signature scheme, all in zero knowledge. Cross-Chain Custody Leveraging cross-chain crypto primitives to enable users to trustlessly self-custody their crypto assets across different blockchain networks from Mina. Succinct Proofs Mina’s proof system was developed to enable succinct, constant-sized proofs, small enough to be sent around the internet with low bandwidth, enabling Mina’s low-cost verifiability. zkBridge zkBridge will enable Ethereum and other EVM-based applications to leverage Mina’s zkApps, using Mina’s succinct proofs to enable fully trustless cross-chain interoperability between the chains. Composable Rollups Libraries for connecting rollups, both between each other, and to Mina, by managing messaging and asset transfers between them. Sequencer Libraries Provide consensus libraries for sequencing transactions, with flexibility between simple (e.g. centralized single-server), and more complex (e.g. instant-finality BFT). zkEVM Implement a zkEVM for Mina, allowing EVM code to be deployed on Mina directly. EVM-on-Mina codebases to interoperate with zkApps for ZK programmability features. Recursive Rollups SDK Recursive Rollups SDK is a framework that developers can reuse to build and deploy their very own general-purpose or application-specific rollup (zkApp-chains). zkApp-Chains Recursive Rollups will enable developers to easily launch zkAppChains that recursively verify each other, while being able to rely on the security provided by Mina as a settlement layer. Cross-Rollup State Proof Interoperability Enabling trustless interoperability between the Mina rollup ecosystem and those of other networks. Infinite Recursion Mina’s proof system offers infinite recursion to accommodate as much computation as desired in exchange for extra recursive steps. So now we have unlimited off-chain computation and a solid bedrock for ZK-based applications and zkRollups. zkRollup PoC A proof-of-concept of a zkRollup on Mina, showing the performance and throughput potential of a zkRollup leveraging recursion. zkOracles An MPC + ZK protocol for trust-minimalized oracles of Web2 data via HTTPS, with optional primitives for preserving the privacy of that data. Road to DAOificationSetting up a system of decision-making for Mina to function effectively and have a positive impact on the world. Read More Governance Sandbox Phase A time period when the community and ecosystem iterate on different governance configurations to develop a better governance system that works for Mina. This phase will involve reflection and iteration—learning opportunities—so that insights and outcomes with the wider ecosystem. Delegation Program Mina Foundation is committed to decentralization and has adopted a policy through which any voting power of the Mina tokens held by Mina Foundation is delegated to third-party block producers. zkVoting A mechanism whereby an account can participate in on-chain voting without other accounts being able to see how such an account voted. Potential Future MIPs* There are many potential future types of MIPs to apply to Mina. Some examples of possible future MIPs are shown. Specifics on which of these MIPs happen, and their exact format, will be determined by the community and the ecosystem. Protocol Vision A possible future MIP for a “north star” of Mina to be established by contributors to the protocol. Could include the basic traits of decision-making for Mina, the norms for how community members treat each other, and Mina’s mission, values, norms, and possibly “constitution” for how it operates. Protocol Fiscal Policy A possible future MIP, or set of proposals, for setting the fiscal policy for Mina, such as amendments to block rewards and different transaction fee models, such as fee-burning. Community Governance With the delegation program, hardfork governance, and Mina Improvement Proposal process, the Mina blockchain is governed by its community of token holders and block producers. Community Iteration on MIP Process An interactive and inclusive process in which we collectively experiment, learn & improve the MIP process over time.During the governance sandbox process, the MIP process will respond to new learnings. Likely changes include zkVoting, identity and novel mechanisms for deliberation and decision making, among other things. Protocol Roadmapping A possible future MIP for community-driven updates to the development roadmap of Mina Protocol involving representatives of community contributors. On-Chain Decentralized Protocol Treasury A possible future proposal to create an on-chain decentralized treasury that is allocated to community programs, such as zkIgnite, for community benefit. Funding sources potentially include portions of block rewards, transaction fees, proceeds from the grant portion of MF’s delegation program, and the project grant tokens managed by MF. Hard Fork Governance The process by which the community can decide whether to perform a hard fork, by moving stake over to nodes running a new hard fork. On-Chain Funding A possible future MIP for a funding process for all budgetary decisions concerning the evolution of the Mina Protocol and ecosystem. Drawing on a decentralized treasury powered by a zkApp, no single actor or group would control the process. Mina Improvement Proposals The Mina Improvement Proposal (MIP) process is a mechanism open to all token holders to propose important changes to the protocol or new features for Mina. A group of MIP Editors oversees the process to check that each step is carried out correctly. MIPs are accepted by a stake-weighted on-chain vote (OCV). Any Mina account can vote by either using its tokens or delegating its tokens to a block producer that can vote in its stead (weighted by the stake delegated to it). This process enables the community to decide on the adoption of key upgrades to the protocol. zkIgnite: Distributed Ecosystem Funding Process A series of grant programs that are managed by a decentralized governance process in which grants are allocated to recipients through representatives of community contributors. zkIgnite1 Current and future iterations of zkIgnite. Each iteration will be organized to grow the ecosystem by deciding how to fund zkApps and their tooling. On later iterations the scope of zkIgnite decisions might expand to include other types of funding decisions around protocol improvements and/or maintenance. zkIgnite2 Current and future iterations of zkIgnite. Each iteration will be organized to grow the ecosystem by deciding how to fund zkApps and their tooling. On later iterations the scope of zkIgnite decisions might expand to include other types of funding decisions around protocol improvements and/or maintenance. zkIgnite3 Current and future iterations of zkIgnite. Each iteration will be organized to grow the ecosystem by deciding how to fund zkApps and their tooling. On later iterations the scope of zkIgnite decisions might expand to include other types of funding decisions around protocol improvements and/or maintenance. zkIgniteN Current and future iterations of zkIgnite. Each iteration will be organized to grow the ecosystem by deciding how to fund zkApps and their tooling. On later iterations the scope of zkIgnite decisions might expand to include other types of funding decisions around protocol improvements and/or maintenance. *We note that this list is non-exhaustive and is provided for illustrative purposes only. The Mina community will determine which MIPs to propose and which to adopt.