Force the proposer to reorg late payloads - #5210
Conversation
In the event the proposer has seen the payload timely and its local view of DA passes, the node will have the payload verified. However, if the PTC is signalling that the Payload blob data is not available, the proposer MUST reorg the payload. This PR implements this mechanism with a few caveats. - Most importantly, currently it is very aggressive and if there are no PTC attestations the proposer will be forced to reorg the payload. There are many solutions to this problem like simply counting the PTC attestations (which is also a way of counting the NAY votes) or using 5180. If we go with 5180 this PR needs to be accomodated to that and actually count the NAY votes. - The threshold could be different than 50%. - The proposer may have all the data available locally and decide to build on full even though the PTC voted no. I think it's better to leave that unspecified.
|
@potuz please give this PR a better title & run |
|
what are the interactions with |
I would rather not make Arguments to not use this would be to restrict to one payload reorgs instead of two. At any rate I wouldn't want to be mentioning |
|
I'm leaning to apply it no matter what, which is what is in our current PR (which triggered me on the question). |
jtraglia
left a comment
There was a problem hiding this comment.
LGTM & makes sense. I feel like the get_proposer_head question is resolved or no longer relevant, but if for whatever reason that is not true, we can follow up later with tweaks.
Changes implemented Ensure bids are for a higher slot than their parent (ethereum/consensus-specs#5302) Ignore PTC attestations for empty assigned slots (ethereum/consensus-specs#5281) Limit should_build_on_full checks to the previous slot (ethereum/consensus-specs#5309) Apply proposer boost if dependent roots match (ethereum/consensus-specs#5306) Exclude slashed validators from proposing (EIP-8045) (ethereum/consensus-specs#5115) Force the proposer to reorg late payloads (ethereum/consensus-specs#5210) Remove support for old deposit mechanism in Fulu (ethereum/consensus-specs#4704) Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu> Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com> Co-Authored-By: Eitan Seri-Levi <eserilev@gmail.com> Co-Authored-By: Michael Sproul <michael@sigmaprime.io> Co-Authored-By: Michael Sproul <michaelsproul@users.noreply.github.com>
Requires #5186
This makes the proposer reorg late payloads.