IOTA Research Status UpdateDecember 2020
This month our team has continued to see great progress on our major focus at the moment, the Pollen testnet implementation of IOTA 2.0. We are pushing hard to implement the final remaining elements of the specification in what will ultimately be our next major milestone in the delivery of IOTA 2.0: Nectar.
This first full implementation of Nectar, expected sometime in Q1, is a major release from our perspective, because it represents, in essence, our first successful delivery of the theoretical concepts of our Coordicide solution.
For those who have been following along these many months of Coordicide development, we are certain you will understand the significance of and our excitement about this initial full Coordicide implementation. More on this to come soon!
Below we offer our normal group updates, which include some details about our progress in various areas. In addition to the progress outlined below, we had two papers, “On Fairness in Voting Consensus Protocols” and “Committee selection in DAG distributed ledgers and applications” accepted for inclusion in the Computing Conference 2021. We look forward to sharing these papers with the community in due course.
Pollen Testnet Implementation. Last month we released Pollen testnet v0.3.1. The main features of this update are the refactoring of the message structure according to the new Tangle RFC and the addition of a community-based entry node. You can read more about it on our release notes blogpost.
The team has also made progress on the mana branch. We have added a tool to determine how much access mana would be generated if spending funds. We have added a new WeightedMana type for research purposes and refactored BaseMana and BaseManaVector interfaces. Both consensus and access mana have now improved integration tests. We have also focused on improving our research-oriented toolings such as a new mana page to the Pollen Analyzer as well as the ability to color nodes based on their mana. You can read more about this on this Github PR.
The team has focused on optimizing the consensus implementation by introducing FPC statements. The FPC protocol requires nodes to directly query randomly selected nodes for conflict resolution. However, the information produced during such a voting mechanism is not stored in the Tangle, rather only lives within the node’s local metadata. Moreover, when the quorum to query is randomly formed proportionally to mana, the highest mana nodes would need to reply to too many queries, as their probability to be included in the quorum of each node is high. The FPC statement idea is to let each node be free to choose whether to write its opinion on a given conflict and a given FPC round on the Tangle so that other nodes can discover its opinion without directly asking for it. You can read more about this on this spec document.
Another important milestone reached by the team is the implementation of markers. The marker is a tool to infer knowledge about the structure of the Tangle in terms of past/future cone membership. To know whether a message in the Tangle is orphaned or not, we introduce grades of finality to interpret the status of a message. The grade of finality is determined by the approval weight, which is the proportion of active consensus mana approving a given message. Computing the approval weight of a given message requires to traverse the Tangle from the message to the tips and sum up the active consensus mana of all the messages in its future cone. The marker can efficiently estimate the approval weight of a message, thus, reducing the portion of the Tangle we need to walk.
Finally, many members of our community joined together to set up the first IOTA community-based dRNG committee. This is a great achievement and really shows how much our community is a fundamental and integral part of this prototyping process.
Pollen Testnet Study Group. This month, we continued to examine the influence of mana on the autopeering. We are quite satisfied with the results so far, especially regarding Sybil protection and network diameter. A nonscientific, but still illustrative, animation of an unsuccessful Sybil attack on the autopeering can be found here.
We considered two main candidate approaches for how mana should influence the autopeering selection process. Our results show that both approaches are in some sense “equivalent,” and therefore we can use the candidate that is easier to implement and more robust to possible differences in mana perception. More quantitative results can be expected in the future — a thorough study is ongoing, but such an analysis needs an appropriate amount of time.
Networking. In the networking team, we are performing simulations to validate the congestion control mechanism. We are stressing the algorithm under extreme conditions (ring, complete graph) or very powerful attacks (malicious nodes spamming the network and continuous, repeated spamming with multiple nodes). From our extensive simulations, the algorithm has demonstrated itself to be robust against any of these circumstances, and it is ready to be implemented in the Pollen test network. Furthermore, we are researching a way to lower the adoption barrier in Coordicide and to guarantee access to low mana nodes during uncongested periods.
On the VDF front, we are investigating a way to speed up the multi exponentiation operation (crucial operation in the VDF computation) through Montgomery reduction. We have implemented it in Open SSL, and our first results show up to 6x improvements compared to a scenario without the reduction.
Sharding. In the last month, we took a closer look at some second layer solutions, particularly for data. We discussed an idea we are temporarily calling “data sharding” which would greatly increase the amount of data stored on the tangle. In this proposal, people would store most of their data on seperate, second layer tangles. Hashes of messages from these second layer tangles would be posted on the main tangle, securing the data.
We have been carefully writing a proposal summarizing data sharding, so that we can analyse this idea and identify further research questions. We also are discussing the role data sharding will be playing in IOTA’s sharding vision.
If you have any questions or would just like to say hi, you can find our Research team members in the #tanglemath channel on our Discord. You are also welcome to follow and participate in our technical discussions on our public forum: IOTA.cafe.