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

A0-2583: Prevent reaching max round too fast #312

Merged
merged 9 commits into from
Jun 26, 2023

Conversation

woocash2
Copy link
Contributor

@woocash2 woocash2 commented Jun 9, 2023

Add a function which can be used to check whether reaching the maximum round takes large enough amount of time. The function is not called in AlephBFT as various projects which use aleph-bft may expect different delays. Instead the function is publically exposed to be called in the project which uses AlephBFT.

Tests:

  • checked that ordering and blockchain examples work well
  • checked that aleph-node (after needed changes) works with this version of AlephBFT (but turned out we also need to make default_delay_config public)

round takes large enough amount of time. The function is not called
in AlephBFT as various projects which use aleph-bft may expect
different delays. Instead the function is publically exposed
to be called in the project which uses AlephBFT.
@github-actions
Copy link

github-actions bot commented Jun 9, 2023

Please make sure the following happened

  • Appropriate tests created
  • Infrastructure updated accordingly
  • Updated existing documentation
  • New documentation created
  • Version bumped if breaking changes

@woocash2 woocash2 changed the title A0-2583: Prevent reaching max round too soon A0-2583: Prevent reaching max round too fast Jun 9, 2023
Copy link
Contributor

@timorl timorl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool.

consensus/src/config.rs Outdated Show resolved Hide resolved
consensus/src/config.rs Outdated Show resolved Hide resolved
consensus/src/config.rs Outdated Show resolved Hide resolved
* Fields of Config changed to pub(crate) so they are private in perspective of the user outside of the crate
* The only way to create a Config from the outside is to use create_config function
* create_config takes optional max_round and delay_config which have default values
* argument time_to_reach_max_round has to be passed to create_config and it is used to perform the check
* the check always happens when create_config is called.
Adjusted other crates in AlephBFT which use Config
Copy link
Contributor

@timorl timorl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some complaints about the interfaces.

consensus/src/config.rs Outdated Show resolved Hide resolved
consensus/src/config.rs Outdated Show resolved Hide resolved
consensus/src/config.rs Outdated Show resolved Hide resolved
@woocash2 woocash2 requested a review from timorl June 26, 2023 10:25
@woocash2 woocash2 requested review from DamianStraszak and removed request for DamianStraszak June 26, 2023 12:24
@woocash2 woocash2 merged commit 36cebee into main Jun 26, 2023
@woocash2 woocash2 deleted the A0-2583-prevent-reaching-max-round-too-fast branch June 26, 2023 13:51
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.

3 participants