When building blockchains, developers often have to make trade-offs between scalability, decentralization and security, which are three desirable attributes that are seemingly incompatible when implemented under one protocol.
For most projects, only two ingredients can fit together, forcing projects to make compromises. This phenomenon is known as the blockchain trilemma, which was originally coined by Ethereum co-founder Vitalik Buterin as the scalability trilemma.
Bitcoin uses a proof-of-work (PoW) consensus mechanism, which is decentralized and secure, but unfortunately lacks scalability. Ethereum is currently moving from PoW to proof-of-stake (PoS), which is supposed to scale better, but the original smart contract network has yet to achieve a high level of scalability — especially when considering the current astronomical gas costs required to interact with its DApps. Another top five coin has similar problems — the XRP ledger scales very well, but it has been heavily criticized by the crypto community for its lack of decentralization and reliance on Ripple, its issuing company.
What Is Mina Protocol?
Mina Protocol is a minimal “succinct blockchain” built to curtail computational requirements in order to run DApps more efficiently. Mina has been described as the world’s lightest blockchain since its size is designed to remain constant despite growth in usage. Furthermore, it remains balanced in terms of security and decentralization. The project was rebranded from Coda Protocol to Mina in October 2020.
The Mina network has a size of only 22 KB, which is miniscule when compared to Bitcoin’s 300 GB blockchain.
What Is Mina Protocol’s Main Objective?
Mina is working on achieving an efficient distributed payment system that enables users to natively verify the platform right from the genesis block. Its technical whitepaper calls this a “succinct blockchain.”
The protocol uses Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge (zk-SNARKs), a cryptographic proof that enables someone to authenticate information without revealing said information. However, enabling a user to trace the platform back to its genesis block can be impractical in a large network. As such, Mina incrementally computes SNARKS that concentrate only on the last few blocks — meaning that end-users check that zk-SNARK-compressed proof, instead of a block’s entire transaction history.
At the heart of Mina protocol is MINA, its native currency, which functions as a utility coin and medium of exchange.
How Does Mina Protocol Function?
Mina is similar to Bitcoin, apart from how it handles transactions, but also employs the account model used in Ethereum.
In this respect, the difference between Bitcoin and Ethereum is that the state of the Bitcoin blockchain contains a list of unspent coins, while Ethereum’s state is made up of account balances.
Mina, on the other hand, uses a prover (or snarker, if you will), an equivalent of a miner, to ensure each block commits to the state.
Mina employs the Ouroboros Samasika, a type of PoS mechanism specially designed for succinct decentralized networks since it provides bootstrapping from a genesis block.
Succinct blockchains contain two major functions: verify and update. Verification touches on consensus, blockchain summary and blocks, while the update function interacts with consensus and chain summary.
Apart from the above implementations, the project uses a parallel scan state to optimize transaction processing speed, which works by grouping unproven blocks and assigning the process to parallel provers.
Major Mina Protocol Participants
Mina is all about revolutionizing the current blockchain landscape where most platforms have verifiers such as miners/stakers and light clients who act as third parties when verifying transactions.
Mina takes a different approach by having multiple participants, each handling a specific function on the decentralized network.
The three major roles include verifiers, block producers and snarkers.
Verifiers interact with zk-SNARKS that deal with certifying the consensus information. Each Mina protocol user is considered a verifier, provided that their devices can handle a 22 KB chain and withstand a few milliseconds of processing time.
Block producers take the form of stakers or miners and earn block rewards and transaction fee payments. Interestingly, the protocol doesn’t slash incentives that go to block producers. This category of participants allows Mina users to delegate their coins to them.
Apart from bundling transactions into blocks, block producers also have to SNARK an equivalent number of previously committed trades as failure to do so during block production would lead to incomplete blocks and other nodes rejecting their validity.
If a block producer wants to incorporate 10 transactions on the chain, they must also SNARK trades from the front of the queue. However, they have the option to produce the SNARK or use those generated by a special group of participants called snarkers.
Snarkers, also known as provers, produce zk-SNARKs used in verifying transactions.
Block producers pay snarkers from the overall transaction fees they receive for adding new blocks. However, to qualify for the fees, they have to post bids. Note that a snarker’s zk-SNARK needs to be used in a block while the block producer who uses it is responsible for incentivizing the snarker.
This creates a business economy where multiple snarkers can post bids tied to the same transaction. Block producers, on the other hand, are in for the profits and will choose the bid with the lowest fees. Consequently, snarkers are challenged to produce low-cost SNARKS.
How Transactions Happen On Mina
Let’s take a closer look at the course a transaction goes through before finding a permanent record on the Mina blockchain.
- The process starts with a user initiating a transaction, after which the trade goes to the mempool, a pool of valid but unconfirmed transactions.
- Next, snarkers take over by making proofs or SNARKS. The process follows with the selection of a block producer (BP) to bundle transactions into a block. Note that a BP sifts through the mempool for profitable transactions.
- Then, the BP chooses a SNARK according to the rules in the consensus mechanism.
Note that a block producer scans through the bids for the lowest-priced SNARK. In addition, recently added transactions have an updated SNARKS order book.
- Next, it’s time to incorporate the SNARKS in a block, then add the block to the chain and update the network. Snarked transactions are removed from the chain to help keep the size of the protocol constant.
- Then, the block producer upgrades the protocol’s zk-SNARKS.
- Finally, the new block becomes immutably part of the chain.
The use of zk-SNARKS allows the verification of the Mina protocol’s state without exposing the blockchain’s contents, consequently offering a censorship-resistant platform.
Furthermore, zk-SNARKS immensely contribute to maintaining a constant-size network, which allows scalability, security, and decentralization.
The presence of various critical participants such as snarkers, block producers and verifiers helps keep different protocol functions streamlined.