FOCIL Breakout #33
FOCIL Breakout · 21 Apr 2026 · 21:33
FOCIL Breakout #33, held on 21 April 2026. FOCIL, or fork-choice enforced inclusion lists under EIP-7805, is a proposal to make it harder for block builders to censor transactions. Besu had all FOCIL code complete and was starting unit and execution spec tests, and Lodestar expected its FOCIL implementation to be trivial once the Glamsterdam devnet is stable.
Speakers
Topics
From FOCIL Breakout, hosted by Ethereum Foundation.
Transcript
Justin Traglia: Good morning. I thought I'd join the freakout role today.
Jihoon Song: Hi, Justin. Very pleasure to have you in the FOCIL Breakout.
Justin Traglia: Ugh. Thanks.
Jihoon Song: It's been a… How many weeks?
Justin Traglia: How many? How many months? Since I… since I last joined? A while.
Jihoon Song: Nice, nice.
Justin Traglia: Are there more updates than just your PR?
Jihoon Song: It's mostly PR on the CL and the EL, and then Fabio wants to… Discuss how we are gonna do integration tests among clients, so we can briefly go over that, and that's pretty much it.
Justin Traglia: Okay, nice.
Jihoon Song: Cool. Hi, Pella.
Pelle Krabbenhoeft: Hey, how are you doing?
Jihoon Song: Doing great. Are you back from your traveling?
Pelle Krabbenhoeft: Yeah, I flew all the way to San Francisco for a wedding, so just got back from Berlin, so still jet-lagged.
Jihoon Song: Oh. How was your San Francisco?
Pelle Krabbenhoeft: It was good. Made me realize how much I like Europe, though, so…
Jihoon Song: Hmm.
Pelle Krabbenhoeft: It's gonna be hard to go back.
Jihoon Song: Hi, Fabio.
Fabio Di Fabio: Hey. Hi, everyone.
Jihoon Song: Hello. I think we can wait a few more minutes. I just said.
Justin Florentine: So far?
Jihoon Song: From pesso.
Justin Traglia: Hello, as well.
Jihoon Song: I think, nice, we also have sales developer here, so… I think we're good to start. Hello, everyone! Welcome to FOCIL Breakout. 33. Today, we can share spec updates, development updates, and then testing. Alright, let's start with spec updates. So, I've opened the PR to the CL spec that changes inclusion list deadlines. I think this change… Makes the protocol simpler and easier to reason about while achieving the same. Here is the link, and let's have a look if we have some time. And… Felix from Steel made a PR that introduces some necessary framework change to support fossil testing. and adds a bunch of test cases for the EL. The PR is marched, so… Feel free to run those test cases against your clients.
Alright, here's the PR if you want to see where we edit. So, these are the spec updates. I'm happy to take any questions. Otherwise, we can move on to development updates.
Justin Florentine: As an EL dev, what does the BPS suffix mean?
Justin Traglia: basis points. It's a… Like, 1 out of 10,000.
Justin Florentine: Cool, thank you.
Justin Traglia: Is there someone that can review that PR, Jihoon? Like, I tagged Thomas, but, he hasn't responded.
Jihoon Song: Yep, I think it's on vacation, so it will take some time to… get his review, maybe we can ask Mikhail, but he's, not sure about his availability. I only asked him, like, twice, so not sure if I want to bother him more. Maybe you can ask him.
Justin Traglia: Yeah. Is there anyone else that you would trust to review this?
Jihoon Song: I don't want to distract people too much from Glamsterdam, but if… Nico, if you have some time, as you are, delayed payload processing. It's merged, so if you have some bandwidth, it'd be really nice if you could review at least the PR, not the whole, has its back.
Nico Flaig: Is it this week, or maybe we can do it next week?
Jihoon Song: It depends on your availability. If you could spend a little bit more time to review the head of spec, then it'd be really better, because… Yeah, I think this… from… where I stand today, this Bureau is the last change that I can think of that I want to make to the SE spec, so… yeah. with this PR, I think we're good to say that it has its pretty much ready for, at least for the first few DevNets.
Justin Traglia: Awesome. And the PR itself is fairly simple. I just wanted a second set of eyes on it. That was a sanity shark. Yeah, I mean, I have approved it as well, FYI.
Nico Flaig: Yeah, I think I can take a good look at it after this call.
Jihoon Song: Oh, cool. Thank you. Yeah, if you have any questions regarding, That's back, please feel free to reach out to me. And, yeah, I think we can move on to development updates. Do we have any client updates?
Fabio Di Fabio: I can talk for Besu. So, we should have all the code in place. what I'm doing now is to do some unit tests. Since there are also Execution spec test, I… I could try to start integrating them and see. Run a battle against them. So the main, For me, it's to… Start integrating with CL, because at the moment, doing all two… Uncertainty about which is the right fork to base the code. I was not able to integrate with any CL. Salt. On the latter, I would like also to discuss how to… Hmm…
I improved the integration, which is the right artwork to… to sat on, and so on.
Jihoon Song: Yep, thanks for sharing the updates. Speaking of which, maybe we can also… Jump into your comment. So… I think you wanted to discuss… how we wanna… Go about integration tests between clients. And… whether we have any plan for DevNet. So… if I were to share a bit history, how we worked before. Previously, when we achieved multi-client local dev nets. I share the Kurtosis config, and your client used it for their integration. If there's a bug in either Prism or Geth, I fixed it myself. And while devs are busy with Blue, I ran it and shared, like, looks so that devs can focus on debugging without losing too much momentum.
I think this time would be a little bit different, because now FOCIL is headliner, so I think client team should own their implementation. still, I can provide some help from time to time, like sharing some logs, or finding out in exactly which line it crashes, so on and so forth, but I think it boils down to developer resources. So, it leads us to a question about What's our plan for DevNet? which we don't have any plans yet. People are still busy with Glad Amsterdam, And I think Glamsterdam… would take most of attention during the interop, a few weeks before we entertained the idea of running FOCIL DevNets at the end of the interop, but honestly, it seems like
Unlikely from where we stand today. So the bottom line is, coming back to the original question. as soon as we have a pair of CL and EL, we can start running local DevNets, and I can help you with that. Going beyond that depends on resourcing, and that heavily depends on plans are done progress. So, I guess it seems like Bezu is ready, but… I think we don't have any CL ready at the moment. Maybe Nico could share a little bit of, Lodestar status?
Nico Flaig: So for us, it's mostly the Glamsterdam stuff, so once we have that stable and the EPBS or Glamsterdam Defnet working, I think it's pretty trivial for us. So, yeah, I don't think… I think we can make this work, but yeah. I don't want to be too optimistic, but yeah.
Jihoon Song: Yeah, makes sense. I… saw a screenshot in a PBS channel that definite is finalizing. Do you, by chance, have any, like, rough timeline that… you know, when we can expect this Glamsterdam deafness Will they stabilized?
Nico Flaig: I don't think there's a DevNet yet. I think it's only Prism.
Justin Traglia: Oh, and even that's a bit misleading, too. I think that's a modified image that Barnabas created. Of prison. I'll be using AI.
Jihoon Song: Oh.
Nico Flaig: It might be a Prism-only local run, maybe, but… I don't know.
Justin Traglia: It's just Prism and Geth.
Jihoon Song: Right. And we're talking about Glamsterdam DevNet, right? Not ePBS DevNet.
Nico Flaig: I mean, from a CL side, that barely makes a difference. Like, it's a few engine API and container changes, which is trivial.
Justin Traglia: I agree.
Jihoon Song: Alright. Yeah. I think I need to take a look into engine API spec for FOCIL, just in case. If anything has changed, but… okay, yeah, it seems like… If we want to be very optimistic that we can expect some CL prototype by the… by the end of the interrupt, maybe? But… realistically. I guess we have to wait, like, a few more weeks to have it. Does it make sense?
Fabio Di Fabio: It would be great if, during the interrupt, we can… Also define which… which are the basis to integrate, so, Glamstadamplus, which IPs? I had to say that for Basil, it's not so… It's not a big deal to adapt to a fork or another, so… It's a matter of changing a few things. So maybe we can, set up something for the interop to discuss… Which is the… Best. Base? In terms of artwork and AIP to… Include? And try to see if there is availability during the interrupt to integrate. At least. Some of the clients.
Jihoon Song: Alright, in here… Bays… means that, like, which client image that we want to run as a DevNet?
Fabio Di Fabio: I mean, the art fork? On which the code should run. And, so we agreed that we run, for example, on, engine new payload Bo 5 or VOO 6.
Jihoon Song: Okay.
Fabio Di Fabio: and which… EIP to include, for example, we exclude, EPBS, or we include EPBS, so, so… This kind of stuff, so… so we are aligned, and the client no… How to prepare for a possible Integration network.
Jihoon Song: Gotcha. I think we should include a PBS, but whether we want to include other EIPs is up to… our decision, but I think…
Fabio Di Fabio: Yeah, so for course, AIP, that… could, change… could, so, have some conflict with, fossil, so, for example, EPBS for sure, but maybe… I don't know if there are other…
Jihoon Song: Makes sense.
Fabio Di Fabio: So…
Jihoon Song: Yeah. Yeah, currently we have Slotnum included. And it is quite orthogonal to fossil, so… We have it… I'm not sure how it affects on the EL, but at least on the CL side, it is quite… ready, including this Latinum AIP.
Fabio Di Fabio: For FOCIL is ready as well.
Jihoon Song: Okay, cool. Okay, cool. I think the best… forward-compatible way would be base… basing off of Glamsterdam DevNet. But I guess this depends on the situation. Yeah, so… not sure if you guys will be, at the in-drop, but if you guys will be at the end drop, we can… I don't know, gather up and maybe… Grab other developers from different client teams, and then briefly discuss how we can go about it, whether they have more resources to… Proceed with this, so on and so forth. Besides that, I can prepare things like… on the spec side, like, which API versions we want to use, whether Cryptos is ready to support HESI, Yeah, we can also update the Rider Explorer.
Because I think it will be out… it is quite outdated, so, yeah. We'll see, like, I guess it depends on how much progress we can make. In this week. Yeah, hopefully we can… if we can have the first FOCIL DevNet during the intro. never really nice. Alright, do we have any more comments, or… Something to discuss. Otherwise, I think… Wait a minute…
Yeah. Do you guys think that… It is better to skip next. breakout on the 5th, or do you want to still have it? I mean, like, do we still gonna have something to discuss, in the… in two weeks?
Justin Florentine: I think that's actually gonna depend on some of the Glamsterdam spec. Like, DebNet Zero needs to be stabilized, and as far as I know, it's… Still, even with the gas changes, gas costing changes, it's still in flux.
Fabio Di Fabio: Could also be that after the interrupt, we have something to check. Maybe some development, and we can… Check. On the next… Cold. Always cooling.
Justin Florentine: I would say keep it on the books, yeah.
Jihoon Song: Yeah, yeah, makes sense. Yeah, we can just say that we can have our next breakout in two weeks, and if… with… if things turn out that there's nothing to discuss in two weeks, then we can just skip it. So, yeah, okay. Thank you, guys. Let's make a good progress in the interop, and see you guys in 2 weeks. Thank you!
Fabio Di Fabio: Okay.
Nico Flaig: Thanks, yep.
Justin Traglia: Hi, everyone.
Jihoon Song: Bye, bet.
Transcript adapted from ethereum/pm, CC BY-SA 3.0.