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

Delay finality certificate exchange if we believe we'll receive one from GPBFT #588

Open
Stebalien opened this issue Aug 26, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@Stebalien
Copy link
Member

Right now, the finality certificate exchange tries to predict the interval at which GPBFT will make decisions. It then polls peers for certificates whenever it doesn't receive a decision before the predicted interval elapses.

Unfortunately, this means we often end up aligning our predicted interval exactly with the decision interval, polling for certificates even when we won't need them (are about to receive a decision). Instead:

  1. If we aren't following along with GPBFT, we should maintain the current behavior.
  2. If we expect to receive a decision from GPBFT directly, we should delay until twice our predicted interval before polling. Afterwards, we should poll once per predicted interval until we start receiving certificates from GPBFT again.

Motivation: Reduce bandwidth/CPU usage. At the moment, this likely isn't a huge issue because GPBFT itself is much more bandwidth intensive than the certificate exchange protocol. But it's something we should look into eventually.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

1 participant