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

Crosslink heartbeat verify through current committee #4673

Merged
merged 5 commits into from
May 28, 2024
Merged

Conversation

Frozen
Copy link
Contributor

@Frozen Frozen commented May 21, 2024

Crosslink heartbeat verify through current committee

@Frozen Frozen self-assigned this May 21, 2024
@sophoah
Copy link
Contributor

sophoah commented May 23, 2024

PR Explanation:
In current dev shard 0 node are signing the crosslink heartbeat with the current leader private key, however upon processing the heartbeat shard 1 is verifying the public key by using the epoch number in the heartbeat hb.epoch(). In normal situation it usually works fine since hb.epoch() and cur.epoch() will be the same or more or less 1 epoch difference. However, in cases where the crosslink wasn't processed for a long time, the leader in hb.epoch() may not have been elected. It will be especially true in the future with external leader rotation when external validator can be kick out from committee due to low signature rate.

This PR is takes the assumption that the heartbeat has to be processed as soon as they are sent, and making sure it is sent by a valid/elected validator should be enough for now

@GheisMohammadi GheisMohammadi self-requested a review May 23, 2024 11:47
@sophoah
Copy link
Contributor

sophoah commented May 27, 2024

@Frozen can you review the conflict and @GheisMohammadi comment

@ONECasey ONECasey merged commit a7560fe into dev May 28, 2024
4 checks passed
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

Successfully merging this pull request may close these issues.

None yet

4 participants