FOCIL Breakout #20

FOCIL Breakout · 23 Sept 2025 · 30:43

FOCIL Breakout #20, held on 23 September 2025. FOCIL, or fork-choice enforced inclusion lists under EIP-7805, is a proposal to make it harder for block builders to censor transactions. New metrics were implemented in Lodestar, and Geth and Reth interop testing was underway.

Speakers

Topics

From FOCIL Breakout, hosted by Ethereum Foundation.

Transcript

Jihoon Song: Maybe we can wait one more minute, and then just start?

Alright, I can… I think we can just… start this call. Alright, hello and welcome, everyone, to Fossil Breakout 20. Same as before, we can jump right into status updates and have some discussions, if any. I guess. We already have. Everyone who are active on fossil development these days, but do we have any development metrics or testing updates? Yes, Katya?

Katya Riazantseva: Hello, everyone. I updated the PR and added these new metrics implemented in Lodestar in this PR. Yeah, I left a couple of comments. I've seen your answer already to whom. So, yeah, I'm not sure. My question is, are we going to have some simulation of failing inclusion lists, or equilocating inclusion lists? For example, for peer does, prison team, made this… added the CLI flag, which… which caused kind of loss of columns, and so we could check a little bit. This kind of thing, do… do you have something on your mind, something like this? Are we gonna check it? Somehow, or just through the dead nuts and…

Jihoon Song: Yeah, that's a good question. I think… We can take our two prongs here. One is using some CLI flag, as you just mentioned, to produce some Invalid or equivocating ancological leads. And the second approach would be, setting up Author Tour to, you know, run some tests over invalid or duplicating culture lists.

Katya Riazantseva: about 4 weeks ago. Yeah, for the tests, the metric, the metrics won't work, so we won't, see the simulations on the dashboard, I guess so. So, with CLI common, that would be great, would be interesting. At least to check the metrics, and yeah.

Jihoon Song: Yeah, I agree. Once we, decide to include fossil in Glamsterdam, we can add such flags so that we can test if every client is working as expected, and use your metrics dashboard to See how it works.

Katya Riazantseva: So, currently. My latest run of Lodestar was yesterday, and I had some issues, but we're trying… we're discussing it with the Lodestar team, so maybe, yeah, I think they made some updates, and they need to check again today. That would be great, if we could have some interop, I don't know, maybe you could try to implement these metrics as well on the prison side, or then… We can launch some kind of interop, even through kurtosis, maybe some of these metrics that would be interesting to look into it. Whenever you have some time.

Jihoon Song: Yeah, Do you know what kind of work that most of people would do? Is it about rebasing, or just adding metrics?

Katya Riazantseva: The metrics are added, yeah, I think rebasing.

Jihoon Song: Oh, great. Yeah. Yeah, right. for Prism… Hmm.

Katya Riazantseva: We have kind of… we have the set of metrics, we have the dashboard, so it's technically possible if some other clients will build the metrics, it's technically possible to check, to compare it to clients, for example.

Jihoon Song: Yes, for PRISM, I think… it'll take some time to rebase it on the flow. Yesterday, I… I had opened a PR that enable fossil genesis block to PRISM, and it was marched yesterday, so I think we can start working on replacing, on the PRISM side. But… the branch is a bit stale, so I think… not sure. I need to take a look into it to measure how much it would take. To be honest, I've been mostly working on something else, so I cannot promise, when that when that I'm gonna start working on it. Yeah.

Katya Riazantseva: Okay, just let me know if this rebase happens. Just let me know, maybe I can take a look into it, how to add metrics. Yeah, just… Pin me somewhere.

Jihoon Song: Okay, great. Maybe you can try interop with Lighthouse? Not sure if Lighthouse is on Flow.

Katya Riazantseva: I, I will, I will ask. In the channel.

Jihoon Song: Okay, great.

Katya Riazantseva: as soon as I can run Loadar.

Jihoon Song: Yeah, sure, yeah, take your time.

Katya Riazantseva: Thank you.

Jihoon Song: Thank you. Do we have any other updates? On my end, I've been mostly working on something else, and a little bit of spec tests. I do hope I can finish it by this week, and I've been saying this over and over again for the past few weeks, but I… I'm gonna aim to finish it by this week, and open up a PR against Constance's spec repo. Yeah. Hi, Doma. Hi, Nancy. We were just sharing some status updates.

Yeah. Welcome. Do we have any… Updates on red side.

Pelle Krabbenhoeft: On the rest side, it's been pretty much just cleaning up some of the code and doing the interop testing with, Geth, which has all been going well. If you want, I can talk on the… Lighthouse, issues I was finding and working on real quick.

Jihoon Song: Yeah, please share it.

Pelle Krabbenhoeft: Yeah, so… Lighthouse… was only passing zero inclusion lists even back for Electra, which I thought was kind of weird. So I looked more into it, and it seems like, the inclusion list that it's trying to get from the cache is… it's trying to get from, slot N instead of slot N minus 1. And when it's trying to get the inclusion list, there's obviously no inclusion list, because… those inclusion lists for that slot haven't been sent out, so it's just grabbing one slot ahead. So I'm working on having it grabbed from one slot behind, and so far, it's been working in testing. So, still need to iron out a few things with that, but I'll probably open a PR for it.

Jihoon Song: Great, great. And, if I remember it correctly, there's, another issue that some blocks are missing.

Pelle Krabbenhoeft: Oh yeah, when I just put my naive, implementation together. I was running Geth and REST together, and both clients were sometimes failing blocks, or not proposing blocks. I know on the REST side, my logs were saying that it was an inclusion-less issue, so… one transaction didn't get included. I didn't quite check… I didn't quite figure out if it was the same issue on Geth, but I'm guessing it's probably the same. But still need to look into that.

Jihoon Song: Could you elaborate a little bit of how does the enclosure list transaction prevent some block from, being proposed?

Pelle Krabbenhoeft: Yeah, on my end, just the inclusion list transaction didn't get included. Sorry. And that's why it was failing the new payload V5.

Jihoon Song: Got it, got it. So… the CL is reorging out because it found Some trans… English transactions are missing. For some reason.

Pelle Krabbenhoeft: Yeah, yeah, I haven't quite gotten to the bottom of it, but that's what I've seen so far.

Jihoon Song: Got it, got it. Right. Alright, cool. So, it's really nice to see that we are having some… Debugging and progress on the… On the first EL interrupt, there might be some bug in GAT, so… Just, yeah, feel free to just… find the bug and open up a PR or report it somewhere. And, yeah, looking forward to it.

Pelle Krabbenhoeft: Sounds good. I'll let you know. And then, also, Lodestar, I don't know what's causing it, but there's also zero inclusion lists, and the logs of Lodestar say that it's successfully adding the inclusion list to the cache, so… I don't know what's going on there. It could be a similar thing, but something to think about.

Jihoon Song: Right. But you mean Lighthouse, right? That low star.

Pelle Krabbenhoeft: No, Lodestar as well. I haven't looked into the Lodestar code, so it could be something else, but just saying it might be the same thing as Lighthouse. Not sure, though.

Jihoon Song: Oh, I thought that Lowestar is not working today, but… Probably, I was wrong.

Pelle Krabbenhoeft: I… it was… it wasn't working perfectly when I was checking on Fulu, but I was able… the build for a while, there were… there is another issue, but I was also getting a zero inclusion list. It was a bit of a shaky testnet.

Jihoon Song: Got it, got it. Hmm.

Nico Flaig: What value do you use for seconds per slot?

Pelle Krabbenhoeft: I was using 6.

Nico Flaig: Yeah.

Pelle Krabbenhoeft: Do I need to move that to 12 for…

Nico Flaig: Yeah, I think so, because we didn't move the code to the BPS yet, so to use basis points. So I think it uses absolute values, and then you get to the… yeah, it submits the wrong inclusion lists, because the freeze deadline or the submit deadline is 9 seconds, so it's outside of the slot. I think that might be an issue, yeah.

Pelle Krabbenhoeft: Yeah, that sounds like it probably is that. I'll have to get that a look.

Jihoon Song: Yeah, remember that we had this issue… I don't know, like, many months ago. Right, yeah. Makes sense.

Nico Flaig: Yeah, I don't think we have fixed anything in that regard, because the spec was just like that, and was just recently changed.

Jihoon Song: Yeah, you're right. So, I guess we can try interop between, Lostar Lighthouse, GED and Rev.

Pelle Krabbenhoeft: Yeah, we can probably do that. Especially once I get Lighthouse fixed up.

Jihoon Song: Yeah, sounds great. With that, would it be enough for… testing the metrics dashboard, Katya, if we have, like, at least two CL clients. Even if we don't have metrics implemented in Lighthouse, it'll be implemented in Lowestar, so…

Katya Riazantseva: then it doesn't make sense if the other client… I mean, for metrics interop, if the other client doesn't have… so it will be just… door, and that's it, so I won't see anything. on the Lighthouse, on the dashboard.

Jihoon Song: Right, right. Like, could you remind us what would be the… Goals of this metrics, testing, like, how, how… Like, let's say that we implemented the metrics correctly in all clients, then how do we tell if they are implemented correctly?

Katya Riazantseva: I mean, first of all, we are just observing the values on the dashboard, and I mean, it's more for… The final goal is to observe this metric in the long-term period, so when we already have DevNets, so normally DevOps teams just observe if something's going wrong. During the long period of time, it's… it's… It's good to use dashboards. And at the same time, we can… we can just compare, different values. On different clients, so… Which also sometimes can be helpful for the clients itself, like… How long is, like, purification going, etc, so… and to find some issues, maybe?

Jihoon Song: Got it, got it. So… even if you just run a local dev net with Lowestar. then you can see the dashboard bit, but it doesn't tell you anything other than you just see the metrics measured in certain ways. So you want to use that dashboard to see if others say, clients are seeing the same thing in the expected ways.

Katya Riazantseva: Yeah, that would be great, because this is the goal of the metric specs, so, the clients have, like, more or less, Similar implementation in the important points, like. You wanna see, like, how verification goes, like, how many inclusion leads are produced, etc. So, just a… Some kind of evaluation and observation.

Jihoon Song: Got it, got it. Cool. Right, thank you.

Katya Riazantseva: I would also like to collab with, EL team, maybe Reth, just to look into, what metrics could be added on the EL side.

Pelle Krabbenhoeft: Yeah, I'd love to work on that as well, so, just DM me on Discord.

Katya Riazantseva: Okay, thanks.

Jihoon Song: Very nice. Do we have any other updates, or… Something that we want to discuss? Otherwise, I think… We can go ahead and wrap up this call. I was thinking about… Yeah, I just wanted to ask, what do people think about changing falsehood breakout to monthly until We have client devs come back, because people are busy with Fusaka, and then we also need to wait until a PBS spec and implementation are finalized, so…

On one hand, we can just skip this one bi-weekly, so that we can Keep the momentum or something. On the other hand, I don't know, maybe we are… We could use… Our time more efficiently by making this monthly? I don't have a strong opinion, I just wanted to… Ask what people here think about it.

Katya Riazantseva: My opinion, bi-weekly would be great, not to lose focus at all, like… One… once a month is kind of… Too rare.

Jihoon Song: Okay. Oh, yeah. Yeah, I think for now we can just… Keep it as is, maybe bi-weekly. Because monthly is too long, I think that's a valid point. And… yeah, thank you, Thuma. There's a… there was a… there's a proposal to… use fossil in the context of native roll-ups. Luca… Yeah, Ruka reached out to me, like, I don't know, a few months ago, and we… doubled in about how to implement this, in the native roll-ups, I mean, how to implement it using the… inheriting, the existing execution spec.

I think what's interesting… to see this idea, maybe we can ask Luca to share his idea next breakout. Yes, it's a… it's a nice summary. There was a tweet thread, that Luca shared. Let me pull that link real quick, and then we can wait for more discussion, and then wrap up this call. Yeah, here's the thread. Please take a look into it if you're interested. And then… Yeah.

Maybe we can have a look here to share a little bit more about it next breakout. In two weeks. Does anyone have any more comments? Or… anything to discuss?

Katya Riazantseva: Last quick question, should we start from Elektra in ketosis, or maybe you can start from Fullo?

Jihoon Song: I think they're starting… no.

Katya Riazantseva: My latest config is, like, Electrod and Foolos, and…

Jihoon Song: Yeah, we are still on Electra, right? Pelly, do you start on Flu or Electra?

Pelle Krabbenhoeft: For Lodestar, or…

Jihoon Song: For Lostar and Lighthouse.

Pelle Krabbenhoeft: For Lighthouse, I've been doing, Glow Ass and Electra, just testing both of those, and then Lodestar, I believe, is only up to Fulu right now.

Jihoon Song: up to Flu, so you start, you start from Electra, and then transition into Flu, and then Gloas.

Pelle Krabbenhoeft: I… I think I was just starting from Fulu for Lodestar.

Jihoon Song: Got it.

Katya Riazantseva: Okay, we'll try. Thank you.

Jihoon Song: Does that mean the load star already repased on the flow?

Nico Flaig: Yeah, we have the fork between claws and fool, so in between those two.

Jihoon Song: Oh, cool. Alright, I think… We can go ahead and wrap up this call, and… We can get their… in two weeks, and share another update. And in the meantime, I will ask Luca if he can join us to share his idea on fossil In negative roll-ups next time. Alright, guys? Thank you for joining, and… See you in 2 weeks!

Katya Riazantseva: Thank you, everyone. Bye.

Nico Flaig: Yep.

Transcript adapted from ethereum/pm, CC BY-SA 3.0.