This month, we've seen new releases of our Pollen Testnet, as well as continued progress on verification of our core protocol as we ramp up for the release of Nectar.
With the “Nectar” stage of our Coordicide implementation ahead of us, our team is currently wrapping up the last few bits of research needed to achieve that milestone. At this point, the remaining work is primarily related to optimizations, and we will continue to use data gathered from Pollen to implement any required changes. Nectar will be our first fully functioning Coordicide implementation, so we want to make it as robust as possible from the start, with an eye to continue optimizing as we use and learn from the network together.
In addition to our research and testnet implementation progress, we are excited that Billy Sanders has taken on a leadership role as Director of Research. Serguei Popov will continue to play a very active role on the Board of Directors and in day-to-day research. Since Billy was already involved in much of the decision making, and Serguei is still active in the department, this transition has had little effect on departmental operations. Thus our team has continued this month to make progress on all fronts.
Below are updates from our several research groups:
Pollen Testnet Implementation. The team has rolled-out two releases, v0.3.6 and v0.4.0, completing the refactoring of the Tangle with the merge of the Value Tangle and the introduction of improved components such as the solidifier, ledgerstate, booker, opinion former as well as the new scheduler that are all part of the newly redesigned flow at the core of the Coordicide protocol.
As presented in the Pollen testnet release notes, each component can be seen as a black-box, and the interaction among them happens via events. Precisely, the flow starts from either the gossip or the MessageFactory. Then, the Parser will take care of validating the structure of the messages. The Storage component stores the messages as well as their metadata into the DB, and creates the Tangle structure. The solidifier makes sure to request all of the missing messages, and ensures that the Tangle grows monotonically in terms of message timestamps.
The Scheduler schedules messages that then go into the Booker and are booked. If a message contains a transaction as its payload, then the Booker runs a sequence of checks (e.g. signature validity, balance validity, double spend) and books the transaction into the corresponding reality. The OpinionFormer determines the message and payload opinion with FCoB and runs the voting via FPC (statements) if necessary. Finally, depending on the outcome of the messages’ opinion and its past-cone like status, liked messages are added to the Weak or Strong Tip set, respectively.
These changes as well as new optimizations such as the markers integration and the efficient past/future cone membership checks, allow us to progress with the mana integration into our prototype.
Specifically, mana will be integrated in incremental steps. The initial release will contain both access and consensus mana but none of the modules will use it. Visualization and analysis tools will allow us to first study its dynamics and learn its distribution in the testnet. That is an important step to tune its parameters and start integrating it into the various components, such as congestion control, consensus, finality and dRNG.
Protocol. The protocol group now is using its resources to manage the progress of the new specifications project, that is born from the efforts into making a draft that started last year together with the brand new research developed since then. We will still have some research done and shared, but in a less frequent manner since most of our theoretical problems have been resolved.
Last month the group worked on the “Number of Parents” problem. For a while now, we have considered the idea of increasing the number of approvals that a message does from 2 to a larger value k. We are considering how this may affect orphanage rate, finality time and the possibility of a very strong user utilizing many nodes (to bypass rate control defense) attempting to carry out an approval attack that inflates orphanage artificially. We are still looking at other perspectives but luckily the increase of approvals is extremely effective against this kind of attack. We expect to have a proper document with all the studies and simulations we are doing about this by the next update!
Specifications. It has been some time since the first draft of specifications was made, and the research on Coordicide evolved to get the system to become more simple and robust. Of the important changes we can cite the fusion of the Message Tangle with the Value Tangle, the creation of the approval switch approach, the definition of the approval weight metric (a new tool that uses the former confirmation confidence and mana to determine finality), the introduction of markers and epochs as well as the refinement of many components.
All of this gave us a sign that, together with the experience of the first draft from last year, it was time to go back to the specifications and make something that is ready to be shared with the community, get external validation as well as vetting according to other rigorous criterias of standardization.
At the outset of this project, we re-structured the components that will compose Coordicide, and decided on writers, deadlines and methodology. Everyone is now giving it their all to get a much higher quality result. We expect to have something to share with everyone around the next update!
Pollen Testnet Study Group. The last month revealed once again that writing academic papers is not only an exercise in “writing for a paper,” but it is helpful for clarifying one’s own thinking and understanding of a topic. In our example, we started to write up the research paper on our autopeering proposal. During fruitful discussions and questioning of all elements we obtained not only a much better understanding but also came up with improvements. Besides this research focused task, during this past month we continued to analyze the current implementation and identified some minor issues which are now being addressed.
Networking. This month we evaluated the impact of changes in mana on the congestion control mechanism. Simulations show that our algorithm reacts quickly to such changes when mana is computed according to a moving average. However, when mana suddenly decreases, the mana-scaled inbox length of the node increases accordingly. Since the inbox length is the key metric for blacklisting malicious behavior, we are currently designing a way that guarantees that false positive blacklisting for honest nodes does not occur.
Furthermore, we are happy to announce that the paper “Access Control in Adversarial Environments for IoT-oriented Distributed Ledgers” has been accepted to be presented at the 7th IEEE/IFIP Workshop on Security for Emerging Distributed Network Technologies (IM 2021/DISSECT). The paper describes our congestion control algorithm which will be used in IOTA 2.0 (“Coordicide”).
Sharding. As discussed in the previous update, we are currently working on the data sharding white paper, prior to a more formal announcement about the subject. Through writing this paper, we are filling in the details on the solution and are better understanding the fundamental challenges. For example, we already have a much better idea of how to model the possible throughput that the data sharding solution will enable. Data sharding appears to be robust against all attack vectors that we have discussed. The simplicity of the solution will allow it to be flexible and the implementation will be, relatively speaking, much easier than say Coordicide.
We hope to have the white paper done at the end of April, and we aim to release it sometime after the Nectar release. This plan will give us plenty of time to create a clear and detailed document while also allowing us to also focus on developing Nectar and the specifications.
We hope our readers find these updates informative and useful for following along with the department’s progress.
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.