We have described numerous novel concepts so far. But a consensus mechanism based on cumulative weight, and secured by the tip selection algorithm alone, still exposes IOTA to mining races.
To overcome this issue, we propose an additional layer of security where nodes exchange opinions by voting. There has been a significant body of research over the years on voter models. In probabilistic models a node requests the opinion of a small number of other nodes over multiple rounds, and possibly changes its own opinion. In the 70s voter models were introduced independently by Holley/Liggett and Clifford/Sudbury (https://projecteuclid.org/euclid.aop/1176996306 and https://academic.oup.com/biomet/article-abstract/60/3/581/217208), and there has been an enormous amount of related work since then.
The introduction of a voting mechanism brings multiple benefits:
- Instead of waiting until the situation resolves itself with more and more issued transactions, we let the nodes talk to each other and resolve the situation proactively.
- A node’s vote is weighted according to the amount of mana it holds. Therefore good actors are able to have a larger influence on the network.
- Honest nodes secure the network by voting even if they are currently not issuing any transactions. Combined with the proposed Sybil protection mechanism (mana), this replaces the constant honest hashing power in blockchain, without any reliance on PoW.
- The consensus process is decoupled from other aspects like tip selection or the structure of the Tangle. This makes for a modular DLT that can easily be adapted to fit future requirements. It also prevents all forms of attack that manipulate the Tangle’s structure to break the consensus mechanism, including the most dangerous attacks described in the white paper, like parasite chain attacks.
The main drawback of traditional voting schemes is that they do not scale very well; they require precise knowledge of all network participants and have a high message overhead.
We introduce Shimmer: a voting scheme that overcomes the issues faced by traditional voting schemes.
In the following sections, we describe the current state of voting research, by presenting two candidates for vote exchange within Shimmer, and how consensus can be achieved:
- “Cellular Consensus”, which mimics the behavior in a cellular automaton, and
- “Fast Probabilistic Consensus”, which gives strong security guarantees using probability theory.