About a decade into the blockchain industry’s development, early adopters realized that a hidden form of centralization was taking place. As a chain grew utilization, it became longer, which decreased the computational and bandwidth capacity. Over time, nodes with the highest network and operational capacity would dominate, driving towards centralization.
In July 2019 incubation company, O(1) Labs, launched an ambitious new open source project: the Mina Protocol (formerly named Coda). Their motivation stemmed from a desire to build a Layer One that would deliver on the idyllic promise of genuine decentralization, scalability, and security.
Mina is a proof-of-stake (PoS) blockchain and cryptocurrency that supports smart contracts. The protocol is distinctive in that it restricts block capacity to 22 kilobytes, enabling it to be a ‘succinct’ blockchain. This innovative methodology contributed to the network being dubbed “the world’s lightest blockchain”.
Mina is presently managed by the Mina Foundation, and has made significant progress since inception. Having proved itself against several adversarial testnets, the network successfully deployed its Mainnet in March 2021. Post Mainnet, the team has worked heads-down on elevating the zero-knowledge space; this was made evident with the introduction of zkApps, or decentralized apps based on zero-knowledge proofs. zkApps give users the ability to utilize dapps without jeopardizing their privacy or security.
Mina is the first cryptocurrency that uses a succinct blockchain, which can provide a short and constant verification time for each transaction. Mina gets this done by including succinct proofs of state validity in each block. This allows for large lists of transactions to be validated quickly and inexpensively.
Mina uses incrementally computable SNARKs to ensure that the cost of computing a proof for each block is proportional to the number of transactions added since the previous block. Rather than storing the entire state of the chain each full node, a balance can be verified simply in the block header. However, a prover in this system would need to store the full state, as it is the witness when proving validity of new blocks. In its current implementation, the state proof size is 864 bytes and takes ~200ms to verify. As a result, any smart device (like an iPhone) can support the computational load.
There are two main roles in the Mina Network:
- Block Producers – gather blocks to be SNARK-ed
- SNARK Workers – create zk-SNARK proofs of transactions to compress the transactions
Mina incentivizes the work of creating SNARK proofs by having a marketplace they call the “Snarketplace”- here, nodes exchange services for a fee (native $MINA).
The Snarketplace contains a fixed size buffer, like a queue. Block producers add transactions that need to be SNARK-ed to this queue, and SNARK workers create SNARKs to process the transactions. Because Mina has a fixed size, block producers must purchase completed SNARK-ed work before they can add to the queue.
Before a SNARK worker is about to SNARK a block in the queue, they create a transaction SNARK with a special digital signature called the signature of knowledge. The signature of knowledge has the information regarding how much fee is being offered and who to pay. Due to block producers queuing new blocks, and SNARK workers creating proofs in parallel, any level of hardware can allow users to participate in Mina, allowing the network to be inclusive to everyone.
Mina’s consensus protocol is called Ouroboros Samisika and was the first provably-secure PoS consensus protocol. Block production is determined by Verifiable Random Function (VRF). This is a random function that requires a private key to run and can be verified with a public key. The randomness is computed from Ouroboros’ epochs. If a staker’s VRF output is greater than their stake fraction, they get the opportunity to produce a block.
Additionally, VRF allows a block producer to secretly compute when they are going to produce a block, as they are the only holders of the private key that determines VRF output. This improves overall security, as the bad actor would not be able to identify the next block producer to perform a DoS attack. On top of that, multiple block producers are chosen for the same slot, further reducing the likelihood of attack.
As a result of the way VRF works in Mina, a block can be expected on the main chain every 4 minutes.
At a glance:
- $MINA is inflationary with no supply cap
- 1 billion MINA tokens (not including future block rewards) initial distribution with 8 year full unlock
- “Supercharged Rewards” (double block rewards) for unlocked accounts during first 15 months of Mainnet
In the Mina PoS system, block rewards and fees are distributed pro rata, assuming high staking participation. Those who do not decide to stake will experience dilution relative to those who do. As a way of motivating staking, Mina’s inflation rate begins at 12%. Over the course of the first five years, the rate is set to fall and remain at 7% and then subject to the chain’s governance, though governance has yet to be formally enacted.
The protocol will target these inflation rates regardless of staking participation, resulting in dynamic changes to block rewards. For instance, if only 50% of the network stakes, the block reward doubles. This is due to the Ouroboros consensus system: the number of blocks produced per epoch is to be proportional to the staking ratio. This methodology naturally encourages participants to stake, when participation rates are low.
Within the Mina ecosystem are a subset of zero-knowledge powered smart contracts called zkApps. These are like regular, Turing-complete smart contracts, along with additional features like privacy and off-chain computation.
A zkApp consist of two components:
- A smart contract (written with SnarkyJS)
- A user interface
The planned integration of zkApps and their use cases paints quite a positive picture for users. Upon a zkApp’s deployment to a host website, users can interact freely with their Auro wallet. When a user interacts with the zkApp and enters any pertinent data (i.e.: buying assets on AMMs), the prover function in the zkApp will generate a zk proof given by the user data. This data is only visible to the user who entered it. The front end process is akin to what users currently are used to with metamask or other browser wallets, the only difference being in the backend. When the Mina network receives the transaction, it verifies that the proof is valid, and updates the zkApp’s state. As all the activity happens locally within a user’s web browser, their privacy is maintained throughout.
With zkApps in mind, Mina is focused on building out three main use cases:
- Online & on-chain end-to-end data privacy [in production]
- Permissionless Web Oracles (zkOracles) [in development]
- One private internet login (zkIdentity) [in development]
Mina boldly claims to be the world’s lightest blockchain, driven entirely by its users, and employs recursive zk-SNARKs to construct a whole blockchain that is roughly 22kb in size (the equivalent of a few tweets). It is the first layer one that allows for the efficient implementation and programmability of zero knowledge smart contracts, called zkApps.
With Mina’s unique privacy features and ability to connect to any website, zkApps create a safe and private bridge between the real world and crypto. By being one of the first to break through and offer a zk-enterprise solution, Mina has certainly positioned itself to be at the forefront of the ever expanding zero-knowledge frontier.
This report is for informational purposes only and is not investment or trading advice. The views and opinions expressed in this report are exclusively those of the author, and do not necessarily reflect the views or positions of The TIE Inc. The Author may be holding the cryptocurrencies or using the strategies mentioned in this report. You are fully responsible for any decisions you make; the TIE Inc. is not liable for any loss or damage caused by reliance on information provided. For investment advice, please consult a registered investment advisor.