FOCIL Breakout #041
Transcript
- Nico Flaig
did anyone test the unhappy case yet?
- Iván | ethrex
Devnet requires 3x3 clients?
- Iván | ethrex
Okok
- Jihoon
- Jihoon
- Justin Traglia
8192 1 bytes txs + 8192 * 4 byte offsets in SSZ = 41112
- Justin Traglia
For example. If there were 128 txs in the full IL, it would be 8192 + 128 * 4 = 8704, which is greater than the previous maximum.
- NC
if an ILC doesn’t see any transactions that are worth including (or at all), then it would rather not send anything vs sending an empty IL?
- Fabio Di Fabio
https://github.com/ethereum/execution-apis/blob/main/src/engine/paris.md#engine_newpayloadv1 Client software MUST validate that all transactions have non-zero length (at least 1 byte). Client software MUST run this validation in all cases even if this branch or any other branches of the block tree are in an active sync process.
- Iván | ethrex
+1
- Nico Flaig
do any ELs here in the call implement shouldOverrideBuilder we have today? I know nethermind does, but unsure about others
- Fabio Di Fabio
Replying to "do any ELs here in the call implement shouldOverrideBuilder we have today? I know nethermind does, but unsure about others" no
- Nico Flaig
@Justin Florentine (Besu) we have this since 3 years in the spec and nobody implements it yet it seems
- Nico Flaig
my nethermind never fired on mainnet
- Nico Flaig
- Nico Flaig
I wonder if even all CLs have this wired up to today to act similar to the ciructi breaker, at least in lodestar it does
- Justin Florentine (Besu)
activity leakage for IL cmte members?
- soispoke
Call summary
Targets
- •FOCIL devnet-0 launch — pending successful local interop (Jihoon to attempt imminently) - 00:12:47
- •EIP-8369 (FOCIL + Frames) Q&A — next FOCIL breakout (2 weeks) - 00:51:37
Decisions
- •Gossip rules: reject ILs containing empty transactions; ignore empty ILs entirely - 00:43:13
- •Spec getInclusionList to explicitly require transactions be at least 1 byte, consistent with other engine API methods - 00:23:48
- •Unhappy-path testing deferred; devnet-0 focuses on happy paths only - 00:14:21
Highlights
- Spec Updates:
- ·consensus-specs PR #5544 (IL fork key → slot-independent root) merged into alpha 14 - 00:14:49
- ·PR #5576: raises gossip size limit to ~40 KB (derived from max 8192 × 1-byte txs + SSZ offsets); consensus reached to merge - 00:15:08
- ·New gossip rule agreed: reject ILTs containing empty transactions; ignore entirely empty ILs - 00:16:06
- ·EL engine API spec (getInclusionList) should explicitly require non-zero-length transactions, consistent with newPayloadV1 wording - 00:23:48
- Client Updates:
- ·ethrex: passing latest spec tests; PRs opened to execution-specs for fixture/harness issues - 00:05:06
- ·Teku: devnet-0 branch ready with signed IL max size + emptiness check; local Kurtosis interop with Lodestar, ethrex, Besu succeeded - 00:06:04
- ·Reth: reth-focil-devnet-0 branch ready; basic interop and hive tests run, ~most of the way - 00:08:44
- ·Nethermind: FOCIL merged to focil-devnet-0 branch, all tests passing; no cross-client interop yet - 00:09:54
- Testing Progress:
- ·Devnet-0 tentatively 2×2 client minimum; Jihoon to attempt local interop (Teku/Lodestar + ethrex/Besu) before setting launch date - 00:12:47
- ·Unhappy-path testing deferred to later devnets; happy-path focus for devnet-0 - 00:14:21
- Focil Frames Interaction:
- ·EIP-8369 (FOCIL + Frames interaction) shared for review; ethrex prototyping; discussion deferred to next FOCIL breakout - 00:48:48
Action Items
- •Jihoon - Open PR to execution-apis adding explicit non-empty transaction requirement to getInclusionList, mirroring newPayloadV1 spec language - 00:25:54
- •Jihoon - Discuss standardized censorship-detection heuristics at next ACD call to determine whether Hive testing is feasible - 00:37:26
Key decisions
Gossip rules: reject ILs containing empty transactions; ignore empty ILs entirely
Agreed on new gossip validation rules for Inclusion Lists (ILs) and Inclusion List Transactions (ILTs).Spec getInclusionList to explicitly require transactions be at least 1 byte, consistent with other engine API methods
Alignment of the EL engine API with existing newPayloadV1 validation logic.Unhappy-path testing deferred; devnet-0 focuses on happy paths only
Decision to limit the scope of the first FOCIL devnet to basic functionality.PR #5576: raises gossip size limit to ~40 KB (derived from max 8192 × 1-byte txs + SSZ offsets); consensus reached to merge
Consensus reached to increase the gossip size limit based on calculated maximum transaction counts.EIP-8369 (FOCIL + Frames interaction) discussion deferred to next FOCIL breakout
Review and Q&A for the FOCIL and Frames interaction proposal moved to the next meeting.
EIPs discussed
AI Disclaimer: Some content or metadata on EIPsInsight may be AI-inferred or automatically compiled. If you find any discrepancy, please contact us at dev@avarch.org.