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

Transcript

00:03:30
Parithosh Jayanthi:Okay, let's get started. First on the agenda item is, how we're gonna structure the call today.
00:03:38
Parithosh Jayanthi:So we're gonna do our usual updates, as well as going through any immediate blockers, as long as they're shared blockers. Once that's done, we're gonna experiment with breakout rooms today, so we're going to split the call into two breakout rooms, block-level access lists and ePBS.
00:03:54
Parithosh Jayanthi:I'm choosing the option to self-select, so each person can choose which breakout room they're gonna go to.
00:04:01
Parithosh Jayanthi:This might be exclusionary for some people who do want to be in both breakout rooms.
00:04:06
Parithosh Jayanthi:The rooms themselves won't be recorded, so for now, we're going to have to just experiment with this approach, and in the future, we can still see how to merge it better. The breakout room approach is also
00:04:18
Parithosh Jayanthi:Temporary, as in we're not fixing these as the two breakout rooms, but instead, on a week-by-week basis, we can decide what are the most valuable breakout rooms to choose, and who's going to lead them.
00:04:30
Parithosh Jayanthi:That being said, let's, start off with the usual bits. Devnet updates for block-level access lists, do we have… sorry, for blob-devnet-0, do we have Barnabas?
00:04:45
Barnabas:Yeah, blob-devnet-0 has been seen some issues in the past week. I'm not sure if we have anyone from Prysm here that could, speak up regarding the Prysm bugs that,
00:04:59
Barnabas:For the… regarding the partial cell stuff.
00:05:02
Barnabas:Other than that, the spec is finally…
00:05:07
Barnabas:Pretty much firms, so everyone should be able to implement,
00:05:12
Barnabas:Everything that they need for partial size stuff.
00:05:15
Barnabas:If you have updated your partial self, self,
00:05:20
Barnabas:logic, then please let me know, and I can, add you to develop the list on blob-devnet-0.
00:05:29
Parithosh Jayanthi:Is there a rollout plan for this one? I know that there was some talk about deploying it on testnets.
00:05:36
Barnabas:Yeah, so ideally, we can start deploying it on testnets once, the clients feel very optimistic about it.
00:05:44
Barnabas:Right now, we… the alternative would be to launch a very big network, but, realistically, we're not gonna be able to see,
00:05:54
Barnabas:The network effect of… Of this change, unless we do, like, another 1,000-node network or something like that.
00:06:01
Barnabas:So, I think, what, we were thinking is a few validators will, have it enabled on,
00:06:09
Barnabas:on Sepolia, and on Hudi, and then on Hudi, we can investigate further if… in case we do see some kind of clustering. And, once we are confident, then,
00:06:20
Barnabas:Clients can decide to, have it, default enabled in their, in their logic.
00:06:30
Parithosh Jayanthi:Okay, sounds good. Next on the list is block-level access list, devnet 2, as well as, any blockers for benchmarking. Either Stefan or Tuni, whoever wants to go?
00:06:45
Stefan Starflinger:Yeah, I can start quickly on just a general update.
00:06:49
Stefan Starflinger:So, we finally have reached pretty much 100% participation on devnet 2. Erigon has implemented and fixed the issue today regarding proposals, so not… a few blocks get proposed, but most blocks now get proposed by all the clients.
00:07:08
Stefan Starflinger:There are still some small improvements that can be made in general. For example, I reported one issue to Besu, where sometimes when it falls behind syncing, for some reason, it has a little bit of trouble catching up.
00:07:22
Stefan Starflinger:But otherwise, I think we are at a good place with devnet 2 at the moment, which is great.
00:07:28
Stefan Starflinger:But just, the next thing would be the benchmarking, and it would be great to get an update on how far clients are that haven't added the benchmarking flags.
00:07:40
Stefan Starflinger:And if any clients have maybe also iterated on any of the benchmarking code that they have, maybe we could get an update from the clients that don't have the flags yet, Nethermind.
00:07:52
Stefan Starflinger:Or Erigon, or Reth.
00:07:55
Stefan Starflinger:That would be great. Maybe start with Nethermind.
00:08:04
Marc:Yeah, there's good progress on the parallel execution. It seems to be running, like, pretty stable in the devnet, like, it worked for about 12 hours, but then it broke, so… I'm just gonna, investigate that a bit more, and then hopefully we can get that merged soon.
00:08:24
Marc:And I think Alexi's still investigating on the, parallel, state, ex…
00:08:32
Marc:Sorry, a parallel, state loading.
00:08:42
Stefan Starflinger:Yeah, I mean, we can also do that in the breakout call, would also make sense.
00:08:49
Stefan Starflinger:And what Barnabas said.
00:08:52
Stefan Starflinger:But I think that's then pretty much it, unless someone else has something regarding devnet 2.
00:08:58
Parithosh Jayanthi:Yeah, I think we'd structure it such that general updates can happen in the main call, but if there's anything specific to dive deep into, then that can happen in the breakout rooms.
00:09:11
Parithosh Jayanthi:So yeah, it would still be interesting to get an update from, from the other ELs as to where they are.
00:09:25
Stefan Starflinger:Then can we continue with Reth quickly?
00:09:30
emma:Hey, I just joined… late. What are we discussing? Sorry.
00:09:35
Stefan Starflinger:Just the flags on the benchmarking, so the flag to toggle the prefetching, the flag to enable all the optimizations, and the flag to disable all the optimization regarding parallel processing and prefetching state and state root calculation.
00:09:53
emma:I think we have all three flags on our devnet 2 and devnet 3.
00:09:58
Stefan Starflinger:Okay, could you, could you share all of the configuration? Because so far, I think I only have one of them.
00:10:04
emma:Yeah, I'll ping it through in the chat.
00:10:08
Stefan Starflinger:Thank you, and Erigon would be great, if you have any update on that.
00:10:15
Andrew Ashikhmin:Right, so, yeah, we are working on,
00:10:19
Andrew Ashikhmin:We are finishing parallel execution, I'll check about the flags,
00:10:25
Andrew Ashikhmin:So… I see that, where are they spec'd? On the bal-devnet-3 page. I see some flags for Basil…
00:10:35
Stefan Starflinger:Yeah, both. bal-devnet-2 and bal-devnet-3, but bal-devnet-3 is not ready yet, so it's good to have it on 2 right now, so that we can continue the progress on the gas repricing.
00:10:48
Andrew Ashikhmin:Alright, okay, yeah, I'll check the implementation status, and if they are not implemented, I'll try to add them.
00:11:01
Stefan Starflinger:I think that's it for devnet 2, otherwise we can move to devnet 3, if there's nothing.
00:11:07
Parithosh Jayanthi:Let's move to that 3, then. What's the blocker or timeline there? I know that Tony shared an agenda, so maybe besides those discussion points, if there's any blockers?
00:11:24
Stefan Starflinger:Yeah, maybe I can give a quick overview. I've been doing some testing, regarding devnet 3 and,
00:11:31
Stefan Starflinger:In a single testnet, most of the clients are doing pretty well with just normal transactions, but as soon as I start with EVM fuzzing scenario, it breaks apart pretty quickly, maybe…
00:11:46
Stefan Starflinger:Some updates from the client teams and testing would be great.
00:11:59
Parithosh Jayanthi:Have you already shared all the issues with the client teams?
00:12:03
Parithosh Jayanthi:Are there anything in specific you want to dig into?
00:12:07
Stefan Starflinger:It's quite general still, so…
00:12:13
Stefan Starflinger:There's nothing in particular right now, that I would want to share at the moment.
00:12:22
Parithosh Jayanthi:So it sounds like we're still going to continue fuzzing locally. We'll probably have some minor spec change before we do a devnet launch, right?
00:12:34
Stefan Starflinger:Yeah, we will…
00:12:37
Stefan Starflinger:I think, talk about it more in the breakout call. I think it's… yeah, I think we should…
00:12:43
Stefan Starflinger:Not go into too much detail here now.
00:12:48
Parithosh Jayanthi:Okay, yeah, drawback?
00:12:51
Dragan Rakita:I just mentioned that Friday I found some existing inspectors that needs to be fixed.
00:12:57
Dragan Rakita:And I think the test feature was just created a few times previous week, so I don't think that anybody's passing them.
00:13:06
Dragan Rakita:So there is still, like, work that needs to be done.
00:13:16
Parithosh Jayanthi:Okay, cool, thank you. Anything else for bal-devnet-3?
00:13:26
Parithosh Jayanthi:Okay, I did want to announce that, Justin's made a release on the consensus specs for V170Alpha 3.
00:13:37
Parithosh Jayanthi:And to continue that point, do we want to get some updates on epbs-devnet-0, as well as where Alpha 3 will be used?
00:13:50
Barnabas:Yeah, I can give a quick update. So, we currently have Prysm, Lighthouse, and also working, correctly on the devnet.
00:13:57
Barnabas:We have Nimbus proposing blocks here and there. It's not completely working yet.
00:14:04
Barnabas:And, Teku has not been able to sync or propose at all yet.
00:14:09
Barnabas:local groups that also weren't able to work with Teku.
00:14:15
Barnabas:we added Checkpoint Sync… we added Lodestar to the Checkpoint Sync instance last week, and that seemed to have broken some stuff, so we now reverted back into only using Prysm.
00:14:31
Barnabas:Yeah, I tested exits last week, and deposits, deposits worked, exits do not work yet. I can run another round,
00:14:41
Barnabas:Later today, to see if there has been any changes that,
00:14:46
Barnabas:Would make sure that we can do the exits as well.
00:14:54
Parithosh Jayanthi:Sounds good. To carry on there, I also posted a message about disabling block production and then re-enabling it, and that's also leading to some
00:15:05
Parithosh Jayanthi:Some issues with the network, healing afterwards, but yeah, I guess there's still a lot of fixes for epbs-devnet-0 before we go to devnet 1, right? And I guess Alpha 3 will be what we use for devnet 1?
00:15:23
Potuz:Don't we want the PTC… I mean, we've discussed this in the breakout, but I think we want the PTC loop behind, or look ahead, one way of it, for the next advent.
00:15:35
Parithosh Jayanthi:Okay, so there's probably going to be another release, before that. Okay.
00:15:43
Parithosh Jayanthi:Cool. The next point on the agenda was, update from the gas repricing, effort. Do we have any more insight into numbers, where we are in terms of getting them, and when we want to sequence these into devnets?
00:16:13
Parithosh Jayanthi:Okay, I think the relevant people might just not be here today. Okay, we can do that on async.
00:16:20
Parithosh Jayanthi:There was maybe one other agenda item before we switch to breakout rooms. The item was from Spencer talking about, SFI and EIPs.
00:16:33
Parithosh Jayanthi:Spencer, do you want to first bring up the point, and then I think Tony and I had some follow-up points over there?
00:16:42
spencer:Yeah, sure. I guess, just some context, so… And personally, I would, like.
00:16:49
spencer:us to SFI EIPs a bit faster,
00:16:53
spencer:Kind of aligning more with the network upgrades.
00:16:57
spencer:Including EIP, so EIP7723.
00:17:02
spencer:And selfishly, on the steel side on eels, we only include
00:17:08
spencer:EIPs, or we only merge EIPs into our main…
00:17:14
spencer:Our main branch, Forks Amsterdam, wants to recified.
00:17:17
spencer:it's a process that we like to keep, but we can also change that. But, I guess right now.
00:17:23
spencer:For Amsterdam, we've been having, like, a lot of, a lot of issues with, consistently having to have all these, conflicts between EIPs when creating the devnet branches, because we don't…
00:17:35
spencer:yet have these EIPs specified, so we can't merge them in earlier into our works Amsterdam.
00:17:42
spencer:branch. So that's the kind of the selfish side.
00:17:47
spencer:I guess the other benefit of SFI earlier is the downstream effects it would have.
00:17:56
spencer:And… but yeah, I guess,
00:17:59
spencer:the main reason I brought this up is because…
00:18:02
spencer:In the network upgrade EIP, 7723, we staked
00:18:09
spencer:When client teams agree to implement a core EIP in the next upgrade devnet, the EIP should move to
00:18:16
spencer:The SFI stage and the upgrade EIP should be updated to reflect this. We also state, SFI signals that implementation and testing work are underway.
00:18:27
spencer:the EIP should be included in the network upgrades if no issues arise. Now, I know, like, the key word here is should, doesn't say must.
00:18:38
spencer:But my gut feeling is that should apply to the majority of EIPs, and then the must should, I guess, negate that. So, my feeling is that maybe, like, 70-80% of the EIPs should
00:18:54
spencer:And I, yeah, I do… I do… I don't think it's the best idea to just say the EIP has been added to a devnet, therefore we must SFI it. I think we could maybe change the terminology a bit to
00:19:08
spencer:state that, EIPs can be SFI'd once it's successful in a devnet. So, for example, all the EIPs that have been successful on devnet 2,
00:19:17
spencer:I feel like she'd be SFI'd by now,
00:19:21
spencer:But yeah, I guess I just wanted to bring this up as a general process question.
00:19:29
Parithosh Jayanthi:Yeah, maybe, sharing… I already posted my thoughts on the, on the topic in the issue as well, but, thanks for the context, I think that helps a ton. Probably…
00:19:43
Parithosh Jayanthi:The biggest fear for me is that we SFI something. It has a relation with another EIP that we only haven't included in a devnet.
00:19:52
Parithosh Jayanthi:Because of differing complexity, and then…
00:19:56
Parithosh Jayanthi:we have to kind of backtrack the SFI-ing, if we SFI too early. There's probably a middle path over there where if an EIP doesn't have any interactions with other EIPs, or any foreseeable interactions with other EIPs, as well as is deemed
00:20:12
Parithosh Jayanthi:well implemented and testing coverage is good, then we can SSI it. But at least from my perspective, I think this makes more sense to do one ACD rather than ACDT until ACD explicitly says ACDT can take a call on this.
00:20:27
Parithosh Jayanthi:Yeah, that was, I guess, high-level thoughts, but…
00:20:31
Parithosh Jayanthi:yeah, open to other opinions or decisions. Do we want to SFI stuff on this call, or do we want to defer that to ACD?
00:20:56
Toni Wahrstätter:Yeah, I agree with you. I think we should do that on ACD.
00:21:02
Toni Wahrstätter:Yeah, so far, there haven't been many definites, so not many EAPs were already on devnets, but maybe this week on ACD, we can already take a decision on a few of them that were already on a devnet.
00:21:15
Toni Wahrstätter:Two, and that don't interact with,
00:21:18
Toni Wahrstätter:many other EIPs, and we can already SFI them.
00:21:21
Toni Wahrstätter:Especially, like Spencer said, to give the community, like, more certainty about what is going to… Ship, or whatnot.
00:21:34
Parithosh Jayanthi:Yeah, that makes sense. I think the list that Spencer shared already makes sense. I think he also has a PR to update them, right?
00:21:45
Parithosh Jayanthi:Yes, he does.
00:21:47
Parithosh Jayanthi:So, in general, is anyone opposed to Spencer presenting this list on Thursday, and then getting ACD's approval for SFI?
00:22:00
spencer:And note, this list contains all the EIPs in devnet 3, so… I think we might need to filter it down.
00:22:07
Parithosh Jayanthi:Sorry, okay. I guess you can post a list on ETH R&D and then solicit feedback there?
00:22:13
spencer:Sure, sure, sounds good.
00:22:16
Toni Wahrstätter:And we could also… we could start with only the EIPs from devnet 2,
00:22:20
Toni Wahrstätter:Because we don't even know if they work yet, we haven't launched devnet 3 yet, so maybe it would make sense to do that, like…
00:22:27
Toni Wahrstätter:One after another.
00:22:29
Toni Wahrstätter:But I have no strong opinion on that.
00:22:36
spencer:I guess, like, the main reason I brought this up was not necessarily to SFI the EIPs, but, like, should we change what we state in the network upgrade inclusion EIP to, kind of.
00:22:47
spencer:Align more with, a slightly different process of, like, okay, the…
00:22:53
spencer:the EIPs in the previous devnet were stable, we should SFI them
00:22:57
spencer:Assuming that, yeah, there's no future conflicts with other EIPs that we may see in the future. I guess, like, that's…
00:23:04
spencer:That was kind of the main question. I don't want to take up too much more time here.
00:23:11
Parithosh Jayanthi:Yeah, maybe vulnerables for last points, and then we can move on.
00:23:15
Barnabas:Yeah, just one point that, for example, EIP-7637, the state creation gas cost increase, the IP, is not really finalized yet, so I would actually make sure that
00:23:28
Barnabas:We're not gonna SFI a half-complete EIP, because, yeah, right now it's just using some hard-coded version for devnet 3.
00:23:38
Barnabas:So, I would not feel comfortable specifying that EIP in that… its current form. So, unless we're actually gonna be doing the seed creation gas cost increase properly, I would keep that away from the list, even if we do end up including it in the mystery.
00:23:59
Parithosh Jayanthi:Yeah, for sure. I think the same should apply for us putting in a change that requires a repricing later on. I think we should SSI EIPs
00:24:09
Parithosh Jayanthi:That we just see having very few interactions, and has already been tested adequately, and has implementation that's already in the final stage.
00:24:26
Parithosh Jayanthi:That's, I think, everything on the agenda. Are there any other topics people wanted to bring up before we head to breakout rooms?
00:24:41
Parithosh Jayanthi:Okay, if that's the case, I will… Create the rooms now.
00:24:47
Parithosh Jayanthi:Please note that the rooms won't be recorded, at least not right now. There also won't be a transcript, so if you're participating in one of the two rooms and make, make notes, please do post them on EthR&D so that we can, collect them later on.
00:25:06
Parithosh Jayanthi:You should be able to choose a breakout room now.
00:25:48
Toni Wahrstätter:Is it only me, or is this…
00:25:50
Toni Wahrstätter:button I should click, like, outside my window, I can't click it.
00:25:55
Stefan Starflinger:I can't even see one.
00:25:59
Parithosh Jayanthi:Is no one able to see the results?
00:26:01
Milos:And it should give a pop-up.
00:26:05
Parithosh Jayanthi:There's people joining the rooms.
00:26:08
Stefan Starflinger:Where should we see them?
00:26:11
Pooja Ranjan:Click on More, and then you will see breakout room in progress.
00:26:22
Parithosh Jayanthi:Thanks. Okay, let me just manually assign you, if I can, Rakan.
01:02:45
Parithosh Jayanthi:Yep. Thanks, everyone, for coming. Bye.
01:02:49
Toni Wahrstätter:Thank you. Bye-bye.

Chat Logs

00:08:20
Barnabas:wouldn’t this be better to do in the breakout room?
00:10:34
Stefan Starflinger:https://notes.ethereum.org/@ethpandaops/bal-devnet-2
00:12:16
spencer:Replying to "Are new tests plan..." We'll have another release but it wont change much. Just a single test case.
00:12:22
jochem-brouwer:If fuzzing and then network breaks then it means testing coverage is missing?
00:14:00
spencer:Replying to "Are new tests plan..." This is the test case mentioned by dragan: `tests/amsterdam/eip7954_increase_max_contract_size/test_max_initcode_size.py::test_max_initcode_size_gas_metering_via_create[fork_Amsterdam-create_opcode_CREATE-state_test-short_one_gas]`
00:14:34
Toni Wahrstätter:To add to jochem's qu., any specific EIPs that break?
00:14:39
Stefan Starflinger:Replying to "If fuzzing and then ..." yes and no, not all tests are being passed yet
00:14:57
terence:Prysm is not ready yet, we need to merge a PR, give us 2 days
00:15:04
felipe:Replying to "If fuzzing and the..." https://hive.ethpandaops.io/ should we add a run for bal-devnet-3 here to track client status?
00:15:53
nflaig:did some updates to our checkpoint cache serving @Barnabas should be fine to add to checkpoint-z again
00:16:38
Stefan Starflinger:Replying to "To add to jochem's q..." 8037 gas accounting causing BAL hash missmatch
00:17:56
Barnabas:I’d propose SFI-ing: 7708 7778 7843 8024
00:20:07
Stefan Starflinger:Replying to "To add to jochem's q..." For example: CREATE, CALL-with-value, or precompile calls. Nimbus records different storage/account accesses than geth for these operations. Simple eoatx passes. Only evm-fuzz triggers the divergence.
00:21:06
nixo:i think if ACDE/C is responsible, we can be a bit more proactive there
00:21:36
FLCL:Replying to "Are new tests planne..." Ty!
00:21:41
Stefan Starflinger:Replying to "To add to jochem's q..." Erigon — EIP-8037 Block Gas Overflow (Single-Dimensional Pool)
00:22:33
Barnabas:I’d do SFI devnet 3 maybe a week after its been stable
00:23:48
Stefan Starflinger:Replying to "To add to jochem's q..." reth: Bug likely in how CREATE/CREATE2 tracks code changes or how storage reads vs writes are classified during contract deployment. The hash is computed by alloy compute_block_access_list_hash() which is shared, so the divergence is in the BAL
00:24:25
spencer:Will aim to add draft PR to update 7723 aligning on what we have spoke about. Few interactions and in passing devnet etc
00:24:52
Barnabas:Replying to "I’d propose SFI-ing:..." 7773 you mean?
00:25:17
spencer:Replying to "I’d propose SFI-i..." both :)
00:25:22
wolovim:I think hosts can record locally - plz do that if you have the UI for it 🙂
00:25:31
felix (eest):frick epbs all my homies join bal
00:25:50
Dragan Rakita:Room not detected, what is room code?
00:26:03
Louis:Replying to "how?" There is a “More” button, select it and there are two options
00:26:11
Kevaundray Wedderburn:More > Breakout rooms
00:26:19
Dragan Rakita:I see Transfer to room, but it requires room code

Summary

11 highlights · 3 decisions · 1 action itemsExperimental

blob devnet updates

  • blob-devnet-0: Partial cells spec finalized; Prysm bugs blocking progress00:04:45
  • Testnet rollout planned once clients optimistic; limited validator subset first00:05:36

bal devnet progress

  • bal-devnet-2: ~100% participation achieved; Erigon fixed proposal issues today00:06:45
  • bal-devnet-3: EVM fuzzing breaks clients quickly; hash mismatches across implementations00:11:23
  • bal-devnet-3 blockers: CREATE/CALL operations cause BAL hash divergence in Nimbus/Reth00:12:51

epbs status

  • epbs-devnet-0: Prysm/Lighthouse/Lodestar working; Teku cannot sync or propose00:13:50
  • Exits not functional yet; deposits working correctly00:14:20
  • Alpha3 released; epbs-devnet-1 will likely use PTC lookahead version (Alpha4)00:15:20

eip status process

  • SFI process discussion: Should EIPs move to SFI after successful devnet?00:17:17
  • Proposed SFI candidates from bal-devnet-2: 7708, 7778, 7843, 802400:18:58
  • Decision deferred to ACD; SFI only for stable EIPs without interaction risks00:20:56

Decisions

  • SFI decisions remain with ACD, not ACDT00:20:38
  • bal-devnet-3 EIPs eligible for SFI one week after stability demonstrated00:22:33
  • Incomplete EIPs (e.g., 7637 gas repricing) excluded from SFI until finalized00:24:00

Action Items

  • Spencer: Draft PR to update EIP-7723 SFI criteria: stable devnet + minimal interactions00:24:25