Nodes must reach a consensus on which messages can be included in the ledger and which cannot. For example, in the case of a double spend only one message should be included at most. To enable an efficient voting system for the inclusion state of messages we leverage the DAG data structure of IOTA (also called Tangle).
In addition, under certain strong Byzantine conditions it may be possible that metastable states are created, where nodes are locked in a vote for an extensive time. To overcome this we integrate a metastability-breaking mechanism similar to fast probabilistic consensus (FPC) (FPC-BI: Fast Probabilistic Consensus within Byzantine Infrastructures (PDF).
Although this approach has the potential to drastically increase the performance of consensus finding, it is a complex topic that requires efficient algorithms to distribute and count the votes. Furthermore, theoretical and numerical results on the safety and efficiency of these consensus components are important for an optimal implementation. This includes robustness towards variations of the network topologies, Byzantine resistance, effective implementation of reputation-based systems, and game theoretic aspects.