From the DST team, we already checked the impact of IDONTWANT messages in nimlibp2p. This was introduced from 1.2 version to onwards, where it can be seen that for large message sizes (ie 50KB+) there is a bandwidth reduction.

In order to test this in gowaku, we planned the following two scenarios:

  1. A mesh of 1000 nodes, 500 nwaku and 500 gowaku nodes. Nwaku supports IDONTWANT messages, but gowaku does not.
  2. A mesh of 1000 nodes, 500 nwaku and 500 gowaku nodes. Both nwaku and gowaku supports IDONTWANT messages.

Hypothesis: If we inject messages with sizes like 50KB, we expect to see a higher bandwidth consumption in case 1.

Analysis:

Simulation workflow:

The bandwidth consumption will be gathered through the metric libp2p_network_bytes_total.

For the duration of the simulation, we will get the average bandwidth consumption per node, and plot it in a boxplot. The number displayed is the median.

Results: