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

AllCoreDevs - Testing #078

2026-04-20 Agenda: #2019 canonical JSON

Transcript

00:03:33
Mario Vega:All right, so welcome, everyone, to ACDT number 78. Today is April 20th.
00:03:39
Mario Vega:Mainly we'll focus on discussing DevNets today.
00:03:44
Mario Vega:So, yeah, let's just get started. And the first topic is blob DevNets.
00:03:49
Mario Vega:Blood Delta Serum, and I think Barnabas, that's,
00:03:54
Mario Vega:Your domain? Do you have an update on this?
00:03:57
Barnabas:There's no, currently, any updates. I think most of the CL teams are focusing on, shipping ePBS. We currently have still just Prysm and Lighthouse deployed on them. Last week, we have enabled partial cells on every single node, and we're experimenting with that.
00:04:20
Mario Vega:Any points to be raised by any of the client teams? We're gonna need a lot of minutes.
00:04:28
Barnabas:It would be good to start onboarding other clients here as well.
00:04:34
Mario Vega:Which are the ones that are currently, joined and not, and who is missing?
00:04:39
Barnabas:It's Prysm and Lighthouse only.
00:04:42
Barnabas:Everyone else is missing.
00:04:47
Mario Vega:Alright, anyone from Nimbus?
00:04:50
Mario Vega:Lodestar, who want to chime in?
00:04:59
Nico Flaig:Yeah, for us, there's still a few pieces missing we need to get done, probably this week.
00:05:11
Mario Vega:Alright, thank you. Anyone from Nimbus?
00:05:18
Mario Vega:This is blob.net server, by the way.
00:05:23
Nico Flaig:Oh, never mind my comment. I was thinking ePBS, Definite.
00:05:35
Mario Vega:Alright, I think… I don't think there's anyone from Nimbus.
00:05:40
Mario Vega:Should we jump into the next topic, then?
00:05:43
Mario Vega:Or, Barnabas, do you want to… .
00:05:47
Mario Vega:PowerPoint Alright, thanks.
00:05:50
Mario Vega:Yeah, let's move on straight to, blog level access list, DevNets.
00:05:56
Mario Vega:There was a comment in the agenda today by Marius that, he suggested that we should jump directly into Glamsterdam.devNet 0 instead of going into, Block Level Access Lists.devnet 4. So Marius, would you like to, explain on the topic?
00:06:14
Marius Van Der Wijden (M):Oh, give me a second, I'm in the room, and my fiance is also in the call, so…
00:06:28
Marius Van Der Wijden (M):Okay, so…
00:06:30
Marius Van Der Wijden (M):Basically, what we want to do is we want to move, to a world that has all of the changes for Glamsterdam as soon as possible.
00:06:42
Marius Van Der Wijden (M):And there's two ways to do… of doing it. We can either go to VelDefNet 4, or we can go to Limited DevNet 0. What we would gain by going to BAL DevNet 4 is that there is a…
00:06:58
Marius Van Der Wijden (M):That, it's, like, regardless of whether ePBS is happening on… on the consensus layer, we can, we can continue testing stuff on the, on the execution layer. But what we can instead also do is just go to glimpse at M, definite0,
00:07:18
Marius Van Der Wijden (M):And then… Get an old version of the consensus layer, to create a network.
00:07:25
Marius Van Der Wijden (M):Based off of that, if we feel like the contents layer is not ready.
00:07:32
Marius Van Der Wijden (M):for, for Glamsterdam yet.
00:07:43
Mario Vega:So, Barnabas, you have, the other, suggestion, right?
00:07:49
Barnabas:Yeah, so basically, we want to make sure that the PBS branch is as stable as possible, so we're not going to be doing any kind of pausing yet in the early days of Amsterdam DevNet Zero, for sure.
00:08:01
Barnabas:So, if you want to do fuzzing and benchmarking and stuff like that, I think that should be done on Ball-specific DevNets, like BAL DevNet 4.
00:08:09
Barnabas:And ideally, Glamstreet and DevNet3 should be, based on top of, ball DevNet3 plus, the PR770 from Execution APIs.
00:08:27
Potuz:I want to support what Barnabas is saying. I think,
00:08:33
Potuz:the Glamsterdam DevNet Zero should be thought of as an ePBS DevNet. It's not going to be stable.
00:08:40
Potuz:And it doesn't matter for us that it's not so stable, and it doesn't matter if
00:08:45
Potuz:Block Level Access Lists wants to be testing, like, new features on that DevNet, because it's very unlikely that we're gonna be hit with problems that are gonna be…
00:08:55
Potuz:more complicated for us to debug, but I suspect that for EL devs, debugging on an unstable consensus chain is going to be much more complicated. So, my advice for EL devs would be to just have a second,
00:09:09
Potuz:just purely EL, just purely bald DevNet, while we test consensus on the Glamsterdam at DevNet0.
00:09:24
Toni Wahrstätter:Yeah, or I can also just echo that… what Potos just said, and also what Barnabas said, just with one small caveat, because Barnabas, you said, we should then
00:09:35
Toni Wahrstätter:build, glow as definite.
00:09:38
Toni Wahrstätter:or Amsterdam Definite 0 on top of BAL DevNet 3, but we are currently working on BAL DevNet 4, so I guess you mean we build on top of BAL DevNet 4, right?
00:09:48
Barnabas:No, because I don't want any 8037 HAVOC on Glamsterdam, that net zero. That's why I.
00:09:55
Toni Wahrstätter:But we have it on Definite Free already.
00:09:59
Barnabas:No, those are using static values. Yeah, but those are using the static values, not the dynamic ones, and as far as I know, the dynamic values are the ones, that, like, require a huge, rebate.
00:10:10
Marius Van Der Wijden (M):you know.
00:10:11
Barnabas:the execution of the airplanes.
00:10:13
Marius Van Der Wijden (M):No, no, no. No, that is just changing one value. I'm doing a rebase because, because we've merged some stuff, into…
00:10:24
Marius Van Der Wijden (M):into… into master and… and rework some of the stuff. That's why we have to do rebase. It's not because of the dynamic value for the… for AT37. Basically, like.
00:10:36
Marius Van Der Wijden (M):whether it's a static or a dynamic value shouldn't make a big difference. The calculation is pretty easy.
00:10:45
Marius Van Der Wijden (M):The… the bigger point is… is,
00:10:52
Marius Van Der Wijden (M):whether, is whether 8037 is correctly implemented, and that is…
00:10:59
Marius Van Der Wijden (M):Testable regardless of what the cost per state byte is.
00:11:05
Barnabas:Alright, but then, could maybe Dragon mention what he means under disruptive changes?
00:11:13
Dragan Rakita:Maybe that's true, forget, but for our EVM, we still need to implement those dynamic changes, and there is additional, like, 4 or 5 additional changes that needed to land on the state gas.
00:11:26
Dragan Rakita:So yeah, there is… Yeah, there's multiple trains that need to be done.
00:11:33
Marius Van Der Wijden (M):Yes. Like, there are changes that need to be done, also for the GAF side for Definite 4, but…
00:11:40
Marius Van Der Wijden (M):Like, those are not super traumatic.
00:11:43
Marius Van Der Wijden (M):God, I would say.
00:11:44
Marius Van Der Wijden (M):Anyway, like, it seems like everyone is, is, yeah, for making definite for…
00:11:52
Marius Van Der Wijden (M):the next, thing for… well, definite 4, and… but I, I think we should not make Glamsterdam DevNet.
00:12:01
Marius Van Der Wijden (M):0 based on, BAL DevNet 3. That would be a pretty huge mess for us.
00:12:08
Mario Vega:Alright, let's do Maria, D'Antonio, and Spencer.
00:12:14
Maria Silva:Yeah, I think I was just going to… to add that the complication on the dynamic cost was mostly around the test, so the Steel team had to rework a lot of the previous tests to,
00:12:30
Maria Silva:to be able to take these dynamic costs into consideration, and my understanding is that most of the work there is being done. Then, I would agree with Dragan, so we do have some spec changes between, BAL DevNet 3 and Bold DevNet 4.
00:12:48
Maria Silva:But I feel… I don't know, it's still up to the clients to decide, but I think it would be easier to manage to just have Paul DevNet 4, and then have Glamsterdam feed from… from that development branch, because implementations will be slightly different, and so it's… it's a bit weird to…
00:13:08
Maria Silva:be using, like, old implementations of AT37 in the…
00:13:15
Maria Silva:interop, DevNet, and then, on the side have, like, continued to work on the new, specs. But yeah.
00:13:25
Maria Silva:Happy to also hear your thoughts there.
00:13:31
Toni Wahrstätter:Yeah, I agree with that, what Marius and Maria just said. We should do DevNet 4, and then have the first Glamstadom DevNet also use DevNet 4 instead of doing Definite 4, and then have the first Glamsterdamdam Defnet, basically.
00:13:44
Toni Wahrstätter:Go a step back, and… be a DevNet-free implementation.
00:13:56
spencer:Yeah, I guess from my side, I think it depends how… like, how quickly do we want to test a glance at RamdevNet? If we just want to quickly test the integration between the EL and the CL, then using Belle DevNet 3 feels good, but if we want to use BAL DevNet 4, then it means the first glance at MDevNet's probably going to be delayed.
00:14:16
spencer:And… Probably towards the end of next.
00:14:23
Parithosh Jayanthi:I think at least timeline-wise, we should definitely be aiming for
00:14:28
Parithosh Jayanthi:Late this week, or early next week, because…
00:14:32
Parithosh Jayanthi:If we have stuff in person, then it's going to be most productive if we're not waiting till the end of the week to have it done.
00:14:39
Barnabas:Exactly, and that's why I proposed that we would do, bold.net 3, instead of Bold.net 4.
00:14:47
Barnabas:Like, we ideally want to start the Glamsterdam DevNet.
00:14:51
Marius Van Der Wijden (M):Barnabis, like, we… like, we have most of the changes for BAL DevNet 4 already, and, like, it takes us another day or two to get a version of BAL DevNet.
00:15:01
Marius Van Der Wijden (M):for done, for all clients. And then it makes no sense to… to test a version of…
00:15:09
Marius Van Der Wijden (M):of AT37 that is, like… I don't know.
00:15:12
Parithosh Jayanthi:But then where does Spencer's timeline of end of next week come from, if the changes are 1-2 days?
00:15:18
Marius Van Der Wijden (M):I don't know.
00:15:20
Marius Van Der Wijden (M):Like, definitely for us, it's not… it's not one to two days. It is… sorry, it is one to two, two, two days. I need to do a rebase of,
00:15:30
Marius Van Der Wijden (M):Of the stuff, and then I need to implement the seven changes that we discussed on top.
00:15:36
Marius Van Der Wijden (M):And that should be done in a day.
00:15:39
Marius Van Der Wijden (M):Maybe two.
00:15:43
spencer:I guess I'd add the reason I said, it'd be a bit later is just…
00:15:48
spencer:each individual new spec change, so I think there's 7 total to 1837, has, like.
00:15:54
spencer:added already a lot of… a lot of extra testing that has taken… taken a while, and I think…
00:16:01
spencer:I mean, maybe we'll be very slick in person, and
00:16:05
spencer:It'll be very quick for us to…
00:16:08
spencer:Like, iron out all the bugs in person.
00:16:10
Marius Van Der Wijden (M):like, do you have… do you have tests for BAL DevNet?
00:16:13
Marius Van Der Wijden (M):4… already?
00:16:16
spencer:No, no, not yet. I was hoping to have it released for this call,
00:16:21
spencer:But yeah, we're… we're still ironing out, some… some of the AT37 changes.
00:16:28
spencer:But yeah, well, I think we're just filling the tests now, and trying to fix…
00:16:34
spencer:And the remaining changes.
00:16:36
spencer:Yeah, and I think most of the fixes are… Due to the dynamic…
00:16:40
spencer:Cost per state byte, addition.
00:16:43
spencer:But we're close, we're very close.
00:16:50
Stefan Starflinger:Yeah, I would also propose, to have… to launch, BAL DevNet 4. We can have it
00:16:58
Stefan Starflinger:very short, but then to give clients to iterate a little bit, and then quickly afterwards launched Glamster Dam.
00:17:06
Stefan Starflinger:Definite zero, that would be my suggestion. It doesn't have to be very long-lived, but just…
00:17:11
Stefan Starflinger:To get some fixes in, and then focus on GameStream DevNet Zero, or we can have both running then at the same time as well.
00:17:24
Barnabas:My main question would be, is there any other EL teams that feel, sufficiently ready, basically, to have 10.4 changes?
00:17:43
Toni Wahrstätter:I guess the question is by end of week, right? Or what's the timeline you're now thinking of, Parabas?
00:17:48
Barnabas:Well, I'm trying to do local group assistance tests before we launch a .NET, so that usually requires at least another day.
00:17:56
Barnabas:ideally by Wednesday, if we would have… like, Mario said that, they should be ready by Wednesday, so that's why it would be good to have at least another client or so by Wednesday.
00:18:11
spencer:We'll have tests, tests out by the end of today, at the latest, early tomorrow.
00:18:21
Mario Vega:So, to add up to that, I think, we can reduce the number of tests by reducing the coverage, if something is not… does not go quite smoothly.
00:18:31
Mario Vega:But we'll try to have something. Bye tomorrow.
00:18:35
Mario Vega:Or Demophore. Ball metaphor.
00:18:38
Marius Van Der Wijden (M):Instead of… instead of reducing the number of tests, can you just undo the, the dynamic state cost thing?
00:18:48
Marius Van Der Wijden (M):Because, like, that would be, for us, very easy to test. We would just undo that change.
00:18:55
Marius Van Der Wijden (M):We would… we would run all of the tests, all of them would be passing, and then we would just…
00:19:00
Marius Van Der Wijden (M):Redo the gas cost change, and then…
00:19:05
Marius Van Der Wijden (M):Like, if this is the… if this is the issue with the… why the tests are not… are not published yet, then, I think that should just be undone.
00:19:15
Marius Van Der Wijden (M):Because, as I said, I don't see many… Issues happening with that.
00:19:25
Marius Van Der Wijden (M):Well, the, like, the behavior changes that we are doing to 8037 are more complex and would require, like, specific test cases.
00:19:38
spencer:I think… I think we'll be able to get them in. Like, we're… we're… we're basically there, yeah.
00:19:48
Mario Vega:Just to be clear, that's a 4 spec,
00:19:53
Mario Vega:Are we all on the same page?
00:20:05
Mario Vega:Alright, so, just to reiterate, we're aiming, for spec.
00:20:11
Mario Vega:For Block Level Access Lists, DevNet 4, which will become Glamsterdam DevNet0.
00:20:17
Mario Vega:Is that… is that correct?
00:20:20
Mario Vega:Barnabas, or anyone else?
00:20:23
Barnabas:Yeah, I'm still waiting for at least one more client to speak up about it, because last week we were still hearing a bunch of people that were doubting that they could be even done, by end of next week, which means end of this week.
00:20:40
Mario Vega:Can other clients comment on this? How about Nethermind Besu? Yeah, Besu, please.
00:20:47
Daniel Lehrner (Besu):Yeah, I think as long as we get the tests, we could be ready. So, I mean, we have most changes prepared in draft PRs, basically. I'm a bit afraid of the 80-47 changes without tests, because those are really easy to get wrong.
00:21:07
Daniel Lehrner (Besu):But I think if we get those, we should be ready, yeah.
00:21:13
Barnabas:Yeah, in that case, we can definitely do DevNet4, with the new
00:21:18
Barnabas:two new EIPs and the dynamic,
00:21:22
Barnabas:changes plus, yeah, plus the PR from 770.
00:21:27
Barnabas:Which we should discuss next, I think.
00:21:33
Mario Vega:Alright, before we jump into that, there are, any other ideal clients, with objections to…
00:21:40
Mario Vega:The current, spec, that we are aiming for.
00:21:53
Mario Vega:All right. If not, I think, just to reiterate, we're aiming DevNet4, so full 83.7 for DevNet 4.
00:22:03
Mario Vega:And this will become Gamson Devidence Zero.
00:22:06
Mario Vega:And the last top… the last, PR to discuss would be the Execution AP's, PR, so let's… let's discuss that. I just linked that in the comment, so, for everyone to see.
00:22:17
Mario Vega:Who is in charge of this, PR? Who can give us an overview?
00:22:25
Mikhail Kalinin:I can give an overview.
00:22:31
Mikhail Kalinin:Can you hear me?
00:22:36
Mikhail Kalinin:Alright, so… this PR, basically.
00:22:44
Mikhail Kalinin:Changes the, Oh.
00:22:47
Mikhail Kalinin:the behavior of EL when CL is, like, kind of in sync and way behind the head that EL is aware of.
00:22:56
Mikhail Kalinin:Previously, if, FCL, Sends the head block.
00:23:02
Mikhail Kalinin:that EL already has validated many, many, much time, a lot of time ago.
00:23:09
Mikhail Kalinin:In the case when this book is from the canonical chain, it's ancestor of the head that the EL wears of.
00:23:18
Mikhail Kalinin:Basically, this back was…
00:23:22
Mikhail Kalinin:Saying that. In this case, the folk choice Update.
00:23:27
Mikhail Kalinin:And in the case when it's skipped, there is no payload build process triggered.
00:23:34
Mikhail Kalinin:And, yeah, that was before Gloss, and worked before Gloss.
00:23:40
Mikhail Kalinin:But now, since gloss, we need to…
00:23:44
Mikhail Kalinin:build payloads, and we need to rework out payloads, canonical, like, from the canonical chain, from the point of view that EL thinks that it's canonical, because it was previously, pointed out as the head. So we need to rework back to, like, ancestor of the head of canonical chain, and be able to… to build
00:24:04
Mikhail Kalinin:payloads on top of ancestor of…
00:24:08
Mikhail Kalinin:Of the head of canonical chain.
00:24:11
Mikhail Kalinin:Yeah, that's… that's what this PR is about, and also it introduces some limitation on how deep this reorog could be.
00:24:21
Mikhail Kalinin:Which is 32 blocks, basically, and… Yeah, but this limitation only…
00:24:28
Mikhail Kalinin:matters for the case where we do rework from the head of canonical chain to one of its ancestors, but not to any other kind of reworks.
00:24:47
Marius Van Der Wijden (M):Yeah, so, I, I left this PR, I,
00:24:55
Marius Van Der Wijden (M):It's, it's, it's a 5-minute thing for… for every client to, to, to change. Basically, the way we, we, we have discussed it, in the gas team is,
00:25:11
Marius Van Der Wijden (M):So the way where we had this rule not to reopen the head block was, in order to get, yeah, to filter out faulty or late messages from the…
00:25:24
Marius Van Der Wijden (M):from the CL, that would, yeah, basically, show a weird state to the user, by going one block back.
00:25:34
Marius Van Der Wijden (M):what we're doing here now is just to track more closely the fork choice of the CL, and we hope and we trust that they're not
00:25:47
Marius Van Der Wijden (M):doing weird things with it, so, yeah, but this is anyway an assumption that we have. So, yeah, this…
00:25:55
Marius Van Der Wijden (M):should be really a no-brainer. I've… I've implemented it twice today.
00:26:02
Marius Van Der Wijden (M):And in… in… within 10 minutes, so…
00:26:05
Marius Van Der Wijden (M):I think every, every client should be able to do this.
00:26:09
Marius Van Der Wijden (M):Yep, that's it.
00:26:15
Potuz:Yeah, so I think the phrasing on the PR of, like, the block… the limits being 32 blocks for this reorg, it's off.
00:26:24
Potuz:ideally, what EL clients should support is a reorg up to the finalized hash.
00:26:34
Potuz:And if clients cannot deal with very deep reorgs, that's fine. The spec says that you should be able to support up to the finalized hash, and if you can't, then just put in your implementation some limits that are reasonable for the implementation themselves. But I think it's…
00:26:51
Potuz:not correct to have the specification, allowing for this sort of reorgs up to a, like, fixed… any fixed number of blocks.
00:27:04
Mikhail Kalinin:I think it's not, like, fixed. I mean, yeah, it could be… any number.
00:27:10
Mikhail Kalinin:I think we need some sane limit.
00:27:13
Mikhail Kalinin:And finalized, realled back to finalized. Yeah, I'm just, you know, it's up to EL implementation, so what do they think about it? And, for instance, what happens, then the question, what happens if…
00:27:27
Mikhail Kalinin:If EL does not support a reorg of, you know, of 10,000 block depth, What should it…
00:27:34
Mikhail Kalinin:Return, in this case.
00:27:36
Mikhail Kalinin:Probably it should be an error.
00:27:38
Mikhail Kalinin:Or something like that.
00:27:39
Potuz:It's fine, because it's only on the proposer side. If you're proposing locally, you're self-building and your EL cannot support this.
00:27:49
Potuz:then you will fail just proposing your local block, but you can just still take bits, and you can still propose a block. And for anyone else in the chain, it doesn't matter, because if there is such a long reorg, anyone else that actually gets that payload will see a non-S reorg, not one of these going back to head.
00:28:07
Potuz:So it only affects the proposer side and in the self-building path.
00:28:12
Potuz:So I just don't see any reason why we shouldn't just put there that you're… you should be able to reorg up to the finalized hash.
00:28:21
Mikhail Kalinin:Then what will happen? I don't know.
00:28:27
Potuz:And then you have a branch, and that's just the usual case in which the EL should be able to support the reorg up to the finalized hash. That happens today. Right. The EL today should be able to reorg up to the finalized hash.
00:28:41
Mikhail Kalinin:Yeah, just imagine the case where we have a long period of non-finality.
00:28:46
Potuz:Happens today. This is today!
00:28:51
Mikhail Kalinin:But, yeah, so we had this… In this fact, so not…
00:28:57
Mikhail Kalinin:not do a reorg if the CL, like, syncs with, like, the chain, right, with the network.
00:29:05
Mikhail Kalinin:And it tries to catch up with the head, and it sends already known payloads and payload hashes, and yeah, and FogChoice updated as well, pointing out already known and validated in the past blocks by EL.
00:29:21
Mikhail Kalinin:So, and in this case, if there is a long period of non-finality, in this case, EL will have to do a reorg to a finalized block regardless. So, yeah.
00:29:33
Mikhail Kalinin:I tried… actually, this PR just tries to do something in between, still allows for this optimization.
00:29:42
Mikhail Kalinin:Let's name it this way.
00:29:44
Mikhail Kalinin:And, allow for… For reorgs to, you know, if it's, like, quite close to the head, to…
00:29:53
Mikhail Kalinin:Yeah, to address the case for a PDS.
00:30:04
Toni Wahrstätter:Yeah, my question was, just answered by Marius, so I was curious, like, because Podos mentioned it's only for the proposal, but I was interested in, yeah, how would this work for a test desk? Would they have the state on the EL site available? But Marius just,
00:30:19
Toni Wahrstätter:replied in the chat that EL clients would basically need to resync in such a situation. So I guess it's not super smooth if we ever had such a long reorg, because this would mean
00:30:31
Toni Wahrstätter:The nodes could not attest, timely, because they would need to re-sync in order to get the… state.
00:30:39
Toni Wahrstätter:Of that pivot block.
00:30:41
Potuz:That cannot really happen.
00:30:43
Potuz:If clients cannot support a 90,000 block reorg, then that chain will not have the attestation weight to actually cause the reorg.
00:30:56
Potuz:So that's… I think it… we're just discussing over nothing.
00:31:01
Marius Van Der Wijden (M):Yeah, so, I… I like… I like the limitation to this, one, because what we have seen in the past was faulty CLs just feeding us old blocks and… and causing… and then, like, we ignored them, but this would now cause us to reorg back to old blocks.
00:31:20
Marius Van Der Wijden (M):So I think it makes sense to me, to have a limitation there, how deep these…
00:31:28
Marius Van Der Wijden (M):Like, these reorgs within the same branch can take.
00:31:34
Marius Van Der Wijden (M):And yeah, as… as Mikhail already said, this doesn't…
00:31:38
Marius Van Der Wijden (M):This doesn't, impact how reorgs to a different branch, take.
00:31:46
Marius Van Der Wijden (M):Right.
00:31:47
Potuz:But the guy thinks… you guys are dismissing the fact that we need to change FordChoice to put this kind of limitation, because otherwise, we actually might get into sort of, like, a deadlock. If FortChoice is saying, you should reorg up to, like, say, 64 blocks.
00:32:04
Potuz:and the EL cannot handle this, for whatever reason, then…
00:32:09
Marius Van Der Wijden (M):Why…
00:32:09
Potuz:CL, not advanced, because that's…
00:32:11
Marius Van Der Wijden (M):Why would…
00:32:12
Potuz:We should be building on top of.
00:32:14
Marius Van Der Wijden (M):But why would the fog choice ever need to reorg 64 blocks on a…
00:32:21
Marius Van Der Wijden (M):A chain without any new block.
00:32:26
Potuz:No, no, so 4Choice would need to reorg on whatever… that's the assurances that we have. We can always reorg back up to our finalized checkpoint. It may not happen, it may be very difficult to happen, but this is what 4Choice is. That's what… that's what FFG guarantees to us.
00:32:46
Mikhail Kalinin:You mean, like, you… you need… you are talking about a reorg on the same chain, back to finalized block?
00:32:54
Mikhail Kalinin:Without, like, you know, introducing Without, like, introducing a competing block, right?
00:33:07
Mikhail Kalinin:Why would… why would, this kind of rework need it?
00:33:12
Potuz:Well, because this is what fortune is. We don't have a proof of fortjoice, we don't have a proof that this is impossible to do.
00:33:21
Mikhail Kalinin:Yeah, I'm just trying to find… find a way, you know?
00:33:25
Potuz:It might be impossible, that's… that's the whole point, and… and it's…
00:33:30
Potuz:It's fine if the spec says we should be able to reorg up to finalize, and implementations cannot handle this situation. Today, the spec says you should be able to sync any block on top of an unfinalized block, and that's what the spec says. Actually, the spec doesn't even say that it needs to be, well, it doesn't matter.
00:33:50
Potuz:In principle, clients should be able to sync any block.
00:33:54
Potuz:On top of a block that is not finalized.
00:33:57
Potuz:And we just can't handle this. We get dust, and therefore, we ignore some blocks. That's just fine.
00:34:04
Potuz:So, I don't see why we would put an artificial limitation where clients can just deal with those limitations. As Mario's saying, the clients already are not following the spec, and they cannot handle a reorg that is deeper than 90,000 blocks.
00:34:21
Toni Wahrstätter:I think they can handle it, they just need to re-sync. That's the… that's the thing.
00:34:26
Marius Van Der Wijden (M):No, no.
00:34:27
Potuz:Because if I don't get a… if I don't get an accepted, or if I don't get a valid there, then we just can't, we can't be in sync.
00:34:37
Marius Van Der Wijden (M):Yeah, but the… like, that's… that's the thing, we always had this… we always had this guarantee that the folk choice will never…
00:34:44
Marius Van Der Wijden (M):Flip as long as there is no other chain, no other block.
00:34:50
Marius Van Der Wijden (M):Where, where, like, it will just not go…
00:34:54
Potuz:Like, what happens if we're not finalizing for 90,001 blocks, and I just produce a beacon block on top of that one, like, 90,000 old block?
00:35:06
Potuz:You're telling me that you cannot handle this?
00:35:09
Marius Van Der Wijden (M):I'm telling you that we cannot handle this, but this is a different… this is a different scenario from what we've been talking about.
00:35:16
Marius Van Der Wijden (M):is, is, reorgs within the same chain.
00:35:22
Potuz:I understand, but the point is that there's already a situation in which the spec says something, which is what ideally clients should do, and what actual clients can do is true.
00:35:34
Marius Van Der Wijden (M):Yeah, yeah, I agree, I agree, and the thing is, we can handle 90,000… guests can handle 90,000 blocks. Good luck trying that with other clients. I think they can handle, at most…
00:35:47
Marius Van Der Wijden (M):maybe a thousand blocks, if you're lucky. So…
00:35:53
Marius Van Der Wijden (M):And even for us, the 90,000 block reorg takes several seconds.
00:35:58
Marius Van Der Wijden (M):Probably minutes, by this point.
00:36:04
marek:Yeah, so what I wanted to say is that, on one point, we brainstormed the idea that basically, in case of long reorg, because it's really problematic for us to handle such long reorgs.
00:36:17
marek:But on the other hand, we can just switch to, let's say, archive node in this case. And basically, we will use more
00:36:27
marek:But that's it. We will handle this anyway, so this is not fully implemented in Netherlands, we can do it like this, and I think I agree with Potus that this is what we should do.
00:36:42
Mikhail Kalinin:So it also kind of implies that the spec since Paris, was incorrect about what we are talking now. I mean, like, with respect to what we are talking about now.
00:36:53
Mikhail Kalinin:So, it should not have this optimization at all.
00:36:58
Mikhail Kalinin:And what worries me is that, for some reason, we just remove it now, and yeah, we're required to get reoralk to final… back to finalized.
00:37:06
Mikhail Kalinin:Which is probably… Fine, if finalized block is not too far from the head.
00:37:13
Mikhail Kalinin:But then what happens if, you know, if this starts to… if this… Is the case on some…
00:37:20
Mikhail Kalinin:testnet, or whatever.
00:37:22
Mikhail Kalinin:That we've seen in the past.
00:37:25
Mikhail Kalinin:So just… I'm just trying to think about potential implications of that.
00:37:29
Marius Van Der Wijden (M):Yeah, the bigger problem is that we don't have this finalized state until, until… basically until we get to the head. Like, we don't know when… when is the final…
00:37:40
Marius Van Der Wijden (M):what block is final until we get to the head? And so there's… there's, like, this… there's many cases where we don't even know
00:37:48
Marius Van Der Wijden (M):Where the final… where the final block is, and what… where the finalization point is.
00:37:54
Potuz:relevant in this case, right? Because this is only for a proposer that should be already in sync. And for what it's worth, unless we are under an attack.
00:38:02
Potuz:I think this limit could be just 2.
00:38:04
Potuz:Like, we would never need to reorg more than just to the previous block.
00:38:10
Marius Van Der Wijden (M):Yeah, I agree. The problem is, if we, if we, if we don't put a limit there.
00:38:18
Marius Van Der Wijden (M):Then… and the CL tells us weird things, then we might just not be able to sync.
00:38:24
Marius Van Der Wijden (M):Because we keep… we keep getting, like, just imagine having, having tools.
00:38:30
Potuz:It's fine, that's an EL that is already a faulty EL, and you shouldn't be syncing in the case that the EL is faulty. And if the EL is not faulty, then we are under a situation in which we should be reorging.
00:38:42
Potuz:So, it'll cause a deadlock either way.
00:38:45
Marius Van Der Wijden (M):Just, like, just imagine, like, right now you can run an EL off of two CLs.
00:38:50
Marius Van Der Wijden (M):like, you have two CLs that feed you different points, you have one CL that is at the head, you have one CL that is at, not at the head, that is currently syncing up, and it works, because we specifically just ignore all the updates from
00:39:06
Marius Van Der Wijden (M):from the one CL that is out of sync. If we don't have this limit, what will happen is that this one CL will go forward, the other CL will tell us, hey, you actually need to go 5,000 blocks back.
00:39:22
Marius Van Der Wijden (M):We will happily go 5,000 blocks back, then the other CR tells us, no, you have to go 5,000 blocks forward, we will go 5,000 blocks forward.
00:39:31
Marius Van Der Wijden (M):So we will not ignore the, ignore the blocks from the out-of-state CL anymore.
00:39:41
Marius Van Der Wijden (M):This is… this is why this… this limit is, is there.
00:39:50
Mario Vega:It sounds… Barnabas, it sounds like there's… needs to be a change in this… in the PR.
00:39:55
Mario Vega:At least to me. Is that correct?
00:40:01
Marius Van Der Wijden (M):I don't think so.
00:40:08
Mikhail Kalinin:Yeah, my… my…
00:40:10
Mikhail Kalinin:Yeah, my opinion is, I'm just… I'm fine with, like, introducing an error, which will say that we will not reorog, you know.
00:40:21
Mikhail Kalinin:And yeah, yeah, and beyond some, you know, some depth, MDL will just… each EL implementation will pick up
00:40:27
Mikhail Kalinin:Own, limitation on that.
00:40:31
Mikhail Kalinin:We're gonna say that It must be at least till the finalized block, which is some…
00:40:39
Mikhail Kalinin:Yeah, which is kind of like…
00:40:41
Mikhail Kalinin:for EL finalized means that it actually doesn't know where a finalized block is, right? So it's, like, arbitrary,
00:40:52
Mikhail Kalinin:So we can just have some kind of 90,000 block limit on that, or whatever.
00:41:01
Mikhail Kalinin:Yeah, but that's, like, up to EL client developers to decide on what should be spec'd out there. Again, this PR tries to find a middle ground between the optimization that we had since berries, and the new requirement that Gloss actually has.
00:41:19
Mikhail Kalinin:That's all. If that's gonna be an error, whatever, yeah, let's just do it.
00:41:30
Mario Vega:Alright, can we, wrap this discussion and continue on the PR?
00:41:35
Mario Vega:Does anybody else have any questions about this?
00:41:48
Mario Vega:Alright, the follow-up question would be, is this going to be introduced in Devna 4?
00:41:54
Mario Vega:Is this a requirement? .
00:41:59
Mario Vega:I feel like we're leaning towards… yes, okay.
00:42:01
Marius Van Der Wijden (M):Well, no, it's not a… it's not a requirement for… for BAL DevNet 4, because it's not used by BAL DevNet 4, but if we ever want to do, ePBS testing on top of BAL DevNet 4, then…
00:42:13
Marius Van Der Wijden (M):then we would need it, so I would also say
00:42:18
Marius Van Der Wijden (M):that we should do it, but it's not a… it's not a requirement for BAL DevNet 4.
00:42:23
Parithosh Jayanthi:I'd also say we're probably not stressing this exact path, right? We need quite deep reorgs, and right now we're still doing relatively happy case testing anyway.
00:42:32
Marius Van Der Wijden (M):No, ePBS, triggers this path quite.
00:42:37
Marius Van Der Wijden (M):Easily.
00:42:41
Barnabas:Yeah, we had this issue already on .NET1, or .NET 0.
00:42:48
Mario Vega:Alright, regarding the requirements, is it okay,
00:42:53
Mario Vega:Barnabas, that we create, the…
00:42:57
Mario Vega:the note with the description above them before, without this PR, and then on Glamster then zero, we add this PR as a requirement for EO clients to be able to join.
00:43:13
Parithosh Jayanthi:And is this implementable by all clients by next week?
00:43:18
Barnabas:This week, end of this week.
00:43:20
Marius Van Der Wijden (M):Yeah, this should be implementable by all clients by the end of the call, and we have 20 minutes left, so get to it.
00:43:38
Mario Vega:Alright. Great, so we have agreement. Good. Do we have,
00:43:48
Mario Vega:do we need to break into… into break… into the breakout rooms for, discussions in specifics to block global access and ePBS?
00:44:01
Potuz:Before any break, I would like to talk about syncing, again, just 5 minutes.
00:44:15
Potuz:Alright, so it's the same thing that I raised on ACD, and I would try to raise it again. I want to… and no one has returned on us with this. I really want to have some eyes on, potentially removing completely the payload envelope syncing… range syncing on the CL. There is…
00:44:35
Potuz:So the question is to analyze the security, or lack of thereof.
00:44:39
Potuz:from range syncing on the CL side without even requesting the payload envelopes.
00:44:47
Potuz:the CL could perform all of the state transition on the CL side without ever taking any payload, without even knowing if the payloads actually existed.
00:44:56
Potuz:And then, when it catches the head, as soon as it sends a new payload, the EL should be able to tell if it's invalid or not.
00:45:06
Potuz:So what I'm proposing is to change the notion of optimistic sync in this setting. So the CL would not even check the block hash of the blocks, because it wouldn't even take the payload envelopes. Another
00:45:19
Potuz:Problem with this would be that, the CL…
00:45:23
Potuz:would not verify the signature of the payload envelope, because it's not even requesting those payload envelopes. On backfield, if the CL
00:45:32
Potuz:wants to backfill and get those envelopes, then we could do a batch verification of those signatures.
00:45:40
Potuz:So I'd like to understand what is the trade-off space here, because CPBS allows us to sync without ever requesting a payload.
00:46:15
Mario Vega:Alright, are you looking for input from the ELs, CLs, or what's the, approach here?
00:46:21
Potuz:From anyone, but mostly from…
00:46:24
Potuz:the EL, because Optimistic Sync is something that is quite complicated on clients, and I believe that most of the edge cases had to do with the merge itself.
00:46:33
Potuz:So, I believe we can just remove and simplify quite a bit of optimistic thinking.
00:46:38
Potuz:We can just sync without a payload, and when we're on gossip, validate payload just on Gossip.
00:46:47
Marius Van Der Wijden (M):Hmm, that's it.
00:46:49
Marius Van Der Wijden (M):Does it matter for the ELs?
00:46:51
Marius Van Der Wijden (M):Like, as long as you, at some point, give us a payload, we will be doing SnapSync anyway.
00:46:58
Potuz:Well, that's… so if we trigger SnapSync, that would be a big problem. So the security assumption that we do not want to lose is that
00:47:07
Potuz:an EL that had the state at some point, and we're just, like, restarting or whatever it is, we do not want to trick an EL into following a finalized but invalid chain.
00:47:19
Potuz:If this can happen, and if this can happen because of this change, that would be a problem.
00:47:26
Marius Van Der Wijden (M):Okay, so what you're saying is that the year is… is… is at some point?
00:47:33
Marius Van Der Wijden (M):you shut it… you shut it down, you… you restart the CL, the CL does some… some sync to the head.
00:47:40
Marius Van Der Wijden (M):Without giving us any payloads, and then it tells us this is the block that you're syncing to.
00:47:46
Marius Van Der Wijden (M):And then, in that case.
00:47:48
Marius Van Der Wijden (M):What happens is the ER will go and… and fetch those… this data from the network anyway.
00:47:55
Potuz:Exactly. And today, for example, my house, like, fetches it twice.
00:48:05
Marius Van Der Wijden (M):Yeah, that's… Sounds unnecessary.
00:48:10
Potuz:Yeah, so what I would want to do is not even fetch it, so not even check the block hash, not do anything on the CL on this, and just give you, later, when I catch up, give you a block, and make sure that if this block is a descendant of an invalid block, even if it was already finalized on the CL,
00:48:27
Potuz:I want to make sure that the EL would just tell me this is invalid.
00:48:40
Marius Van Der Wijden (M):Yeah, I think that is already working.
00:48:43
Marius Van Der Wijden (M):for us.
00:48:44
marek:But is it, like, the problem with some concrete EL, or you just want to make sure that
00:48:50
marek:That's how ELs work nowadays.
00:48:53
Potuz:Yeah, so I want to make sure, and I want to, like, to have it written somewhere so that we can actually get into agreement. It sounds to me
00:49:04
Potuz:that there is no reason for the CL to keep payload envelopes, and there's no reason for the CL to even serve by range payload envelopes.
00:49:16
marek:So, my only comment is that it makes sense to me, it's how Nethermind works nowadays, but the only thing is that it's quite a tricky scenario that you cannot easily trigger, so we need to make sure that it is really well covered by tests, and there were… some of the tests were,
00:49:35
marek:Flaky a little bit for us.
00:49:37
marek:because there are many testing hives that are checking it, that you… you will return correct, invalid hash, and so on. So, I guess it should be fine, generally, what you are talking about.
00:49:49
Potuz:Yeah, so what I would want… so this is the concrete request. The concrete request would be to EL devs to analyze the situation, analyze what are the security, the problems that this could cause.
00:50:02
Potuz:For example, one that would be dramatic would be if such a situation can trigger all ELs into snap syncing.
00:50:10
Potuz:Because if that happens, then my understanding is that, that could force… that could trick the EL into treating a finalized but invalid block as valid.
00:50:23
Potuz:And this would be an exception.
00:50:30
Mikhail Kalinin:Please repeat that, sir.
00:50:36
Mikhail Kalinin:Just, photos, could you please… could you please do a recap on why C… for CL with, like, in a PBS case, it's… it becomes a problem?
00:50:46
Mikhail Kalinin:Don't exactly…
00:50:47
Potuz:It's the other way around. ePBS allows… today, the CL cannot sync.
00:50:54
Potuz:Without getting the payload, without downloading the payload, because the payload is within… is with the block.
00:51:00
Potuz:So the way we sync when this EL is not catched up is we verify the block hash, either we do it, or the EL does it for us, and then we continue syncing. But we download the full thing.
00:51:14
Potuz:ePBS allows us to sync without ever downloading the payload.
00:51:19
Potuz:to which we would fail… we would just no longer verify the block hash, and moreover, we wouldn't verify the signature on the CL side that the payload envelope carries.
00:51:30
Potuz:But I believe that this is safe, anyways, because of what EL devs are telling me of the way they sync.
00:52:02
Mario Vega:I feel we have to park this conversation. Bottus, can you, coordinate to do a,
00:52:11
Mario Vega:write-up on this topic to see if we can keep discussing it.
00:52:17
Potuz:most of the scenario up, and I've already posted it on ACD. I'll ask to, again, bring this up on ACD next time. I'm hoping to get someone to, I mean, ELDFs to look into this and actually produce some written statement.
00:52:32
Mario Vega:Yeah, sorry about the rush, it's that just we have to go into breakouts, because we have barely enough time. Is that okay?
00:52:42
Mario Vega:Yeah, let's try to jump quickly into the breakout rooms. One for ePBS, one for Block Level Access Lists.
00:52:49
Mario Vega:And, probably if people have more time, we can stick a little bit longer. I know these… I know these have already 15 minutes, but let's just try to…
00:53:00
Mario Vega:Let's try to finish the discussion topics that we have today.
00:53:07
Mario Vega:Who's helping today with, breakouts?
00:53:15
Parithosh Jayanthi:I think it's Tony and Justin.
00:53:20
Mario Vega:Right, but I mean, admin contracts. Yeah.
00:53:23
Mario Vega:The admin controls on the… on the call.
00:53:28
Parithosh Jayanthi:Voloim and, Dionysus.
00:53:37
Mario Vega:Alright, can you guys create the breakout rooms? I don't have admin controls on this.
00:53:45
Parithosh Jayanthi:Oh, one sec, let me…
00:54:00
Parithosh Jayanthi:They should be on.
00:54:01
Marius Van Der Wijden (M):Do you really… do we really need one… need them?
00:54:06
Potuz:I don't think we underneath PBS.
00:54:09
Marius Van Der Wijden (M):Yeah, then just do the ballot stuff here.
00:54:13
Toni Wahrstätter:My stuff is also very short.
00:54:15
Toni Wahrstätter:It depends, like, we need, like, 5 minutes, I guess.
00:54:18
Barnabas:People are already left at work.
00:54:20
Mario Vega:Yeah, they're already on the… Okay.
00:54:23
Mario Vega:Let's go… let's just go there, yeah.
00:54:27
Justin Traglia:I'm also gonna join the APPS breakout, yep.

Chat Logs

00:04:56
Potuz:I’d like to talk about syncing both here and ACD eventually, a few minutes at the end of the joint section
00:06:52
Kevaundray Wedderburn:This was brought up in ACDC last week too I think
00:07:04
Toni Wahrstätter:How stable is (1) ePBS devnet and (2) bal-devnet-3?
00:07:12
Barnabas:I’d like to avoid what Marius is proposing. I’d suggest we stick to having both. I think what we could do is launch both, and use glamsterdam-devnet-0 branches for both network.
00:07:40
Toni Wahrstätter:Replying to "I’d like to avoid wh..." agree
00:08:35
Stefan Starflinger:Replying to "I’d like to avoid wh..." also agree
00:08:36
Dragan Rakita:Next devnet introduces few disruptive changes to EIP-8037 so it makes sense to have it separate at bal-devnet4
00:09:00
Mario Vega:Barnabas could you link the execution-apis PR pls?
00:09:01
spencer:Using bal-denvet-3 as the first glamsterdam devnet feels good to me. bal-devnet-4 might take a while to get stable, the 8037 changes are taking us a while to get right
00:09:10
Parithosh Jayanthi:Replying to "I’d like to avoid wh..." +1
00:09:20
Maria Silva:If glam-devnet-0 is using bal-devnet-3, then I think we need bal-devnet-4 in order to complete development for 8037 and data EIPs
00:09:41
Marius Van Der Wijden (M):Okay you all convinced me..
00:11:00
Barnabas:Replying to "Next devnet introduc..." what are these changes then?
00:11:06
Stefan Starflinger:do we need #770 for epbs + bal
00:11:10
Stefan Starflinger:execution apis
00:11:18
Stefan Starflinger:https://github.com/ethereum/execution-apis/pull/770
00:11:57
Barnabas:we should have this in bal-devnet-4 pls ^
00:12:04
Barnabas:that way we could use same images
00:12:10
Potuz:Replying to "https://github.com/e..." Yes we do
00:12:37
Stefan Starflinger:Replying to "https://github.com/e..." okay so we can't have glamsterdam devnet without it
00:13:16
Marius Van Der Wijden (M):Lol thats what I wanted to propose @Barnabas you just call it bal devnet 4, i would call it glamsterdam devnet 0
00:13:40
Barnabas:option 1: bal-devnet-3 + 770 = glam-devnet-0 option 2: bal-devnet-4 + 770 = glam-devnet-0
00:13:56
Dragan Rakita:Replying to "Next devnet introduc..." Here is list: https://github.com/misilva73/evm-gas-repricings/blob/main/reports/eip-8037/spec_review_state_gas_accounting.md
00:15:57
Kevaundray Wedderburn:Replying to "option 1: bal-devnet..." Isn’t the issue with (1) is that if there is a bug in bal-devnet-3 that arises with epbs, then it’s a context switch since clients will be working on bal-devnet-4 changes?
00:16:52
Barnabas:as long as I can have 2 ELs done with devnet 4 + 770 by wed I’m happy to use devnet 4
00:17:06
Barnabas:Replying to "as long as I can hav..." can any other EL team volunteer?
00:20:11
Stefan Starflinger:so are we removing the variable state cost?
00:20:19
Barnabas:Replying to "so are we removing t..." pls no
00:20:30
Maria Silva:We are keeping the variable cost
00:20:43
FLCL:end of this week sounds more real
00:22:13
Mario Vega:https://github.com/ethereum/execution-apis/pull/770
00:25:56
jochem-brouwer:Sorry people I have to drop early unexpected. Benchmark update for BALs: first runs are in https://benchmarkoor.core.ethpandaops.io/suites/bc398819d1ebc628. Only Geth and Besu have full + no batch io + sequential run modes, so request for other clients to add these modes ASAP.
00:29:09
Marius Van Der Wijden (M):We only support reorgs 90k blocks deep
00:29:18
Marius Van Der Wijden (M):Regardless of finalization
00:29:43
Potuz:Replying to "We only support reor..." That’s absolutely fine, it’s fine to have implementations not supporting the full spec, every client in consensus cannot sync all blocks
00:29:44
Toni Wahrstätter:Replying to "We only support reor..." would you need to resync for state in such a scenario?
00:30:01
Toni Wahrstätter:Replying to "We only support reor..." or would you keep state diffs for that many blocks in case there's no finalization
00:30:02
Marius Van Der Wijden (M):Replying to "We only support reor..." Yes
00:30:12
Marius Van Der Wijden (M):Replying to "We only support reor..." We need to resync
00:30:26
Ameziane Hamlat:How do the runs are scheduled ? I see a sawtooth pattern on mgas/s on besu side which doesn’t seem to be the case for Erigon .
00:31:59
Karim T. (matkt):Replying to "Sorry people I have ..." I think you should ask on Discord Jochem is not here anymore
00:33:14
Barnabas:where is Francesco when we need him? [Full message cannot be displayed on this version]
00:35:25
Dragan Rakita:Should EL just return error (and we put this in spec), if they can’t reorg?
00:35:49
Potuz:Yes that’s what should happen
00:36:02
marek:https://github.com/NethermindEth/nethermind/issues/9149
00:36:04
Potuz:But the spec should say that you’re supposed to handle up to finalized
00:39:46
Barnabas:is it me, or it sounds like everyone is just agreeing? 😄
00:40:36
Parithosh Jayanthi:Is the proposed change to specify till finalized (caveats on implementation) vs the current specific static limit?
00:41:11
Marius Van Der Wijden (M):We can just make the spec say that clients need to handle 2 block reorgs in the canonical chain
00:44:31
Mikhail Kalinin:CL that is syncing from scratch may have a finalized block way behind the EL has, this is why I am saying that if we introduce this then EL needs to be able to reorg back up to arbitrary depth
00:47:37
Toni Wahrstätter:I replied here: https://discord.com/channels/595666850260713488/1493309049708744756/1493563229392338994
00:48:20
Barnabas:would geth ever fall back to snap sync if it has an initialized db?
00:48:37
Marius Van Der Wijden (M):No shouldn't do it
00:48:39
Toni Wahrstätter:Replying to "would geth ever fall..." I think only if the state got corrupted but usually not
00:51:52
Marius Van Der Wijden (M):Yeah I don't think its unsafe
00:51:59
Potuz:Replying to "CL that is syncing f..." The finalized from the EL would be the one that can’t be reforged, so it’s fine anyway I think
00:52:05
Mikhail Kalinin:Need to think more into it
00:52:36
Toni Wahrstätter:Replying to "I replied here: http..." that's the discussion thread
00:52:56
Potuz:Do we need one @Barnabas ?
00:53:25
Potuz:Do we need one @Justin Traglia
00:54:53
Potuz:@Parithosh Jayanthi can you add me?
00:55:07
Maria Silva:I am not seeing the breakout as well..
00:55:22
Stefan Bratanov:Same here, not seeing it this time
00:55:26
Kevaundray Wedderburn:Can click “More” then “breakout rooms”

Summary

8 highlights · 3 decisions · 1 action itemsExperimental

fork status and schedule

  • Blob Delta Serum devnet: only Prysm and Lighthouse deployed; partial cells enabled00:05:35
  • BAL DevNet 4 becomes Glamsterdam DevNet 0 with full EIP-803700:06:30

testing progress

  • BAL DevNet 4: Full EIP-8037 including dynamic state costs by end of week00:11:55
  • Steel team releasing 8037 tests by end of today/early tomorrow00:16:26

execution apis

  • PR #770: EL must reorg within canonical chain for ePBS; 32-block limit debated00:22:27
  • PR #770 required for Glamsterdam DevNet 0; EL teams to implement by end of week00:41:26

epbs discussion

  • ePBS allows CL sync without payload envelopes; security implications under review00:44:15
  • CL may skip payload envelope verification during sync; EL must validate on catch-up00:50:17

Decisions

  • EIP-8037 included in bal-devnet-4; with dynamic state costs00:21:07
  • BAL DevNet 4 becomes Glamsterdam DevNet 0 with execution-apis PR #77000:22:11
  • Execution-apis PR #770 required by end of week for DevNet 4 launch00:41:44

Action Items

  • EL teams: EL teams analyze security implications of CL syncing without payload envelopes00:51:52

Targets

  • End of this week - BAL DevNet 4 launch with full EIP-803700:16:52
  • Wednesday - Two EL clients ready with DevNet 4 + PR #770 implementation00:41:26