Thanks to Jacob, Jihoon, Thomas and Julian for the feedback
This post documents transaction invalidation scenarios in FOCIL and raises questions on how they may impact block producers or verifiers.
Prerequisite reading: https://ethresear.ch/t/focil-cl-el-workflow/20526
Block producer receives a list of txs to be included for its execution payload. Here is a given constraint:
Now assume the following transactions:
{From: Alice, Balance:..., GasLimit:...}
{From: Bob, Balance:..., GasLimit:...}
{From: Charlie, Balance:..., GasLimit:...}
The three transactions are interdependent, and all three can only be included in the specific order:
This complexity arises because the proposer must explore all these cases while deciding whether to include or exclude transactions based on their dependencies. As a result, the proposer faces an
In the latest FOCIL light design, with
Block verifier first verifies that the execution payload is valid, then tries to append the leftover IL transactions that are not included in the execution payload to the end of the payload with the same post state after executing the execution payload. If any of the remaining transactions that are not in the payload can be appended to the end of the block, then the block cannot be attested to the head. The complexity here is