Mana: a scarce resource system key to the post-coordinator IOTA consensus model
The full article was originally published by Daniel De Michele on Medium. Read the full article here.
This post aims to explain what mana is since this Coordicide feature is essential for the IOTA consensus model to work correctly once the Coordinator is turned off. It must be taken into account that most of the concepts reviewed here are product of a work in progress, so even when they are part of the Coordicide whitepaper they only reflect the current research status.
If you didn’t read “A simple explanation of how the IOTA Foundation will decentralize its consensus mechanism” it might be a good idea to spend a few minutes on it as it explains some of the concepts referenced in this post.
Mana is a mechanism designed to deal with Sybil attacks and guarantee that consensus outcome reflects the right decisions while voting on two conflicting transactions. Next, we will try to explain what Sybil attacks are and some of the systems that exist to deal with it.
Understanding Sybil attacks
One of the most known security issues in peer-to-peer (P2P) networks -in which peers communicate to exchange information and arrive at decisions- is the creation of fake identities to manipulate the outcome of the decision-making process.
On P2P networks that allow the creation of identities without much effort, attackers can introduce multiple identities that will be seen as honest participants from the perspective of existing peers. Once these fake identities have been introduced, they can be used to manipulate the process of arriving to some consensus regarding whatever data the network transacts.
Sybil attacks can be used as stepping stones to other attacks such as Eclipse attacks, where malicious actors manage to isolate a node’s communication with honest nodes, blocking peer information and altering its vision of the network.
Some mechanisms to deal with Sybil attacks
On P2P networks Sybil attacks are overcome by having participants doing some task that demonstrates their honesty as peers (Proof of Work) or by checking the possession of a certain finite scarce resources (Proof of Stake, Proof of Scarcity) in order to introduce a new identity.
This way, to forge identities has a cost that usually is too high compared to what someone could gain from such an attack. In Bitcoin, for instance, the amount of computational power needed to forge identities and influence consensus to attack the network costs way more than what an attacker could obtain by doing so.
Let’s briefly review some of the methods used on P2P networks to protect against Sybil attacks.
Proof of Work (PoW)
With PoW, P2P networks get some protection from Sybil or Spam attacks by requesting the completion of a task that involves computational power. PoW is used by Bitcoin and other mined coins. Because it requires a lot of computational power and IOTA tailors to the needs of the Internet of Things, this system is not suitable as a protection mechanism.
Proof of Stake (PoS)
In PoS systems, consensus relies on a committee of nodes that are selected based on the amount of tokens they own (stake). Voting is in the hands of a few participants that lock their staked funds as collateral while each participant assist in arriving to a consensus. Proof of stake allows to achieve consensus without mining (PoW) but the node operators work requires some sort of incentive, so PoS based system will commonly have some sort of fees.
Proof of Resource (PoR)
Like Proof of Stake, PoR relays on some scarce resources that network participants need to have in order to prove their honesty. This resource can be represented by anything that involves some sort of effort to get it: PoR can be computational work such as in PoW or staking of a finite resource gained by doing tasks that are aligned with operating the network. Some examples of this could be PoMemory or PoDiskSpace.
The mana system
We can think of mana as a parallel reputation token to the IOTA token, that is held by addresses at a rate proportional to the stake they hold. This is known as pending mana, and it will be pledged to nodes becoming mana on value transactions.