TL;DR: We describe what we learned from the IOTA 2.0 DevNet, focusing on the consensus mechanism. We explain how we can improve the protocol by streamlining the FPC voting process via a mechanism we call On Tangle FPC on a set (OTFPC).
At the IOTA Foundation, engineers and researchers work very closely with each other, often within the same team, following an agile methodology. The approach is pragmatic and simple:Define the problem Brainstorm ideas to solve the problem Transform promising ideas into solutions Explore the solutions with a variety of methodologies and different angles: analytically, via simulations, via experiments Synthesize the collected data and gather the lessons from point 4 and use them to improve the solution
One of the best examples of this approach is GoShimmer, the research prototype running the IOTA 2.0 DevNet. Its main purpose is to turn ideas coming from research into a working implementation so that we can evaluate important aspects such as feasibility, protection against different attacks, performance, as well as fixing bugs on the way.
The release of the first iteration of the IOTA 2.0 DevNet marked a very important milestone for the Coordicide project, as we now have the chance to see, experience, and analyze the prototype of our fully- decentralized solution. What we learned is already helping to improve what we have built so far. This blog post focuses on the consensus mechanism and how we can improve the protocol by introducing On Tangle FPC (OTFPC).
The IOTA 2.0 consensus mechanism is designed to be permissionless and leaderless. At its core, it combinesa binary voting protocol (FPC) as a pre-consensus and metastability breaker (i.e. forces the system into a decision), and a virtual voting protocol or approval weight (AW) that provides finality similar to the longest chain rule in Nakamoto consensus (i.e. heaviest branch).
The combination is necessary for two reasons. First,...