-
Notifications
You must be signed in to change notification settings - Fork 9
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
Fork choice specs and implementation issues: blocks #191
Comments
ericsson49
added
question
Further information is requested
spec
Changes related to spec
labels
Sep 17, 2019
ericsson49
changed the title
Fork choice specs and implementation issues
Fork choice specs and implementation issues: blocks
Sep 17, 2019
Merged
eustimenko
added a commit
that referenced
this issue
Sep 20, 2019
ericsson49
added a commit
that referenced
this issue
Nov 4, 2019
ericsson49
added a commit
that referenced
this issue
Nov 4, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
List of differences, that I found, between Fork choice specs and our implementation. This doesn't necessarily mean it's a bug.
1 Blocks are not delayed and time check is different
Spec says:
However, DefaultBeaconChain::insert simply rejects blocks too far the future, using a bit different time check:
assert block.slot <= get_current_slot(store.time) + 1
2 Blocks are not checked against finalized checkpoint
Spec says:
And also
The time check seems to be redundant, given the block passes the descendance check.
Our implementation performs a similar check against justified checkpoint
LMDGhostProcessor::isJustifiedAncestor
.The other issue is that it's performed after the block is imported.
While, according to the spec, it's not imported if the finality-descendance check is failed.
3 Finality updates
Spec says:
However, DefaultBeaconChain::updateFinality implementation is somewhat different:
While the justified checkpoint update looks like giving an equivalent result, I'm not so sure about the finalized checkpoint update.
The text was updated successfully, but these errors were encountered: