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

AllCoreDevs - Testing #067

2026-01-26 Agenda: #1882 canonical JSON

Transcript

00:06:43
Mario Vega:Welcome, everyone, to ACDT number 67. Today is January 26th of 2026. Yeah, let's get just started. I shared the agenda in the chat.
00:06:59
Mario Vega:First of all, we can get started with the Glamsterdam, I think it's the most pressing topic at the moment.
00:07:08
Mario Vega:for the first subtopic is… it would be more than the two, updates. The first thing that I would like to share is that we shared a…
00:07:18
Mario Vega:reference spec test release last week, and I'll link it in the chat for everyone to see. It basically contains all of the EIPs.
00:07:28
Mario Vega:That, are supposed to be included in the 2 for local access list.
00:07:34
Mario Vega:I don't think there's much to say to it, unless, other than people should start just trying to use it, test their clients' implementations, and please raise any issues that you find in the Eat R&D Discord, so we can take a look.
00:07:49
Mario Vega:Or if there are any, any concerns, or any other thing, please just, just raise it so we can, we can, try to fix it.
00:07:58
Mario Vega:Alright, next to that, I think… Let me see…
00:08:06
Mario Vega:Stefan, are you, Nicole? I think you shared a very nicely comprehensive update in the… in the…
00:08:16
Mario Vega:in the issue, would you like to, get started on the… on this update?
00:08:22
Stefan Starflinger:Yeah, sure. So, just in general, I asked Tony if we could maybe push, the discussions on BAL open PRs, and I just listed the open PRs that we still have.
00:08:34
Stefan Starflinger:And then, as a second point, I kind of went over to see how far clients currently are, and I created a nice
00:08:42
Stefan Starflinger:table. The main blocker is the, slot num, EIP, so right now, most clients, don't make it through the Gloas fork, because they don't have the, engine methods.
00:08:55
Stefan Starflinger:So it would be great if clients could merge those, or maybe give an update on that as well in a bit. And then, also, another point is that it would be great to have the flags to enable and disable the block-level access list optimizations.
00:09:14
Stefan Starflinger:That would really, unblock some of the repricing, efforts.
00:09:19
Stefan Starflinger:Then I would ask for a quick update on the, kind of testing side, how the block-level access is incorporated in the tests to debug that. I think it would be nice for everyone to kind of get an update there.
00:09:34
Stefan Starflinger:And that we should, go, like.
00:09:38
Stefan Starflinger:try and get, BAL DevNet 2 running on Wednesday. So yeah, first of all, I would hand over to Tony, maybe to talk over, if you're here on the call, go over the individual open PRs.
00:09:54
Toni Wahrstätter:Yeah, let me quickly, pull it up, because I don't have it open right now. If I remember correctly, then for BAL DevNet 2, we wanted to have the JSON RPC methods implemented into clients, just to allow us, to easier debug stuff.
00:10:10
Toni Wahrstätter:Then there was an engine API method. I think we got to consensus in the PR there.
00:10:20
Toni Wahrstätter:basically why we are having those engine API methods. I think we wanted to discuss that on… in more depth on the… on Wednesday's block of Access List Breakout Call, so I won't go very deep into that one.
00:10:36
Toni Wahrstätter:Other than that, there's not really… Much more.
00:10:41
Toni Wahrstätter:Maybe, if Felipe is on the call, he might… might have something to add there.
00:10:46
Toni Wahrstätter:With regards to the testing.
00:10:52
felipe:Yeah, for… for now, we,
00:10:55
felipe:The block level access list, used to be on the blocked object for blockchain.
00:11:02
felipe:Trusts… And since we removed them from the block body, they actually, in the…
00:11:12
felipe:3.0.1 release weren't in the test vectors anymore.
00:11:18
felipe:But that block body in tests, also includes an RLP field,
00:11:25
felipe:So it's not really representative of a full block body, it just has block information in it.
00:11:31
felipe:What we did in the last release is we just put the block-level access list back in these block objects in the blockchain test, so they are there in this 4.0.0 release.
00:11:42
felipe:Just as they were in the previous file releases.
00:11:50
Mario Vega:Thank you. So just one comment regarding these open PRs, either Tony or Felipe or Stefan, is any of those…
00:12:02
Stefan Starflinger:Not any of these, necessarily, but it generally would be good to get them merged. So I thought maybe we could speed it up, because it seems like
00:12:14
Stefan Starflinger:or maybe not all of them, but some of them shouldn't need too much discussion. For example, the one on the…
00:12:22
Stefan Starflinger:execution APIs, adding slot number to fork choice update, I think that one would be great to merge, because that's really a blocker, for getting past the Gloas fork for this EIP.
00:12:39
Toni Wahrstätter:Yeah, maybe…
00:12:41
Stefan Starflinger:I will share in the chat.
00:12:45
Toni Wahrstätter:And just to add to that.
00:12:47
Toni Wahrstätter:So, there are basically the three open PRs we're talking about. The first one is about adding
00:12:53
Toni Wahrstätter:the engine API method, so this is not necessarily needed, but depends on which CL client we're using, because, I think Lodestar, which we have been using so far, is not blinding the block level access lists, as they are not blinding
00:13:07
Toni Wahrstätter:the transactions, for example, which other clients do. So, this is not important in this case, if we keep using Lodestar.
00:13:18
Toni Wahrstätter:And the other one is more like an update to the EIP, so if my client is on the call, maybe, you could have approved that.
00:13:26
Toni Wahrstätter:This was basically, regarding your comment on the Discord channel, and the last one is the JSON RPC method, so also not really blocking, but nice to have.
00:13:50
Mario Vega:I think we can move on to the…
00:13:53
Mario Vega:second, part of your comment, Stefan,
00:13:58
Mario Vega:Basically, this is… this is stable…
00:14:01
Mario Vega:Let me… let me just share again the… the common link for everyone to be on the same page.
00:14:06
Mario Vega:This is the comment that we're referring to. The second bullet point in that comment contains a table.
00:14:13
Mario Vega:It's, basically the status of all the clients.
00:14:18
Mario Vega:Yeah, I just wanted to go client by client to see how they are in the implementation phase of this.
00:14:24
Mario Vega:I'll just start with Geth, because I think they're the further along in implementation, to see if they have any comments about either the EIPs or the implementation itself.
00:14:36
Mario Vega:Is anyone from Geth here who wants to comment on this?
00:14:40
Mario Vega:For block-level access list, DevNet 2.
00:14:53
Marius van der Wijden:I might be the only one from, from Geth here.
00:14:56
Marius van der Wijden:As far as I know, so we have definitely implemented the…
00:15:02
Marius van der Wijden:We have implemented the three, EIPs on top.
00:15:08
Marius van der Wijden:like SlotNum, and BAL DevNet 2 should also work now. Like, the BAL part of BAL DevNet 2 should also work now.
00:15:22
Marius van der Wijden:So, yeah, we are doing a lot of internal refactors to get some of the stuff merged into master, so that is where some of our time is spent, but, yeah, as far as I know, we should be okay for a definite.
00:15:40
Mario Vega:Thank you. Alright, moving on, Bessu, I see that you have local access 7708.
00:15:48
Mario Vega:Any comments on the… Status, anything that you want to share?
00:15:53
Daniel Lehrner (Besu):I… I… I… I can do that. So we have…
00:15:58
Daniel Lehrner (Besu):Merged 7708, 7778, the gas refunds…
00:16:06
Daniel Lehrner (Besu):And we have merged AT24 swap and Doop, and SlotNum is in review.
00:16:15
Daniel Lehrner (Besu):And… oh yeah, for the e-logs, we have merged a version that
00:16:22
Daniel Lehrner (Besu):The previous one that only had the transfer, that did not have a special topic for Smith District.
00:16:29
Daniel Lehrner (Besu):self-destruct. We have also a PR in review that is adding that. So, all the… all the EIPs are either merged or in review.
00:16:42
Mario Vega:Excellent, thank you.
00:16:48
Jen:Yeah, we have everything in progress, no blockers. I'm just taking a bit more time to review all PRs, and should be in by end of day.
00:17:00
Jen:Unless there's some spec changes, and we might need to allocate more time.
00:17:09
Mario Vega:Excellent. Anyone from Nethermind?
00:17:17
Łukasz Rozmej:We have, I think, everything implemented. There will be, probably last few slight changes to slot number. We are currently integrating it to one branch. It's not master, but it's a DevNet2 branch.
00:17:33
Łukasz Rozmej:And after DevNet2 will be stabilized, we'll probably integrate everything to master at that point, so that's our plan. Not sure about gas refunds, because there was some additional discussion around it, and Ben was…
00:17:49
Łukasz Rozmej:implementing that PR, and he's traveling now, so, not here.
00:17:54
Łukasz Rozmej:Anything else, Mark, you want to add?
00:18:00
Marc:No, nothing else, really. I think, yeah, we should have all of the, new IP… new EIPs merged soon.
00:18:12
Mario Vega:Yeah, and on 7778, I think we have a comment. I'll get to that in a bit. Let me just try to finish with the rest of the clients. But yeah, there's definitely some open questions and comments.
00:18:25
Mario Vega:Alright. From Erigon, do we have any… anyone here that can share some updates?
00:18:31
Andrew Ashikhmin:Yeah, so, with the bells, themselves, we are still finishing, some bits and pieces,
00:18:42
Andrew Ashikhmin:Yeah, mostly, mostly done, and we should be ready this week, hopefully.
00:18:49
Andrew Ashikhmin:With, 7708, It's, it's in review.
00:19:00
Andrew Ashikhmin:With, 77.78 gas refunds,
00:19:06
Andrew Ashikhmin:Yeah, we'll probably have a discussion shortly afterwards, but, sorry, like, I, I… It was me who…
00:19:17
Andrew Ashikhmin:I actually wanted to make some changes, but…
00:19:22
Andrew Ashikhmin:Then I realized that it's very difficult to change receipts in Erigon.
00:19:28
Andrew Ashikhmin:So, we can implement 7778 without receipt, like, changing the receipt.
00:19:37
Andrew Ashikhmin:With adding only an ephemeral field to the receipt, but it will be very difficult for us to implement it with a…
00:19:47
Andrew Ashikhmin:Persistent field.
00:19:49
Andrew Ashikhmin:7843… we haven't started implementing it yet. I mean, it's probably an easy
00:20:00
Andrew Ashikhmin:One, but it's not done yet.
00:20:04
Andrew Ashikhmin:And, we have merged 80-24. So, when you say Wednesday, do you mean Wednesday this week, or Wednesday next week? Because I think we'll be ready by Wednesday next week, but not by Wednesday this week.
00:20:23
Stefan Starflinger:Preferably this week, but I can always, yeah, I mean, it would have been good to be done earlier, like Barnabas said, but generally, when… I think at least 3 clients already.
00:20:35
Stefan Starflinger:And I hear out that we should have 3 clients ready by Wednesday to launch it, but we can always add clients as they get ready.
00:20:45
Stefan Starflinger:Just to get it started.
00:20:52
Mario Vega:Also, we can provide help with the consumption of the tests, so we have engine
00:20:56
Mario Vega:engine API tests in the release, which includes CellDump, so if you guys need help to run this, please reach out, to Felipe or myself, and we can help you out.
00:21:07
Mario Vega:Alright, thanks, thanks, Andrew. Anyone from Nimbus, just to finalize the status on the clients?
00:21:25
Dustin:moment. So, yeah, we are… this is in progress. We don't have them yet. I think… I think…
00:21:33
Dustin:This week would be… Hmm… ambitious?
00:21:48
Mario Vega:Alright, perfect. Thank you.
00:21:50
Mario Vega:Yeah, please keep us updated on the IT R&D. If you have something ready, please reach out to Stefan so he can help you out, to, just, point you out in the right direction.
00:22:04
Mario Vega:Alright, I think the main discussion point for a specific EIP seems to be 7778. Should we just proceed with that?
00:22:13
Mario Vega:Tony, I think you have the… you raised the discussion point on the agenda. Do you have more context on what you want to discuss regarding.
00:22:23
Toni Wahrstätter:Yeah, so, right now, what we got in the specs is using the, gas used after the refund.
00:22:32
Toni Wahrstätter:Sorry, before the refund in accumulative gas used in the receipts, and we changed that recently. So this means, with EIP7778, there won't be any receipt changes needed.
00:22:45
Toni Wahrstätter:And clients can just continue dealing with the receipts as they are, for example, in EVGETransaction receipts.
00:22:53
Toni Wahrstätter:And I think Guru has already a PR open for this one, because I think we already merged,
00:23:00
Toni Wahrstätter:the other change, and now we need a new PR,
00:23:03
Toni Wahrstätter:Correct me if I'm wrong, Guru, if you're on the call.
00:23:06
Toni Wahrstätter:But I think we can just proceed with merging this.
00:23:10
Toni Wahrstätter:And… Yeah, the question is more like, how much time will clients need to implement that now?
00:23:16
Toni Wahrstätter:How far are clients with 7778, and…
00:23:20
Toni Wahrstätter:If this doesn't, like, delay definite 2, because clients are busy with slot num anyway, then I would just say we implement that small change and get it into DevNet 2.
00:23:38
Mario Vega:Stefan, what's your preference? I think, from the testing side, we would have to make the change to spec, and just refill the tests, if I'm not mistaken.
00:23:45
Mario Vega:Maybe subtle changes in the tests.
00:23:50
Guru:Actually, yeah, on the specs and testing side, we have a draft PR up already, which makes all of these changes, so as soon as we make a decision.
00:24:00
Guru:We should be good to merge that.
00:24:04
Stefan Starflinger:I don't have a strong preference.
00:24:07
Toni Wahrstätter:Yeah, maybe just to add to that, so this was basically the consensus after some discussion in this call. So, I think at this point, all clients agreed that this is the way how we should proceed.
00:24:20
Toni Wahrstätter:So, from that perspective, it's very clear. It's just a matter of, do we want to put it into DevNet2?
00:24:27
Toni Wahrstätter:definite free. But this is like, okay, then we would change the receipt now, and change it back in definite free.
00:24:34
Toni Wahrstätter:So, this change is actually, quite a simplification, I would say.
00:24:42
Andrew Ashikhmin:Well, so, for us, yeah, I just…
00:24:47
Andrew Ashikhmin:Initially, I thought it would be easy for us to change the receipt format, but then I realized that it would be
00:24:53
Andrew Ashikhmin:very difficult. So…
00:24:57
Andrew Ashikhmin:For us, it's… there is a strong preference for Erigon to implement the version that doesn't require
00:25:05
Andrew Ashikhmin:A change to the receipts.
00:25:10
Andrew Ashikhmin:We won't be able to… it will take us probably a few weeks… well, at least maybe a couple of weeks to implement.
00:25:19
Andrew Ashikhmin:the change, to the receipt format. So I strongly prefer
00:25:25
Andrew Ashikhmin:To do the version that doesn't require the receipt form a change now.
00:25:35
Daniel Lehrner (Besu):Yeah, so from Basel's side, we, as I mentioned before, we have merged 7778 as is with the modified, received.
00:25:46
Daniel Lehrner (Besu):So we will need to revert this back…
00:25:50
Daniel Lehrner (Besu):I cannot 100% guarantee that we could do this until Wednesday. So, I mean, how far doesn't need to specify today? We can make it, but if we change this now, it might take us,
00:26:04
Daniel Lehrner (Besu):I don't know, one or two days to make the actual change back with the testing, I think.
00:26:11
Daniel Lehrner (Besu):So there might be a slight… there might be a slight delay for us if we go with the adoption.
00:26:18
Mario Vega:Okay, thank you. There's a nice comment from Dragon in the chat, which is, what is better for the protocol?
00:26:27
Mario Vega:please think about that, I'll get back to that. Jen, do you have any comments?
00:26:32
Jen:Yeah, actually just wanted to plus one on what Dragon said, and from the rev side, we do have, right now, implemented according to the specs, so we'll also need to make changes.
00:26:44
Jen:But yeah, I would like to discuss, first highlight why we are making this change, and what it means to the protocol, aside from how complex it is.
00:27:01
Mario Vega:Do you have any comments on what would be better for… In general.
00:27:10
Mario Vega:someone who's more familiar with this PR, this EIP, sorry, in particular, who wants to chime in?
00:27:14
Toni Wahrstätter:Yeah, so I think it's more an implementation detail, what we're discussing. It's like…
00:27:21
Toni Wahrstätter:I, I, I cannot, I cannot really answer how…
00:27:24
Toni Wahrstätter:Like, invasive it is to change the receipt.
00:27:28
Toni Wahrstätter:The clients I've talked to have been saying that it's not, like.
00:27:33
Toni Wahrstätter:A crazy thing to do, but of course, not doing it is… Like, easier to implement.
00:27:41
Toni Wahrstätter:So, if you look into the specs, as Guru has specced that now, it's a very simple change.
00:27:47
Toni Wahrstätter:And what it gives us, eventually, is just not allowing any transaction to
00:27:54
Toni Wahrstätter:Eventually caused more work than it.
00:27:59
Toni Wahrstätter:Or eventually having blocks containing more work
00:28:03
Toni Wahrstätter:Then the block gas limit actually enforces. So this is the underlying rationale behind the EUP itself.
00:28:12
Mario Vega:Thank you. Yes, Maurice?
00:28:15
Marius van der Wijden:Yeah, so as I… as I understand this, there are two kind of
00:28:20
Marius van der Wijden:Ways of thinking about, this field.
00:28:24
Marius van der Wijden:Either if we don't change anything, then something for the users might change.
00:28:32
Marius van der Wijden:So, either we change something for the nodes, in that we would need to store a secondary field that we will not
00:28:42
Marius van der Wijden:Be able to, so, we will not be able to just
00:28:49
Marius van der Wijden:load this data from somewhere, and then recompute it. In order to recompute this data, we would need to execute the
00:28:59
Marius van der Wijden:execute the block, so the only way of kind of getting to this data is to also store it, which would mean we would need to store much…
00:29:09
Marius van der Wijden:much more in the database, or, like, one field per receipt more in the database, per transaction more in the database, which is okay.
00:29:21
Marius van der Wijden:Because other fields from the receipts we can just load from the block.
00:29:27
Marius van der Wijden:And they don't really cost us anything, storage-wise.
00:29:31
Marius van der Wijden:And yeah, on the other hand, it is… it might be a usability issue for users, but overall.
00:29:40
Marius van der Wijden:I think everyone wants this EIP, it's just…
00:29:48
Toni Wahrstätter:Yeah, maybe just to add, because this was, this was a great, description.
00:29:53
Toni Wahrstätter:And just to add, because Dragon has also, had a comment in the chat.
00:29:58
Toni Wahrstätter:So, there are two things we want. We need the gas used in a block, right? We need to enforce the block gas limit, and for this, under parallel execution.
00:30:09
Toni Wahrstätter:We need a way to know, was the block gas limit obeyed, even though transactions execute on different cores, on different threads.
00:30:18
Toni Wahrstätter:So this was also part of the discussion, why…
00:30:22
Toni Wahrstätter:That's why we need to always know, like, how much did the transaction account against the block gas limit.
00:30:30
Toni Wahrstätter:Versus how much did their user actually pay?
00:30:33
Toni Wahrstätter:So this has been part of a discussion, and…
00:30:37
Toni Wahrstätter:There are two ways to deal with it, and both are fine with block access lists, and one is without a new receipt field.
00:30:44
Toni Wahrstätter:And the other, includes a new receipt field. And right now, I think there's, broad consensus that we eventually want to do it without a new receipt field, so…
00:30:55
Toni Wahrstätter:It's more like, do we want to delay definite tool launch until next week, which would mean we can implement this change.
00:31:02
Toni Wahrstätter:Or do we want to launch it?
00:31:04
Toni Wahrstätter:With the old version.
00:31:07
Toni Wahrstätter:Booked. This week.
00:31:12
Stefan Starflinger:So you're, like, 80-90% sure that this is the right way to go, to summarize.
00:31:19
Stefan Starflinger:With this change.
00:31:21
Toni Wahrstätter:Yeah, it feels like it's less invasive, you know, because everything…
00:31:26
Toni Wahrstätter:around receipts will stay the same, because nothing changes from how clients use receipts today. The only thing that will change, and will become a little bit more complex, is enforcing the block gas limit when transactions are executed on different threads.
00:31:41
Toni Wahrstätter:Because you can't just take the receipt values and go through the gas limits and check if they could, at this point in time, still fit into the block.
00:31:52
Toni Wahrstätter:But, yeah, there are other ways how clients can deal with this, and this was also discussed. So, it seems like…
00:31:59
Toni Wahrstätter:We don't need many changes to make it work.
00:32:08
Stefan Starflinger:Okay, I generally tend… if we can get it in this week, this change, it doesn't have to be Wednesday, but if we can make it this week, then I'm for it, but I wouldn't want to wait until next week.
00:32:26
Toni Wahrstätter:Yeah, I'm also fine with delaying it. We can also delay it for definite free. It's a small change, and…
00:32:32
Toni Wahrstätter:Shouldn't block… shouldn't be a blocker.
00:32:37
Andrew Ashikhmin:Well, if in DevNet 2 we go with the version that requires a receipt change, then probably in Erigon we'll have to skip DevNet 2, because, as I mentioned, for us, it's very difficult to change the receipt format.
00:32:59
Andrew Ashikhmin:And there is no point in doing that work if it will be scrapped anyway.
00:33:06
Mario Vega:Okay, since I think it would be very valuable to have all clients on DevNet2, otherwise we will lose,
00:33:11
Mario Vega:information. I think delaying for a week seems to be, like, an okay solution. Is anyone opposed to this change?
00:33:19
Mario Vega:From the rest of the clients, it seems like an easy change for everyone else.
00:33:30
Mario Vega:Alright, if not, I think, what we need to do… Sorry, we're talking about 77… 7778, Lukash.
00:33:40
Mario Vega:We're deciding whether we are gonna change the receipt format or not, and just wanted input from the rest of the clients to see if we make another release of the tests in this, in the following days, for us to delay the net to… for next week.
00:33:55
Mario Vega:So we can get this change in, which would make it much easier for everyone to implement the EIP.
00:34:01
Łukasz Rozmej:So, for us, probably doesn't matter much.
00:34:05
Łukasz Rozmej:We can… Adjust.
00:34:13
Mario Vega:just to raise Dragon's command, we could do without the field in DevNet 2.
00:34:18
Mario Vega:Do you mean the change or not the change?
00:34:23
Dragan Rakita:I'm not sure what's specified currently in the IP. Either way, both things are very, like, nuisances,
00:34:32
Dragan Rakita:the main thing is AAP is good, it needs to be included. If we go with the field or without the field, those are details.
00:34:40
Dragan Rakita:I guess let's do what's easier.
00:34:44
Dragan Rakita:If it is easier to remove that field from the receipt, let's go with that.
00:34:51
Dragan Rakita:But I'm fine with that.
00:34:58
Mario Vega:Alright, and Marius asks, Tony if you can make the write-up in the discourse to make sure that everyone's aligned with the same thing. Alright.
00:35:23
Mario Vega:So, yeah, let's move ahead, with the PBS for the sake of time.
00:35:30
Mario Vega:Is anyone here that has more context on EPVS status? Otherwise, we can go to the clients directly to see how is the progress with them implementing EPVS.
00:35:45
Justin Traglia:Let's start with the clients.
00:35:49
Mario Vega:Okay, let me just go, one by one. Anyone from Lighthouse?
00:35:54
Eitan:Yeah, Lighthouse-wise, we're working on some consensus changes right now, so, fork choice, payload processing.
00:36:03
Eitan:Epoch stuff, and so we're aiming to have… start interoping, like, in a Lighthouse-only Kurtosis network in the following weeks.
00:36:12
Eitan:But there's still a lot of work left to do. But yeah, that's our update.
00:36:19
Mario Vega:Alright, thank you. Anyone from Teku who wants to share something regarding EBS?
00:36:23
Stefan Bratanov:Yeah, so not much update from TechCore compared to last time, the ACDC call last week.
00:36:32
Stefan Bratanov:But we're having a couple more people working on it, so hopefully…
00:36:37
Stefan Bratanov:We have some interop, block interrupt.
00:36:41
Stefan Bratanov:Only Deco in the… Next couple of weeks, hopefully.
00:36:49
Mario Vega:Alright, thank you. Anyone from Prism who wants to share an update?
00:36:59
James He:I don't see Terrence or POTAs, but, we're making good progress on all the spec functions, and then we've just started on…
00:37:10
James He:some of the Beacon APIs, and
00:37:14
James He:I'll leave it up to Nico to kick us off on the issue, but,
00:37:20
James He:there is an area that, we should align on, for beacon API, statefulness.
00:37:31
Mario Vega:Yeah, but definitely, I'll get to that point, yeah, after client updates.
00:37:35
Mario Vega:Thank you. Anyone from Rimbus who can share an update?
00:37:42
Dustin:Sure, so, I would say steady progress, so we've been kind of merging into… we learned, from Fusaka, where we've been merging into,
00:37:54
Dustin:And to trunk, I mean, in a…
00:37:57
Dustin:controlled way, but still a continuous way. So we have… The…
00:38:04
Dustin:envelope processing is kind of… and also, we have the… we already had a bunch of handling for,
00:38:12
Dustin:like, obviously the Gloss data columns, but now we're getting, I don't know, all this, like, a flavor here, I'm not a huge amount of detail, but, integrating that into the block production specifically, like, to… not just handling incoming, but creating our own.
00:38:29
Dustin:And broadcasting them, so those are the current open PRs, and…
00:38:35
Dustin:Fork choice is still, out there, though, and that's,
00:38:41
Dustin:Yeah, I think the thing I want to point out about fork choice, actually, because this is a potentially a bigger… bigger issue than just EPBS, and a bigger risk factor in terms of deploying this, is we're going to end up having a choice, and it's why I think it's worth spending a little more time on in AC, you know, at least
00:39:00
Dustin:articulating its existence.
00:39:03
Dustin:there's a change in how ProposerBoost works, Alpha 1 did this, and there was some suggestions elsewhere, and fine. But the thing is, it is backwards and compatible.
00:39:14
Dustin:like… At least testing-wise, it is.
00:39:18
Dustin:And Nimbus hasn't done this, and a number of other clients haven't implemented the backwards part, backwards, you know, the previous, forks either. Now, what we're going to end up with is a choice of, do we do this all at once in… for…
00:39:33
Dustin:For, you know, all of the forks? Or do we kind of, kind of…
00:39:37
Dustin:isolate this for GOAS, when we do this, for example, and… and they have their trade-offs.
00:39:45
Dustin:Anyway, so, for choice, that's, that's still out there, yeah. Anyway, so that's, that's where we are.
00:39:54
Mario Vega:Thank you. Just to finalize the client side, we can get back to fork choice, questions, and also the Bitcoin API afterwards. Lodstar, anyone from Loadstar with updates?
00:40:06
NC:Yeah, so last week we have implemented the Folk Choice.
00:40:11
NC:Except for the proposal boost part.
00:40:14
NC:And it's actively under review and testing.
00:40:18
NC:And, we also implemented the builder entity.
00:40:23
NC:So we are now passing the operation spec test of the alpha.1.
00:40:33
NC:And we are now moving on to, block importing, and also exploring the state cache.
00:40:48
Mario Vega:Alright, thank you. Can we just, go ahead with the Bitcoin API discussion, Nico, if you want to take it from there?
00:40:58
nflaig:Yeah, sure. So, I left the summary of the proposed, or the options that we have here.
00:41:05
nflaig:So, currently, how the spec is done is that we have a two-step process for block production, which nicely maps on the internal beacon node state, because it's similar to how the P2P works, which has the beacon block separate to the execution payload.
00:41:23
nflaig:But I noticed the problem with that is, for local block production, that it's stateful, meaning, the beacon node that produces the beacon block is the one that also has the payload.
00:41:36
nflaig:And that one needs to be used to produce the execution payload envelope as well. So… and the issue with that is if you have a multi-node setup, and
00:41:47
nflaig:stuff like Vouch or Vero that always requests from all beacon nodes. This kind of reduces the reliability of the block production.
00:41:58
nflaig:So that's… this is basically the option 1 I listed here, which is the current spec.
00:42:04
nflaig:We have two alternatives, I see.
00:42:07
nflaig:The second one is, to keep this two-step process.
00:42:12
nflaig:that you have to call two APIs, but, still call two APIs. But the execution payload request would return all block contents, which also includes the blobs, which is what we currently have.
00:42:27
nflaig:This would allow still to publish to all beacon nodes, so that property would still be there.
00:42:34
nflaig:But you still have the problem that only the beacon node that produced the initial beacon block is able to do that.
00:42:42
nflaig:to, return the response for the payload. And then, option 3, that would keep it more like the status quo, where we call a single API, and then the… for the local block, we would return, as currently the beacon block, the execution payload, and blobs as well.
00:43:02
nflaig:That way, the validator client can then sign everything and publish it through all the existing or connected beaker nodes.
00:43:10
nflaig:So this is basically closest to what we have. Some issues there, or there are problems that were raised previously that blobs. The higher the blob count goes, the more data we have to pass around.
00:43:25
nflaig:I guess especially if you run Vouch or Vero, you want them on different servers, so latency is definitely something we should consider here.
00:43:35
nflaig:But I think, yeah, this keeps it…
00:43:37
nflaig:closest to the status quo. It's not as nice from a spec perspective, but, so from the initial feedback, it seems like, most people are in favor of going with option 3.
00:43:50
nflaig:But yeah, definitely something to get more feedback on.
00:44:07
Mario Vega:Any comments from clients?
00:44:09
Mario Vega:Any preference, basically?
00:44:18
James He:Well, for definite zero, we're… we're just going with whatever is…
00:44:24
James He:We're going with the two-step process, right?
00:44:30
Barnabas:Yeah, let's not change the scope of .NET 0. Let's, aim for all these changes for .NET1.
00:44:37
nflaig:So, I guess it depends what's easiest for clients, so one thing with the two-step process is also that the beaconode that produces the block needs to cache the payload and the blobs, so I'm not sure that's currently implemented.
00:44:52
nflaig:Or at least, for example, I think, Dustin, you mentioned this might not be desired for you, so… I would say clients can just go with whatever is easiest for DevNet Zero.
00:45:08
James He:Yeah, we didn't implement the caching yet.
00:45:20
Enrico Del Fante (tbenr):Do we really need to have this standardization for…
00:45:24
Enrico Del Fante (tbenr):Don't have zero anyway, so it's kind of just for client interrupts.
00:45:30
Enrico Del Fante (tbenr):We want to speed up everything, it's just… Let clients do.
00:45:35
Enrico Del Fante (tbenr):The quickest things, and then… I'll iron out the standardization later.
00:45:51
nflaig:So I personally don't think we need to standardize this now, or for Definite Zero at least, but I think it would still be good if we can move ahead with the PR.
00:46:01
nflaig:to get this back up to the… or to get the PR merged soon, because it's pretty large, and there are other changes as well.
00:46:10
nflaig:But yeah, it's not that urgent, I would say.
00:46:16
Mario Vega:Nico, just one closing comment. So, what do you need from clients? Is it just reviews, or do you need anything else to move this PR forward?
00:46:25
nflaig:Yeah, so just the general reviews on the PR, and then just feedback on what options clients would prefer.
00:46:33
nflaig:I think if there are not no good arguments for option 1, like how it's currently spec'd, then we should probably go with option 3 to keep the status quo.
00:46:47
Mario Vega:Okay, great. Excellent. So please, clients, if you can chime in into this PR, perhaps not the most pressing issue, but it would be helpful.
00:46:56
Mario Vega:please do so. I think the link is on the agenda. I'll also share it here again.
00:47:06
Mario Vega:Great. Any other comments on this? I wanted to go back to Dustin's comments on fork choice. Do you want to expand on that? Do you feel like we should,
00:47:16
Mario Vega:Get something decided on this call, or is it something that, Yeah, in general.
00:47:25
Dustin:Sure, well, so I see, NC also, commented on this, and, and basically there was a discussion there. To summarize the Discord discussion briefly, it's that, it looks like they are the different fork choice
00:47:39
Dustin:variations, let's say, can, can coexist. So that,
00:47:46
Dustin:So I guess I'm not sure… it…
00:47:50
Dustin:The only thing that would end up having to be, I think, sort of, and this call, relevant, decided is, is it, like.
00:47:57
Dustin:It seems like people are pretty confident that this is, in fact, a…
00:48:03
Dustin:Not a breaking change in the way that they say the withdrawals were, that would have been a breaking change, as it had turned out.
00:48:12
Dustin:That were withdrawn from the pre-Gloas setup. But this is, the tweaks to ProposerBoost and being on the canonical chain and all that, and that's… it's fine if clients do either, and if it's fine if clients do either, then I don't think it's that important to decide now.
00:48:35
Dustin:What, like, in terms of interoperability.
00:48:42
Enrico Del Fante (tbenr):Yeah, if I remember correctly, this is… this was just a change that was… that's just… I decided to go backward into Phase 0.
00:48:51
Enrico Del Fante (tbenr):Just because it's covering… an edge case… So, it was…
00:48:58
Enrico Del Fante (tbenr):Fine to get this… to put this change to phase 0.
00:49:03
Enrico Del Fante (tbenr):And… I feel like maintaining two different versions just because of that tiny change is,
00:49:12
Enrico Del Fante (tbenr):Yeah, complication that we should not…
00:49:16
Enrico Del Fante (tbenr):do, if this is the question from Dustin.
00:49:19
Enrico Del Fante (tbenr):And, so if there's anything that needs to be updated on the test, or a line that goes back to phase zero, I would
00:49:30
Enrico Del Fante (tbenr):just make this thing test-related and not production code related to maintain two different behaviors, and it's actually a bug fix, as far as I understood, so…
00:49:43
Enrico Del Fante (tbenr):I would like to have that.
00:49:45
Enrico Del Fante (tbenr):From Phase 0 and just update tests.
00:49:48
Enrico Del Fante (tbenr):And have one worship.
00:49:54
Dustin:Okay. I mean, I mean, Steve, I guess, Steve, the question I wrote, though, which is.
00:49:58
Dustin:that I'm broadly, I'm not… as long as…
00:50:02
Dustin:Pushing back the… so backporting the changes is safe to the existing production,
00:50:10
Dustin:sort of forks, which are, obviously, for the EF ones, they're…
00:50:14
Dustin:they're foolu at this point,
00:50:16
Dustin:Fusaka, and then Electra or Pektra for… Gnosis is still on that, so…
00:50:22
Dustin:As long… as long as it's safe.
00:50:25
Dustin:We… I don't… I don't care at all about Pre-Pectra. I…
00:50:28
Enrico Del Fante (tbenr):So, the actual question is, is this edge case being exploited on mainnet since the beginning of the Beacon chain? And I would say.
00:50:40
Enrico Del Fante (tbenr):No, but I live…
00:50:42
Dustin:But can it be? Right, but now that is very public, the question is, if… once clients diverge in their implementations, is this a wedge that an attacker can use? And is it actually… and crucially, is it worse to have that wedge than it is to have a suboptimal proposal boost implementation?
00:51:04
Dustin:Like, I haven't seen a real analysis of this. Just, like, whatever, just do it, go ahead. Yellow.
00:51:11
Dustin:And that's not sufficient.
00:51:15
Mario Vega:Alright, I wanted to, see if… Justin, could you… could you chime in on this? Do you see this as a problem, or, should… also, we should, timebox this discussion, just for the sake of, continuing on to other topics?
00:51:33
Justin Traglia:I don't have much to say, really. I mean, I wish Francesca were here to chime in. We can chat about this more on Discord, I think, but
00:51:42
Justin Traglia:I don't believe there are issues. Like, I don't think there could be, like, a… I don't think that…
00:51:47
Justin Traglia:A divergence in implementations of, this.
00:51:51
Justin Traglia:will cause issues.
00:51:58
Mario Vega:Alright. Anyway, if you want to bring, this topic into the 8th R&D Discord, Dustin, just…
00:52:07
Mario Vega:Just for clarification, yes, please do so, so we can continue async.
00:52:11
Mario Vega:Is that… is that okay?
00:52:18
Mario Vega:Alright, thanks. Let's move on. Anything else related to EPVS that we should discuss in this call?
00:52:25
Mario Vega:Or anyone wants to bring up?
00:52:28
Justin Traglia:I can very quickly mention that we are working on,
00:52:33
Justin Traglia:specs for the next DevNet, so,
00:52:36
Justin Traglia:Alpha 2 release. I have made an issue with,
00:52:41
Justin Traglia:deadlines in this, so we plan on freezing the specs on February 6th, and making the release on February 13th.
00:52:47
Justin Traglia:Just so there's time to iron out any issues.
00:52:55
Justin Traglia:I shared a link in the chat.
00:53:03
Justin Traglia:Yes, that's correct. And, there are just two open PRs at the moment.
00:53:08
Justin Traglia:the, changes to the minimum builder withdrawal, delay, and, the variable PTC deadline PR.
00:53:27
Mario Vega:Excellent. Yeah, I think the next topic is, gas benchmarking. Anything that we want to discuss in this call today, or any updates, anyone wants to bring up?
00:53:42
Kamil Chodoła:So, nothing in particular for now. I'm in discussion on the new version of Gas Benchmarks, which is done by EF DevOps team right now.
00:53:55
Kamil Chodoła:In the meantime, we are working on repricings.
00:53:59
Kamil Chodoła:We got some messages from Maria that data is right now better, and working in the meantime on stateful testing to push the data for stateful scenarios, to decide on the repricings for those uploads.
00:54:13
Kamil Chodoła:And that would be basically it, so, for now.
00:54:17
Kamil Chodoła:The data analysis is happening.
00:54:24
Mario Vega:Alright, thank you. Great. Anything else regarding gas prices or benchmarking?
00:54:36
Louis:and built-in site, I will try to create a benchmark release.
00:54:44
Louis:that tries to run the benchmark under Osaka 4.
00:54:57
Mario Vega:Excellent, thank you, Liz.
00:55:01
Mario Vega:Okay, if nothing else, we can, go into the next… last two topics for this… for this call. The first one is regarding process.
00:55:11
Mario Vega:and specifically the CFI EIP to DevNet process, which is what we generally talk about during this call. I made a comment.
00:55:23
Mario Vega:on the… on the issue agenda, the last couple of days. And basically, I think…
00:55:30
Mario Vega:We should have, like, more defined, and clearer process for everyone to, when we want to move something from CFI into DevNet, because I think there's definitely some room for improvement regarding how this was handled.
00:55:45
Mario Vega:In this stepnet, and definitely we can improve.
00:55:48
Mario Vega:So what I shared here is basically just a suggestion that maybe we can follow. I think the main issue was the first point that we didn't do properly for this, DevNet, which is,
00:56:01
Mario Vega:that every EIP that is gonna be proposed for inclusion in a DevNet, we should post it ahead of time in the ACDT agenda.
00:56:10
Mario Vega:for every client to, review, to chime in, to raise any objections, and suggest alternatives.
00:56:18
Mario Vega:After that, if there are no, no major issues or major, objections raised by the clients, that is then, brought up in the… during the call.
00:56:32
Mario Vega:for a second chance to… for objections, and if there is none, then just basically we start working on the EIPs that have been, just approved by everyone in the… in the DevNet.
00:56:44
Mario Vega:Nevertheless, if, after that point, we still discover that there are issues that only are surfaced when the
00:56:54
Mario Vega:implementation has started by the clients, or the implementation has started by the specs and tests, this… the EIP should be proposed for removal from the devnet and just defer to a future devnet at any point, if that's the case.
00:57:09
Mario Vega:And the last bullet point is basically that this call should never be
00:57:14
Mario Vega:use to make decisions regarding CFI to CF… SFI, moving of the, of the status of an EIP, or CFI to DFI. They will not be discussed during this call. Basically, that is, still needs to be discussed within ACDE and ACDC. This is basically, a place for discussion just for anything that we want to add that has already been approved as CFI.
00:57:39
Mario Vega:E or ACDC, and we discuss it here, just to move into it, to start testing procedures.
00:57:46
Mario Vega:having said that, I just want to hear from people, basically if this sounds like a… like a good idea, any… any… any comments, or how this should be handled in the future, if there's any…
00:58:01
Mario Vega:Issues with this process,
00:58:04
Mario Vega:Other than that, what is raising this comment?
00:58:13
Mario Vega:And one comment from Ansgar is definite inclusion decision, not basically an SFI decision? Yeah, Ansgar?
00:58:20
Ansgar Dietrichs:Yeah, and I mean, it was just a, just something that came to mind, because I feel like, to me,
00:58:29
Ansgar Dietrichs:yeah, the inclusion of an EIP into a DevNet at least means that now, if we end up not actually SFI it, not having it be included in the fork in the end, then that was, of course, extra effort that might have been wasteful in retrospect.
00:58:45
Ansgar Dietrichs:And so I feel like there's this very real tension. On the one hand, I think making all…
00:58:50
Ansgar Dietrichs:debit decisions?
00:58:53
Ansgar Dietrichs:only on ACDE or something, or ACDC, of course, that adds extra friction. So, in principle, I do like the idea of just continuing to do that on ACDT. But then, on the other hand, it feels like, kind of like, just saying, oh, but, like, we moved the SFI decision over. That, in a sense, on its own, also seems a bit artificial. So I don't know, I was just curious how you think about that tension between…
00:59:14
Ansgar Dietrichs:The definite decision and the status decision.
00:59:17
Mario Vega:Yeah, definitely, I wouldn't suggest that on ACDT we decide on a big EIP to be included in a DevNet. That would be…
00:59:24
Mario Vega:erratic. For example, the ones in this, round.
00:59:30
Mario Vega:Basically because they are easy, quote-unquote, to implement.
00:59:35
Mario Vega:But yeah, that proved… that proved, as always, like, to be not the case, not the exact case for all the EIPs, so it's never gonna be, like, a silver bullet that we decide on the easiest, or, things to add to the devnet that are the easiest.
00:59:49
Mario Vega:Definitely, we shouldn't include an ACDT, something that is very big, like block-level access lists, or something of a bigger complexity, in my opinion.
01:00:02
Mario Vega:But yeah, I'm not sure. To be honest, I'm not sure if we should decide on ACDE, what to include on DevTent, or we should do it here.
01:00:20
Mario Vega:Barnabas, do you have any opinion on this, or Stefan, do you have.
01:00:26
Barnabas:Yeah, so basically, I think that, you know, CFI status is basically every EIP that we want to have implemented, whether it's going to be included in mainnet or not, is going to be up to ACD later on in ACDE or ACDC.
01:00:41
Barnabas:But every single CFI EIP should be implemented by the client, and then… then we can evaluate if it's actually something that we want to SFI, and actually want to push out on mainnet.
01:00:54
Barnabas:I think making the CFI to SFI decision is up to ACDE and ACDC, but whether or not to implement CFI EIP should really be up to ACDT, and just,
01:01:09
Barnabas:Yeah, I think ordering it on which EIP should be implemented first can be… the decision can be made on this call.
01:01:21
Stefan Starflinger:I also generally agree with that, and I think, like, only because you have an implementation doesn't mean that it's going to go into the protocol. You should really have a working implementation before the spec is really finalized, and before we have a clear idea if it's
01:01:35
Stefan Starflinger:something we want in the protocol. So, generally, I think that's a good suggestion, Mario.
01:01:47
Mario Vega:I also feel that we have… we gain a lot of information about EIPs once we start implementing, because before that, it's like.
01:01:55
Mario Vega:Best guess scenario, while…
01:01:58
Mario Vega:when we add things to the DevNet, we end up, like, really knowing the IP's problems, issues, and implementation details that turn out to be perhaps something much more, difficult to implement.
01:02:13
Mario Vega:I would like to ask client devs, how do you feel about this in general, or…
01:02:25
Mario Vega:And there's another comment from Ansgar. What's the general connection between implementation and DevNet? Are they usually implementations before DevNet inclusion? How easy it is to pull individual EIPs back out of a DevNet?
01:02:40
Mario Vega:This is just personal, it depends, right? Yeah, it depends.
01:02:45
Barnabas:how big of an EIP are we talking about? If it's a, you know, one-line change, it's very easy to revert. If it's a very significant change, then yeah, the bigger, the harder it is.
01:02:59
Dustin:It's not just sheer size, I would say we saw this in Pectra, for sure, that we had EIPs and, to some degree, Fusaka, not individually huge, but they were 3 or 4 or 4 of them, very, intertwined.
01:03:11
Dustin:They all change the same code, the same data structures, the same SSC objects.
01:03:18
Dustin:effectively, I mean, yeah, they were different EIPs, but they were one unit of change, practically speaking, in terms of implementing them, and it would be almost as much effort to remove one as to implement, at least from Nimbus, as to have implemented all of them together, almost.
01:03:49
Mario Vega:Tony, I don't think there's a conclusion,
01:03:53
Mario Vega:Yeah, last… one last question from Ansgar. Would it be too botaractic to have an initial decision on a DevNet scope, but then, a week later, on the next ACDT, make a go-no-go decision? That way, clients would have a week to look at the selected EIPs and start implementation?
01:04:09
Mario Vega:So we could catch the EIPs that are more complex than expected.
01:04:13
Barnabas:That's way too much overhead, in my opinion.
01:04:19
Ansgar Dietrichs:Okay, yeah, sorry for all the questions. I was just, you know, kind of from the ACDE kind of side, just trying to understand things a bit better, but yeah, yeah, no, I mean, makes sense then. I was just curious.
01:04:31
Mario Vega:I think, yeah, definitely we should be more careful about, with GIPs, because even though they look like one-liners.
01:04:40
Mario Vega:That's not always the case. But I think this is… this process can definitely evolve. If we catch something, any IP, for example, that is suggested to go into a DevNet, and someone
01:04:51
Mario Vega:sees that this is not feasible. We'll make sure that we want to share on the agenda prior to the call, just for everyone to, like, raise the question, either during the call or before, even.
01:05:05
Mario Vega:for us to, like, try to minimize the burden. Also, this raises the question whether… when are more complex EIPs gonna make the cut? Which is, I think, that's something that we have to keep discussing.
01:05:17
Mario Vega:We're out of time at the moment. But yeah, definitely, I don't think it's resolved. I don't think there's, like, a perfect process, anyway. So, we can bring up this topic again in next week's call, if necessary.
01:05:30
Mario Vega:There was one, just, just one more, open, comment by Pooja. I just want to very quickly give you the chance to share it, Pooja, if that's okay, before we close the call.
01:05:43
Pooja Ranjan:Yeah, thank you so much, Mario. I wanted to share a few things, a few PRs which are made for BPO-related stuff. Thank you, Mario, for sharing that.
01:05:55
Pooja Ranjan:So, in the first PR, I have requested to suggest, open a folder for BPO in order to keep track of progress and everything that general community would want to see, and this folder is suggested on Ethereum slash PM GitHub repository.
01:06:10
Pooja Ranjan:Apart from it, there are other two PRs in the EIPS repositories, and those are with respect to the Meta EP for BP01 and BPO2.
01:06:20
Pooja Ranjan:In a way, BPO1 and BPO2 are also the network upgrade, the hard fork parameters only, but it reaches the stature of a hard fork, so I believe that there should be Meta E for these two BPOs as well, and we should make Meta E for upcoming BPOs upgrade.
01:06:40
Pooja Ranjan:I have added the link to these Meta Eats.
01:06:43
Pooja Ranjan:kindly take a look, and yeah, just let us know your opinion. There were a couple of open questions that I wanted to share with this group here to decide and let us know. I would love to hear
01:06:56
Pooja Ranjan:from the team, if there is any preference in representation of BPO when we are documenting it. There are 3 different styles. It could be BPO1, BPO Space 1, and BPO-1, whatever is preferred way. I have used BPO1 in the EIP, but if there is any other preference, please let us know.
01:07:14
Pooja Ranjan:And I'm happy to update the proposal. And also, if we can get an estimate on how many BPU upgrades we are expecting a year, that would also be helpful in making a decision. I have tried to list most of the obvious question in the Fellowship of Ethereum Magician for people to refer to.
01:07:33
Pooja Ranjan:If there is any strong opposition for this EIP, please drop a comment and general support, as well as any suggestion to improve this proposal are already welcome. Thank you so much.
01:08:43
Marius van der Wijden:Bye, guys.
01:08:46
Pooja Ranjan:All right. Thank you, everyone. Bye-bye.
01:08:49
Andrew Ashikhmin:Thank you, bye-bye.

Chat Logs

00:06:43
Mario Vega:Agenda: https://github.com/ethereum/pm/issues/1882
00:07:23
Mario Vega:https://github.com/ethereum/execution-spec-tests/releases/tag/bal%40v4.0.0
00:08:38
Mario Vega:Comment by Stefan: https://github.com/ethereum/pm/issues/1882#issuecomment-3798678466
00:12:43
Stefan Starflinger:https://github.com/ethereum/execution-apis/pull/731
00:12:48
Barnabas:https://notes.ethereum.org/@ethpandaops/bal-devnet-2
00:13:00
Barnabas:Replying to "https://notes.ethere..." spec sheet for all the EIPs that we are talking about
00:13:13
Stefan Starflinger:we have lodestar and lighthouse CLs now
00:13:21
Stefan Starflinger:I'm not sure about lighthouse internals regarding this
00:13:53
Stefan Starflinger:Replying to "https://github.com/e..." would be good to have this merged
00:14:07
Mario Vega:https://github.com/ethereum/pm/issues/1882#issuecomment-3798678466
00:15:21
Barnabas:there are 4 EIPs not 3 Marius
00:15:58
Marius van der Wijden:Oh we might not have the receipt one
00:16:15
Toni Wahrstätter:Replying to "Oh we might not have..." 7778?
00:16:33
Toni Wahrstätter:Replying to "Oh we might not have..." If so, the receipt field may be removed anyway
00:20:24
Barnabas:wednesday last week lol
00:20:41
Łukasz Rozmej:we can start devnet with 3-4 clents
00:21:15
Łukasz Rozmej:yeah we need to verify on eth tests
00:21:50
Stefan Starflinger:Since the full suite takes too long to run daily, we have created a bal-quick hive suite with only the new EIPs https://hive.ethpandaops.io/#/group/bal-quick
00:22:11
Stefan Starflinger:I've switched the bal hive tests to manual and the bal-quick to daily
00:22:55
Marius van der Wijden:Replying to "Oh we might not have..." 7708
00:25:39
Dragan Rakita:What is better for protocol?
00:26:50
felipe:Replying to "What is better for..." Yeah I'm more interested in the right answer than what is easier to implement
00:27:20
Stefan Starflinger:We whould have 3 clients with 7778 ready without changes to the spec then?
00:29:40
Dragan Rakita:If this is true (you can’t get this info unless re execute), than storing it makes sense.
00:32:43
Barnabas:we should make a decision today imo
00:33:39
Marius van der Wijden:I agree we should put in the work to make it final
00:33:48
Dragan Rakita:We could do without the field in devnet-2
00:34:41
Jen:Reth could make it without the field in devnet-2 this week.
00:34:52
Marius van der Wijden:@Toni could you write it up again in discord so we make sure everyone is aligned on the same thing
00:35:07
Toni Wahrstätter:Here's a short sumary: https://discord.com/channels/595666850260713488/1460715235437580369/1463837761982300288
00:35:32
Stefan Starflinger:Then lets make the change by removing it from the receipt and try to make devnet-2 asap
00:36:56
Toni Wahrstätter:Here's another thread with some context on 7778: https://discord.com/channels/595666850260713488/688075293562503241/1461678093289656524
00:38:09
Barnabas:@James He is the beacon api question devnet 0 critical?
00:39:06
nflaig:@Barnabas not really, clients can implement whatever works now, we are not running mixed client setups for now I'd assume
00:39:15
James He:@Barnabas I don’t think so I think we are going with the 2 step process for devnet 0
00:39:30
Justin Traglia:Could we try to launch epbs-devnet-0 in ~10 days? I don’t feel comfortable freezing specs for devnet-1 before launching devnet-0.
00:39:36
James He:Btw I assume people won’t have the ptc stuff for devnet 0 right?
00:39:51
Justin Traglia:Replying to "Could we try to laun..." With one or two clients.
00:40:24
James He:Do we also have the new updated timelines for other stuff like attestations etc for devnet 0 or do we have the original timelines for devnet 0?
00:40:52
James He:Or is there a list of assumptions for devnet 0?
00:41:00
nflaig:https://github.com/ethereum/beacon-APIs/pull/552
00:41:15
Justin Traglia:Replying to "Or is there a list o..." https://notes.ethereum.org/@ethpandaops/epbs-devnet-0
00:41:17
Mario Vega:I thought NC was nico, sorry 😅
00:41:35
NC:Replying to "I thought NC was nic..." happens all the time haha
00:42:09
Eitan:Replying to "Could we try to laun…" fwiw it’ll be a stretch for LH to be ready for a devnet in 10 days. A more realistic target for us is mid to end feb
00:42:36
Toni Wahrstätter:Replying to "@Toni could you writ..." https://discord.com/channels/595666850260713488/688075293562503241/1465354383717040303
00:42:39
Justin Traglia:Replying to "Could we try to laun..." Hmm okay. According to ethpandaops, the goal is Feb 18th for devnet-0.
00:42:50
Barnabas:lets push this beacon api changes to devnet 1 scope, so that clients can ship faster.
00:42:56
Toni Wahrstätter:Replying to "@Toni could you writ..." Oh yeah! 👍🏼
00:43:02
James He:Replying to "Or is there a list o..." Right, I guess 7732 is probably too big to have everything by devnet 0 ( or are people aiming to have everything) I thought we wanted to do it more incrementally such as not having the ptc voting as part of devote 0
00:43:11
Mario Vega:Replying to "Then lets make the c..." We’ll prepare a tests release asap
00:43:50
Dustin:Nimbus doesn't care about the exact timeline of when the beacon API changes go in; we're using pure-BN (no separate VC) for devnet-0
00:44:09
nflaig:https://github.com/ethereum/beacon-APIs/pull/552
00:44:13
NC:I brought up the fork choice issue couple weeks ago https://discord.com/channels/595666850260713488/874767108809031740/1458127259549437992 . Sounds like it doesn’t require synchronization @Dustin
00:44:17
nflaig:also in general more yes on the PR would be nice
00:46:34
Dustin:Replying to "I brought up the f..." yeah looks like it can coexist
00:47:04
Mario Vega:https://github.com/ethereum/beacon-APIs/pull/552
00:47:41
nflaig:there is ongoing discussion in #apis channel so feel free to chime in there
00:49:21
Dustin:generically the concern is that it modifies in-production Electra/Fulu
00:49:45
Dustin:the question isn't whether its "tiny", it's whether it can cause consensus risks
00:50:13
Justin Traglia:Replying to "the question isn't w..." I’m not sure that it can cause consensus issues
00:50:24
Justin Traglia:Replying to "the question isn't w..." But Francesco isn’t here to give you a better answer
00:51:54
Dustin:ok, if there are no consensus issues, it's fine
00:52:11
Justin Traglia:Replying to "ok, if there are no ..." Let’s double check with Francesco. I’ll make a thread.
00:52:32
Justin Traglia:https://github.com/ethereum/consensus-specs/issues/4858
00:53:00
Barnabas:alpha 2 is aimed for epbs-devnet-1
00:55:23
Mario Vega:https://github.com/ethereum/pm/issues/1882#issuecomment-3791951548
00:56:48
Ansgar Dietrichs:EIPs proposed for inclusion in the next devnet should be posted to the ACD-T agenda ahead of time Decisions around CFI -> SFI or CFI -> DFI will not be discussed in ACD-T and should remain within ACD-E, ACD-C Is a devnet inclusion decision not basically an SFI decision?
00:57:42
Ansgar Dietrichs:Replying to "EIPs proposed for in..." or rather, if we end up not SFI-ing an EIP after it was included in a devnet, that was wasted effort
00:58:49
Barnabas:EOF was SFI-ed it can still be pulled out
00:59:22
Toni Wahrstätter:Clients provided great rankings and cfi'd eips should j just be included in the order based on how much support they gained.
00:59:54
Dustin:Replying to "EOF was SFI-ed it ..." I mostly take the whole EOF saga as an indication that it was SFI'd prematurely. Of course that might otherwise happen, but it shouldn't be routine
01:00:51
Ansgar Dietrichs:I think it’s fine to make devnet decisions here on acdt, now that everyone is aware to pay attention here. just ideally have it clearly on the agenda ahead of time
01:01:47
Barnabas:if we don’t want an EIP in the protocol it shoudln’t even be cfi-ed lmao
01:01:57
Stefan Starflinger:A spec is never really finished until we have a working implementation
01:02:17
Stefan Starflinger:we shouldn't SFI a Spec we should SFI a spec + implementation
01:02:21
Ansgar Dietrichs:and what’s the general connection between implementation and devnet? are there usually any implementations before devnet inclusion? how easy is it to pull individual EIPs back out of a devnet?
01:02:36
Toni Wahrstätter:Replying to "if we don’t want an ..." That's what you might think
01:02:52
wolovim:psa: iterating on devnet decision making aid here: https://forkcast.org/devnets. Feedback/feature requests welcome.
01:02:56
Dustin:it's also how intertwined it is
01:03:20
Justin Florentine (Besu):and testing impact
01:03:45
Toni Wahrstätter:What is the conclusion now?
01:03:52
Ansgar Dietrichs:and (sorry last question) would it be too bureaucratic to have an initial decision on a devnet scope, but then a week later on the next acdt make a go-no go decision? that way clients would have a week to look at the selected EIPs and start implementation
01:04:08
Ansgar Dietrichs:Replying to "and (sorry last ques..." so we could catch EIPs that are more complex than expected
01:04:41
Dustin:but mostly CLs don't all have the same per-EIP modularity as ELs might have
01:04:53
Dustin:where they can be often granularly enabled/disabled
01:05:20
Toni Wahrstätter:How did we get to the 4 eips that are now added to devnet 2? Not opposed to any of them but would be good to have a clear process
01:05:53
Mario Vega:https://github.com/ethereum/pm/issues/1882#issuecomment-3795075740
01:06:26
Barnabas:Replying to "How did we get to th..." steel proposed as easy eips to have test cases out for
01:06:38
Dragan Rakita:In general I would really like for ACD to have a async decision making (with deadlines) this live process is chaotic.
01:06:48
Barnabas:Replying to "How did we get to th..." we asked ppl on acdt if anyone had any issues having these for the next devnet, no objections, so this is what we set out as a goal
01:07:19
Ansgar Dietrichs:Replying to "In general I would r..." you mean ACDT now or ACDC/E or all of the above?
01:07:25
Toni Wahrstätter:Replying to "How did we get to th..." Ok, if that's the process I'm fine with it. Doesn't need to be formalized. I trust testing and devops to have a good feeling for it. Still, the level of support should also matter.
01:07:34
Pooja Ranjan:https://ethereum-magicians.org/t/hardfork-meta-bpo1/27582
01:07:37
Dragan Rakita:Replying to "In general I would r..." I am very optimistic to say everything 😄
01:08:04
Ansgar Dietrichs:Replying to "In general I would r..." makes sense. agree this would be helpful, but it’s also challenging
01:08:19
Ansgar Dietrichs:Replying to "In general I would r..." anyway, dropping off for now. a conversation that we should continue
01:08:30
Dragan Rakita:Replying to "In general I would r..." I agree, hope dies last
01:08:34
Ansgar Dietrichs:are we waiting for someone to say goodbye?
01:08:37
Pooja Ranjan:I think I lost audio
01:08:55
Ansgar Dietrichs:Replying to "I think I lost audio" no I think people were unsure whether we were waiting for comments

Summary

8 highlights · 3 decisions · 5 action itemsExperimental

fork status and schedule

  • bal-devnet-2 spec tests released; clients implementing local access list00:07:09
  • EPBS DevNet 0 targets alpha.1 spec; timeline TBD00:52:32

testing progress

  • Block-level access lists restored in blockchain test v4.0.0 release00:10:49

glamsterdam eips

  • EIP-7778 receipt field debate: remove to simplify implementation00:24:04
  • Change EIP-7778 to remove receipt field; devnet-2 delayed accordingly00:35:31

epbs updates

  • EPBS DevNet 0 uses two-step block production process initially00:39:30
  • Beacon API PR 552 needs client review00:44:13

process discussion

  • CFI EIPs proposed for devnets must post to agenda beforehand00:55:20

Decisions

  • EIP-7778 removes receipt field; simplifies implementation for clients00:35:31
  • EPBS DevNet 0 uses two-step process; standardization deferred00:39:30
  • CFI status means implementation required; SFI decided in ACDE/ACDC00:59:54

Action Items

  • EL teams: Review execution-apis PR 731 for slot number method00:12:52
  • Toni: Write EIP-7778 rationale in Discord for alignment00:34:55
  • Testing team: Prepare tests release with 7778 receipt changes00:43:09
  • CL teams: Review Beacon API PR 552 for block production00:47:22
  • Justin: Create thread on fork choice consensus risks00:52:09

Targets

  • EPBS DevNet 0 - February 18th (tentative)00:40:10
  • EPBS alpha.2 specs freeze - February 6th; release February 13th00:52:44