IOTA’s current consensus mechanism is based on honest nodes picking up transactions that are yet to be validated and attaching those to the Tangle (IOTA’s DAG – or Directed Acyclic Graph). In order to make the process work, a central coordinator is needed to avoid misbehaviour from any participating nodes, like double-spending and Sybil attacks.
To further promote decentralisation among its DAG network, the IOTA Foundation has decided to remove its coordinator by adding a voting incentive system for nodes to be honest. Also, to make the process work, nodes need to approve transactions that are accepted by other nodes in order to receive what IOTA calls “mana”, which can be used as a weight by nodes to vote on conflicting transactions.
Instead of reconstructing the opinion of every other node, the Shimmer consensus mechanism only cares about the opinions of a very small subset of nodes, and consensus can be formed organically as an emergent property of the network.
It is important to note that nodes won’t need to vote on every transaction. Transactions that have no conflicts with any other transaction can be considered ‘liked’ based on local modifiers alone (like after a certain time has elapsed). Votes are only required to resolve conflicts and edge cases.
Nodes will reject votes that ‘prefer’ two conflicting subtangles at the same time. This forces nodes to decide on a sole survivor. Nodes that violate this rule may be ignored and permanently dropped as neighbours, forcing the network to behave accordingly.
Two alternative voting mechanics are being looked at by the team:
- “Cellular Consensus”, which is modelled as a cellular automaton and adjusts behaviour accordingly, and
- “Fast Probabilistic Consensus”, which gives strong security guarantees using probability theory.
In Cellular Consensus, the voting process is modelled as a cellular automaton, where nodes can be thought of as cells that monitor the states of their neighbours and adjust their opinion accordingly.
This approach has a number of compelling features that have not been seen in any other permissionless consensus mechanisms, such as its asynchronous nature, the simplicity of its implementation, the efficiency of its message overhead, the speed at which it reaches consensus, and its attack resilience.
While emergent phenomena are very common in biological systems and have been proven to work well in practice, it is extremely difficult to model them mathematically due to their inherently chaotic and complex nature. According to the IOTA Foundation team:
“The approach’s biggest drawback is therefore the complexity of formalizing its scientific proofs. It would be necessary to thoroughly study Cellular Consensus in a testnet environment before it could be deployed on the mainnet.”
Fast Probabilistic Consensus (FPC)
The basic principle of FPC is quite similar to Cellular Consensus, but rather than asynchronously casting votes between neighbours in parallel, the voting process is split into separate rounds. In each round, every node selects a new random subset of other nodes and queries their current opinions.
A node’s opinion is then formed according to the majority of returned opinions. However, the notion of “majority” here fluctuates. Instead of using a fixed threshold of 50%, this consensus mechanism uses a threshold derived from a decentralised random number sequence. Selecting a global but unpredictable threshold allows the FPC to defend against an attacker that wants to delay consensus.
After a certain number of voting rounds in which a node does not change its opinion, the opinion can be considered finalised and does not require any further voting. This number can be chosen in such a way that the probability that the entire network has achieved consensus is arbitrarily high.
Therefore, Fast Probabilistic Consensus gives us an approach that is guaranteed to achieve consensus after a small number of rounds and with a small set of sampled nodes, thereby fulfilling the required conditions for any voting process using Shimmer.
While IOTA’s new paper and ideas look incredible, I still urge caution to investors as this new consensus model is yet to be implemented. I believe if IOTA is able to deliver as promised and successfully remove its coordinator while at the same time achieving a higher degree of decentralisation keeping the same security, there is absolutely no reason why this DAG-based protocol would not be adopted by the majority of IoT developers, producers, and supporters.