-
Notifications
You must be signed in to change notification settings - Fork 0
feat: implement flashblocks monitoring #3
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
Conversation
|
|
||
| fm.processFlashblock(ctx, fb, fm.lastFlashblockPublic) | ||
| fm.lastFlashblockPublic = fb | ||
| fm.detectInconsistentFlashblocks(ctx, fb) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shouldn't we detect inconsistent flashblocks at the end when the canonical block come through? it looks like we are comparing at every event and there will be a lot of mismatches just from latency differences and not be an useful measure.
e.g.
builder flashblock 2 comes in at 450 ms -> compares with last public flashblock (flashblock 1 -> mismatch)
public flashblock 2 comes in at 500 ms
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
detectInconsistentFlashblocks compares payload id and index first. if they are not the same, not further comparison is made. that guarantees no false positives.
the most important part of the check if the check of the streams b/w individual builders (b/c the public one is anyway the same as one of the builders), and the latency to the builders is pretty much the same.
if we really-really want to compare 100% of all flashblock streams, we'd have to keep the history of each of them, and then implement some logic that would prevent that history from exploding. I left it out for the future for now.
…o feat/flashblocks-monitoring
implement flashblocks monitoring: