- The IOTA Foundation has released the distributed random number generator (dRNG) with the new Pollen testnet version 0.3.0.
- At the start of v.0.3.0 there are three committees defined by the IOTA Foundation: Pollen, X-Team and Custom.
After the IOTA Foundation had already announced it last week, yesterday it was finally ready. With the release of the Pollen testnet version 0.3.0 the distributed random number generator (dRNG) has been released for the first time, thus integrating another important component of Coordicide (IOTA 2.0) into the testnet. As stated in the release, support for several dRNG committees (Pollen, X-Team and Custom) has been added.
The dRNG (distributed Random Number Generator) is needed in the context of the Fast Probabilistic Consensus (FPC) to resolve potentially conflicting transactions by having the dRNG vote on them. In other words, the FPC requires a random number generator to make the consensus model more resistant to an attack in which the nodes in the network constantly change their mind about a particular transaction and therefore cannot complete it.
As Angelo Capossele, a senior research scientist at the IOTA Foundation, explained, there were several options for implementing the dRNG: verifiable secret disclosure and threshold signatures, cryptographic sorting, and verifiable delay functions. However, after reviewing some existing solutions, the IOTA Foundation decided to implement a variant of the Drand protocol, which is currently being developed by the Drand organization.
The protocol has already been used by other projects like The League of Entropy and works in two phases: “Setup” and “Generation”. Capossele describes the procedure as follows:
In the setup phase, a set of nodes, called a committee, run a distributed key generation (DKG) protocol to create a collective private and public key pair shared among the members of the committee. […]
This result, called dRNG beacon, is published in the Tangle by each committee member so that all of the IOTA nodes can verify the validity of the new randomness against the collective public key. Then, the committee moves to the next round and reiterates the above process.
The integration of the dRNG into IOTA’s Coordicide
With regard to the future integration of dRNG in Coordicide, Capossele said the biggest challenge is defining which nodes form the committees. With the launch of the Pollen testnet, there will initially be three committees defined by the IOTA Foundation: Pollen, which will be managed by the GoShimmer team, X Team, which will be managed by community, and Custom, where each user can create their own committee.
For Coordicide, however, it is necessary to define how the Drand protocol will be integrated into IOTA. According to Capossele, one approach could be to select the nodes with the highest mana and update the selection of the committee from time to time.
Since there is no perfect consensus on mana and different nodes can have different mana values, we require all nodes interested in the committee participation to prepare a special ‘’application’’ message which determines the value of mana of a given node. Then the committee is formed from the top n highest mana holders candidates.
Such a committee would be updated periodically, to account for nodes going offline and changes in mana. Alternatively, a prefixed committee can be selected, for instance, the community could vote on which node should be part of the committee. Ideally, IOTA will have different committees, each of one with a recommended priority, so that the network can freely decide which one to follow.
In addition to the integration of the dRNG, the new version of the Pollen testnet includes many other features and improvements. An overview can be found in the IOTA Foundation blog post on the release of v0.3.0.