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: . A proposer would need to simulate all possible combinations, calculated as , to find valid orderings. However, not all transactions need to be included, as some combinations may result in exclusion. For instance, if is selected first, it may not be possible to include and , as they would violate the interdependencies. The following three cases are considered acceptable:
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 complexity in the worst case, where n represents the number of transactions. This exponential complexity stems from the need to evaluate all subsets of transactions while ensuring that each chosen subset respects the constraints between them.
In the latest FOCIL light design, with set to , any member of the IL committee could trigger this worst-case scenario of . If the IL committee consists of members, the absolute worst-case complexity becomes .
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 as it scales with the number of leftover IL transactions.