Pollen Testnet v0.5.0 - Starting our Journey with Mana

Announcements Mar 11, 2021

We are releasing a new version of our Pollen testnet v0.5.0. With this release we officially start our journey with Mana. The first objective is to test the first iteration of the Mana implementation to study its distribution in the Pollen testnet, look for any bugs and, more in general, assess its stability. After this stage we will let our core modules, such as the IOTA congestion control, the Fast Probabilistic Consensus, the autopeering and the distributed Random Number Generator leverage Mana as their sybil protection mechanism.

The full list of changes include:

  • Add Mana (currently not used by any of the modules)
  • Add Mana APIs
  • Add Mana section to the local dashboard
  • Add Mana section to the Pollen Analyzer dashboard
  • Add Mana section to the Grafana dashboard
  • Refactor the Consensus Manager to be independent from the concrete consensus mechanism implemented
  • Improve Tangle visualizer
  • Improve documentation

As for the previous release, this version bump resets the network as well as the Tangle, and all the balances and tokenized assets.
Moreover a new GUI Pollen wallet version has been released here.

This release brings a series of new APIs, a new Mana section on the local dashboard, the Pollen Analyzer dashboard as well as on the Grafana dashboard. Both the GUI and CLI wallets have been updated to allow the user to define the identity of the node as the receiver of the access and consensus Mana pledge of a transaction.

Here a screenshot of the Mana section of the node’s local dashboard:

You can find the documentation of the Mana related APIs and client libs in our wiki as well as here.

In its current implementation, consensus and access Mana are based on Mana1 and Mana2 calculation methods respectively. That means that both follow a moving average but with Mana2 there is also a decay factor. In practical terms, once Mana has been pledged, consensus Mana will increase faster than access Mana due to its decay. Periodically refreshing the access Mana will ensure to keep its value active. We also have a third type of Mana that we want to study. That is a combination of both Mana1 and Mana2, which weight is defined by a coefficient.  

Although the introduction of Mana is clearly the main feature of this release, an equally important change has been made to GoShimmer. We have refactored the Consensus Manager component to be agnostic with respect to the actual consensus mechanisms implemented. In this way, GoShimmer can be seen not only as the IOTA 2.0 prototype but also as a flexible framework for any DAG-based DLT. In fact, any consensus mechanism, such as On Tangle Voting, BFT, leader based and more, can be plugged in as easily as changing just a few lines in the Tangle initialization. We hope that our efforts on delivering and continuously improving this tool, will help other researchers make progress in the DLT space.

With the Mana module being successfully implemented, the next stage of our Coordicide testnet called “Nectar”, our first feature-complete Coordinator-free testnet, is around the corner. The team is already working on the remaining features such as message finality via approval weight, reorganization, snapshots, timestamp voting and the integration of Mana with our core modules.

We would like to thank our entire community for their help and support. As always, we welcome your comments and questions either here on Medium or in the #tanglemath channel on our Discord. You can also join in the #goshimmer-discussion on Discord.