-
Notifications
You must be signed in to change notification settings - Fork 208
Description
This issue comes from the work that ProbeLab has recently done analysing the performance of the IDONTWANT messages in the Ethereum network using hermes, which is also related to the contribution done to #611 and could benefit from such a multi-stream refactoring on GossipSub.
One of the issues of the current implementation is that we are not keeping track of the ongoing RPCs. This includes the IWANT messages that we are sending for the same message ID, which leads to multiple redundant requests per message ID (check the ongoing discussion at #606 ). Whether we should limit or not the number of messages that we send should be discussed in the other Issue. However, we should enable the IDONTWANT messages to cancel ongoing IWANT requests as well.
The following graphs, taken from that same study (the report will be public soon), show:
- The CDF of the elapsed time between when we sent the
IWANTmessage, and the first arrival of the same message ID
- The CDF of the elapsed time between the sent
IWANTmessage to a peer and the arrival of the duplicate from that peer on the same message ID.
We can appreciate from both figures that 60% of the IWANTs are getting requested 10 or fewer milliseconds before the message arrival, which then takes over 500ms till we download the message from the remote peer. This indicates that we could clearly prevent receiving those duplicates caused by IWANTs sent slightly sooner than the message mesh propagation.

