Ethereum Protocol Fellowship (EPF) Cohort 7 — Applications open until May 13

AllCoreDevs - Testing #069

2026-02-09 Agenda: #1913 canonical JSON

Transcript

00:03:10
Mario Vega:Thank you, Akash. Good day, everyone. Welcome to ACDT number 69. Today is February 9th of 2026. Yeah, let's just get started.
00:03:21
Mario Vega:First item in the agenda is Glamsterdam, and the first sub-item is the log-level access list step number 2.
00:03:29
Mario Vega:Stefan, would you want to go to the overview?
00:03:36
Mario Vega:Of the current status of the debit?
00:03:46
Mario Vega:mentions that the audio issues.
00:04:23
Mario Vega:I think he's rejoining, let's just give… give it a minute.
00:04:28
Mario Vega:Anybody else wants to chime in in the meantime?
00:04:33
Mario Vega:Regarding them, the two…
00:04:46
Barnabas:Maybe I can give a quick update, while Stefan figures out his, mic issues. So, we launched the .NET last week, Friday.
00:04:55
Barnabas:We initially made a bit of a oopsie configuring the network, and that's why we had to make a 1000ml key deposit.
00:05:06
Barnabas:We initially configured the whole chain with only 1,000 deleters, and
00:05:12
Barnabas:Right now, I think we have some syncing issues on Nethermind. Nethermind has been taking a look and trying to figure out,
00:05:20
Barnabas:What is the issue? Maybe they can give us an update next.
00:05:23
Barnabas:As far as I know, everybody else should be okay. Oh, no, Nimbus EL as well. Nimbus EL with Lighthouse also seems to be, falling behind.
00:05:37
Barnabas:So maybe they can also give us an update, but everyone else seems to be ahead.
00:05:43
Mario Vega:Anywhere from Nethermind, that can give an update.
00:05:52
Marc:Yeah, sure, so, yeah, we're investigating this, syncing issue, and just generally working on our, BALS implementation and getting the rest of the, the test passing.
00:06:10
Mario Vega:Alright, thank you. Anyone from Nimbus EL?
00:06:17
Dustin:Sure. So… This is the current…
00:06:22
Dustin:hypothesis, the current… it seems to be an issue with the finalized block I'm sort of relaying here, but,
00:06:31
Dustin:the… for the block access list to be present for… that… Nimbus currently requires it to be present for the non-finalized blocks, and this is something that is apparently not necessarily the case. I will admit, I'm not the person who's been directly looking into the details of this, so…
00:06:50
Dustin:But we are engaging here, and, that's… the, the current.
00:06:57
Dustin:it's become… it's become a bit of a discussion of, like, what the correct behavior should be, basically.
00:07:03
Dustin:And we can tweak this either way.
00:07:10
Mario Vega:Alright, is this something that you need to bring up in the, in the block-level access list specific discussion, or do you think it's a spec problem, or… is what I mean? Or is this a client issue?
00:07:30
Dustin:My understanding is that the spec says what it… I don't… I don't think that we're sort of disputing the spec at this point. This is,
00:07:38
Dustin:this is our… so… I wouldn't say that quite yet. To Jared's point, yeah, so that Nimbus does require that.
00:07:47
Dustin:And… that they're not… It should be, yes, and… and the… Bye.
00:08:00
Dustin:I… I… we may… it may get to the point where it's worth racing.
00:08:07
Dustin:But I don't think it's escalated that far yet.
00:08:11
Mario Vega:Alright, thank you. Thank you, Dustin.
00:08:14
Mario Vega:Stefan, I see that you're back online. We went through the details and the issues that we had. Do you have anything else, too, that you'd like to point out?
00:08:24
Stefan Starflinger:Just maybe if clients could double-check if we can run with 150 million guests, I'm not sure if that was, discussed.
00:08:32
Stefan Starflinger:So currently I've set the network to 150 million guests, but this might cause issues.
00:08:38
Stefan Starflinger:So it would be nice if clients could double-check this. I haven't heard back regarding that yet.
00:08:44
Stefan Starflinger:But otherwise, I might have to decrease it again, but I don't think it has caused any issues so far.
00:08:55
Toni Wahrstätter:Yeah, I'm not sure if the 10MB limit or any of those size limits, still matter.
00:09:00
Toni Wahrstätter:But with 150 million, we would definitely get over the 10MB uncomprompressed payload size.
00:09:06
Toni Wahrstätter:So, shouldn't be an issue if we just avoid, spamming big, big data transactions. So, just as a heads up, maybe let's avoid that.
00:09:17
Ben Adams:If it was over… 10 megabytes, then it would be an invalid block, because we've already put that.
00:09:24
Toni Wahrstätter:Yeah, okay, this is good to know, because then we should definitely avoid it. Because as of 104, 105 million.
00:09:32
Toni Wahrstätter:We can get over…
00:09:34
Toni Wahrstätter:10 megabytes, if we don't include, and we didn't do so, we didn't include 7976, which would increase the call data cost, then we should be fine again, but for DevNet2, we don't have that ERP yet, so…
00:09:47
Toni Wahrstätter:Better, let's not put big data transactions on there.
00:09:52
Ben Adams:I mean, it'll be fine, because they… you won't be able to build a block more than 10 megabytes, because it's an invalid block.
00:10:00
Ben Adams:We put that in Fusaka.
00:10:02
Toni Wahrstätter:Right. Okay, perfect.
00:10:04
Stefan Starflinger:Is that something we should try out?
00:10:08
Ben Adams:Yeah, sure, but I mean, it does… It means that the,
00:10:17
Ben Adams:The… the blocks will be constrained by the cap on the megabyte size.
00:10:24
Ben Adams:Which will skew the gas markets when it… it should actually be done on, you know, pricing.
00:10:30
Ben Adams:It's more of a safety measure. It's… ideally, we wouldn't be hitting the cap, but it should be safe to put whatever… go to whatever gas limit you want and not break the network.
00:10:42
Stefan Starflinger:Okay, that's good to know. Maybe other clients, if they have some insight on this.
00:10:49
Mario Vega:Jared, I saw you raise your hand. Do you have any…
00:10:54
Mario Vega:Any, input, or was it just a, an.
00:11:00
Jared Wasinger:Yeah, I was basically just gonna say that, like, we shouldn't be building, like Ben said, if we… if the clients do build a block that it goes over the size limit, it's a bad block, so…
00:11:17
Jared Wasinger:We shouldn't be avoiding parameters which would cause that to happen in invalid implementations, and that…
00:11:26
Jared Wasinger:If that issue could be surfaced in a client, it should be tested here.
00:11:43
Dustin:One consideration on that… Oh, sorry, I didn't mean to interrupt, I was waiting for a silence or a pause. Okay. One consideration there regarding… I mean, I don't fundamentally disagree, I mean, that, that, sure.
00:11:54
Dustin:you know, the answer to don't create invalid blocks is don't create invalid blocks. But the… there's a…
00:12:03
Dustin:packaging point. Now, it becomes less acute with
00:12:06
Dustin:EPBS, but 2 points on EPBS.
00:12:09
Dustin:One, the EF is still making noises about if it's, like, too delayed, it won't be there. Secondly, it doesn't completely remove this issue, because the envelope has some overhead.
00:12:22
Dustin:on the CL side. This is what that structure is called over there. That contains execution, payload and stuff, and the ball stuff as well.
00:12:33
Dustin:So, what this means is that there's,
00:12:37
Dustin:a pay… a block that looks valid from the EL side that is not valid on the CL side. It cannot be broadcast, or etc. on the CL side.
00:12:47
Ben Adams:The cap includes a margin for the CL.
00:12:51
Ben Adams:So it's… the EL… I don't know if it's, like, the EL can only produce an 8MB block.
00:12:57
Ben Adams:So that this CL component. Okay.
00:12:59
Ben Adams:An envelope around it.
00:13:01
Dustin:Okay, that's… and that… that… that addresses slash resolves that, that's fine then. Okay.
00:13:07
Ben Adams:Yeah, that's in… that's already in Fusaka, so, it's live on my net.
00:13:13
Ben Adams:But obviously, we still need… we still need adjustments to the call data pricing, because
00:13:22
Ben Adams:We don't want the… the size cap to determine the blocks. We want the pricing, because otherwise the gas market is…
00:13:33
Ben Adams:If you're… if you're determining pricing by the cap, rather than You know, the actual prices.
00:13:42
Dustin:Yeah, no, I agree. I want to address Marius has questioned a moment, too, because he was obviously responding to a thing I just said.
00:13:50
Dustin:And, but the… and maybe mumbled my way through, I don't know. But the,
00:13:58
Dustin:I… but in terms of ensuring the gas market is not… not distorted by this, I think the more principled solution that I think actually… I'm not saying this will have this in Fusaka… we don't have it in Fusaka, I'm not saying we'll have it in Glamsterdam, I'm not… this is not necessarily a near-term thing.
00:14:13
Dustin:But the most principled solution I saw was, I think, actually Yossix,
00:14:19
Dustin:yes, also Nimbus, but, you know, you know, I disagree on plenty of stuff. That… that we're…
00:14:26
Dustin:the gas price, and where the blocks… the max block size is determined by the gas price. It's a function… there are mutual sort of functions of each other in a certain sense, and the… there are variations of this idea. But the idea is that you don't have this other kind of cap that… you change one parameter, then oops, you hit some limit. All right,
00:14:47
Dustin:And that avoids, avoids us, but we don't have it yet, and we don't have it for Glamsterdam.
00:14:53
Dustin:But the, the deadline, oh yeah, somebody was… right, right, right, that was asked and answered.
00:15:00
Dustin:Yes. Basically, if EPBS looked like it was missing deadlines, then… then there were noises made on other ACD calls about dropping EPBS.
00:15:09
Dustin:And I only bring that up here to say, well, that any planning now around block size limits or overhead or something can't take into account yet the reduced overhead from splitting the CL
00:15:23
Dustin:block and the EL payload. Anyway, yeah.
00:15:30
Dragan Rakita:Yeah, I had a question about hitting that limit, size limit, 10 megabytes in the blog building.
00:15:38
Dragan Rakita:How is that done on NetherMye's side?
00:15:42
Dragan Rakita:Does it basically check the size after the block is built and validates it?
00:15:48
Ben Adams:We check it as we're adding transactions, but it's not too…
00:15:55
Dragan Rakita:So that includes both the transactions and receipts, and both.
00:16:02
Ben Adams:I'm not sure what we're doing with… False.
00:16:05
Dragan Rakita:Yeah, both problematic, prob- prob- probably.
00:16:11
Dragan Rakita:Either way, just wanted to…
00:16:13
Dragan Rakita:focus a little bit here, because it can be… it's prob… every client probably has their case around this, how they, like, measure the block size while they're building it. It's very easy to, like, check it after it's built, but…
00:16:27
Dragan Rakita:Invalidated, or just stopping at some point of time after some intersection, the block is big enough.
00:16:36
Dragan Rakita:It's probably very familiar-specific.
00:16:39
Dragan Rakita:So, either way, if we can go to, like, 100 million guess, and we are sure that we don't go over 10 megabytes with that.
00:16:49
Dragan Rakita:Just go with, like, 100 million.
00:16:51
Dragan Rakita:And then bumped it again when proper IP for it could lands.
00:17:05
Marius van der Wijden:Yeah, I wanted to respond to… The point that,
00:17:14
Marius van der Wijden:I keep blanking on the name…
00:17:19
Marius van der Wijden:That someone was making that, this extra cap, should be,
00:17:26
Marius van der Wijden:should not be there, or should, or it impacts the… impacts the gas calculator… the gas calculator, and that is…
00:17:36
Marius van der Wijden:Yes, but the idea of this cap was that this is like a stopgap solution. This should never be hit.
00:17:45
Marius van der Wijden:In practice, And even now, it should not be hit.
00:17:52
Marius van der Wijden:Except if there is, adversarial
00:17:57
Marius van der Wijden:transaction load on the network, and I think it is fine to simulate that on… on… on DevNet2.
00:18:06
Marius van der Wijden:And… In theory, nothing PM should be broken with it, but,
00:18:14
Marius van der Wijden:Yeah, if we… if we want to… if we want to focus on…
00:18:19
Marius van der Wijden:on, having this kind of a stable network, and not break it, then I don't… I don't know if there's really a need to.
00:18:27
Marius van der Wijden:test this on DevNet too, but as…
00:18:33
Marius van der Wijden:as Tony said, that we…
00:18:38
Marius van der Wijden:We will increase the,
00:18:42
Marius van der Wijden:We will increase this, the call data size anyway, or we will need to increase the call data size anyway if we want to go significantly beyond 100 million GAS.
00:18:54
Marius van der Wijden:So… I think… doesn't… Yeah.
00:19:02
Marius van der Wijden:Doesn't really make sense… sense for me now to kind of…
00:19:06
Marius van der Wijden:Test this condition that is…
00:19:09
Marius van der Wijden:that we are hopefully never going to hit, on a DevNet, just to test it, and then potentially break the DevNet and kind of stall our… our progress on testing these other things that we should be testing on this DevNet.
00:19:29
Mario Vega:Thank you. So yeah, it seems like the sentiment or consensus is to lower the gas limit for now. Stefan, is that an issue, or should we be okay?
00:19:40
Stefan Starflinger:That's not a problem. We can lower it.
00:19:44
Stefan Starflinger:It's just, the request came in in the breakout call, to raise the gas limit so that we can increase the state, so it's easier to do some benchmarking. That's basically the motivation for it.
00:19:57
Mario Vega:Yeah, I see two… two numbers in the chat, it's 70 million and 100 million. Should we decide on one, or push it to 70 and then push it to 100? Is that okay?
00:20:13
Toni Wahrstätter:Yeah, no, I just wanted to agree, I think it's fine. We can, we can go with either.
00:20:18
Toni Wahrstätter:It would be great if we, at least at the latest until DevNetly, if we have, like, a clear understanding of where this new 10MB limit applies, I guess.
00:20:29
Toni Wahrstätter:the neutron, the new, eFlog EAP might also affect us, because suddenly receipts are also a problem, it seems like, from the jet. So it would be great if we're definitely… if we are ready to increase it without having to fear that something in DevP2P might struggle.
00:20:52
Ben Adams:I think the logs issue's around 107?
00:20:58
Ben Adams:Oh, we should be fine, not 100.
00:21:05
Mario Vega:Sounds good, thank you. Tony, you still have… you're having your hand up? okay, thanks. Alright, is there anything else anyone wants to raise regarding block load access list definite 2?
00:21:18
Mario Vega:Shall we move on to EPBS?
00:21:22
Stefan Starflinger:Nothing else from my side, I think Barnabas said everything.
00:21:27
Toni Wahrstätter:Maybe just to add, we have a breaker call on Wednesday again, where we discuss two small changes to the specs again.
00:21:34
Toni Wahrstätter:Very minor things, but still worth, to highlight.
00:21:41
Mario Vega:Excellent, thank you, Tony. Thank you, Stefan. Alright, let's move on into ePBS.NET Zero.
00:21:49
Mario Vega:Justin, is it you the go-to person for this topic? Do you know the updates, or should we go into the clients for updates?
00:21:57
Justin Traglia:I guess I am the go-to person, but yeah, we should go to the clients first.
00:22:01
Mario Vega:Excellent. Alright, yeah, yeah, let's go, clients, first. So, anyone from Prysm?
00:22:09
Mario Vega:Can give an update on EPBS?
00:22:15
Potuz:I'm not sure if Terrence is here, who would be the most appropriate one, but, same as last week, we are just merging, and implementation is picking up space, pace.
00:22:28
Potuz:I should have 4 choice ready in one or two days.
00:22:33
Potuz:And most of the… most of the core transition function is already, open for review, and people are merging PRs.
00:22:43
Potuz:What's missing is the API, and this is already, like, the team is onboarded mostly on that, people are writing that, and the blockchain package to sync, which, I think I'll take care of that after Fortress.
00:22:59
Mario Vega:Alright, thank you. Anyone from Teku who wishes to give an update?
00:23:06
Stefan Bratanov:Yeah, sure, so… Basically passing the specs test from Alpha 2,
00:23:17
Stefan Bratanov:And, without the frog choice test, and,
00:23:21
Stefan Bratanov:We got a couple of more people working on… FOCIL now, so…
00:23:26
Stefan Bratanov:Yeah, hopefully soon we can interrupt between each other, and then… DevNet Zero at some point.
00:23:36
Mario Vega:Great, thanks. Anywhere from Lighthouse?
00:23:50
Mario Vega:Alright, are anyone from Nimbus? Just to give me a win?
00:24:01
Mario Vega:Mimbus or Lighthouse for ePBS updates,
00:24:06
Mario Vega:Anyone who wishes to chime in? Yep.
00:24:09
Dustin:Okay, well, sure, I'm not sure if I'm the best person to do this, but I'm sure. But basically, we are,
00:24:18
Dustin:We're merging, yeah, kind of along the line of what Prysm… what POTUS… what POTUS was saying about what Prysm was doing. so we have, I mean.
00:24:29
Dustin:I… I think the… the big PR that we're… the Alpha.2 spec stuff is… has been…
00:24:37
Dustin:kind of looking… finding various edge cases in that and the like, actually in the specs more than the, than the PR itself.
00:24:46
Dustin:but… and the test, but in any case, we… that works. We can… we can… I think the plan is to merge that imminently, and then…
00:24:53
Dustin:And I'll… we have the full
00:24:56
Dustin:we're passing the test, we have the full state transition function, we, in theory, are broadcasting everything. also, this is a request for clarification, I guess, is that in one of the other ACD calls, there was a comment about that
00:25:16
Dustin:DevNet Zero would not be primarily about fork choice.
00:25:19
Dustin:But so that wouldn't be, like, the target for fork choice. That, that would be, I guess, what, DevNet1 or something, 2, I'm not sure, whatever. Is that true?
00:25:34
Barnabas:That was, like, an almost
00:25:36
Barnabas:Yeah, like, ideally, we're not going to have many forks on DevNet 0, and we're not gonna trigger any edge case scenarios, we just want to try to test basic interop between the clients, and then later on, once we have, like, an answer done DevNet2 or whatever, then we can go really into the…
00:25:57
Dustin:Okay, because basically, our plan is to not really prioritize, the fork toy stuff at that, for DevNet Zero none. And I just wanted to
00:26:09
Dustin:Confirmed that, fine. Alright, otherwise, we're… we're getting fairly close to…
00:26:14
Dustin:Close, closer, closer to ready, I would say, for this.
00:26:19
Dustin:Not… not any huge missing parts.
00:26:27
Dustin:This is… I promise, a question, and then I'll let you… the meeting continue, but is we are looking for a way to test this. Is there a way of kurtosis, the same way that,
00:26:38
Dustin:And for… Barnabas has, has, gotten the CLs.
00:26:44
Dustin:To implement, you know, a fake fork.
00:26:48
Dustin:That… that will probably never exist for… for…
00:26:51
Dustin:For balls, which, fine, okay, that means balls can be tested more easily, but the converse of this.
00:26:57
Dustin:something… is there… is there an EL?
00:27:01
Dustin:analog here, so we can, like, kurtosis test this stuff.
00:27:05
ashah:And then I remembered you said.
00:27:14
Mario Vega:I think that was, there was a,
00:27:17
Mario Vega:That wasn't intentional. Doesn't sorry.
00:27:20
Mario Vega:Clarify your question again.
00:27:23
Dustin:Yeah, oh, kind of, I think Barnabas may have responded to this already, like, ePBS at 0. Basically, looking for an EL branch to do something, like, whether it's kurtosis, but in general, an EL to pair with the CLs.
00:27:37
Barnabas:That's my, my, my personally biggest concern. Sorry, go ahead, go ahead, go ahead.
00:27:41
Barnabas:That should be the image to use right now.
00:27:46
Dustin:Okay. Because that's otherwise just my biggest concern, it's like, well, we have all this stuff theoretically there, but, you know, yeah. Alright, great.
00:27:55
Mario Vega:Thank you, Dustin. Lastly, anyone from Lodestar who wishes to chime in regarding the updates?
00:28:02
nflaig:Yeah, so we… we are passing the Alpha 2 spec tests, and have, implemented the stateful, block production APIs, and then NC can give an update on our fork choice progress. But basically, we are passing all, spec tests, so…
00:28:25
NC:We have a couple, refactoring
00:28:28
NC:on our ePBS book choice implementation, so we're… Scan one step closer.
00:28:34
NC:to get the pro-choice PR merged.
00:28:37
NC:And… we also have a, a PR draft, which is a, first…
00:28:44
NC:Draft implementation of updating our state cache and checkpoint cache.
00:28:59
Mario Vega:I think that's every client. Justin, do you have anything else that we should be considering here, or…
00:29:08
Justin Traglia:Mmm, not much. We are working on adding more tests for FOCIL, and there are a few open PRs, but I'm not sure if it makes sense to discuss them, unless we want to.
00:29:18
Justin Traglia:Such as the variable PTC deadline PR.
00:29:23
Justin Traglia:Bye, Francesco. Are there any updates there? Do we still want to merge this?
00:29:29
Francesco:At least not for me. There were some concerns that had been raised by Anders about more, like, future compatibility of this, which I don't think there's…
00:29:41
Francesco:you know, really anything to say about, in the sense there's not really progress on this question. Other than that, I'm not sure. I haven't really had time to think about it more deeply. Like, right now, I wouldn't feel comfortable going ahead and merging it, but…
00:29:58
Justin Traglia:Okay. We'll continue to work on it then.
00:30:01
Justin Traglia:And that's pretty much it. I think every other PR we can discuss offline.
00:30:06
Mario Vega:Excellent. Thank you so much.
00:30:08
Mario Vega:Alright, let's move on. We have 4 other topics in gas limit testing.
00:30:13
Mario Vega:Yeah, let's just get going. The F70, updates, the new protocol, do we have, a go-to person who can speak a little bit more about it?
00:30:27
Mario Vega:I think if that… now I'm not mistaken, it's a FLCL, right?
00:30:31
Mario Vega:the person to… Discuss this?
00:30:44
Mario Vega:Or do we have any other go-to person for F17?
00:31:06
Fabio Di Fabio:say that in Bezu, the ETH70 implementation is, Ready.
00:31:15
Fabio Di Fabio:And I'm starting to test it.
00:31:18
Fabio Di Fabio:I need to also start to test it against other clients that I implemented it.
00:31:25
Fabio Di Fabio:Mmm… Yeah, it's taking a bit more time, because we are also refactoring the sync.
00:31:31
Fabio Di Fabio:Part of the code, but… Otherwise, the implementation should be fine.
00:31:45
Marius van der Wijden:Yes, as I have already wrote in the chat.
00:31:48
Marius van der Wijden:We are… PK is also trying to test it.
00:31:53
Marius van der Wijden:We have implementations for, Besu, Nethermind, and Geth. Maybe, PK, you can quickly talk about the state?
00:32:03
Marius van der Wijden:off testing?
00:32:07
pk910:That's the ETH70 test, right?
00:32:11
pk910:Yep. Yeah, we've prepared a,
00:32:15
pk910:Kurtosis pack, or, Kurtosis config for it,
00:32:20
pk910:In theory, it should work that we are sending… that we are generating blocks with receipts bigger than 10MB, and
00:32:29
pk910:We assumed that clients that do not support ETH70 at that point are unable to sync.
00:32:38
pk910:Right now, they are still able to sync, we are not fully sure why, but, yeah, it's ongoing.
00:32:46
pk910:Path forward is probably that we are probably set up a full testnet for it, because kurtosis has some limitations in regards to changing flags and restarting clients.
00:33:01
Marius van der Wijden:Yeah, I think the problem is that you can always full-sync the chain, right? Like, you never sync the receipts when you full sync the chain, you only sync the receipts when you are snap-syncing, so…
00:33:17
pk910:Yep, that makes sense, yeah. But even then, we had problems with restarting Geth with SnapSync on a…
00:33:27
Marius van der Wijden:Yeah, it probably just makes…
00:33:29
pk910:More sense to set up a full testnet for that.
00:33:34
Marius van der Wijden:That's a different problem, Geth is bad at snap-syncing a chain that is not Alive yet, or starting from…
00:33:43
Marius van der Wijden:Like, I think from zero.
00:33:46
Marius van der Wijden:And then snap syncing.
00:33:48
Marius van der Wijden:Yes. Could we prioritize this?
00:33:53
Marius van der Wijden:ETH70 DevNet a bit, because, this is the biggest blocker to scaling right now.
00:34:01
Marius van der Wijden:Without this, we cannot go beyond.
00:34:06
Marius van der Wijden:Brilliant, so… Would be nice to get this over the finish line.
00:34:11
Marius van der Wijden:And we… we need to… we… we need to wait until the fork point anyway, because all clients need… or all nodes need to be updated.
00:34:23
Marius van der Wijden:If we want to increase the mainnet gas limit, so, the… Yeah.
00:34:29
Marius van der Wijden:The sooner we get to it, the more time we have for other
00:34:34
Marius van der Wijden:EAPs. We can't just schedule it for definite 3. I think that would be possible as well. But maybe…
00:34:44
Marius van der Wijden:But just testing it in isolation would be actually, better.
00:34:52
Mario Vega:With designated isolation, do you mean, like, a sole tablet just for this?
00:34:59
Marius van der Wijden:Yes, I think.
00:35:01
Mario Vega:Alright, because Barnabas is suggesting that we add it to DevNet3, so that's…
00:35:05
Mario Vega:Something you don't agree with?
00:35:14
Marius van der Wijden:I personally think it would be easier and nicer to test this in isolation, and then later on, maybe add it to DevNet 3, or DevNet 4, or whenever, at some point, like, add it into the definite cycle, than starting the first test on the definite cycle.
00:35:30
Marius van der Wijden:On the definite, on, on the, bell, definite cycle, because…
00:35:39
Marius van der Wijden:We have so many interacting peaches now, and
00:35:43
Marius van der Wijden:It makes it… doesn't make it easy to…
00:35:47
Marius van der Wijden:Kind of merge the stuff upstream if we keep piling stuff on top of each other.
00:35:54
Mario Vega:PK, Barnabas, any thoughts on this?
00:35:57
Barnabas:Yeah, we can get the new DevNet up and running probably mid-week.
00:36:10
Mario Vega:Alright, I think the only missing bit from this is the client's readiness. Should we discuss this async and just, reach out to you, Barnabas, or PK for the clients that are ready for them to be included? Is that okay?
00:36:29
Mario Vega:Alright, thanks, thanks for this.
00:36:32
Mario Vega:Let's move on. So the next topic is benchmarking updates. So for this, Camille and also Luis left a comment on the agenda.
00:36:45
Mario Vega:Camille, would you like… let me see if Camille's online.
00:36:48
Mario Vega:Yeah, Camille, would you like to go first?
00:36:51
Kamil Chodoła:Yeah, I'm not sure if I left any comment. Are you sure it was me?
00:36:56
Mario Vega:No, sorry, sorry, I was mistaken.
00:37:00
Mario Vega:Do you wish to give an update, or should we go to Louis?
00:37:03
Kamil Chodoła:Yeah, I can give an update then. So, currently we are focusing super heavily on all of the benchmarks for repricings.
00:37:11
Kamil Chodoła:I guess we have already a lot of test cases, especially compute part is well covered, and we generated tests. Maria had a first pass over the compute scenarios, and we have some first numbers.
00:37:23
Kamil Chodoła:For stateful, tests are still coming, like, Carlos Perez made a lot of tests together with Johan, and right now we are generating them.
00:37:32
Kamil Chodoła:Also, we spent quite a lot of time together with, who it was.
00:37:39
Kamil Chodoła:forgot the name of EF… Rafael, working on Benchmarkor together with,
00:37:46
Kamil Chodoła:Gas Benchmarks generated tests to see if everything's working properly. Also made a extra work to make the reorgs working here, so it is easier to test basically any test, to run any test, instead of running all of them in proper order to reach one specific scenario, and it works well right now.
00:38:04
Kamil Chodoła:And from important updates, Marching made a draft implementation of testing endpoint inside Nethermind, and we integrated it into GAS Benchmarks, and it proves that it is much better than just using some hacked version of Nethermind. Test generation is much, much faster, much more flexible.
00:38:22
Kamil Chodoła:And yeah, also thanks to that endpoint, we were able to make this reorging mechanism on top of stateful tests working.
00:38:29
Kamil Chodoła:So yeah, so right now we are focusing again on regeneration of the tests, waiting for new infra to run the tests on top of mainnet and Bloatnet.
00:38:37
Kamil Chodoła:And once that will be done and traced, Maria will give a second round of analysis. Hopefully, it will be ready by…
00:38:47
Kamil Chodoła:with data collected. But the blocker right now is the infrastructure.
00:38:56
Mario Vega:Got it. Thanks, thanks for the update. We do have a benchmark demo, but I will leave that until after gas pricing updates.
00:39:04
Mario Vega:And lastly, for the benchmarking updates, Luis, do you want to expand a little bit on your comment in the agenda? Is that okay?
00:39:15
Louis:Okay, I would like to quickly share some status updates from the Steel team regarding the benchmarking progress.
00:39:23
Louis:So the first thing is that we have published our latest benchmark release, which now supports Osaka Fork.
00:39:31
Louis:And the second thing is that, we have updated our benchmark documentation, which includes the current project structure of yours benchmark, and different modes of benchmark we're currently supporting, and the corresponding test generation workflow.
00:39:49
Louis:And also, it includes the instruction on how to run and write the benchmark tests.
00:39:56
Louis:I have shared these two resources to the chat.
00:40:00
Louis:Please feel free to give us feedback, and let me know if there is anything unclear.
00:40:05
Louis:That's it for my site. Thank you.
00:40:09
Mario Vega:Excellent, thank you.
00:40:10
Mario Vega:All right, let's move on. Maria, the next, I think you're the go-to person for, gas repricing. Would you like to give us an overview update?
00:40:23
Maria Silva:Sure, happy to. Can you hear me alright?
00:40:26
Mario Vega:Yes, perfectly, thank you.
00:40:27
Maria Silva:Okay, so, we did the first breakout last week. The notes and summary is already on forecast. If you want to,
00:40:39
Maria Silva:review it. Also, If you want to keep updated on what we are working on these,
00:40:48
Maria Silva:we have these to-do lists that I'm sharing in the chat, and I'm keeping it as much up-to-date as possible, so it has a description of all the work streams, including benchmarking and the general timeline for when we need.
00:41:04
Maria Silva:things. The key updates there was on…
00:41:10
Maria Silva:the compute repricing, so 7904, there's the… the… the PR for the new EIP.
00:41:19
Maria Silva:numbers are there, and this is based on the first round of benchmarks that Camille was talking about previously, so we already have the set of
00:41:28
Maria Silva:operations that we are suggesting to reprice under that TIP, and also, some preliminary numbers that then still need to be updated once we have, benchmarking for block-level access list-optimized clients. So those numbers are not yet final.
00:41:48
Maria Silva:And then, on all the other EIPs, so on the state access EIP, we still need the work on the benchmarks to be completed, so that we can have the first numbers. Once we do that, we'll update the EIP as well.
00:42:04
Maria Silva:For the state growth EIP,
00:42:08
Maria Silva:So, AT37, we've started to do, more work on, on the specs and, and answering, some open questions on how to implement some details.
00:42:21
Maria Silva:And we have… Francesco did an initial pass on the specs, Spencer is starting to work on,
00:42:31
Maria Silva:on, picking up from Francesco and making sure that everything is implemented, and I'm also, updating the EIP.
00:42:39
Maria Silva:to give more information on the actual details of how we do the multidimensional metering in that TIP, so the… I will, the PR is not open yet, but I'm… I'm almost finishing up, so it should be ready by the end of the day.
00:42:55
Maria Silva:the ETH transfers EIP, so to 780, we, we still, will do… we still need to do some benchmarking there to… to get the final numbers as well.
00:43:12
Maria Silva:some work starting as well on specs and tests. And finally, for the data EIPs, so increasing the costs, Tony has done the PR on the specs.
00:43:26
Maria Silva:And, so I think that that EIP is the one that is more advanced, and also Tony published a proposal to change the base numbers to 6464 for the, the
00:43:40
Maria Silva:the worst-case blocks, when the blocks are using most call data. So this should also help,
00:43:47
Maria Silva:Reduce the… The worst blocks there.
00:43:52
Maria Silva:So yeah, so this is the general overview. If you have any questions, just let me know, and…
00:43:59
Maria Silva:yeah, we'll try to keep the to-dos as much updated as possible, so you are also aware of what's happening. And if you have any comments, if you want to work more on these EIPs, just, you can come to the breakout, which will be next week, Wednesday.
00:44:14
Maria Silva:And, yeah, we're happy to… to have you there.
00:44:19
Mario Vega:Excellent, thank you, thank you so much. Any questions for Maria regarding the gas reprisings?
00:44:35
Mario Vega:Alright, if not, thank you, Maria, again. Oh, Dragon.
00:44:39
Dragan Rakita:Sorry, I'm a bit late on raising the hand. Do you have plan on bot DevNet? Do we expect this to, like, land?
00:44:51
Dragan Rakita:Or basically, is it expected to, like, implement everything for the DevNet, or can be partially implemented, or something like that?
00:45:02
Dragan Rakita:A lot of changes there, so, yeah.
00:45:05
Maria Silva:Yeah, so that's… that's a great question, and I think it's also a point I raised in… as a comment that I wanted to get to, and I'm not sure if this is the right place to have the discussion, but in my mind, the ideal thing would be
00:45:21
Maria Silva:And I have this, so if you open the to-dos, I have a general timeline of when things will be ready. And so, for all the EIPs, excluding the state growth EIPs, so 1837, so that one we could do earlier, for all the others.
00:45:38
Maria Silva:They do depend on benchmarking things and their block level.
00:45:43
Maria Silva:least, optimized clients, and so we only expect to have the final numbers by the end of March. So that means that
00:45:51
Maria Silva:it would make sense to add those EIPs after we have those final numbers. However, for 8037, given that first this is the most complex EIP implementation-wise.
00:46:05
Maria Silva:I think it would be better to have it sooner, so ideally we would have it in the next DevNet.
00:46:12
Maria Silva:And then we could add all the others.
00:46:15
Maria Silva:in the DevNet after. And I think that would be okay, because all of the others are mostly doing just perimeter changes. An open question is what we do with 2780, which also has some implementation logic.
00:46:31
Maria Silva:Not just the… Changing the parameters, and then we could discuss, maybe it may say…
00:46:37
Maria Silva:makes sense to add them both in DevNet 3, and then leave the… all the others for the next DevNet.
00:46:45
Maria Silva:I think for the data repricing, it may also make sense to add it a bit earlier, just because of the discussion we had previously, so it would help us test higher block limits without getting the bottleneck of the… of the size of the block.
00:47:03
Maria Silva:But yeah, so this is, the general… I think what would make sense to do is essentially do, the state growth EIP as soon as possible, and then we have a bit more leeway for the others, and,
00:47:16
Maria Silva:especially for the compute reprice and the state access reprice, I think we should only add it after March.
00:47:27
Dragan Rakita:Okay, sounds good.
00:47:32
Dragan Rakita:We depend… state taxes and state creation depend on the ball, basically on the ball data, how it will behave, so we need to wait there. Exactly. Another IP needs
00:47:44
Dragan Rakita:Could be implemented before, but it will depend on, like, Yep. If…
00:47:50
Dragan Rakita:Clients have time, or basically… organization in general.
00:47:55
Dragan Rakita:Okay, cool. Exactly.
00:47:56
Maria Silva:Exactly, exactly, yeah.
00:47:57
Maria Silva:But I would argue to prioritize it, like, to make it the state growth EIP, so 8037, to make it a priority for the next DevNet.
00:48:11
Dragan Rakita:Yeah, that's the state… State creation gas cost increase.
00:48:17
Maria Silva:Exactly, exactly. Okay, cool.
00:48:23
Mario Vega:Alright, but yeah, no, I don't think there's, this is the time for making a decision, because we're still, like, running DevNet 2, so I think if we can bring up that discussion at a later call, it would be…
00:48:35
Mario Vega:It would be great, just to… See how we can coordinate.
00:48:41
Mario Vega:Thank you. So then, thanks, Maria, and thanks, thanks, Rogan. Yeah, for the last topic of today, we have a benchmarker update, and demo, sorry. I think Rafael is the go-to person here? Yeah, thank you.
00:48:59
Rafael Matias (skylenet):Yeah, I mean, it has been mentioned already by Camille, Benchmarker, so what is Benchmarker? In the past, like, NetherMite has been running these gas benchmarks.
00:49:09
Rafael Matias (skylenet):And Benchmarker is highly inspired by this, like, at least on the approach. How to basically execute EL benchmarks to, like.
00:49:18
Rafael Matias (skylenet):verify the MGAS per second, and so on, and see which tests are, like, the slowest, and so on. So we created Benchmarker, which is under the ETH PandaOps Benchmarker repo. It is able to… so one thing it does not do is, like, the test generation, so that
00:49:37
Rafael Matias (skylenet):this up to the, EEST team.
00:49:40
Rafael Matias (skylenet):to EEST, so it can consume, like, there are East fixtures for benchmarking, it can consume those fixtures, it can also just consume raw JSON files that, like, do engine calls.
00:49:51
Rafael Matias (skylenet):new payloads and FCUs.
00:49:54
Rafael Matias (skylenet):And yeah, then it… you basically have, like, these set of tests.
00:50:00
Rafael Matias (skylenet):For example, the release that was mentioned before by, I think, Lewis, they released, this version.
00:50:09
Rafael Matias (skylenet):Thanks for the shout-out for the logo. Yeah, they released this version, so Benchmarker can directly, consume this, I think it's a zip file.
00:50:19
Rafael Matias (skylenet):And parse the tests, and yeah.
00:50:22
Rafael Matias (skylenet):And it can also do, like, raw JSON false, as I mentioned before.
00:50:27
Rafael Matias (skylenet):And let me actually show you, like… it's very configurable, so yeah, for all… there's a YAML file, of course, that you can, like, configure. One thing you can say, for example, I'm gonna show you this example, and we're going to execute this.
00:50:45
Rafael Matias (skylenet):is, you can say where the test source is from. In this case, we are, like, using this raw JSON approach, because we are doing some stateful tests.
00:50:55
Rafael Matias (skylenet):But in the future, we want to probably have, like, these East fixtures, like, as the standard for everything. And, yeah, it kind of looks like this, like, test source, that you tell it.
00:51:10
Rafael Matias (skylenet):You can also, like, you know, tell… give some specific Genesis files to the clients, resource limits, this is important because there's, like, this EIP, like, for these standard specs for the… for an Ethereum node, so we want to, like, be very close to that.
00:51:27
Rafael Matias (skylenet):So we can do resource limits, also on the CPU clock.
00:51:34
Rafael Matias (skylenet):one thing… this thing can run, like, stateless sets, so you don't have, like, any, local state, but an interesting part is also it can also run, stateful tests, or, like, tests against, like, some existing state. And what we have done also is, in this case, you can specify, like, data directories.
00:51:54
Rafael Matias (skylenet):And these are from our snapshots. We downloaded it for PerfdevNet2, and for… I think all of the clients are only… I think it's between one…
00:52:05
Rafael Matias (skylenet):2… 1.2 and 1.6 terabytes.
00:52:09
Rafael Matias (skylenet):On each client, like, on the data deer size,
00:52:13
Rafael Matias (skylenet):I have them locally, like, for testing purposes, and you basically can define where they are.
00:52:17
Rafael Matias (skylenet):So Benchmarker will pick this up. We support multi… like, CFS, this is, like, a mechanism for file system snapshots.
00:52:26
Rafael Matias (skylenet):Because every time when you run a test, you don't, you know, you don't want to, like, copy the data yet somewhere else, because otherwise this is going to take a lot of time just copying.
00:52:35
Rafael Matias (skylenet):So we do support CFS, Overlay FS, and… yeah, raw copy if you want to do that. And then you have, like, the clients themselves, right? You can… yeah, images, argument, extra arguments, NVARs, whatever.
00:52:49
Rafael Matias (skylenet):You can do all of that, and we are actually gonna run this one, just to see…
00:52:57
Rafael Matias (skylenet):how this works. So I'm saying, yeah, run the config file, and I'm just limiting it to guess, because otherwise this is gonna take…
00:53:06
Rafael Matias (skylenet):A bit longer.
00:53:08
Rafael Matias (skylenet):And this thing is gonna execute, so it's gonna fetch those tests that we referenced there. It runs them against the engine API, and at the end, it will basically create a set of files. It will dump a bunch of files into a results directory.
00:53:26
Rafael Matias (skylenet):And while this is running…
00:53:31
Rafael Matias (skylenet):what is gonna happen afterwards… so after we have those results, I think they appear in here.
00:53:38
Rafael Matias (skylenet):Yeah, there. But afterwards, the interesting part is…
00:53:44
Rafael Matias (skylenet):Yeah, you want to see the logo big again, right? No, let me go here.
00:53:48
Rafael Matias (skylenet):So there's also a UI that is able to, like, render the…
00:53:53
Rafael Matias (skylenet):the results afterwards. So we saw the most recent one was, like, a Reth run. Let me just… let's see if it finished. Oh, there's a new one, right? This one…
00:54:05
Rafael Matias (skylenet):Yeah, it was now, at least based on my clock.
00:54:09
Rafael Matias (skylenet):And let's actually check the console again, just to verify that it finished.
00:54:14
Rafael Matias (skylenet):Yeah, it finished, okay. So if we then, like, click on this, you can see the run details. So you see that it ran 70 tests, you can, like, see little boxes here.
00:54:27
Rafael Matias (skylenet):There's, like, this mega gas limit that… I don't know if we want to go giga gas. This doesn't look good.
00:54:34
Rafael Matias (skylenet):So we have to improve.
00:54:38
Rafael Matias (skylenet):There's also, yeah, more, like, the configuration, which is always important, like, for people, they ask, like, how did you run this, right?
00:54:47
Rafael Matias (skylenet):So it's kind of clear, you see it here. Also very important, when something does not work, you want to see logs, right? So you can, like.
00:54:57
Rafael Matias (skylenet):Press here, and you have… in this case, it's nice because you have the benchmarker logs and the client logs in one.
00:55:04
Rafael Matias (skylenet):So you can see, kind of, what is happening.
00:55:07
Rafael Matias (skylenet):Like, the blue ones are benchmarker, and the purple ones are the client.
00:55:15
Rafael Matias (skylenet):Yeah, and there's, yeah, the generated files that I've mentioned, it generates a bunch of them, but yeah, you don't have to worry about this, the UI kind of knows how to render these.
00:55:25
Rafael Matias (skylenet):This is also interesting.
00:55:29
Rafael Matias (skylenet):like, this graph in here. This is based on something that,
00:55:34
Rafael Matias (skylenet):Carlos did. There's, like, this, there's also a link here, so for this research. It's basically something that blocks slow blocks on the,
00:55:44
Rafael Matias (skylenet):execution clients.
00:55:46
Rafael Matias (skylenet):They will basically dump a JSON payload in their logs, and if your client implements this, then Benchmarker can also pick that up and kind of generate disk information.
00:55:58
Rafael Matias (skylenet):Also, like, caching information.
00:56:01
Rafael Matias (skylenet):Yeah, you can see cash-hit ratios and so on.
00:56:07
Rafael Matias (skylenet):What else?
00:56:08
Rafael Matias (skylenet):Yeah, you have a test… you also have additional, like, you see… yeah, all this… this table is also based on that… on that JSON payload that is being logged.
00:56:17
Rafael Matias (skylenet):This currently just works on GEF. I think the other clients have not merged this yet.
00:56:22
Rafael Matias (skylenet):You have resource information over time, and also important, like, if, let's say, let's scroll up, right? You are like, oh, why, I don't know.
00:56:32
Rafael Matias (skylenet):let's maybe scroll this… why is this one orange, right? Why is this slow? So you can click it.
00:56:39
Rafael Matias (skylenet):You have, yeah, some more metrics. You can also see the raw requests that were done and responses.
00:56:47
Rafael Matias (skylenet):Yeah, so there's, like, a lot of information to debug.
00:56:52
Rafael Matias (skylenet):set… there's, like, test steps and setup steps. Setups are done before the test, it's just, yeah, sometimes you have…
00:56:59
Rafael Matias (skylenet):Some calls you have to do before the test.
00:57:01
Rafael Matias (skylenet):Yeah, and… There's, yeah, there's also this definition of sweet.
00:57:10
Rafael Matias (skylenet):So you see that this test belongs to this suite. It's… a suite is just basically a set of the same tests, so that, you know, you can actually compare them between clients, like, how something looks like. This is basically, you can see more information about what it's doing, or where the test came from.
00:57:27
Rafael Matias (skylenet):And it's… yeah.
00:57:30
Rafael Matias (skylenet):It's just doing some stateful tests, and I'm just doing Xen. Yikes, just Xen.
00:57:35
Rafael Matias (skylenet):Yeah, this one.
00:57:39
Rafael Matias (skylenet):And I think that's more or less… yeah, I think when you go… yeah, this is also interesting, like, when you go to the suite page, you see the test heatmap, so you see the slowest tests across, like, all clients,
00:57:51
Rafael Matias (skylenet):Yeah, and then you can, like, go dig in deeper if you wanna.
00:57:56
Rafael Matias (skylenet):And, yeah, at the bottom, you see every run for that suite.
00:58:01
Rafael Matias (skylenet):Then you can, like, breath.
00:58:03
Rafael Matias (skylenet):Yeah, and REST doesn't have, like, those other graphs because they don't implement the JSON log yet.
00:58:10
Rafael Matias (skylenet):Yeah, I think that's more or less it, just like a… Quick glance on this front.
00:58:18
Rafael Matias (skylenet):Yeah, if there are any questions, feel free to ask.
00:58:21
Rafael Matias (skylenet):Or message me, like, on Discord.
00:58:26
Mario Vega:Thank you so much, Rafael. I think we only have one question in the chat, and it is, are you getting the results on all the runs, or there is a way to have the runs for warm-up, and then use other runs for getting the metrics? This comes from Amazon.
00:58:47
Rafael Matias (skylenet):if I'm getting the… so, I'm not sure if I understood your question correctly,
00:58:52
Rafael Matias (skylenet):But is this more, like, about optimizing the runtime? Like, doing, like, warm-up, if there are warm-up phases to them, and then, like, you know, snapshot and do, like, the test phase?
00:59:02
Ameziane Hamlat:Yeah, so… so this is more related to Baesu.
00:59:06
Ameziane Hamlat:Maybe, at some point with another mind. So when you restart base, so if you try to benchmark directly, you are getting wrong results, because Java needs some warm-up, needs to execute some methods at some level, so there are some thresholds, and when we hit those thresholds.
00:59:25
Ameziane Hamlat:Those methods are, are compiled to,
00:59:29
Ameziane Hamlat:to assembly, basically, but before they are interpreted. So we need to, to basically have that, that warm-up that is already done.
00:59:41
Ameziane Hamlat:to… to get… to get the results. So, Nethermind benchmarks.
00:59:47
Ameziane Hamlat:does that, actually, at some point. So I wanted to know if that was replicated in those benchmarks. But by the way, great work, great rate, really impressive.
01:00:00
Rafael Matias (skylenet):Thank you. Yes, and regarding that warm-up thingy, so I also have seen that on the gas benchmarks, and yes, we can also do that,
01:00:09
Rafael Matias (skylenet):So it's basically, if I remember correctly, it's just executing a test, but generating, like, a wrong,
01:00:15
Rafael Matias (skylenet):State root hash or something on the new payload so that it kind of warms up.
01:00:20
Rafael Matias (skylenet):And yes, we can do that.
01:00:23
Rafael Matias (skylenet):It's already supported.
01:00:25
Rafael Matias (skylenet):Camille, you can correct me if I said something.
01:00:27
Kamil Chodoła:Yeah, exactly, just wanted to confirm, and as you've seen, for now, this is utilizing still the benchmarks which are either generated by ELs, or by gas benchmarks for stateful operations, or stateful tests in general.
01:00:42
Kamil Chodoła:So, yeah, so warm-ups are still… are there, and I'm not sure, probably, it is either not yet enabled, or…
01:00:50
Kamil Chodoła:there is just a small bit which needs to be added, and the benchmark should be, like, feature complete with gas benchmarks, and…
01:00:58
Kamil Chodoła:extra things on top of that. So, like, this is, like, an evolution of gas benchmarks, so all the features which were before should be there.
01:01:10
Ameziane Hamlat:Okay, so how about, how about stateful tests? So, when we have a snapshot.
01:01:16
Ameziane Hamlat:Then we, we start a node, and, on top of that snapshot, and we generate those new blocks.
01:01:26
Ameziane Hamlat:How does the warm-up work in this case?
01:01:29
Ameziane Hamlat:Work in this case.
01:01:34
Kamil Chodoła:So, warm-up will be still exactly the same, so,
01:01:38
Kamil Chodoła:we are generating the tests on top of state, also with the usage of overlay or ZTFS, and we are generating also the…
01:01:46
Kamil Chodoła:warm-ups in the exact same way. So we are stoning up the overlay on top of the database, creating bunch of, executing a bunch of tests with mismatch of state root, and saving the… saving everything into the file, so it is also still…
01:02:02
Kamil Chodoła:Capable to execute in the exact same way as we did on stateless tests.
01:02:07
Kamil Chodoła:So, differences… There is no difference except that those are generated on top of state.
01:02:20
Mario Vega:Right. Thank you, thank you, Rafael. Are there any more questions, regarding this?
01:02:30
Mario Vega:If not, thanks again, Rafael, for the amazing presentation. I think that's it for today. Thanks, everyone, for joining. Sorry for going over time. Alright, see you in the next call.

Chat Logs

00:03:42
Stefan Starflinger:does not work
00:05:45
wolovim:Stefan’s spec doc: https://notes.ethereum.org/@ethpandaops/bal-devnet-2
00:07:26
Jared Wasinger:It should be present for non-finalized blocks though
00:09:00
Barnabas:a single malicous actor could trigger a chain to halt over 100M gas without eth/70
00:09:18
Dustin:10MB still matters on CL gossip
00:09:50
Dustin:yes 10MB is a hard limit right now
00:10:40
pk910:receipts are more problematic than block payloads >10M. a bigger block can't be broadcasted, but everyone generates the receipts themselves - except whenhitting sync
00:12:32
Ben Adams:Call data price change is still important; because the size cap determining blocks rather than pricing distorts the gas market
00:13:10
Marius van der Wijden:What was the point about the ef making noises again? Sorry I missed the sentence
00:14:04
Toni Wahrstätter:It should be tested, yes, but we wouldn't go to 150M gas without the calldata pricing adjustment. After the calldata increase we have (a lot of) leeway again before getting close to 10mib.
00:14:07
Potuz:Want to call attention that fine control on the max size is also actually needed for ePBS because it will determine the max broadcast time allocated.
00:14:16
Ansgar Dietrichs:Replying to "What was the point a..." case in point :-) just kidding. he was talking about the suggestion that there might be a deadline for Glamsterdam, where even headliners that miss the deadline might be out
00:14:36
Toni Wahrstätter:Replying to "Want to call attenti..." Bc of the dynamic ptc deadline?
00:14:49
Marius van der Wijden:Replying to "What was the point a..." Ah yes, I think thats a good thing, no?
00:14:56
Francesco:I would agree, it’s not clear why we should have this extra cap
00:14:57
Potuz:Replying to "Want to call attenti..." yes, that seems to be a needed feature in this fork given the gas numbers that are being talked about
00:15:15
Stefan Starflinger:Replying to "It should be tested,..." so what would you recommend for devnet-2 reduce to 100M?
00:16:08
Dustin:Replying to "What was the point..." Not suggesting otherwise but saying it impacts BAL planning
00:16:30
Dustin:Replying to "What was the point..." and means the existing overhead from Fusaka has to remain even though ePBS would remove most of it
00:16:31
Marius van der Wijden:Replying to "What was the point a..." Yep makes sense
00:16:48
Toni Wahrstätter:Replying to "It should be tested,..." 150M should be fine sice we have the rlp limit cap
00:17:01
Dustin:Replying to "I would agree, it..." ok, but that's at the earliest an H* point
00:17:08
Toni Wahrstätter:Replying to "It should be tested,..." Maybe not. Not sure anymore if 10mib is actually a problem ot not
00:18:03
Ben Adams:Replying to "It should be tested,..." eth/70 is the missing part on going high (as mentioned receipts) https://eips.ethereum.org/EIPS/eip-7975
00:18:12
Francesco:Replying to "I would agree, it’s ..." Sure, just saying I think that is the right way to do it eventually
00:18:18
Barnabas:Could we focus on testing bal instead of worrying about this high gaslimit scenario?
00:18:38
Toni Wahrstätter:Because there's another 10mib there?
00:18:45
Barnabas:lest just decrease the gas cap to 70M and that should be safe enough to continue
00:18:45
Dragan Rakita:True, put it to 100M and go with it
00:19:08
Stefan Starflinger:Replying to "Could we focus on te..." This is about testing BALs
00:19:16
Ben Adams:Replying to "It should be tested,..." Yeah, and is to allow receipt pagination
00:20:12
Dragan Rakita:Replying to "Could we focus on te..." So we would need calldata repricing for it
00:21:22
Marius van der Wijden:Geth miner limits blocks to ~7mb, transactions only
00:22:17
Justin Traglia:@Francesco any updates on the variable PTC deadline PR?
00:22:46
Ben Adams:eth/70 I think we want to have live for Glamsterdam? So would test higher than 100M at somepoint to confirm that EIP is in and works
00:22:53
Marius van der Wijden:One thing I wanted to add to the prev discussion: please speed up implementation of eth/70 so we can go beyond 70mgas
00:22:58
Dustin:what's max gas which fits in 10MB?
00:23:20
Marius van der Wijden:Replying to "eth/70 I think we wa..." We are working on kurtosis tests to show it works
00:23:28
Marius van der Wijden:Replying to "eth/70 I think we wa..." Cc @pk910
00:23:29
James He:We should get the beacon api prs merged in early this week
00:23:57
James He:And update it with subsequent prs if needed, the discussions are too long and getting hidden
00:25:28
Ben Adams:Oh is the safe limit 70 without it?
00:26:06
Ben Adams:Replying to "One thing I wanted t..." Thought it was > 100M
00:26:21
nflaig:Replying to "We should get the be..." working on it with Shane
00:26:28
Potuz:For some reasons I can't raise hands so I'll leave it here the forkchoice change that is **needed* is to not be broken by empty slots
00:27:03
Ameziane Hamlat:Replying to "One thing I wanted t..." I see 83 mgas on EIP-7975: eth/70
00:27:09
nflaig:Replying to "We should get the be..." we will remove block production changes so we can discuss that separately and move ahead with the PR and merge it
00:27:15
Barnabas:we have a ethpandaops/geth:epbs-devnet-0
00:27:53
Marius van der Wijden:Replying to "One thing I wanted t..." Yeah 83
00:28:33
Dustin:Replying to "we have a ethpand..." is this from some particular gh repo/branch?
00:28:48
Dustin:Replying to "we have a ethpand..." or it is the gh org it looks like
00:29:07
Barnabas:Replying to "we have a ethpandao..." its a fork of mine
00:29:15
Barnabas:Replying to "we have a ethpandao..." I’ll check with marius if they can do an official upstream branch
00:29:32
Dustin:Replying to "we have a ethpand..." that would be useful, not to rely on only a docker image
00:30:38
Toni Wahrstätter:Replying to "Want to call attenti..." My current feeling is that it should just put as late into the slot as possible, ensuring max time for propagation while still ensuring our target gas limit can be executed (in the worst case) until the next slot.
00:30:48
Barnabas:@FLCL mind giving us an update?
00:30:48
FLCL:sorry what was the question?
00:31:09
FLCL:mic issues, no significant updates
00:31:28
FLCL:We tried to test it and seems better to check it in a devnet
00:33:11
Barnabas:“Its working” “We are not sure why its working tho” 😂 oops
00:34:29
Barnabas:Could we just do eth70 for devnet 3?
00:34:47
FLCL:Btw do you guys want to split only big receipts? Or anything that can be placed under size limit?
00:35:31
FLCL:Replying to "Could we just do eth..." Others will be able to sync with full sync only
00:39:30
Louis:Benchmark Release: https://github.com/ethereum/execution-spec-tests/releases/tag/benchmark%40v0.0.7 Benchmark Documentation: https://github.com/ethereum/execution-specs/blob/forks/amsterdam/docs/writing_tests/benchmarks.md
00:39:47
Marius van der Wijden:Replying to "Btw do you guys want..." We split only when a packet would exceed the size
00:40:52
Maria Silva:https://github.com/misilva73/evm-gas-repricings/blob/main/reports/gas_repricings_todo.md
00:41:18
wolovim:https://forkcast.org/calls/price/001
00:41:33
Louis:Replying to "https://github.com/m..." I will complete the eip-2780 benchmark today. wip
00:43:47
Louis:Guru is working on eip2780 spec right now, I am working on benchmark for it
00:48:29
Marius van der Wijden:+1 on 8037 on devnet-3
00:48:48
Dragan Rakita:Replying to "+1 on 8037 on devnet..." I like this too
00:48:54
Marius van der Wijden:Replying to "+1 on 8037 on devnet..." Its the most complex one, so we should get it out of the way early
00:49:08
Stefan Starflinger:Replying to "+1 on 8037 on devnet..." me too we should discuss what we want to see in devnet-3 https://forkcast.org/devnets/
00:49:19
spencer-tb:Replying to "+1 on 8037 on devnet..." Will push in EELS, tests etc this week
00:49:25
Stefan Starflinger:Replying to "+1 on 8037 on devnet..." 8037 is pretty large so maybe just that?
00:49:46
Dragan Rakita:Replying to "+1 on 8037 on devnet..." Who is the person that I can contact related to it?
00:50:08
Maria Silva:Replying to "+1 on 8037 on devnet..." You can message me Dragan
00:50:19
Dragan Rakita:Replying to "+1 on 8037 on devnet..." Cool, will do that
00:52:33
Toni Wahrstätter:8037 + the data repricings (7976, 7981), which have specs and aren't complex based on steel's assesment
00:53:35
Toni Wahrstätter:Would be great to get to testing higher gas limits without running into limits
00:55:17
Ameziane Hamlat:This is great for EL performance benchmarking. Are you getting the results on all the runs or there is a way to have runs for warmup, and then use other runs for getting the metrics ?
00:55:28
CPerezz:Awesome work @Rafael Matias (skylenet) !!! 🎉
00:56:50
Maria Silva:And shoutout to @CPerezz ’s work on standardizing metrics. Super useful for folks wanted to analyze state operations

Summary

23 highlights · 4 decisions · 3 action itemsExperimental

bal devnet 2 status

  • bal-devnet-2 launched Friday; Nethermind and Nimbus EL have syncing issues00:04:55
  • Nimbus issue relates to block access list for finalized blocks00:06:30
  • Network configured at 150M gas; clients should verify compatibility00:08:44
  • 10MB block limit active (Fusaka); constrains blocks above ~104M gas00:09:00

epbs devnet 0 progress

  • Prysm: fork choice ready in 1-2 days; API and sync remain00:22:09
  • Teku: passing Alpha 2 spec tests except fork choice00:23:06
  • Nimbus: Alpha 2 PR merging imminently; fork choice deprioritized for DevNet 000:24:01
  • DevNet 0 will not focus on fork choice edge cases00:25:28
  • EL testing image available: ethpandaops/geth:epbs-devnet-000:27:01
  • Lodestar: passing Alpha 2 tests; fork choice refactoring in progress00:28:08

eth70 and gas limits

  • ETH/70 implementation ready in Besu; testing against other clients needed00:30:48
  • ETH/70 kurtosis testing shows clients still syncing unexpectedly00:32:22
  • Full-sync bypasses receipts; snap-sync needed to trigger ETH/70 path00:33:29
  • ETH/70 is critical blocker for scaling beyond 83M gas00:34:06

gas repricing updates

  • EIP-7904 (compute repricing) has preliminary numbers; awaiting BAL-optimized benchmarks00:40:39
  • EIP-8037 (state growth) specs progressing; multidimensional metering details being updated00:42:21
  • EIP-7976/7981 (data repricing) most advanced; specs complete00:43:08
  • Final repricing numbers expected end of March after BAL benchmarks complete00:45:05
  • EIP-8037 recommended for DevNet 3 as most complex implementation00:46:12

benchmarking infrastructure

  • Benchmarkor tool released: consumes EEST fixtures and raw JSON tests00:37:29
  • Benchmarkor supports stateful tests with 1.2-1.6TB snapshots via CoW filesystems00:48:57
  • Benchmarkor includes UI for test heatmaps, resource graphs, and detailed logs00:52:33
  • Carlos's standardized block metrics JSON format enables cross-client analysis00:56:17

Decisions

  • Reduce bal-devnet-2 gas limit to 70M to focus on BAL testing00:18:18
  • EPBS DevNet 0 will not test fork choice edge cases00:25:28
  • ETH/70 should be tested in isolation before adding to BAL devnets00:34:29
  • EIP-8037 included in bal-devnet-300:46:05

Action Items

  • PK/Barnabas: Set up isolated ETH/70 testnet for kurtosis validation00:35:57
  • All EL teams: Clients reach readiness for ETH/70 testing and notify Barnabas/PK00:36:57
  • Maria/Stefan: Coordinate DevNet 3 scope: prioritize EIP-8037, consider data repricings00:47:27

Targets

  • Mid-week - ETH/70 isolated testnet launch00:36:02
  • End of March - Final gas repricing numbers after BAL benchmarks00:45:20