-
Notifications
You must be signed in to change notification settings - Fork 747
Description
Signers currently do a check on a block proposals block height and reject it if its height is less than the expected height (this would be a reorg). This is the current flow:
- Block proposal arrives:
- Local checks
- Send to node for validation,
- Receive back validation response
- Local checks
Now often after the block is sent to the node for validation and receiving the response back, a block proposal is globally signed and announced so that when local checks are performed at the end, the block is seen as a reorg of itself. Would be good in this instance to check "is the block the tip? If yes, issue signature without further local checks, else continue with all the local checks" because then it would be simply a late approval going out. This isn't strictly important as the signature doesn't really help in this case nor does the rejection make a huge difference but its a little bit confusing why a signer rejects it in the first place.
Would not really want to short circuit the validation an step 2 though in theory we could also do this tip check.
A similar scenario can occur where we reach the block acceptance threshold and mark the block as locally_accepted(group_signed) which would result in a rejection if our validation returns AFTER this occurs. Would expect this case to be handled as well.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status