Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Report Peers to punish unusually slow heartbeats #1348

Closed
MitchTurner opened this issue Sep 5, 2023 · 1 comment
Closed

Report Peers to punish unusually slow heartbeats #1348

MitchTurner opened this issue Sep 5, 2023 · 1 comment
Assignees

Comments

@MitchTurner
Copy link
Member

MitchTurner commented Sep 5, 2023

We don't want to ban a peer just for being slower than the other peers. There is a risk of banning good peers if we do that too much. But we want to keep an eye on super slow peers or those that have stopped sending heartbeats.

@MitchTurner MitchTurner self-assigned this Sep 7, 2023
MitchTurner added a commit that referenced this issue Sep 15, 2023
#1348

In order to track peer heartbeats, this PR adds two new things:

- A concept of a rolling/moving average for the time between heartbeats
for each peer
    - This is updated every time a heartbeat is sent from that peer
- A regular timeout in the P2P `Task` that will check peers for good
heartbeat behavior

_Originally I was looking at just reporting on heartbeat, but if a peer
never reported then they would be exempt from checks_

There are ~3~ 2 cases in which we will want to punish peers for their
heartbeat behavior:

- ~They have never sent us a heartbeat~ (If we treat the setup as the
first heartbeat, then we can merge this with the next 👇)
- They haven't sent us a heartbeat in a long time
- They are sending heartbeats very sporadically

We can also use this data to determine which peers are performing the
best

---------

Co-authored-by: Brandon Kite <brandonkite92@gmail.com>
@MitchTurner MitchTurner changed the title Report Peers to punish unusually slow heartbeats or reward unusually fast heartbeats Report Peers to punish unusually slow heartbeats Sep 19, 2023
@xgreenx
Copy link
Collaborator

xgreenx commented Sep 26, 2023

Fixed with #1356

@xgreenx xgreenx closed this as completed Sep 26, 2023
crypto523 pushed a commit to crypto523/fuel-core that referenced this issue Oct 7, 2024
FuelLabs/fuel-core#1348

In order to track peer heartbeats, this PR adds two new things:

- A concept of a rolling/moving average for the time between heartbeats
for each peer
    - This is updated every time a heartbeat is sent from that peer
- A regular timeout in the P2P `Task` that will check peers for good
heartbeat behavior

_Originally I was looking at just reporting on heartbeat, but if a peer
never reported then they would be exempt from checks_

There are ~3~ 2 cases in which we will want to punish peers for their
heartbeat behavior:

- ~They have never sent us a heartbeat~ (If we treat the setup as the
first heartbeat, then we can merge this with the next 👇)
- They haven't sent us a heartbeat in a long time
- They are sending heartbeats very sporadically

We can also use this data to determine which peers are performing the
best

---------

Co-authored-by: Brandon Kite <brandonkite92@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants