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

Transcript

00:02:54
Ansgar Dietrichs:Well, hello. Welcome, everyone, to All Core Devs Call 226.
00:03:02
Ansgar Dietrichs:Which will be the last one for this year?
00:03:06
Ansgar Dietrichs:Yeah, let's get right into it, it'll be another packed one. We have a few…
00:03:14
Ansgar Dietrichs:Announcements first, so the first one is specifically concerning the… holiday, schedule?
00:03:24
Ansgar Dietrichs:Banabas had a comment on the agenda with the proposed schedule that I also think makes most sense, so I just wanted to briefly get an act on this. So, we have ACDE today, on the 18th of December, then we will have a few calls in a row that will be canceled over the holidays, so…
00:03:42
Ansgar Dietrichs:Next week, 22nd and 25th of December, both calls are canceled.
00:03:47
Ansgar Dietrichs:And, then also, the week after, 29th of December and 1st of January, both calls would be canceled.
00:03:55
Ansgar Dietrichs:We would then have… restart the ACD schedule with the 5th of January, which normally would be an ACDT, because that's a Monday, and the proposal here is to change that into an ACDE. So basically, start the year January 5th, with an out-of-schedule ACDE,
00:04:12
Ansgar Dietrichs:And that is just so that we, can finalize any outstanding Glamsterdam scope decisions that we might have by that point, and really just start the year with a fully finalized FOC scope.
00:04:24
Ansgar Dietrichs:And then after that, we would continue as usual, so that week we would then, next to the ACDE, also have an ACDC on Thursday, and then the first ACDT of the year would be the Monday after.
00:04:35
Ansgar Dietrichs:Does that schedule generally… Sound reasonable? If I don't have any objections, then we will just lock that in.
00:04:46
Ansgar Dietrichs:And then also, just to mention, I talked with Tim, and while generally the idea was to basically have Tim take back over at the beginning of the year, we decided that it's, probably doesn't make sense to do that, right at the year cutoff, so I'll still, head the call on January 5th.
00:05:06
Ansgar Dietrichs:Awesome. So then, that's the first agenda point, and then on the, announcement side, just a… Kev had a very quick, shoutout he wanted to give to a ZKVM roadmap document that he recently published. Kev, are you on the call?
00:05:22
kev:Yep. Yeah, I just wanted to quickly give some visibility, to our roadmap doc, which just entails some of the projects we want to be doing going into 2026. If you have any comments, then please just leave it in the
00:05:38
kev:the ETH R&D channel that we have,
00:05:43
kev:called L1ZKVM, and Antigar's posted a link in the comments.
00:05:53
Ansgar Dietrichs:Yep, and those were the announcements, so then we can go right to the, H-star section, so we have a quick H-star section before we get to gramsum scoping, just because there's a few decisions we wanted to get out of the way.
00:06:04
Ansgar Dietrichs:Well, few decisions and one just quick summary. FOCIL… we've talked enough about FOCIL here over the last few weeks, so this time I want to just briefly inform you all, for those of you that were not on the call last week.
00:06:16
Ansgar Dietrichs:There was a decision made to basically, CFI FOCIL for the upcoming H-star hard fork.
00:06:25
Ansgar Dietrichs:So we will have FOCIL as a kind of a pre-CFI DAP, and then we'll start the,
00:06:33
Ansgar Dietrichs:we'll, we'll start the, the headliner process there soon.
00:06:41
Ansgar Dietrichs:With that out of the way, then we… there's another HL-related decision that was made on ACDT, is my understanding, and this is a name change. Apparently, I think there was some issue with the… with HECA not being a proper star or something. I didn't actually pay super close attention, I'm not sure if there's anyone here that can maybe…
00:06:57
Ansgar Dietrichs:briefly explain that, but anyway, there's a new name now for the… for the CL, for the… for the CL site, of the, of the, hard fork, and I unfortunately have no idea how this is pronounced. He's a, his, has, whatever, I don't know, does anyone have context and or know how to pronounce this name?
00:07:33
Ansgar Dietrichs:Hey, Zoo. Alex, I see in chat that you might actually disagree or something. I mean, this was presented to me as a decision that was made on ACDT, not something to decide today, but, if you have context on this, can you, I don't know.
00:07:51
Ansgar Dietrichs:Do you want to briefly comment on this?
00:07:56
Ansgar Dietrichs:No audio, okay.
00:07:58
Ansgar Dietrichs:Okay, well, yeah, I don't know, this was not on my list of… to actually make a decision on, I just was going to repeat, but if there's… if there's an issue…
00:08:07
Ansgar Dietrichs:Okay, well, that's… that's not bike shit. I think, yeah, then let's go with this renaming. So,
00:08:15
Ansgar Dietrichs:we'll just, you know… and it's apparently pronounced Hezu.
00:08:19
Ansgar Dietrichs:Jesus. Okay, that's, I guess, the… the name. Great. And then, we do have a decision, though, and that is on the actual full fork name, the motto of those… of that with Pogota.
00:08:33
Ansgar Dietrichs:There was an updated poll in the ETH Magicians using this new first part of the name.
00:08:40
Ansgar Dietrichs:And the leading candidate there in the poll is Hegota.
00:08:46
Ansgar Dietrichs:So, I just wanted to see if we have agreement to accept Heikota on today's call as an official decision.
00:08:53
Ansgar Dietrichs:Anyone who has anything? Any veto reason?
00:09:04
Ansgar Dietrichs:I agree with Justin that it's a, it's a fun, fun choice that, that it's unpronounceable, but yeah. Okay. Sure, then I think we log in both that individual nickname and the portmanteau of Hegota.
00:09:17
Ansgar Dietrichs:Yeah, looking forward to that, Falk.
00:09:26
Ansgar Dietrichs:One more… Actually, I see now that I forgot to put that on the agenda, that's my bad.
00:09:33
Ansgar Dietrichs:But, Nick so specifically wanted to get a sign-off on the proposed,
00:09:40
Ansgar Dietrichs:timeline for the… for the HSTAR EAP selection process, both headline and non-headliner, and can post a…
00:09:49
Ansgar Dietrichs:link to that in the chat. My bad for not having this on the agenda.
00:09:54
Ansgar Dietrichs:Nick, so are you on the call and could briefly speak on… speak to this?
00:10:04
nixo:Yeah, so that, that timeline is proposed.
00:10:09
nixo:Opening the headliner proposals, and then choose… And it sort of,
00:10:16
nixo:TBD on the rest of it, depending on how that goes. I would advocate for only 30 days for the non-headliner proposal, but in general, I'd like to get this solidified so that I can, make it a blog post and put it out to the world and sort of, blast that out.
00:10:38
Ansgar Dietrichs:And just to clarify, I see that in this, link that you shared in the agenda that, that is this post by Alex, that there are still a few TBDs, on the timeline, including what you said, right? Like, the, the exact,
00:10:55
Ansgar Dietrichs:time span for proposing non-headliner ERPs and whatnot, so are you asking for clarification and fill-in for these TBDs, or would you just announce them with these TBDs still in there?
00:11:06
nixo:No, I would just announce the dates that are written in there, and then say that they're a 30-day window to,
00:11:13
nixo:headliner EIPs will follow that, depending on our actual decision-making ability. So, as soon as the headliners are chosen, then the non-headliner proposal window would open up.
00:11:28
Ansgar Dietrichs:Okay, sounds good.
00:11:32
Ansgar Dietrichs:And just for people, you know, so just so we have the foundation, so basically the proposed is that January 8th to February 4th, we would have
00:11:41
Ansgar Dietrichs:time for focus discussion and headliner proposals, February 5th to February 26th, we would actually have headliner discussion and finalization, and then, basically, yeah, as you said, proposal is to start the opening up the non-headliner section once the,
00:11:58
Ansgar Dietrichs:This proposal, once a decision on the headliner is made.
00:12:01
Ansgar Dietrichs:Do we generally have agreement on this? Does it sound reasonable for people? Can we announce this as the official timeline, or is there any wishes for corrections, or…
00:12:21
Ansgar Dietrichs:Great. Well, these calls are great, I just keep making proposals, and everyone is just quiet, and we just make decisions. Very efficient. Okay, then we… we just, we log in that,
00:12:33
Ansgar Dietrichs:And apologies again that this was not on the agenda.
00:12:38
Ansgar Dietrichs:Okay, with all of that out of the way, we are ready for the main part of the call, the Glamsterdam, scoping continuation. So just for some context, we made 18 decisions on last call, we have 22 more decisions to go.
00:12:56
Ansgar Dietrichs:I… my goal would be to basically get through the vast majority of these today, and make as many decisions as possible, and then whatever is left over, and there's, like, already one or two EIPs specifically that… where that's generally the recommended action, at least.
00:13:10
Ansgar Dietrichs:we would then make those few remaining decisions on January 5th, and then hopefully have a fully locked-in
00:13:17
Ansgar Dietrichs:Foxcope by January 5th.
00:13:21
Ansgar Dietrichs:To start off the section, though, there is a short update from the repricing side, and I think, Marius, you want to give a brief overview?
00:13:32
Marius van der Wijden:Yes, hello, everyone. Let me quickly share my screen.
00:13:38
Marius van der Wijden:So, first of all, I'm synthesizing… synthesizai…
00:13:47
Marius van der Wijden:I'm combining a lot of the, the work that, the repricing teams have been doing, so a big shout out to, Jocham, and Luis, and Carlos, and Maria, and Camille from the Nethermind team, and the rest of the Nethermind team who's been working on this.
00:14:03
Marius van der Wijden:So, they've been putting in a lot of work in order to,
00:14:09
Marius van der Wijden:To get us to the point here, and,
00:14:13
Marius van der Wijden:Yeah, let me jump right in. Short recap, currently we are running at roughly, at max 20 megacity per second. What we are trying to achieve with this,
00:14:27
Marius van der Wijden:Repricing effort is a harmonization between the compute opcodes itself, and then also a harmonization between the areas of compute, state access, data.
00:14:41
Marius van der Wijden:And we want to do a mitigation for state growth. Because if we don't mitigate state growth and we increase the gas limit.
00:14:52
Marius van der Wijden:Then, yeah, the chain will grow much faster.
00:14:56
Marius van der Wijden:faster than we would have liked. So what we are, currently…
00:15:03
Marius van der Wijden:proposing is to target, 60 megacity per second.
00:15:08
Marius van der Wijden:So all operations below 60 megabits per second would need to be repriced.
00:15:14
Marius van der Wijden:up. That is around 18 operations in total. The list, here on the right shows these 18 operations, but this is, pending client improvements and further analysis.
00:15:28
Marius van der Wijden:And one thing that we might want to propose
00:15:34
Marius van der Wijden:In the future is, price reductions for… for very expensive operations.
00:15:40
Marius van der Wijden:But this heavily depends on the timelines for,
00:15:45
Marius van der Wijden:for, for, for Glemson, and, Yeah, so…
00:15:51
Marius van der Wijden:we don't want to propose that today, but what we want to propose today, is to CFI EIP7904,
00:15:59
Marius van der Wijden:In order to, to move this along.
00:16:02
Marius van der Wijden:For data, we have two EIPs that touch call data, 7976, which increases the call data floor gas, and 7981, which increases the cost for access lists. The numbers in the EIP might change, depending on the other repricings.
00:16:20
Marius van der Wijden:But both of these EIPs are very necessary if you want… if we want to increase the gas limit, and they are ready to go.
00:16:28
Marius van der Wijden:And, regarding state access, again, we are targeting 60 megabits per second.
00:16:35
Marius van der Wijden:We have, EAP8038, which, increases the cost for state access. The numbers there are still missing, but, we,
00:16:50
Marius van der Wijden:We are very confident that, or…
00:16:54
Marius van der Wijden:we are very clear that there needs to be increases in state access costs, and, in order to scale, and so, numbers there will follow, and we would like to also lock that in today.
00:17:11
Marius van der Wijden:2780 reduces the intrinsic transaction gas. This will need to be updated based on, 8038, and also some of the… maybe some of the repricings that we do.
00:17:24
Marius van der Wijden:We're not trying to force a decision on 2780 today, but overall, it has become quite clear that repricing for state taxes is necessary. For state growth.
00:17:38
Marius van der Wijden:There are 3 options, that we have, AT37,
00:17:42
Marius van der Wijden:State creation gas cost increase, which, which is a fixed, increase of the costs for state creation. 8073, dynamic state pricing for steady growth. This is,
00:17:57
Marius van der Wijden:dynamic state cost creation based on current block limit. This is, proposed by the Netherland team. And 8075, adaptive state cost to cap growth and scale at 1.
00:18:14
Marius van der Wijden:this, introduces, like, a similar mechanism to 1559 in order to, get us to a certain target of state growth per block.
00:18:26
Marius van der Wijden:And what has become clear over the last couple of weeks, that some repricing has to be done with regard to state growth.
00:18:35
Marius van der Wijden:And, if we move into the future also.
00:18:40
Marius van der Wijden:Probably state needs to be…
00:18:43
Marius van der Wijden:Measured on a different axis than compute.
00:18:47
Marius van der Wijden:But we… we would like to postpone the decision on which of those, three EIPs to do, in… onto January 5th. And, if you want to learn more about state growth, you can check out Ender's overview of… of the different.
00:19:04
Marius van der Wijden:Different, proposals.
00:19:07
Marius van der Wijden:So, concluding…
00:19:08
Marius van der Wijden:We would like to target, 60 megabits per second with repricings, that would, that would significantly, like, allow for significant more headroom, for scaling.
00:19:23
Marius van der Wijden:We would like to move 7904, the general repricings to CFI today, move 7976, increase call data flow gas to CFI, 7981, increase access list cost to CFI, and we would like to move AT38, the state access gas cost update.
00:19:42
Marius van der Wijden:to CFI. We would like to discuss
00:19:47
Marius van der Wijden:2780, the reduced intrinsic transaction gas, either on the call today or, postpone it, and we would like to postpone the decision on state growth, to January 5th.
00:20:02
Marius van der Wijden:Yeah, that is basically… what I wanted to share today.
00:20:10
Marius van der Wijden:I can leave the… I cannot see the… I cannot see… There's the chat, but,
00:20:22
Marius van der Wijden:I will leave this up for a bit, so we can discuss it.
00:20:27
Ansgar Dietrichs:Sounds good. And now, already, just for context, because for the, actually, in a second, making the CFI and DFI decisions,
00:20:35
Ansgar Dietrichs:I have updated the document that we used last week. I already put the link in chat, but, if there are questions for Marius first, then I think we should, yeah, keep the screen share here for a second. So, are there specific comments on the repricing?
00:20:50
Ansgar Dietrichs:proposals here.
00:20:59
Ben Adams:Just a quick comment on 2780. Additionally, I think ETH transfer logs, that would add a
00:21:10
Ben Adams:A small amount additionally on top.
00:21:12
Ben Adams:Which is a different EIP.
00:21:17
Ansgar Dietrichs:And also, from my side, maybe, just to clarify for… so people are aware, right, the idea would be that while the base cost of a transaction would go down.
00:21:27
Ansgar Dietrichs:in combination with the… the state access, gas cost increase EIP, the cost of a… of a transaction that,
00:21:37
Ansgar Dietrichs:would actually create a new account on the receiving side, would actually go up, right? So basically, we would then be in a world where we have two different base prices, and one of them is below the current $21,000, and the other one is above the current $21,000. Is that… is that correct?
00:21:50
Ben Adams:Yeah, so it aligns, the state growth, and…
00:21:54
Ben Adams:The cost of that account creation will be
00:21:59
Ben Adams:You know, it… depending on what we do with, state growth.
00:22:04
Ben Adams:will be that price. But at the moment, there's a loophole where if you create an account.
00:22:11
Ben Adams:broad transaction, that's cheaper than if you do it as part of a call, which is an inconsistency, so it aligns to the more expensive price.
00:22:20
Ben Adams:And takes it off a regular transaction.
00:22:26
Ansgar Dietrichs:Makes sense. Lucas?
00:22:30
Łukasz Rozmej:So, one theoretical kind of question, or, like, philosophical. So, I kind of agree that we probably need to reprise state growth, especially.
00:22:41
Łukasz Rozmej:But if state growth is one of the main chain… of chain main usage, if we reprice it similarly as we increase gas limits, the question is, are we really scaling, right? So…
00:22:53
Łukasz Rozmej:If we need to scale, we need to allow for more state growth than we have at the moment.
00:22:58
Marius van der Wijden:That's not 100% true, because if we… we would change the ratio between compute and say growth.
00:23:08
Marius van der Wijden:And that would allow for… for…
00:23:11
Marius van der Wijden:More… more compute, yes.
00:23:13
Łukasz Rozmej:Yes, true, but how much… percent of gases currently compute?
00:23:25
Maria Silva:moment is, like, around 30% is…
00:23:30
Łukasz Rozmej:You're breaking out, I didn't get that, sorry.
00:23:37
Marius van der Wijden:It's… I think it's 30% of the block is state growth.
00:23:41
Marius van der Wijden:Or state-related operations.
00:23:45
Marius van der Wijden:If I remember correctly.
00:23:51
Ben Adams:Also, with the repricings, if we… if we do them…
00:23:58
Ben Adams:We're reducing the price of compute, so we are effectively increasing, in a relative term, the price of state.
00:24:07
Ben Adams:And, you know, it's also dependent on the… gas. Price.
00:24:14
Ben Adams:Which is my concern with the… The basic estate growth one.
00:24:21
Ben Adams:Where if we… if we just…
00:24:24
Ben Adams:Versus the two targeted, you know, this is…
00:24:28
Ben Adams:targeting a certain amount of state growth and adjust the price. If we just increase the price of state, then potentially
00:24:36
Ben Adams:The gas price drops, and therefore, we end up with just charging less and doing the same growth.
00:24:43
Ansgar Dietrichs:Right. In the interest of kind of getting through much of
00:24:47
Ansgar Dietrichs:what we want to get to today, I would propose that we specifically do not discuss the state growth side of this until January 5th, unless people, of course, think that we can't make decisions on these other ones before we actually have discussed state growth more, then of course, we can revisit that, but…
00:25:01
Ansgar Dietrichs:Yeah. One more clarification, maybe, Marius, because I think many people here are still under the impression that most of these EAPs are basically proposed as is, because there was this strong urge to make
00:25:12
Ansgar Dietrichs:CFI decisions today, we actually are in this position where I think a lot of these… some of these EPs will be… are proposed to basically be included as is, so the data ones, for example, and the state access one are basically proposed to be included as is. The general repricing one, that one I think we need to clarify for people here. The proposal, at least from
00:25:30
Ansgar Dietrichs:From the repricing team side would be to radically reduce its scope.
00:25:35
Ansgar Dietrichs:only to increasing the cost of compute-related operations that are not currently performing at this 60 megabits per second floor, and remove all other changes to pricing on the compute side, and so that includes removing all of the cost reductions.
00:25:51
Ansgar Dietrichs:Again, this is just the proposed approach, because there were concerns about testing scope for a larger set of changes.
00:25:59
Ansgar Dietrichs:this could be revisited, but I just wanted to say that, just so we are on the shared understanding of what the proposal here is, at least from the
00:26:07
Ansgar Dietrichs:That's what the proposal is, radical reduction in scope.
00:26:11
Marius van der Wijden:Yes, like, we are at a point where it doesn't make sense to.
00:26:17
Marius van der Wijden:to think about what could be done, maybe, in a certain future. I think it is more important
00:26:25
Marius van der Wijden:what can be done now, and what will bring the biggest benefit. And the biggest benefit right now is to, is to reprice the… these worst cases that we have in the EVM, and, and then, be able to, to increase
00:26:42
Marius van der Wijden:At least theoretically, the throughput from 20 MHz per second to 60 megabits per second.
00:26:50
Marius van der Wijden:And that is before block access lists and before PBS.
00:27:09
Ansgar Dietrichs:And then maybe one more, there's a question in chat from Luis, from Besu, block of access lists will make compute much cheaper than state access, so basically why are we…
00:27:17
Ansgar Dietrichs:Basically treating them the same here. Marius, do you want to comment on that?
00:27:30
Marius van der Wijden:It's not clear to me why, state access should… wouldn't be cheaper, wouldn't be more exp… oh, would, like, wouldn't also get cheaper with, block access lists?
00:27:42
Marius van der Wijden:Because we can…
00:27:44
Marius van der Wijden:Load the state, before, and so all of the state would actually be kind of cached at the moment of, of accessing the state.
00:27:54
Marius van der Wijden:And also, The numbers for the state access costs will definitely be revisited once we have
00:28:06
Marius van der Wijden:a, version of block access list life that we can.
00:28:11
Marius van der Wijden:That we can really… that resembles the final thing, and that we can use to, to measure.
00:28:18
Marius van der Wijden:All of this.
00:28:25
Ansgar Dietrichs:Right. And basically.
00:28:27
Ansgar Dietrichs:For context, this proposed 60 megah per second floor is in a way more heuristic, of saying, yes, we could continue to wait until we have perfect numbers post local boxes and EPBS, but by then, at that point, we'll be very late into the fork process, so instead we just do the
00:28:45
Ansgar Dietrichs:Next best thing, the cheap thing to do here, that is just to pick a…
00:28:48
Ansgar Dietrichs:pragmatic flaw, and then, yes, probably after the benefits we get from local access and EPBS, that probably means that compute and state are not quite performing at the exact same level, because they'll receive somewhat different speedups from these changes, but given that it's hard to predict how they will fall out today.
00:29:06
Ansgar Dietrichs:by just targeting the same floor, we'll get similar-ish benefits, at least. I think that that is the…
00:29:11
Ansgar Dietrichs:The intention here behind such a simple shared floor.
00:29:17
Ansgar Dietrichs:Okay, do we have more questions to this? Because otherwise I would just start to, like, have us move over to the other document, the main document with all the EIPs, and then we can talk about whether to follow these recommendations or not.
00:29:34
Ansgar Dietrichs:Maybe one more before we go there. How do people feel about this downscoping of the general repricings one? Obviously, again, it's called general pricings today. It had this large ambition of repricing everything and making a lot of compute cheaper. It would now only make…
00:29:49
Ansgar Dietrichs:basically the things below the flow more expensive instead? Are people generally okay with that recommendation? Would they want a more ambitious scope?
00:29:57
Ansgar Dietrichs:what is the feeling on that ERP in particular, Ben?
00:30:02
Ben Adams:I'd like to leave the door open to, also decreasing costs, but… not as…
00:30:09
Ben Adams:You know, a hard… a hard band. See how we go.
00:30:15
Ben Adams:At least, I mean, it's obviously better to…
00:30:19
Ben Adams:To remove the worst cases is the first step.
00:30:25
draganrakita:We will be fine with increased scope and repricing every output.
00:30:31
draganrakita:At least CPU, related one, related data IP.
00:30:39
Marius van der Wijden:Right, and… The problem, like, the problem with increasing scope is that
00:30:45
Marius van der Wijden:The work is not on the client teams,
00:30:50
Marius van der Wijden:to do this, like, the work on the client teams is very easy, they just need to…
00:30:56
Marius van der Wijden:change one variable. The bulk of the work is on the testing teams and the benchmarking teams.
00:31:05
Marius van der Wijden:To, do all of these benchmarks. And,
00:31:11
Marius van der Wijden:we have a lot of people working on it, but I don't…
00:31:16
Marius van der Wijden:realistically see us. If the… if the rest team would step up and say, we put, like, 2 or 3 engineers on, into this effort, and, in order to get the full repricings, and have, like, the extensive effort, then I think
00:31:36
Marius van der Wijden:then I think we would… we would be in a much better state. But, as I've seen in the discussions around repricings and state float.
00:31:46
Marius van der Wijden:Many teams are not…
00:31:50
Marius van der Wijden:are not as focused on it, or do not put as much resources into it as I would have liked.
00:32:11
draganrakita:And we have, like, that big, gas,
00:32:17
draganrakita:I'm not sure of how it's called.
00:32:20
draganrakita:Basically, 4th to 5th version, that basically specifies how, or recommends how the gas should be moved.
00:32:27
draganrakita:And I wasn't DCIP, basically, based on that data.
00:32:34
draganrakita:Shouldn't we just reuse those data? Basically, somebody already did that kind of work.
00:32:40
Marius van der Wijden:Yes, but, that data is… Not… Very good. I would… To put it lightly.
00:32:51
draganrakita:Okay, then the confidence on the data is… not… Not great. Okay.
00:33:02
Ansgar Dietrichs:Yeah, and maybe one last comment there from my side. I personally think that repricings will be a big part of Ethereum going forwards in general, and I think the plan is to add this into a more standardized pipeline, and…
00:33:15
Ansgar Dietrichs:say, by H-star, have…
00:33:18
Ansgar Dietrichs:enough confidence in the data situation that we can also do more larger-scale repricings. If we are fast with this, then maybe some of these repricings might end up making their way back into this ERP, if there's room and there's time, but basically start with the minimum scope for now that we need, which would just be the
00:33:34
Ansgar Dietrichs:The floor, and we can always add things back if… into the fork process, we realize we have room and time.
00:33:41
Ansgar Dietrichs:It's easy to do, but basically better to start small.
00:33:44
Ansgar Dietrichs:Then to start too ambitious.
00:33:47
Ansgar Dietrichs:Okay. Then, I think, kind of, we can move to the main, kind of, decision-making section here. I think, Josh, you wanted to…
00:33:56
Ansgar Dietrichs:share your screen. The document is…
00:34:00
Ansgar Dietrichs:Here, I put the link in chat. It's the same document as last time, just,
00:34:05
Ansgar Dietrichs:I updated the annotations,
00:34:09
Ansgar Dietrichs:And marked the… all the decisions, you'll see further down in the document, I marked out all the decisions that we… that we did last week.
00:34:16
Ansgar Dietrichs:As of 30 minutes ago, they're also reflected in the meta-EIP, by the way.
00:34:21
Ansgar Dietrichs:Okay, so then let's first talk about the repricing section. So, just to repeat, $27.80 is a bit…
00:34:28
Ansgar Dietrichs:a separate decision, because that one we can or cannot do, depending on how people feel like it. It had pretty strong support from all the clients.
00:34:36
Ansgar Dietrichs:So I would… that… it is a CFI candidate for that reason. And then the other four, basically,
00:34:43
Ansgar Dietrichs:Specifically the recommendations from the repricing side.
00:34:47
Ansgar Dietrichs:If we would prefer to not do one of them, then we should revisit all four decisions, because those four are really…
00:34:55
Ansgar Dietrichs:only, impactful if they're done together. But maybe let's first take the decision on 2780.
00:35:02
Ansgar Dietrichs:How do people feel about this? This had pretty strong support across all clients.
00:35:10
Ansgar Dietrichs:Anyone that opposes a CFI decision?
00:35:21
Ben Adams:I obviously support it, but I'd just like to highlight, as I say,
00:35:28
Ben Adams:It does also depend on… Some other repricings.
00:35:34
Ben Adams:For the exact numbers.
00:35:38
Ansgar Dietrichs:Yeah, I would say, in general, this is maybe something that's a bit unique to this section, the entire, kind of, repricing section here. All of these EIPs would be included as an intention to basically do these changes. Well, the general repricing ones, the EIP also needs to be updated to reflect specifically this floor.
00:35:54
Ansgar Dietrichs:Production and scope, but all the other ones roughly have the right scope, but the values in all of them would be subject to change, and probably would continue to be subject to change for…
00:36:04
Ansgar Dietrichs:For a while longer into the fog.
00:36:09
draganrakita:In general, 2718 makes sense to add. I would just slightly modify it, or basically have discussion around it.
00:36:17
draganrakita:to exclude… the problem with when the transaction creates new… new target, new account, I would make this dynamic check. Basically, make interesting gas only include the bytes that's going to be sent, and the count access of the caller that's going to be done.
00:36:36
draganrakita:And when the transaction starts executing.
00:36:40
draganrakita:We deduce… deduct additional gas if… depending if the value is more than zero, and if the target account is not existing.
00:36:50
draganrakita:And of course, fail if there is not enough gas to do this suction.
00:36:55
Ben Adams:I mean, that's… that's essentially what it… what it, what it proposes.
00:37:04
Ben Adams:The intrinsic gasped into parts, and then says, okay, so the intrinsic gas is very low, and now, depending what you're doing on top, you start adding parts.
00:37:17
draganrakita:Yeah, but it does it as the part of interest to gas. What I'm saying is, let's split that.
00:37:22
draganrakita:To not have additional check in intersection pool, and just do that check at… as part of execution.
00:37:35
draganrakita:The gas that is part of interest, the gas, it doesn't… it can be split from the gas that's needed for creating new state.
00:37:46
Ben Adams:Okay, but that would just be the gas limit on the transaction, and then you'd…
00:37:50
Ben Adams:You'd fail by saying that.
00:37:56
draganrakita:Doesn't even… okay, I think there were some more details, yeah.
00:38:00
Ansgar Dietrichs:Yeah, my question is, Dargan, would you feel comfortable, say, CFI-ing the CIP today, and then figuring out these details afterwards, asynchronous, or would you prefer
00:38:09
Ansgar Dietrichs:To basically have all of these details worked out before you would want to make a final decision.
00:38:14
draganrakita:CFI today. Anything that we chose, it's good enough and can be included.
00:38:21
draganrakita:It's not a blocker.
00:38:23
Ansgar Dietrichs:Okay. Then, anyone else with something they see as a blocker here?
00:38:33
Ansgar Dietrichs:I would say that this is a CFI decision. So, one CFI decision to go, down, I mean. And then, let's take the other ones one by one, but maybe start with the one that was the most…
00:38:51
Ansgar Dietrichs:uncertain, which was the, the last one in this list, actually. 80… 38 state access gas cost increase, because if there's one that possibly has an issue.
00:39:01
Ansgar Dietrichs:Then it's this one, I think, so let's maybe discuss this one first. Do we feel comfortable
00:39:07
Ansgar Dietrichs:making a CFI decision on this one, with the understanding that basically we'll specifically establish this 60 megap per second floor.
00:39:20
Ansgar Dietrichs:Is that basically anyone Feels uncomfortable with that.
00:39:41
Ansgar Dietrichs:is there, in general, like, is there support for CFI? Is just… do people not have an opinion? Like, what's the…
00:39:49
Ansgar Dietrichs:What is the… the client situation here?
00:40:07
Ansgar Dietrichs:We can also, of course, delay decisions. It felt like…
00:40:13
Ansgar Dietrichs:Yeah, Ben, could you briefly comment on why you would prefer the delayed decision?
00:40:19
Ben Adams:Yeah, so there's… there's, like, 3 in this area, and…
00:40:29
Ben Adams:I think it needs a bit.
00:40:32
Ben Adams:Bit more consideration.
00:40:34
Ben Adams:I don't think it's straightforward.
00:40:38
Ansgar Dietrichs:Are you talking about the state growth one, or the state access one? Because, sorry, this is very confusing.
00:40:43
Ben Adams:This one specifically.
00:40:44
Ansgar Dietrichs:It's the state access one, so this would only make,
00:40:47
Ansgar Dietrichs:S-stores and S-loads to existing locations, like, affect that pricing.
00:40:53
Ben Adams:I apologize. I misread.
00:40:55
Ansgar Dietrichs:No, I think, I mean, yeah, I should really make this clearer. So, so this one is specifically not about state growth. So this state growth one is the one that is… in the separate section below. That one, the recommendation will be to talk about it on January 5th for a decision. So this, this one that we're talking about right now, 8038, is just about…
00:41:14
Ansgar Dietrichs:Interactions with existing state.
00:41:18
Ansgar Dietrichs:You took this one first, because out of all of the previous discussions of these, repricing changes, this was always the one that was…
00:41:27
Ansgar Dietrichs:had the least clear support, so I wanted to check on this one first, given that they really need to be included as a bundle, basically.
00:41:35
Ben Adams:I mean, one of the issues is it's all TBD, so it doesn't say whether we're increasing or decreasing, and it will be very affected by bowels.
00:41:47
Ansgar Dietrichs:So, the idea would be to have this in…
00:41:51
Ansgar Dietrichs:enforce a flow of 60 MHz per second, even without taking the impact of EPBS or balls into account, so that then, with the impact of EPBS and BALTS, we can run it at an even higher
00:42:05
Ansgar Dietrichs:Gas per second, so this would… result in an…
00:42:11
Ansgar Dietrichs:With a… in the price increase for most operations there.
00:42:20
Ben Adams:And it does have the issue that we may break a lot of…
00:42:24
Ben Adams:People who do gas introspection limits.
00:42:31
Ben Adams:So decreasing is easier, because it doesn't break anything.
00:42:36
Ansgar Dietrichs:But the problem is if… yeah, again, the reason why that was proposed is just that if everything else is priced so that it basically can run it.
00:42:46
Ansgar Dietrichs:60 megabits per second or something, and then state can only run at 20 or 30.
00:42:51
Ansgar Dietrichs:then we are running the entire AVM at, like, half speed because of it.
00:42:56
Ansgar Dietrichs:So that's why. And of course, the point would be, if we CFI it, that means that now it will be subject to thorough testing. Testing does include backwards compatibility checks, so that does not yet mean it's definitely in the fork, it just means we basically prioritize
00:43:12
Ansgar Dietrichs:Figuring out all of these issues.
00:43:15
Ben Adams:Yep, I'm okay with that.
00:43:18
Ansgar Dietrichs:Okay, then, I mean, from the get side, obviously we have heard from Marius. Is there anyone else from the Get side on that has…
00:43:24
Ansgar Dietrichs:A take on whether Geth would…
00:43:28
Ansgar Dietrichs:be in favor of the CAP?
00:43:36
Ansgar Dietrichs:Otherwise, I would just… Take Marie's.
00:43:39
Ansgar Dietrichs:take on this for Geth, and then do we have, from, Wrath, Besu, or Erigon, do we have…
00:43:53
Ameziane Hamlat:on… on… on the basis side, I think we are fine with this EIP.
00:44:02
Ameziane Hamlat:I agree, like, to be…
00:44:04
Ameziane Hamlat:TBD is a bit confusing, but I guess, I know that there are some, some benchmarks
00:44:14
Ameziane Hamlat:that are, happening right now, so, yeah, if, if the repricing is based on, real data and the benchmarking, I think it makes sense to, to, to change,
00:44:29
Ameziane Hamlat:State access, pricing.
00:44:36
Ansgar Dietrichs:Sounds good. And yeah, I think basically this is the main decision we have to make for these four ERPs. Do we make the inclusion decision today?
00:44:44
Ansgar Dietrichs:Knowing that we still… there's still quite a bit of benchmarking work to go, or do we basically just keep them in this PFI state for as long as we take for the benchmarking, which basically delays the decision for quite a while longer?
00:44:57
Ansgar Dietrichs:I personally would be open to both, but I think overall there was
00:45:03
Ansgar Dietrichs:strong desire to basically make decisions sooner rather than later. Guillaume?
00:45:09
Guillaume:Yeah, in this, respect, and to be, like, full disclosure, people from my team have actually worked on the… I think this is the IP someone from my team worked on, but I think we should include it, because if we don't, you know, consider it for, like, if we don't CFI it, everything will be pushed, pushed down the road, like, okay, this one hasn't been benchmarked.
00:45:32
Guillaume:Let's not look at it until it's been benchmarked, and so on.
00:45:36
Guillaume:So if we… if we don't CFI it today, I don't think the benchmark will happen as quickly as we need them, so I would be in favor of, of CFI-ing it just for this reason, and then if we turn out… if it turns out the benchmarks are not good enough, or whatever.
00:45:51
Guillaume:we, you know, considered doesn't mean included for sure, so I'd say it doesn't cost much to…
00:45:57
Guillaume:Yeah, just, just go for it, and get those benchmarks.
00:46:04
Ansgar Dietrichs:Okay. Yeah, I think that actually seems to express sentiment here quite well for people.
00:46:09
Ansgar Dietrichs:Then I would propose we actually make a CFI decision now, last chance for anyone to object.
00:46:18
Ansgar Dietrichs:Okay, then we CFI8038. For the other three in this list, then let's go just, one by one from the top. So, the next one would be 7904, general repricing. Again, just to reiterate the current shape of the ERP, as you can see it if you click on it.
00:46:35
Ansgar Dietrichs:It will be still the more ambitious scope that would be touching a lot of compute. The idea here would be that we are CFI-ing it with the decision of only downscoping it to the cost increases to establish this floor, and later on into the FOG process, see if we possibly have room to add back some of these cheaper prices.
00:46:55
Ansgar Dietrichs:Is there a position to CFI there?
00:47:12
Ameziane Hamlat:Quick question. I understand that, like, the numbers are going to change depending on the benchmark's results as well, but my question is related to one of the slides that you shared, Marius.
00:47:30
Ameziane Hamlat:So, for this target of 60 MGS per second, there are some opcodes that, would need to, to… to have, like, a different replacing, basically, make them even…
00:47:43
Ameziane Hamlat:even more expensive, like, meal mode, from what I understand. Is that correct? Like, I mean, like, the repricing is not in one sense, we can have, like…
00:47:52
Ameziane Hamlat:both kind of replacing make.
00:47:55
Ameziane Hamlat:Sum-up codes cheaper, and other ones, more expensive.
00:47:59
Marius van der Wijden:Yeah, so…
00:48:00
Ameziane Hamlat:Is that correct? Yeah.
00:48:01
Marius van der Wijden:Yeah, so right now, we are only… only really proposing to make things more expensive.
00:48:07
Marius van der Wijden:And in order to get to the target of 60 MHz per second, we would need this is… my…
00:48:16
Marius van der Wijden:This is pending benchmarks, but the way benchmarks are looking right now, we would need to reprice
00:48:22
Marius van der Wijden:13 operations… And let me look at the slides, if that was correct.
00:48:29
Marius van der Wijden:18… so, sorry, 18 operations, yes. And,
00:48:35
Marius van der Wijden:Some of them would only need to be repriced by…
00:48:39
Marius van der Wijden:By 10%, but, some of them would need to be repriced by, like, 3X, roughly.
00:48:49
Marius van der Wijden:So for example, The point evaluation precompile.
00:48:54
Marius van der Wijden:roughly runs at, so, the analysis that we did right now, P99 of, of, like, 7 days of benchmarks, so, like, I don't know, like.
00:49:08
Marius van der Wijden:50 benchmarks, or, or so, of all clients, and, in P99, we arrive at,
00:49:20
Marius van der Wijden:For the point evaluation, we arrive at, 31.
00:49:25
Marius van der Wijden:Oh, sorry. Yeah, we arrive at, at 31… Mega gas per second, so…
00:49:34
Marius van der Wijden:We would need to reprice, by… 2.5.
00:49:43
Ameziane Hamlat:I see. So, so just to be sure, AIP7904, like, as it is today, it is more about, like, having more throughput on, on, on arithmetic operations, so basically.
00:49:57
Ameziane Hamlat:make them cheaper? Are we talking about, like, the opposite? Like, make, yes.
00:50:05
Marius van der Wijden:So, yeah, we, we, we will be, considerably rewriting the… the list in… 7904.
00:50:18
Ben Adams:Yeah, so I assume the goal coming out of the minimal.
00:50:24
Ben Adams:Changes would be to… Be able to increase the gas limit, versus,
00:50:32
Ben Adams:Do more at the same decimate.
00:50:35
Ben Adams:Which would be the lowering price.
00:50:44
Ansgar Dietrichs:Yeah, so this is kind of, in a way.
00:50:46
Ansgar Dietrichs:a bit of a process compromise, because I think it could also have been a new EIP instead, to basically say, okay, this 790704, by its spirit, was more about making things cheaper. Instead, we want to have… make things more expensive.
00:50:59
Ansgar Dietrichs:But of course, given that the proposal window is already closed, it seemed more appropriate to just reuse the existing kind of compute repricing EAP, even though the nature of the EAP indeed does change now, as people have picked up on.
00:51:16
Ansgar Dietrichs:It seemed like there was then, with these clarifications about the intention here, that there was broad CFI support. Any remaining questions?
00:51:33
Ansgar Dietrichs:Okay, then, where we can see if I had this one.
00:51:38
Ansgar Dietrichs:The other two are much smaller in scope each, they're just adjustments to the data side of things. It is definitely possible there that the numbers might also still be adjusted, of course, pending kind of looking more into this, although I think Tony already had
00:51:54
Ansgar Dietrichs:quite a bit of confidence into these rough numbers, at least, but basically, with that caveat said,
00:52:00
Ansgar Dietrichs:Any, any, opposition to CFI-ing, 7976.
00:52:18
Ansgar Dietrichs:then I would say, CFI. And, any opposition to CFI-ing 7981?
00:52:27
Ansgar Dietrichs:That is specific to the, access list.
00:52:33
Ben Adams:I'd just like to express a strong spot on that, because Accessless, since we're also doing bowels,
00:52:41
Ben Adams:They become sort of irrelevant, other than the…
00:52:45
Ben Adams:Very original purpose that they were introduced for, which was fixing broken contracts.
00:52:52
Ben Adams:Otherwise, they're like a hindrant.
00:53:00
Ansgar Dietrichs:Okay, then, but yeah, let's for now just see if I did this, and we can, in later folks think about a more proper.
00:53:07
Ansgar Dietrichs:deprecation. But yeah. Okay, then we, CFI all EIPs in this section.
00:53:16
Ansgar Dietrichs:Just to move to the next one, again, the recommendation would be to not make a decision today on the… on basically the exact, way in which we want to… to… to tackle state creation, state… state growth,
00:53:29
Ansgar Dietrichs:Pricing, do people agree with that? To delay that decision until January 5th?
00:53:40
Ansgar Dietrichs:Okay, then we can move to the next section.
00:53:43
Łukasz Rozmej:I have a question. So, is there a plan what will happen between today and January 5th, though?
00:53:51
Ansgar Dietrichs:Yeah, so the people, at least some of the people at the EF that are working on this topic will be working in the meantime.
00:53:58
Ansgar Dietrichs:And so, the idea would be that, by A January 5th, we just have more time to dive into this topic, because we won't be so cramped with other decisions, and then B, by then we should also have
00:54:10
Ansgar Dietrichs:Some more data, too.
00:54:12
Ansgar Dietrichs:Support that decision.
00:54:15
Marius van der Wijden:Yeah, I can… I can shine a light on what's happening with the state benchmarks.
00:54:23
Marius van der Wijden:bloating again, to a 4x minutes state, and in the meantime, we are also, updating our infrastructure to run
00:54:34
Marius van der Wijden:These, the state-related benchmarks on
00:54:40
Marius van der Wijden:basically different state, whatever, like, snapshot we have of whatever network we want to run, and we want to run them on
00:54:50
Marius van der Wijden:on a snapshot of mainnet, on a snapshot of 2x mainnet, and on a snapshot of 4x mainnet at least, to see, to see how these numbers compare,
00:55:02
Marius van der Wijden:what, what we, will be running into in, in the future, and, in order to get more accurate numbers. Like, I can, for, so for the op codes.
00:55:17
Marius van der Wijden:They have been running…
00:55:19
Marius van der Wijden:Also, for the compute, operations, we have, pretty good benchmarks now, and they have been running,
00:55:26
Marius van der Wijden:Every couple of hours, but for the state benchmark, the, the,
00:55:32
Marius van der Wijden:The infrastructure is just significantly more complex, and,
00:55:37
Marius van der Wijden:So, we have had some benchmarks, but the numbers are not super reliable, because they are… they cannot be run, like, I don't know, 5 times a day, and so, yeah, we just need a bit more time.
00:56:06
Ansgar Dietrichs:Okay, then, I would move on… if…
00:56:11
Ansgar Dietrichs:There's no more comments on this topic.
00:56:14
Ansgar Dietrichs:Okay, then we have the,
00:56:19
Ansgar Dietrichs:non-core repricing ones, so these are still repricing decisions, but, given that they are not specifically part of this core section, they can really just be treated as individual one-off decisions with no specific,
00:56:32
Ansgar Dietrichs:kind of considerations here. So there are… there were two competing proposals for repricings on memory. Initially, there was actually quite a bit of interest in the, first one in that list. I think last call, we even initially talked about it as a potential
00:56:50
Ansgar Dietrichs:Mmm… As a potential CFI candidate or something, but, in the end.
00:57:00
Ansgar Dietrichs:I think there were some… I'm not blanking, actually, like, one of the two had account abstraction concerns, I think that was 7, 9, 7… wait…
00:57:12
Ansgar Dietrichs:Yeah, I think one of them had account obstruction concerns, and in general, it seemed unclear whether there was enough support for either of them, so I just…
00:57:19
Ansgar Dietrichs:given that we need to actually make decisions here, anything that doesn't have a strong yes is basically going to be a default no, so, like, that's… this is why I put both of them as DFI candidates, so do we by now have strong support for either of those two approaches? Otherwise, I think a reform of the memory logic of the EVM would probably be delayed until H star.
00:57:48
Ansgar Dietrichs:Oh, yes, we no longer have to say H star.
00:57:51
Ansgar Dietrichs:Mmm… That's right.
00:57:54
Ansgar Dietrichs:I already forgot what we call it. Hagota. Not Hogota, Hegota. Yeah, exactly. Anyway, so do we have… I, I basically, I, yeah, let's, let's go through them. 7686.
00:58:08
Ansgar Dietrichs:Suggestion is DFI?
00:58:11
Ansgar Dietrichs:Does anyone want to argue against DFI?
00:58:26
Ansgar Dietrichs:And maybe before we make that decision, then also for the other one, because they're really kind of related,
00:58:32
Ansgar Dietrichs:7923… Are there, if… would anyone oppose a DFI on this one?
00:58:53
Ansgar Dietrichs:Then, I would suggest to just… yeah, then I would say we just DFI both of them.
00:59:03
Ansgar Dietrichs:Again, not because of any specific reason, just because, yeah, we need to make decisions, and default is just DFI on each one, where we don't make CFI decisions.
00:59:14
Ansgar Dietrichs:We move on. The general repricing sections here, we have, a few more to talk about.
00:59:20
Ansgar Dietrichs:T-store repricing 7971, I think, actually, this is the one that I had in mind initially, but that was… used to be a CFI candidate, but then actually had some account obstruction concerns.
00:59:32
Ansgar Dietrichs:if those, of course, have been addressed, and if by now, people…
00:59:38
Ansgar Dietrichs:would want to reconsider this, we could do this. Otherwise, again, just for the… if something is not in its out rule, I would… I marked it as a DFI candidate.
00:59:46
Ansgar Dietrichs:Does anyone have strong opinions on this one specifically? Ben?
00:59:50
Ben Adams:I mean… It's a shame, not to… not to do it, but… Yeah, they…
00:59:58
Ben Adams:the account abstraction concerns are real. Good.
01:00:04
Ben Adams:Could I suggest we delay it instead, and see if we can resolve this?
01:00:10
Ansgar Dietrichs:And so, delay would mean until January 5th, do you think?
01:00:14
Ansgar Dietrichs:that until January 5th, we could, have people look into this more?
01:00:18
Ben Adams:Yes, so if the issues aren't resolved by then, then we get fired.
01:00:28
Ansgar Dietrichs:And just to answer the question, Dragon, from chat, I think, in general, my understanding at least, is that any EIP that introduces specific hard caps on any individual type of usage
01:00:39
Ansgar Dietrichs:into the, into, like, the actual inner execution of a transaction, so not, like, outer, like, say, call data size or something, but the inner part of an execution. It's just problematic, because any
01:00:52
Ansgar Dietrichs:Transaction that bundles the operations of multiple users.
01:00:55
Ansgar Dietrichs:that are shared, basically. Then one user can use up everything up to that cap.
01:01:00
Ansgar Dietrichs:And then another user's operation would fail because of it. I think that's roughly the type of concern that always comes up on these types of changes, and this is why gas in general is so elegant, because you can check, right? Once one user's operation returns, did they consume… how much gas did they consume? Is there still enough gas left? All these things, so that's a failsafe, but if there's some sort of
01:01:23
Ansgar Dietrichs:Secret second counter.
01:01:24
Ansgar Dietrichs:that could also run up, and at some point block the transaction execution further. That really basically breaks all of these use cases that bundles multiple user operations for multiple users. So I think that that is a general type of concern.
01:01:38
draganrakita:Yeah, I think the AIP is unfortunately named because it doesn't just include hard limits. To be honest, hard limits I would remove for that IP, but it reduces some, gas for,
01:01:53
draganrakita:Cars for accessing all the created transition, transient storage, so that part is quite nice.
01:02:01
draganrakita:So yeah, maybe just removing hard limits and leave it for the gas to be a basic limiting factor for transient storage would maybe be a solution for this.
01:02:11
Ben Adams:Yeah, I think… I think the issue, why it has the hard limit is because if it just decreases the gas price of transit storage.
01:02:20
Ben Adams:The amount of memory you can allocate becomes huge.
01:02:24
draganrakita:Yeah, but it has different pricing if you increase the trading storage, or when you just access trading storage to just,
01:02:35
draganrakita:existing 3D storage.
01:02:39
Ben Adams:Maybe just drop the, drop the price for access, but… Keep the storage high.
01:02:45
draganrakita:Yeah, exactly. I think the gas values maybe need to be… they will depend on general repricing that we do.
01:02:55
draganrakita:But in general, yeah, seems like a nice AIP.
01:03:01
draganrakita:We… from red side, we mark it as neutral, so it depends, do we have, like.
01:03:06
draganrakita:Do you want to close it or not?
01:03:10
draganrakita:It's different mechanism, so it's not just repricing group, sorry.
01:03:15
Ansgar Dietrichs:No, no, yeah, that's fine. But then I would maybe suggest, indeed, that we follow with Ben's proposal and just delay, one more time until January 5th, because it seems like people would still like to include this in general if we can find a way to make it safe.
01:03:27
Ansgar Dietrichs:But also, that, of course, means the understanding should be that the default here will be DFI. So on January 5th, unless we have a way to resolve all open questions, it will be DFI, but people want to give it one more round of chance, basically.
01:03:39
Ansgar Dietrichs:One more chance. Okay, so then delayed decision on 7971, and then we move on to, 7973, warm account right metering,
01:03:50
Ansgar Dietrichs:This one is, a DFI candidate, just because it basically was kind of one of those middling EIPs, not much support, not much opposition,
01:04:00
Ansgar Dietrichs:Which makes it a default DFI, anyone that wants to oppose DFI here.
01:04:11
draganrakita:Just to add comment, this kind of logic we already have for S-Store, basically for storage.
01:04:18
draganrakita:And basically, it is some kind of optimization when we want to…
01:04:24
draganrakita:Increased balance for account that's already scheduled to be… not scheduled, but…
01:04:30
draganrakita:Increasing the balance two times, second balance is going to be cheaper.
01:04:35
draganrakita:So, from our side, it's marked as neutral, because it depends if there is room to include it or not.
01:04:44
draganrakita:I don't have any concerns on AIP in general, but more on the… if you have scope for it.
01:05:02
Ansgar Dietrichs:That doesn't sound like a passionate CFI argument, so then I would stick with DFI here.
01:05:12
Ansgar Dietrichs:Okay, then, DFI on this one. Then we have one more in the section, EIP8032. This is the size-based storage gas pricing. This one does not have a recommendation, either CFI or DFI, because, it was quite controversial on
01:05:29
Ansgar Dietrichs:the last call with some people concerned about the overhead. On the other hand, it had some… quite a bit of initial support, and so I know Guillaume is on the call to talk about it some more, and then we can see whether we want to make a decision on this today.
01:05:45
Guillaume:So, okay, I didn't, like, you told me we're not going to talk about it today, so I don't have any presentation. I did publish the Twitter thread explaining the transition part of it yesterday, so glad I did this. Please have a look if you're wondering how the transition would work.
01:06:02
Guillaume:Yeah, I did, I did watch the rerun, I was on holiday last time. I would like to address the two comments I heard that were, in my view, completely wrong. One of them is that…
01:06:18
Guillaume:It's redundant with AT38, I think, or 8037, I forgot which one. That is completely not true, because AT38 or 8037, I guess it's 8037, has to do with the state growth in general.
01:06:35
Guillaume:Whereas, this one has to target, is only intended to target the one contract that is, causing a huge scalability issue, especially in REST. So that's not…
01:06:52
Guillaume:that's not the same thing at all. Regarding the transition, like I said, I did a thread, the Twitter thread yesterday, so please have a look at it. But it's very simple.
01:07:05
Guillaume:if, if you can do, something as… like, if you can handle an iterator, which everybody in this, in this chat should be able to, I think, it's… it's exactly what it is. It's just about iterating the stat, the state, and adding a new, a new counter to the…
01:07:24
Guillaume:to the account. So, there's…
01:07:27
Guillaume:I mean, there's always risk, of course, but if you compare it to something like the vertical transition, which, which is itself… which in itself was tested and validated and well-specified, we… it's… it's really… it's really much, much simpler.
01:07:46
Guillaume:I am, of course, happy to answer any questions about this.
01:07:51
Guillaume:But I think, we should CFI this one, and the reason we should CFI this one is because this is having a negative impact
01:08:00
Guillaume:on the network, and, sorry, the Xen construct in particular is having a negative impact on the scalability of the network, and if you want to disincentivize.
01:08:11
Guillaume:Disincentivize, you know, touching this contract, which is, which is dragging everybody down.
01:08:20
Guillaume:you don't have a better option, than this, because once again, AT37,
01:08:25
Guillaume:solves a lot of problems, but doesn't address this one in particular. Yep, I think that's all I have to say. If there are questions, happy to answer them.
01:08:40
Ben Adams:Not to, rousing speech, but I would suggest delaying this one so we can consider.
01:08:50
Guillaume:What new input are you looking for?
01:08:53
Ben Adams:Oh, you… you… that you've just prepared.
01:08:57
Ben Adams:Because I doubt anybody's read it.
01:09:00
Guillaume:Oh, you mean this right? Okay, sure, yeah.
01:09:07
Ansgar Dietrichs:Matt and chat, no delay would not mean CFI. Delay would mean making the CFI decision on January 5th.
01:09:22
lightclient:Doesn't CF… does not… does CFI not mean that we are considering…
01:09:26
lightclient:Including it. And we're looking for more information.
01:09:31
Ben Adams:We're cons… we're considering, considering including.
01:09:38
lightclient:I don't know, I feel like if we're trying to go through all of these EAPs… CFI…
01:09:45
lightclient:Matches what we're looking for here.
01:09:51
Łukasz Rozmej:I have a question, so the potential downside here would be that if we have, like,
01:09:59
Łukasz Rozmej:archive sync that is replaying everything from the beginning, it has to go explicitly through this migration every time, right?
01:10:10
Łukasz Rozmej:Previous and the next.
01:10:12
Guillaume:Absolutely. So, this is… I mean, this is in consensus, right? The iterator pointers are stored in a system contract.
01:10:24
Guillaume:you have… it's… yeah, it's part of the consensus, you do have to replay them, and but this is just… unlike the vertical transition, this is just iterating the… what we call the snapshot, or the flat DB, so, this is something that, over a full sync.
01:10:42
Guillaume:Would take about 30 minutes extra, 30 extra minutes, which, if your full sync is, just as hours, is, just a drop, over the course of a full re-execution.
01:11:04
Łukasz Rozmej:Okay, I still… I'm afraid this might be too complex, for the scope. I think everything touching the tree is really, really complex, and very error-prone. Maybe not complex from the design perspective, or from the implementation and testing, too.
01:11:22
Łukasz Rozmej:It is doable, I agree that this is doable, I'm just unsure about if it's not…
01:11:31
Łukasz Rozmej:Too complex to… to…
01:11:36
Łukasz Rozmej:to do it, right? It would be different if we were to have this at the beginning, but during that migration, I'm not convinced yet.
01:11:43
Guillaume:I mean, yeah, there's only one, you know, if you… if it feels complex to you, I can only… you know, I can't really tell you anything, for just feelings, like, I'm happy to take some time, you know, aside and discuss it, and…
01:12:01
Guillaume:and, you know, try to change your mind, but, if you're just telling me it feels complex, I… I can't,
01:12:11
Guillaume:say anything that's gonna change your mind. Yes, touching the state is complex, in a way, but this is something that has been tested, that has been done by Guess and Baesu. NetherMind was more or less on the… close enough to doing it. I think Somnat did something like that for Erigon. Actually, not sure, I should check with him. But, it's not like it's completely…
01:12:35
Guillaume:misunderstood by everybody. Every client… okay, most clients have done something similar for the vertical testnet, so it's not like, yeah, it's not like it's, it hasn't been done before, and and…
01:12:52
Guillaume:Yeah, okay. All I can offer is, let's talk, let's talk, and let me, let me show you, how it would be done.
01:13:07
Ansgar Dietrichs:just to… in the interest of, like, moving on for today, I'd rather keep these, like, last few remaining discussion points for January 5th, so we can have that call just for a few.
01:13:17
Ansgar Dietrichs:more in-depth discussions, I would propose to then delay their decision on this one, given that there doesn't seem to be a clear…
01:13:25
Ansgar Dietrichs:Clear agreement on either side yet?
01:13:33
Ansgar Dietrichs:Okay, then let's move on. We have a few more topics to go through, and we still have 18 more minutes.
01:13:40
Ansgar Dietrichs:We have, the contract section, first specifically allowing for larger contracts. So, the situation there is that we have two competing EAPs that both basically aim to allow for larger contracts. One is 2926 chunk-based code localization, and the other one is
01:14:00
Ansgar Dietrichs:7907. Basically, it would not make sense to include both. We could basically choose to include one of the two, or not do any of them, and basically, revisit this for the next fork.
01:14:12
Ansgar Dietrichs:The reason I specifically marked, one of them as DFI candidate is not necessarily a personal preference, it's just specifically due to the fact that,
01:14:23
Ansgar Dietrichs:In terms of, prior discussion, there was pretty strong opposition, by… by several clients,
01:14:32
Ansgar Dietrichs:to 2926, but it was actually quite controversial, so we could… yeah. I just wanted to open this discussion back up. 2926 or 7907?
01:14:45
Guillaume:Yeah, I'm actually quite surprised that you say there was strong opposition, because I did present it twice, and I don't remember any opposition whatsoever. Could be, you know, could be that I don't remember, but, yeah, I'd like to know who has,
01:15:02
Guillaume:who has, who is strongly in opposition to this. I would say, of, between AT32 and 2926, if I had to pick one, I would pick AT32.
01:15:14
Guillaume:The reason why we want 2926 is because it does address the prover killers, and it solves the code size limit in one swoop.
01:15:27
Guillaume:It's pretty simple. It's aligned with the state growth EIPs that we want to do. It provides a consistent access cost to code, just like it does… when I say access, I mean both read and write, something that is not as
01:15:46
Guillaume:awkward as the one proposed in 7907. In my understanding, the people that were working on 7907
01:15:58
Guillaume:gave up on, on this, on this CAP, I could be wrong, but that's, that was my understanding.
01:16:04
Guillaume:Okay, you didn't, alright? Matt did, if he hasn't changed his mind, and I think, could be wrong, don't want to put words in his mouth. I think Dragon did too.
01:16:17
Guillaume:Okay, what I wanted to add is, yeah, like, the 2926 is… future-proof?
01:16:26
Guillaume:it's solving a lot of problems in one go. It's pretty simple. Wukash will probably disagree with that, but that's my take on it. And I think 7907 is instant tech debt, so even if you DFI
01:16:43
Guillaume:chunk-based mercilization, I would say also DFI7907, because, it's, in my view, it's a big, it's a big mistake to do… I mean, okay, it's not a big mistake, but it's going to be instant take that.
01:17:01
Charles:I don't even think they're fundamentally incompatible.
01:17:11
Ben Adams:Yeah, so 7907, we dropped that from Fusaka, but that was because…
01:17:19
Ben Adams:I mean, it was very late in the fork, and there were complications with it, which I don't…
01:17:24
Ben Adams:So the solution for that is adding the length to the account, which was, like, too big a change for Usaca, whereas I think for Gramsterdam, it's… it's fine.
01:17:45
Greg K | Lido:Yeah, so, from my side, yeah, just going to share that, like I also shared in the PR that, like, in light internally would segment with those two IPs,
01:17:57
Greg K | Lido:it seems to us that 7, 907 is simpler, and TIR supposed to text on the PR,
01:18:07
Greg K | Lido:My main point is, like, it's important to increase the code size limit, so the option to neither of them is too bad. Like, there is really need for this, like, also from the kind of lighter contacts, but I think in general for apps.
01:18:21
Greg K | Lido:And, you know, developers, it's required to have this increase, so one of them at least, should be CFI'd, in my opinion. Yeah, and the reason that, we think that 7907 is
01:18:35
Greg K | Lido:appropriate, is that it simpler that it's much more clean, in the sense that it says… it sets a specific cap of 48 kilobytes, and, it's kind of more pragmatic short-term solution. So, if…
01:18:49
Greg K | Lido:this is wrong that, so let's say client teams believe that it's more complex than, the other solution, then that's fine.
01:18:59
Greg K | Lido:Because, 2926 seems more kind of future-proof, like, it's… it does a bigger change that is, more important for the stateless client's future and stuff like that. So, it's not that we are against DCAP,
01:19:13
Greg K | Lido:for some reason, it just seemed to us that 7907 does the job of, you know, doubling the maximum contract size without having so big complexity, and yeah, as Ben said, like, it was, I mean, ideally, it should have been already in Fusaka, it's kind of delayed, but now, like, it seemed to us that
01:19:34
Greg K | Lido:it's, it's not so hard to be part of Amsterdam.
01:19:42
Guillaume:Yeah, just wanted to say, yes, it's definitely simple, 7907 is definitely simpler in the short term. It's going to be a lot more complicated in the long term, because, you do have a very, a very,
01:19:58
Guillaume:You know, like, you have an asymmetric, management of the code, so that means that compilers will try to put, to optimize the code in such a way to… to put as much code as they can in the best, in the free part of the code, and then you're going to have a lot of special gas golfing.
01:20:21
Guillaume:approaches. I think in the past, we… we always,
01:20:27
Guillaume:found out that the more, you know, people try to work around the limits when it comes to gas, to gas accounting. So, so I don't think… I think we're opening, we're opening a Panera's box, and that's the… that's the point of 2926. We are, just making a consistent, like, the… the cost is the same from chunk zero to chunk, 1 billion. You do…
01:20:51
Guillaume:you do remove the code size limit right off the bat, so it's not, like, doubling. The other problem of 7907 is that it doesn't solve the problem that if you need even one byte of the code, you have to load the entire 64 kilobytes, if that's 64 kilobytes, and that's…
01:21:14
Guillaume:that's, yeah, so it's not addressing a lot of the problems we know. When it comes to the code size, both AIPs just added to the account header, so that part doesn't change.
01:21:29
Ben Adams:Yeah, so, I mean, they both introduce a change to the account of adding the length
01:21:34
Ben Adams:And then in 7907, it does sort of address it, in that, yeah, you will need to load the full 64 kilobytes, but you… you pay additional.
01:21:49
Ben Adams:So, I mean, I see it as a pragmatic first step.
01:21:54
Ben Adams:Because, it's… what it does to the account tries is the same in both VIPs, so…
01:22:00
Ben Adams:I don't see it as, necessarily incompatible.
01:22:06
Guillaume:Well, in the case of 2926, you actually add a new tree inside the main tree, so it does more.
01:22:13
Ben Adams:Yeah, yeah, but I mean, they… they've… they both have the same first step, which is adding a code… code length to the account, so…
01:22:22
Ben Adams:That's the same change, and then…
01:22:24
Ben Adams:The additional is just gas pricing and… A higher limit.
01:22:39
Ansgar Dietrichs:Right. So, this seems like a tricky situation. We have, pretty passionate and strong support by two… well, by at least,
01:22:49
Ansgar Dietrichs:the GATP and, and, and Guillum, within that for, for the, for 29… 26.
01:22:56
Ansgar Dietrichs:And then we have, at least 3 clients currently that are more leaning towards DFI on this one.
01:23:05
Ansgar Dietrichs:But then also we don't have strong, like, like, clear, unified support for 7907 as an alternative either, so how do we…
01:23:16
Ansgar Dietrichs:Best actually make progress here towards a decision.
01:23:22
draganrakita:Didn't we talk about 20… that we don't want 2926 in this fork?
01:23:30
draganrakita:But we didn't talk, do we want 7907.
01:23:35
Guillaume:When did we talk about this? I completely… if that happened, I'd like to… I'd like to be informed.
01:23:42
draganrakita:Asgard's mentioned in the chat, there are 3 clients that are
01:23:47
draganrakita:They went to DFI2926, Bezu, Erigon, and Red.
01:23:53
Guillaume:Yeah, just to clarify.
01:23:55
Ansgar Dietrichs:So, let me briefly clarify. So, we had, several, two occasions so far where people have voiced opinions on these EIPs. One was the phase, the asynchronous phase, where all clients wrote preference documents. Out of those preference documents, we had,
01:24:15
Ansgar Dietrichs:for 2926 in particular, we actually had both Geth and NetherMind signaling A on this, so this was indeed support on the CRP, and then we had Beisu listing it as DFI, which was a separate category that they invented beyond ABCD,
01:24:33
Ansgar Dietrichs:S, A, B, C, and D, just for, the Purith and for the CAP. And then we had, Erigon also listed, with an X emoji. They only differentiated between X emoji and checkmark emoji, and this one… and question mark emoji, and this one was an X emoji for…
01:24:55
Ansgar Dietrichs:And since we had one synchronous discussion, this was two calls ago, actually, so last call we didn't get to this, so two calls ago, when we went through the very first round of discussing all EIPs.
01:25:08
Ansgar Dietrichs:In that first round of discussion, it was controversial, where Erigon specifically… sorry, sorry, where Geth, expressed support. Erigon expressed, to not do this ahead of tree changes, and Nethermind had some concerns around it being expensive.
01:25:24
Ansgar Dietrichs:And then Reth specifically expressed concerns about it being too complex, and also today, again, in chat, expressed, leaning towards DFI. So these are all the ways in which clients have so far expressed positions on the CFP. Does that clarify where we're at?
01:25:38
Guillaume:Yeah, I mean, regarding the Erigon one, which, indeed, did the same comment last time, my answer was, like, are you really going to do a… are you going to… are you ready to support a tree change in, H-star, or whatever it's called, Hogota? Are you ready to do this?
01:26:02
Guillaume:Because otherwise, you're not gonna have, you're not gonna have a tree change anyway, so…
01:26:07
Guillaume:that's the whole point of the CIP. Assume that tree change, is not going to happen for a few years, and we still need
01:26:18
Guillaume:the code chunking, anyway. So… Yeah, just.
01:26:25
Ansgar Dietrichs:So, I mean, I understand the situation here. The question is just, Guillaume, look, again, it's at least 3 clients, I don't know how to count Nethermind, but basically, like, at least 3 clients currently leaning towards DFI. I'm just…
01:26:39
Ansgar Dietrichs:I personally, of course, wouldn't mind letting this decision until January 5th, it just, right now, doesn't look like that would actually change anything, and the default decision right now is DFI, obviously. We can't include something where 3 clients
01:26:50
Ansgar Dietrichs:are on DFI. So unless you specifically think you have high chances of convincing people.
01:26:55
Ansgar Dietrichs:between now and January 5th, I personally don't really see how we could not make the DFI decision today.
01:27:01
Ansgar Dietrichs:If that makes sense.
01:27:03
Guillaume:No, it doesn't. I mean, you make a decision last time without, you know, me being present to defend it. It's, yeah, like…
01:27:15
Guillaume:this, this is the first time I hear about, about the DFI, okay, so I met two times ago, I was there last time. Yeah, like.
01:27:28
Guillaume:Once again, if I address… Every argument made.
01:27:34
Guillaume:There should be some time for people to think about it and at least change their minds.
01:27:39
Guillaume:You, like, so far, that's exactly what I said about 1832.
01:27:44
Guillaume:It's all about feelings. Oh, I feel it's too complex, da-da-da. Yeah, okay.
01:27:49
Guillaume:I want actual points. If you have actual points, then fine. We DFI it. I do not see any points being made.
01:27:58
Charles:I have a question, which is that there… is there consensus that, there are no,
01:28:05
Charles:let's see, technical drawbacks, like, I'm wondering if there's any issues with code locality, and I've also discussed this with some other developers, because every chunk needs to be looked up.
01:28:16
Guillaume:Yeah, okay, sure. I mean, no, there isn't more, you have a different type of code locality in 7907, but…
01:28:27
Guillaume:Yeah, you load a piece of code, you need to jump to a different location, you pay for a different thing, but it's 31 bytes, so…
01:28:37
Guillaume:Your leeway to actually do code locality is going to be very limited.
01:28:46
Charles:That's what I'm saying, like, every time… every 32 bytes, the execution client needs to look up the next chunk.
01:28:52
Guillaume:Yeah, and, every… every 64, every, 24 bytes, kilobytes, you're gonna have to do the same thing. You're gonna be loading every… yeah, it's the same thing.
01:29:04
Ansgar Dietrichs:Yeah, just… because again, like, this is not… I don't personally have strong opinion. I actually really, in some way, really would want larger contracts in the EVM sooner rather than later. I think that's actually a quite desirable feature, but I don't really have super strong opinions myself on this. I'm really just trying to synthesize client positions here. I just think…
01:29:22
Ansgar Dietrichs:in order to ever CFI anything, we would have, basically, like, all clients be willing to at least give up their veto, and probably most clients support it. We are pretty far for…
01:29:32
Ansgar Dietrichs:from that status, that's not a good or bad thing, that is just the description of where we are today. So, unless, specifically, the three clients that are on the, kind of, opposition list, Erigon, Rath, Besu.
01:29:45
Ansgar Dietrichs:Would specifically all signal to… or, like, at least two of them would signal right now that they would at least be open to changing their mind.
01:29:54
Ansgar Dietrichs:by January 5th. I think, just process-wise, there's not really much of a choice other than to make a DFI decision. And I really would not want to carry this on over into
01:30:04
Ansgar Dietrichs:January 5th, unless, again, there's a specific reason for that, Lukash.
01:30:08
Łukasz Rozmej:I have two questions. One, was this, prototype anywhere, and does this prototype have, potential performance problems? Because now you're loading code, potentially.
01:30:21
Łukasz Rozmej:You're loading code as you do load state, which can create heavy latency issues.
01:30:29
Łukasz Rozmej:It can be probably mitigated with preloading it, or still keeping, this code also, by hash, and just loading it all, and just…
01:30:38
Łukasz Rozmej:Going through memory. But yeah, there are some questions around that.
01:30:45
Guillaume:What's the second question?
01:30:48
Łukasz Rozmej:Was this prototype, and does this prototype handle any performance degradation potential here? Because this is kind of loading on the code on demand, and if we actually do this while executing.
01:31:00
Łukasz Rozmej:we will probably blow up execution times by loading code a lot from database, and so it needs to be handled better, in my opinion, to… in practice, right? In theory, we might
01:31:14
Łukasz Rozmej:Keep this… this,
01:31:19
Łukasz Rozmej:You know, the schema of trunking, but in practice, we probably want to preload a lot of code, or a whole code, when we execute it.
01:31:29
Guillaume:So, regarding the first question, and I know we're at time, so I'm gonna try to be quick. Has it been prototyped? Yes and no? It's been prototyped inside Verko.
01:31:39
Guillaume:I didn't bother implementing it, because I figured, the bad decision was likely to be made, and my time is unfortunately limited. Regarding the loading.
01:31:55
Guillaume:I would expect, I mean, yes, if you start, if you start loading it chunk by chunk, like, actual chunk by actual chunk, it will probably be, much slower.
01:32:06
Guillaume:This being said, I expect you would be putting coach chunks in pages, so… so the limit, like, the performance hit.
01:32:15
Guillaume:I'm expecting are much lower than that. But if, yeah, okay. I could implement it, I just need to have the assurance that at least there's a chance that it's, that it's worth it. So, yeah, I'm still waiting for… Yeah.
01:32:32
Ansgar Dietrichs:Yeah, then… and again, like, I'm sorry, I'm really not trying to be confrontational here, just trying to, like, move the process along. So, like, I would then briefly go through
01:32:42
Ansgar Dietrichs:If we, you know, two more minutes here, and see if there's still people from these… from the clients here, and they can indicate whether they are open to
01:32:50
Ansgar Dietrichs:you know, having their mind changed by January 5th, or whether that's hopeless, so…
01:32:55
Ansgar Dietrichs:say, starting with, RETH, do we think… from the RETH side, do we think this is a soft no, or a hard no? Like, what's… what's the… what is the take on this EAP?
01:33:08
draganrakita:internal, deifying it for Glamsterdam.
01:33:13
Ansgar Dietrichs:Okay, and for… from Bezo, do we have anyone still on the call?
01:33:18
Justin Florentine (Besu):Yeah, we're still in the DFI camp. We like this a lot better with other state tree changes. We're not opposed to it on its own, but we do think that it should wait for a time when other state changes are going in as well. Or, sorry, tree changes are going in as well.
01:33:47
Ansgar Dietrichs:Yeah, if we don't have anyone from Erigon anymore on the call, then, yeah, I would say, for process reasons, we… like, it doesn't seem like there is room for clients to be convinced here, and without client agreement, we just simply cannot include this in the fork.
01:34:02
Ansgar Dietrichs:So, again, there's not… not as a personal decision, just as… just following the process here, I think it seems clear that this is a DFI decision today.
01:34:13
Guillaume:Okay, can we have the quick DFI decision about 7907, then?
01:34:19
Ansgar Dietrichs:I don't think we are over time already, because we took so long for this decision. I assume this is probably where that one is headed as well, but then we will have to wait for this until the continuation on January 5th.
01:34:29
Ansgar Dietrichs:We did not discuss this today yet.
01:34:36
Ansgar Dietrichs:Okay, then… So, just to…
01:34:40
Ansgar Dietrichs:repeat DFI on 2926, and decision delayed until January 5th, 7907, not specifically because this one needs more time, just because this is the cutoff of process where we got to today.
01:34:54
Ansgar Dietrichs:So this is the continuation. The plan for, January 5th will be to just continue with the remaining list first, and then get back to the few open questions that we had, and hopefully have time to go in depth there.
01:35:06
Ansgar Dietrichs:Thank you, everyone.
01:35:09
Ansgar Dietrichs:And we're really getting very close to having the scope finalized. Thank you. Have, happy holidays, Merry Christmas, and talk to you all next year.

Chat Logs

00:03:42
Pari:Proposed ACD holiday schedule: 18dec - ACDE 22dec - ACDT Cancelled 25dec - ACDC Cancelled 29dec - ACDT Cancelled 1jan - ACDE Cancelled 5jan - ACDT -> ACDE 8jan - ACDC 12jan - ACDT
00:03:55
Fredrik:Replying to "Noob Q: how do I cha..." I believe you need to have a zoom account, then open settings, my account, change pic
00:05:36
Ansgar Dietrichs:zkEVM roadmap doc: https://github.com/eth-act/planning/pull/1
00:07:21
stokes:imo the heka name has shipped
00:07:27
frangio:HEH-zuh IPA: /ˈhɛzə/ Stress on the first syllable, with a soft final “uh” sound.
00:07:33
Justin Traglia:Pronounced hegota 🙂
00:07:38
stokes:i think fine to leave it alone
00:07:43
Justin Florentine (Besu):no one can pronounce? fantastic choice.
00:07:54
Pari:Replying to "no one can pronounce..." Its part of the unspoken rules...
00:08:01
Pari:Try saying any of the testnet names properly, I dare you
00:08:06
Marius van der Wijden:Lets not bikeshed the name
00:08:18
Justin Florentine (Besu):Replying to "no one can pronounce..." can't spell ethereum, can't pronounce the forks. love it.
00:08:30
Francesco:I think we need an extraordinary council meeting for this
00:09:00
Karim T. (matkt):Replying to "no one can pronounce..." Besu ?
00:09:27
Will Corcoran:Replying to "hokota" north hokota
00:09:50
Ansgar Dietrichs:https://ethereum-magicians.org/t/eip-8081-heka-bogota-network-upgrade-meta-thread/26876
00:10:48
jochem-brouwer:This is 8jan-4feb then?
00:11:06
Justin Florentine (Besu):kinda love this aggressive scheduling of forks tbh
00:14:10
Ansgar Dietrichs:repriced that wording mid-sentence
00:15:17
Ben Adams:Movie poster for EIP-7904: General Repricing https://x.com/ben_a_adams/status/2001148892214137249
00:15:55
Ansgar Dietrichs:to clarify, it’s a proposed 60 Mgas/s floor, so only reprice the operations that are currently performing worse than that floor, not the ones above
00:16:16
Dustin:is there a standard benchmark platform for this?
00:16:53
jochem-brouwer:Antwoord verzenden naar "is there a standar..." Yes, @kamil could chime in on this
00:17:14
Pari:Replying to "is there a standard ..." Yes, we use reference hardware machines that were the same as the benchmarker machines used for gas limit increases throughout the year
00:18:48
Maria Silva:For clarity, EIP-8073 is not yet merged. But it is a simple change to EIP-8037, which we can easily add
00:19:17
Ansgar Dietrichs:Anders’ overview: https://notes.ethereum.org/@anderselowsson/3-paradigms-for-state-creation-repricing
00:20:03
Francesco:Another option could be to modify 8075 to just do separate metering of state growth (as in the more general multidimensional metering), without the adaptive state_gas_per_byte component
00:20:30
Maria Silva:Replying to "Another option could..." Correct
00:20:34
Maria Silva:Replying to "Another option could..." Good point
00:20:36
Francesco:Replying to "Another option could..." https://notes.ethereum.org/@anderselowsson/3-paradigms-for-state-creation-repricing#Metering This I guess
00:20:55
Carl Beekhuizen:Please can we rename 7904 to Compute Repricings
00:20:56
Francesco:Replying to "Another option could..." Or rather, this https://notes.ethereum.org/@anderselowsson/State_metering
00:20:58
Toni Wahrstätter:Replying to "Another option could..." What's the difference to the full multidim proposal? Is what your saying a subset of it?
00:21:06
Ansgar Dietrichs:PFI EIP list: https://notes.ethereum.org/@ansgar/glamsterdam-el-pfi-eips
00:21:14
Louis:Replying to "Please can we rename..." Good idea
00:21:17
Toni Wahrstätter:Replying to "Another option could..." Ah, nvm, thx for sharing
00:21:46
Francesco:Replying to "Another option could..." Full multidim meaning metering or pricing? If the former, the difference is that it’s only adding the state growth dimension to the metering, rather than a few resources
00:21:50
Ameziane Hamlat:Are the numbers going to change for EIP-7904 following the results of the benchmarks ?
00:22:22
Louis:Replying to "Are the numbers goin..." I think it would be changed according to new benchmark results
00:22:36
Maria Silva:Replying to "Another option could..." A key difference is that 8075 excludes state creation cost from the bock limit, instead of using the max function as multidimensional metering
00:22:55
Maria Silva:Replying to "Are the numbers goin..." Yes, it will use the recent benchmarks
00:23:48
jochem-brouwer:~~70% compute :)~~ forgot data part ^ should be strikethrough
00:24:14
Toni Wahrstätter:Replying to "70% compute :)" Don't forget data
00:26:04
Guillaume:Replying to "Here is the breakdow..." what is "access" here ?
00:26:10
Maria Silva:Replying to "Here is the breakdow..." State IO
00:26:23
Łukasz Rozmej:Replying to "Here is the breakdow..." State -> state write Access -> state read?
00:26:42
Luis Pinto | Besu:BALs will make compute much cheaper than state access, why don’t we go through a general repricing after that is integrated? It feels we will go through another round of repricing after all clients implement that
00:26:47
Ahmad Bitar | Nethermind:Replying to "Here is the breakdow..." State is storage cost i think. access is read/write
00:26:50
Guillaume:Replying to "Here is the breakdow..." +1, I'd like to know
00:26:55
Łukasz Rozmej:Replying to "Here is the breakdow..." What is Bandwith?
00:27:23
Maria Silva:Replying to "Here is the breakdow..." State Access is IO, State is state growth
00:27:40
Maria Silva:Replying to "Here is the breakdow..." Bandwidth is call data (excludes blob)
00:28:05
Guillaume:Replying to "Here is the breakdow..." so access also includes writes, but writes that are not growing the state ?
00:28:08
Łukasz Rozmej:Replying to "Here is the breakdow..." got it, so post glamsterdam this will be highly domiated by State?
00:28:12
Ansgar Dietrichs:my understanding is actually that BALs benefit state access to a similar degree to compute. compute: parallelization state reads: batch reads state writes: parallelized state root calculation
00:28:33
Toni Wahrstätter:Replying to "BALs will make compu..." Numbers in some eips will need to be updated based on epbs+bal devnets
00:28:46
Stefan Starflinger:fyi :) - Glamsterdam devnet-1 has been launched https://dora.bal-devnet-1.ethpandaops.io/ https://ethpandaops.io/networks/bal-devnet-1/ gloas fork is in less than 3 hours.
00:28:51
Csaba:BALs transform state access cost into a networking cost, which contends with other network related cost components
00:29:13
Maria Silva:Replying to "Here is the breakdow..." I split each opcode cost into the different components. For instance, SSTORE has a component for compute, state access and state growth
00:29:17
Luis Pinto | Besu:Replying to "BALs will make compu..." True state access will be much trivial
00:29:22
Maria Silva:Replying to "Here is the breakdow..." Here is the analysis: https://ethresear.ch/t/going-multidimensional-an-empirical-analysis-on-gas-metering-in-the-evm/22621
00:29:28
Guillaume:Replying to "Here is the breakdow..." so acess is just reads, not IO
00:29:49
Maria Silva:Replying to "Here is the breakdow..." SSTORE also contributes to state IO
00:29:58
Marius van der Wijden:Targeting 60MGas/s with repricings Move EIP-7904: General Repricings to CFI Move EIP-7976: Increase Calldata Floor Gas to CFI Move EIP-7981: Increase access list cost to CFI Move EIP-8038: State-access gas cost update to CFI Discuss EIP-2780: Reduce intrinsic transaction gas on the call or postpone Postpone the decision on State Growth to Jan. 5
00:30:04
Luis Pinto | Besu:Replying to "BALs will make compu..." Thanks Toni, if we are taking info from devnets to reprice I’m happy with that
00:31:34
Ansgar Dietrichs:compromise idea: downscope EIP to only performance floor for now revisit later into fork process, if there is room we can add back a few high impact cost reductions
00:32:05
jochem-brouwer:Can give a workshop on writing these benchmarks also :)
00:33:00
Louis:Replying to "Can give a workshop ..." I like the idea, I could help with this
00:33:10
Louis:Replying to "Can give a workshop ..." I need to work on more documentation
00:33:11
Ahmad Bitar | Nethermind:why the 60M not 100M floor?
00:33:21
Guillaume:Replying to "Here is the breakdow..." I'm trying to understand what you call IO and what you call state
00:33:35
Guillaume:Replying to "Here is the breakdow..." because it's the same thing in my view, so I'm looking for the cut-off
00:33:49
Marius van der Wijden:Replying to "why the 60M not 10..." 100M would necessitate ~40 opcodes being repriced
00:33:58
Maria Silva:Replying to "Here is the breakdow..." Maybe we can take this after? It is hard to explain in chat
00:34:02
Ansgar Dietrichs:https://notes.ethereum.org/@ansgar/glamsterdam-el-pfi-eips
00:34:06
Maria Silva:Replying to "Here is the breakdow..." Let schedule some time to go over it
00:34:07
jochem-brouwer:Antwoord verzenden naar "Can give a worksho..." We could setup a guide/workshop as an entry point to write benchmarks. I'll contact you :)
00:34:14
Maria Silva:Replying to "Here is the breakdow..." Also, please read here: https://ethresear.ch/t/going-multidimensional-an-empirical-analysis-on-gas-metering-in-the-evm/22621
00:34:14
Ahmad Bitar | Nethermind:Replying to "why the 60M not 100M..." yeah, but 100M was one of the goals for 2026, no?
00:34:25
Louis:Replying to "Can give a workshop ..." Sure, I am interested in this
00:35:13
Pari:Replying to "why the 60M not 100M..." 60M/s no?
00:35:14
Marius van der Wijden:Replying to "why the 60M not 10..." 100MGas/s and 100M block are 2 different things. With 60MGas/s we can get to 180MGas blocks
00:35:24
Maria Silva:Replying to "why the 60M not 100M..." Note that we are targeting 60M gas per second - so is ePBS gives us 6 seconds of execution, we get 60*6 =360 M gas limit blocks
00:36:02
Maria Silva:Replying to "why the 60M not 100M..." Plus, the gains from BALs
00:36:23
Marius van der Wijden:I'm fine with CFI for 2780
00:37:16
Ameziane Hamlat:Besu is for CFI’ing 2780
00:37:43
jochem-brouwer:I think we should discuss these details async?
00:40:11
Ben Adams:Can we delay 8038 decision?
00:40:11
Pari:Round robin asking clients directly?
00:40:20
Marius van der Wijden:Well I already gave my take on it :D
00:40:48
Mario Vega:This one has a very high testing complexity: https://github.com/ethsteel/pm/blob/main/complexity_assessments/EIPs/EIP-8038.md
00:41:31
Marius van der Wijden:It needs to be done in my opinion if we want to get anywhere with scaling
00:41:34
jochem-brouwer:I think we should CFI it so this opens the road to change the state access costs
00:44:10
Luis Pinto | Besu:Lets go and we figure out right numbers after
00:45:13
Justin Florentine (Besu):sounds like the definition of CFI to me
00:46:28
jochem-brouwer:This is also a good note process-wise, to signal we consider this :) Thanks for that note
00:48:55
Ansgar Dietrichs:so for now we would change the EIP to exclusively make (a handful of) operations more expensive, remove all cost reductions and keep the option to add back some cost reductions later into the fork process if we have time
00:50:28
jochem-brouwer:I want to CC @Carl again, I think we should indeed change title to General compute repricing or something like this for 7904
00:50:33
Ansgar Dietrichs:the initial idea of 7904 was to get more compute for same gas limit instead we now want same compute (except for a few bad cases) and more gas limit
00:51:25
draganrakita:Imo having equalizing EIP for gas is important, be that by increasion some opcodes or reducing all by a fraction. CFI
00:52:51
jochem-brouwer:Yer, lets deprecate it
00:53:23
draganrakita:Replying to "Yer, lets deprecate ..." We are kinda discouraging its usage with this EIP
00:53:32
Marius van der Wijden:Replying to "This is also a goo..." We should make sure that the set of CFI'd eips is not too large in order to be able to still prioritize resources
00:53:38
jochem-brouwer:Antwoord verzenden naar "Yer, lets deprecat..." Yup :) So its a side effect of it, which is nice :)
00:55:05
Louis:Replying to "This is also a good ..." I would like to know what benchmark scenario should testing team prioritize for benchmark.
00:56:01
Ansgar Dietrichs:I feel a bit like acd dictator with all these suggested decisions - so please do jump in if I ever steer things to a decision that doesn’t genuinely seem to be consensus
00:56:07
Guillaume:could they not be run on five different networks?
00:57:02
Marius van der Wijden:Replying to "could they not be ..." Wdym? We are trying to run them on different networks, the problem is that the infra for running it is a bit jank at the moment
00:57:40
Marius van der Wijden:Replying to "could they not be ..." Or do you think the three networks we're planning for are too much?
00:57:46
jochem-brouwer:H-star = Hogota :)
00:58:10
Guillaume:Replying to "could they not be ru..." I mean, if the problem is that it's slow so it can't be run 5x a day, maybe we can 5x the networks in parallel
00:58:19
frangio:"AA concerns" are more specifically ERC-4337 concerns, btw
00:58:22
Guillaume:Replying to "could they not be ru..." just a random thought, not easy to do I know
00:58:30
Marius van der Wijden:Replying to "could they not be ..." Ah yes, hopefully we will
01:00:25
draganrakita:What concerns AA has with transient storage?
01:01:40
frangio:for gas it's actually not even reliable. all of this needs to be reworked
01:02:34
Ansgar Dietrichs:then sounds like we should look into whether we can safely remove the cap in some way by Jan 5
01:02:40
Ansgar Dietrichs:Replying to "then sounds like we ..." and delay decision today
01:02:47
jochem-brouwer:Antwoord verzenden naar "then sounds like w..." yes agreed
01:02:56
jochem-brouwer:Antwoord verzenden naar "then sounds like w..." So 7971 w/h limit
01:03:07
frangio:so this should be with the Repricing group?
01:06:15
Ben Adams:delay decision; so can consider new input
01:06:32
Marius van der Wijden:Thread: https://x.com/gballet/status/2001320602813022308
01:07:05
Maria Silva:100% Agreed with Guillaume
01:08:09
Ansgar Dietrichs:I personally would propose waiting with 8032 decision until Jan 5, to have better state benchmarks. those better benchmark numbers will tell us how harsh the state access cost increases will be without this EIP, which will inform the urgency here.
01:08:14
Maria Silva:8038 has a section on how it can be complemented with 8032: https://eips.ethereum.org/EIPS/eip-8038#interaction-with-eip-8032
01:09:04
lightclient:does delay mean CFI?
01:09:43
Ansgar Dietrichs:we have not made any SFI decisions beyond headliners
01:09:49
Ansgar Dietrichs:Replying to "we have not made any..." CFI is already strong signal
01:10:08
Marius van der Wijden:Replying to "does delay mean CF..." Also delaying to Jan 5. gives us a better overview of the scope of the CFI'd eips and if we still have space in the fork
01:10:40
draganrakita:Would DFI it bcs of migration concerns
01:10:41
Charles:sorry guys just joining -- i thought we just started (time zone confusion)
01:10:59
Wei Han Ng:Replying to "Would DFI it bcs of ..." what's the exact concern that you have?
01:11:05
jochem-brouwer:Antwoord verzenden naar "does delay mean CF..." Good point, also regarding interactions with these EIPs which might not directly be clear
01:11:30
draganrakita:Replying to "Would DFI it bcs of ..." Migration is something that was never done
01:11:35
Marius van der Wijden:Replying to "sorry guys just jo..." fyi we have DFI'd the evm memory limit eips
01:12:20
Marius van der Wijden:Replying to "sorry guys just jo..." There's only so much space we have in a fork :(
01:12:26
Luis Pinto | Besu:Would also postpone to January, but it looks important to bring root hash computation complexity into the protocol
01:12:29
Wei Han Ng:Replying to "Would DFI it bcs of ..." this particular migration is much simpler than the verkle one, and verkle migration has worked and tested before
01:12:57
jochem-brouwer:I think this iterator is less complex than we might imagine. But thats coming from prototyping 😅 I think we can setup tests just like everything else, and make something which looks complex actually less complex. Some EIPs look simple, but are more complex than we think. Some EIPs look complex, but are actually "simpler" than we might imagine beforehand
01:13:00
Ansgar Dietrichs:could we ask the testing team to make a testing impact assessment by Jan 5? obv might not be possible for them with holidays in between
01:13:02
Marius van der Wijden:Replying to "sorry guys just jo..." The decision for Limit for transient storage is delayed until Jan 5. in order to see if we can get rid of the hard cap
01:13:33
Karim T. (matkt):Do we have a thread to talk about that on discord ?
01:13:34
Łukasz Rozmej:I know it can be done. Question is it worth the complexity to stay forver in protocol and bandwith for Glamsterdam.
01:14:10
Guillaume:Replying to "I know it can be don..." in protocol, I'd say yes because it's going to be reused later :D
01:14:17
Charles:i have argued against eip-8024 and for eip-7923 here btw: https://ethereum-magicians.org/t/eip-8024-backward-compatible-swapn-dupn-exchange/25486/3
01:14:36
Łukasz Rozmej:Replying to "I know it can be don..." How many Trie migrations do we need? :)
01:14:42
Mario Vega:Replying to "could we ask the tes..." Transition is hard, regardless of whether has it been done already, our testing framework has to be updated to account for forks that have a transition period, we had a prototype for verkle yes, but having a prototype is one thing and having all tests updated and compatible is a different one
01:14:44
Łukasz Rozmej:Replying to "I know it can be don..." Can it wait for binary tries?
01:14:55
jochem-brouwer:Why 2926 already DFId in this doc?
01:15:11
Josh Davis:Replying to "Why 2926 already DFI..." “Candidate”
01:15:33
jochem-brouwer:Antwoord verzenden naar "Why 2926 already D..." Yeah sorry, I meant `DFId?` in this doc 😅
01:15:49
Justin Florentine (Besu):Replying to "Why 2926 already DFI..." first mover advantage, mostly
01:16:04
Marius van der Wijden:I like 2926 as well
01:16:19
Greg K | Lido:Lido supports 7907: https://github.com/ethereum/pm/issues/1837#issuecomment-3669452216
01:16:26
kev:It addresses some prover killers to be clear
01:16:33
Luis Pinto | Besu:2926 fixes a root problem with code access in protocol
01:16:34
Danno Ferrin (Tectonic):Lido also opposed 2926
01:16:44
Ansgar Dietrichs:in terms of opposition: Besu and Erigon had 2926 listed as DFI preference
01:16:50
Łukasz Rozmej:After Verkle everything will seem simple ;)
01:16:50
lightclient:7907 is much harder than we make it out to be
01:17:04
Marius van der Wijden:Replying to "Why 2926 already D..." Ansgar compiled the list from comments on the last ACDs as well as the preference documents of the clients
01:17:19
Charles:Replying to "sorry guys just jo..." eip-7923 is not a large change, it's designed as just a pricing change
01:17:37
draganrakita:Reth marked it DFI too
01:18:41
Ansgar Dietrichs:we have 3 of 5 clients signalling for DFI on 2926. I have a hard time seeing a path for inclusion unless they change their mind
01:18:43
Mario Vega:Replying to "sorry guys just join..." It’s a large testing change, a lot of tests expand the memory and we have to go back and see that we don’t break them
01:20:11
jochem-brouwer:Antwoord verzenden naar "Why 2926 already D..." Alright, yes sorry about this comment, my personal perception was that this was "less DFI candidate" than I get from the actual analysis, so I understand now why it is listed here as-is :)
01:21:56
draganrakita:EIP-7907 gives u 80/20 benefit on contract size, so this is why we support its inclusion.
01:22:12
Somnath Banerjee:Here's an unpopular opinion: Use ssz inside state MPT
01:22:37
Ansgar Dietrichs:this is pushing my limited acd host skills - seems like an impass, 2 clients for one EIP, 3 for another. how to resolve?
01:23:27
Marius van der Wijden:No progress, DFI both?
01:23:43
Ahmad Bitar | Nethermind:Replying to "No progress, DFI bot..." We really need to solve the contract size limit
01:23:55
lightclient:Replying to "No progress, DFI bot..." 2926 actually solves it though 🙁
01:23:57
Charles:doesn't 2926 have some other problems like messing with code locality
01:24:09
Karim T. (matkt):DFI 2926 it’s only because of bandwidth ? Imo if it’s because of bandwidth we should DFI the two no ? And see for the next fork
01:24:17
Pari:Replying to "this is pushing my l..." Ask what pieces of data would help clients decide for one or the other, i.e what info would move the needle?
01:24:27
Guillaume:Replying to "doesn't 2926 have so..." nope, on the contrary
01:24:30
Ahmad Bitar | Nethermind:Replying to "No progress, DFI bot..." im just arguing against DFIing both. i dont have a preference as i haven't personally checked them
01:25:00
Charles:Replying to "sorry guys just jo..." are there any objections besides testing change size?
01:25:43
Charles:Replying to "doesn't 2926 have ..." can you explain? doesn't a lookup happen every 32 bytes?
01:27:20
Ansgar Dietrichs:last time we did not discuss this EIP at all
01:27:23
Justin Florentine (Besu):he's not making it, he's citing client team prefs
01:27:50
Ansgar Dietrichs:Replying to "he's not making it, ..." right, that’s what I was trying to say at least
01:29:01
draganrakita:We are all making our best guesses with knowledge that we have
01:29:27
Guillaume:Replying to "We are all making ou..." I suggest you try to get more knowledge on that eip then
01:30:42
Somnath Banerjee:"You can please some of the people, some of the time", Steve Jobs
01:31:23
draganrakita:Replying to "We are all making ou..." I did read it, I didn’t say it is wrong or bad, but it is too complex for Glamsterdam or for benefits it offers
01:31:41
Josh Davis:CFI 2780 8038 7904 7976 7981 DFI 7686 7923 7973 2926 Delay 8037 7971
01:33:03
Charles:i'd like to request reconsideration of 7923, it's a stronger EIP than EIP-8024 (imo) and it's very useful for users that i think is not well understood by client teams
01:33:28
jochem-brouwer:I want to add here, the code size increase for both 2926 and 7907 also has interactions with the gas repricing for the state. So from that perspective, it would make sense to reconsider this in Hegota
01:34:15
jochem-brouwer:However, also want to add that we need code size increase as the community strongly signals that this is necessary
01:35:02
Justin Florentine (Besu):Replying to "one more one more!" portlandia reference detected?

Summary

10 highlights · 3 decisions · 4 action itemsExperimental

fork status and schedule

  • Dec 22/25/29 and Jan 1 calls cancelled; Jan 5 ACDT converted to ACDE00:03:06
  • FOCIL CFI'd for Hegotá (H-star); headliner process to begin in January00:06:46
  • Hegotá timeline: Jan 8-Feb 4 headliner proposals, Feb 5-26 finalization00:11:41

repricing updates

  • Targeting 60 Mgas/s floor; ~18 operations need price increases00:14:09
  • EIP-7904 downscoped to floor enforcement only; cost reductions removed for now00:16:20
  • State growth decision (8037/8073/8075) postponed to January 5th for better benchmarks00:19:07

testing progress

  • bal-devnet-1 launched today00:28:46
  • State benchmarks running on mainnet/2x/4x snapshots; infrastructure being improved00:54:20

organizational

  • Ansgar to continue hosting through Jan 5; Tim returns after00:05:06
  • zkEVM roadmap doc published; feedback requested in L1ZKVM channel00:05:22

Decisions

Action Items

  • All teams: Review zkEVM roadmap and provide feedback in ETH R&D L1ZKVM channel00:05:39
  • nixo: Publish Hegotá timeline as blog post00:10:32
  • Benchmarking team: Complete state benchmark infrastructure for mainnet/2x/4x snapshots00:54:15
  • Client teams: Review Guillaume's Twitter thread on EIP-8032 transition mechanism01:06:15

Targets

  • January 5th - ACDE call to finalize Glamsterdam scope00:03:32
  • February 8th - Hegotá headliner proposal window opens00:11:57