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

blockchain: fix the write known block check #404

Merged
merged 1 commit into from
Apr 3, 2024

Conversation

minh-bq
Copy link
Collaborator

@minh-bq minh-bq commented Feb 20, 2024

Before commit bf2f0d1 ("blockchain: fix inconsistent reorg behavior"), the write known block only checks the if the external total difficulty (TD) is higher than local one without following the fast finality rule, so it can reorg an justified block. That commit replaces the check with reorgNeeded function to enforce the fast finality rule. However, the reorgNeeded function does not strictly enforce that the external TD is higher than local one, it allows that the external TD may be equal to the local one. This leads to warning with an impossible reorg case.

This commit adds back the TD check combining with the reorgNeeded function to correcly enforce the rule here.

Fixes: #403

Before commit bf2f0d1 ("blockchain: fix inconsistent reorg behavior"), the
write known block only checks the if the external total difficulty (TD) is
higher than local one without following the fast finality rule, so it can reorg
an justified block. That commit replaces the check with reorgNeeded function to
enforce the fast finality rule. However, the reorgNeeded function does not
strictly enforce that the external TD is higher than local one, it allows that
the external TD may be equal to the local one. This leads to warning with an
impossible reorg case.

This commit adds back the TD check combining with the reorgNeeded function to
correcly enforce the rule here.
@minh-bq minh-bq merged commit 72da4b0 into axieinfinity:master Apr 3, 2024
1 check passed
@minh-bq minh-bq deleted the fix/known-block-check branch April 3, 2024 04:31
Francesco4203 pushed a commit to Francesco4203/ronin that referenced this pull request Jun 18, 2024
Before commit bf2f0d1 ("blockchain: fix inconsistent reorg behavior"), the
write known block only checks the if the external total difficulty (TD) is
higher than local one without following the fast finality rule, so it can reorg
an justified block. That commit replaces the check with reorgNeeded function to
enforce the fast finality rule. However, the reorgNeeded function does not
strictly enforce that the external TD is higher than local one, it allows that
the external TD may be equal to the local one. This leads to warning with an
impossible reorg case.

This commit adds back the TD check combining with the reorgNeeded function to
correcly enforce the rule here.
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.

latest version errors? in logs.
2 participants