Learn

The Mina Mindset: A New Way of Building in Web3

Building with zero knowledge proofs improves security, privacy, and scalability. It is also fundamentally different, requiring developers to rethink what they hold true about blockchains and their limitations today.

This blog will help builders understand the differences between building on EVM and Mina, as well as how Mina takes a unique approach to provide a powerful ZK tool for applications.

building_on_mina_ethereum_comparison

Setting the stage for zero knowledge (ZK)

Ethereum started a revolution by extending Bitcoin’s purpose as a decentralized blockchain and currency and adding application programmability. It allowed for the encoding of business rules and conditions as ‘smart contracts’, which could run automatically without a third party. While it was groundbreaking, the innovation came with a cost: network congestion and high gas fees. This was due to the need for computations to be performed initially and re-run on-chain every time someone wanted to verify the network.

A wave of alternative Layer 1 (L1) networks emerged in response, aiming to increase transaction speeds and reduce fees. Despite their efforts, these solutions largely mirrored Ethereum’s model, eventually leading to similar challenges. The main challenge was the need to re-run transactions; to fully trust the chain, you needed to re-run the entire chain yourself. As these chains grew, the cost of verifying them grew, affecting the decentralized principles originally promised by blockchain. 

Amidst these developments, rollups and zero knowledge proofs (ZKPs) became the bedrock of the crypto community’s vision. ZK bestowed participants with cryptographically provable guarantees that transactions had been executed correctly, eliminating the need to replay transactions. This completely changed the industry and allowed them to break the blockchain trilemma. Before, you could not scale without losing decentralization, security, or vice versa. For the first time, ZK enabled scalability without compromising security. 

ZK provided blockchains with such an elegant scaling solution that much of the global community came together to acknowledge that ZK would be the cornerstone of cryptocurrencies moving forward. As Vitalik Buterin puts it… ZK is endgame!

With the global community in agreement, we need blockchains built specifically for ZK. 

Mina’s approach to ZK is nothing short of groundbreaking. Mina is ZK from the ground up. What does that mean? It means every aspect of the Mina architecture, the consensus, transactions, and block production, is built using ZK at its core (everything is written in a ZK circuit). This unique design ensures that every part of the blockchain is provable. And with the power of recursive zk-SNARKs, the entire Mina blockchain is encapsulated in a single proof! There is no replaying computation, just a single Proof of Everything that verifies all. It’s a paradigm shift in blockchain technology.

Why Mina?

Mina’s ZK native design allows developers to break out of the system design space, which has constrained them until now. Mina is the first system to offer a design that is both fully permissionless and distributed. These characteristics have led to the httpz vision. httpz is obviously more of a long-term vision, but we are super excited to see what people can build in the short term with a truly distributed and decentralized, verifiable world computer. 

A Permissionless, Distributed, and Scalable System

To help frame your idea, we suggest you consider logically decentralized applications. We believe these applications could provide some low-hanging fruit for the ecosystem. Logical decentralization refers to the distribution of control and decision-making processes within a system. In a logically decentralized system, there is no single central authority that makes decisions for the entire system. Instead, multiple independent entities (nodes) make their own decisions and coordinate with each other.

Ethereum, despite being architecturally and politically decentralized, is not logically decentralized. This is because Ethereum operates as a single cohesive network where all nodes maintain a commonly agreed state. If the Ethereum network were split, the resulting parts would not function independently as separate entities but would instead require synchronization to maintain the integrity of the blockchain. This reliance on a unified state means that Ethereum does not exhibit the characteristics of logical decentralization.

What systems can you think of which are logically decentralized and could benefit from Mina’s unique system?

In this matrix you will see: There are permissioned and replicated systems like SQL and web pages. There are permissioned and distributed systems like web servers and BigTable. There are permissionless and replicated systems like Ethereum and other traditional chains. But replicated (aka decentralized) is not enough on its own to power large-scale applications and no other platforms (besides Mina) exist that are both permissionless AND distributed. Unlike traditional replicated systems like SQL databases or Ethereum, which replicate data across all servers and face scalability challenges, Mina distributes data and computations across the network. Participants don't have to share all of their data or computations with the entire network— they only share a proof that it was correct. This distributed approach eliminates redundancy, reduces bloat, and enables unprecedented scalability and efficiency, unlocking new types of use cases and filling a previously unoccupied space in the wider tech systems landscape.

Proof Composability

In addition to being unique within the systems landscape, Mina also offers a unique advantage over all the other systems. 

Composability is a game-changer. In the Web2 world, our apps are isolated—they don’t talk to each other—stifling innovation. Although Web3 could change this, composability is often sacrificed for scale.

But Mina changes this by compressing and storing all data into a singular ‘Proof of Everything.’ This isn’t just a technical marvel—it’s a paradigm shift. A single proof encapsulates the entire history of the chain, accessible and verifiable by anyone, anywhere. Every piece of data ever proven on the chain is at your fingertips, ready to be reused and built upon.

Think about it: any computation verified by the Mina network can be resumed and extended without interacting with the original performer. This isn’t just valuable for individual applications; it transforms the very fabric of societal computation. It enhances data value while maintaining privacy, censorship resistance, and decentralization.

For developers, this is a game-changer. It slashes computation costs by eliminating redundancy and opens up vast new design possibilities. Mina isn’t just another data platform; it’s a simpler, more integrated open data ecosystem that redefines what’s possible.

With this ‘Proof of Everything’ architecture, you can create applications as standalone statements of fact or intricate pieces of a larger puzzle, requiring proofs from multiple zkApps. This architecture lets you harness zero knowledge proofs in dynamic and complex ways. 

For users, it means they only need to check one proof, no matter how sophisticated the zkApp is. This is true decentralized proof composability, efficiently verifiable by anyone, even on their phones.

Introducing zkApps

Now that you understand the enormous benefits that ZK has brought to the blockchain, imagine harnessing that power at the application layer with zkApps. zkApps are ZK-powered applications that revolutionize smart contracts by executing them off-chain in client-side environments like browsers or servers.

By crafting smart contracts using ZK, you can mirror the functionality of on-chain smart contracts within an off-chain environment without privacy concerns or redundantly replaying computation— addressing the challenges decentralized apps face on other blockchains.

However, zkApps on Mina are more than just smart contracts. They are comprehensive systems that can be used to build domain-specific solutions like programs, contracts, sequencers, and zkVMs. Let’s discuss some of the general benefits of zkApps first. 

Unlimited Computation with No Gas Fees

On Ethereum, everyone must run all smart contract computations to sync the chain, causing network congestion and potential Denial of Service attacks (DoS). To address this, Ethereum implemented gas fees and limits in the instructions of each smart contract to avoid excessive use of computational resources on the network. 

Thanks to ZK, you can execute unlimited computations off-chain, eliminating gas fees and reducing blockchain bloat regardless of the complexity or size of the computation. 

Mina takes this a step further with its lightweight ‘Proof of Everything’ design that scales verifiable computation across blockchains in constant time, cost, and size. Its state proof is a constant 22 kilobytes (KB), allowing for quick and cost-effective verification. 

Distributed Computation

With ZK, the emphasis is on the client side rather than the blockchain itself, which means anyone can participate in the network using their own private data and adding it to Mina’s global ‘Proof of Everything’, which allows for true distributed computation. 

There are also far fewer restrictions on the complexity of the computation. For instance, it’s possible to perform a sophisticated algorithm over an extended period, ranging from hours to days, and then record the outcome of this operation on the blockchain. This approach can be applied to various complex computations, such as simulations, forecasts, gaming scenarios, etc, all of which are very popular in the Web2 world today. 

Infinitely Scalable

We already know that ZK improves scalability thanks to its built-in computational integrity, which eliminates the need to replay computations. Pickles, Mina’s recursion layer, further enhances this by combining all proofs into a singular proof. 

This singular proof encapsulates the cryptographic verification of all included computations and their respective inputs and outputs. The verification time for this proof remains constant, ensuring long-term decentralization and scalability. Unlike the Ethereum Virtual Machine (EVM), which requires re-executing computations and increasing resource requirements for validators, Mina’s recursive proof can be verified in constant time, allowing anyone to verify the chain indefinitely without increasing resource demands. 

Built-in Optional Privacy

In the EVM model, all computation inputs must be public to ensure the network’s security by recomputing and verifying transactions. However, zk-SNARK and zk-STARK cryptographic proofs enable the use of both public and private inputs. 

Public inputs, accessible to both prover and verifier(s), are essential for generating and verifying proofs. Private inputs, exclusive to the prover, enable computations of confidential data without revealing it. This contrasts with the EVM’s requirement for publicly visible inputs, offering a secure method for handling private data.

Conclusion

Mina stands out in a landscape crowded with other projects. It is lightweight, scalable, and highly decentralized thanks to its unique ‘Proof of Everything’. On Mina, all you ever need to verify the network is a single proof.

These unique advantages require a different mindset. Things like TPS (transactions per second), which may be very important in the design of other chains, are far less important on Mina. Off-chain computation and recursive ZK proofs shift the importance to finding better ways to move computation over to the client side, which ultimately makes the network far more decentralized with lower resource requirements while enabling a truly dispersed network. 

Understanding Mina’s unique composability is essential for developing truly unique and powerful applications. Leveraging this composability within a single proof can significantly enhance your applications’ capabilities.  

Mina is the tool, how will you use it? What could you build with Mina’s ‘Proof of Everything’?

 

Where do I get started?

If you are a developer, visit the o1js or Protokit documentation and join the Discord to connect with other Mina developers. o1js is a TypeScript library for building ZKPs and zkApps on Mina. Protokit is a library to quickly build ZK Appchains in a similar way to building on Ethereum, while offering higher throughput, storage, and more.

Finally, make sure to explore the developer grants available and get started building on Mina!

 

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.

More from our Blog

SEE ALL POSTS
Community,Ecosystem Update / 2024-09-13 / Becky Hopwood
August Illuminate – Ecosystem Update
The August Illuminate Town Hall, hosted by Mina Foundation, took place last month, offering the community a platform to learn about key developments in the ecosystem, hear from projects building on Mina, and engage with fellow community members.   You can watch the last one here or read the recap below! Mina around the world  The […]
Read more
Community, Events / 2024-09-12 / Becky Hopwood
BUIDL with Mina Protocol at ETH Singapore 2024
Read more
Ecosystem Update / 2024-08-30 / Mina Protocol Governance Team
Mina as a Lab for Deliberation
Read more
Announcement / 2024-08-22 / Mina Foundation
Mina Fungible Token Standard: Empowering Developers to Create Custom Tokens
Read more

About the Tech

AboutTechCta

Mina uses advanced cryptography and recursive zk-SNARKs to deliver true decentralization at scale.

Get Started

GetStartedCta

Getting started with ZK on Mina is simple.