+
Skip to content

Conversation

Frozen
Copy link
Collaborator

@Frozen Frozen commented May 21, 2024

Crosslink heartbeat verify through current committee

@Frozen Frozen self-assigned this May 21, 2024
@Frozen
Copy link
Collaborator Author

Frozen commented 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
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.

4 participants

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载