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

BAL Breakout #005

2025-10-22 Agenda: #1771 canonical JSON

Transcript

00:03:26
Toni Wahrstaetter:Welcome, everyone! Today we have the fifth EIP7928 breakout call. It's the 22nd October 2025.
00:03:36
Toni Wahrstaetter:And we have 3 agenda items today.
00:03:39
Toni Wahrstaetter:First of all, we wanted to talk about Coinbase handling. This came up in Discord, and also, there were some suggestions that we change how we view the Coinbase address at the moment.
00:03:52
Toni Wahrstaetter:Then second, as usual, we did some, testing and specs updates. There were some updates that we can discuss today. And finally, client updates.
00:04:04
Toni Wahrstaetter:So let's directly start into the… start with the first agenda item.
00:04:10
Toni Wahrstaetter:which is the Coinbase handling in the BlockClam Exorcist.
00:04:14
Toni Wahrstaetter:To give you a quick recap how it works right now, so the Coinbase address is only included in the Block Live access list.
00:04:23
Toni Wahrstaetter:If it actually changes.
00:04:25
Toni Wahrstaetter:This means, if there is any transaction, that…
00:04:30
Toni Wahrstaetter:has a positive tip, then the Coinbase will see a balance change.
00:04:38
Toni Wahrstaetter:The same applies, if the Coinbase address receives a withdrawal. So in this case, even blocks without any transactions can still have a block lab access list with the Coinbase address included.
00:04:52
Toni Wahrstaetter:In case the companies receive the withdrawal.
00:04:57
Toni Wahrstaetter:For any other, so if there is a block with where the Coinbase address receives no withdrawal, and there is no transaction, then the Coinbase address is not included at all.
00:05:07
Toni Wahrstaetter:So this is what is spec'd right now, and also the state of the EIP.
00:05:13
Toni Wahrstaetter:And I'm happy to discuss if we should change that.
00:05:17
Toni Wahrstaetter:Or, if we keep it as is.
00:05:25
draganrakita:Did you maybe mention the use case when there is transaction, but the fee reward is zero?
00:05:34
draganrakita:what happened for codebase in that case?
00:05:39
Toni Wahrstaetter:In this case, it would also not be included.
00:05:48
Toni Wahrstaetter:But this is a good example, yeah. So, if the fee reward is zero, then we would not see a call to the Coinbase address, and the Coinbase address would not be included. So, a zero…
00:06:00
Toni Wahrstaetter:Value reward is, in this case, different than a zero value call.
00:06:06
Toni Wahrstaetter:Because in a zero-value call.
00:06:08
Toni Wahrstaetter:The address you're calling would still be included, at least as a read, so with all empty changes.
00:06:15
Toni Wahrstaetter:But for the reward, it would not be included at all.
00:06:19
draganrakita:This kinda clashes with the state clear IP.
00:06:26
draganrakita:Where even we have some tests in East that test this use case.
00:06:32
draganrakita:When the Coinbase is basically empty but existing, and you reward it at the end.
00:06:40
draganrakita:Expectation there is that, the Coinbase is going to be touched, at the end, removed from the…
00:06:54
Toni Wahrstaetter:I see the conveys is going to be touched, and is it always empty in this case, the conveys? Is it only touched if it's empty? Or is it always touched in that scenario?
00:07:05
draganrakita:It's always touched, but only action that needs to be… needs to happen is if it is empty.
00:07:13
draganrakita:That means it needs to be removed.
00:07:23
Jared Wasinger:Yeah, so previously, I think I was pro… I was pro, to not include the…
00:07:31
Jared Wasinger:Coinbase as a read if the balance doesn't change, like, in the case of the empty block or the zero fee payment, but I…
00:07:43
Jared Wasinger:now that the point about… I think it's… I forget what the state straight clearing EIP… so the point about it being touched as part of the… I think it might be EIP161, I can't quite…
00:07:57
Jared Wasinger:remember right now, but I think that…
00:08:01
Jared Wasinger:perhaps that's actually, like, I mean, a fairly decent argument to actually just include the Coinbase, and as… and furthermore, just include anything that would be touched as part of EIP161 as a read.
00:08:22
draganrakita:I would do something in the middle.
00:08:26
draganrakita:If the empty fee is transferred to Coinbase, hey, let's include Coinbase, it is the same behavior as you're transferring the zero value to any other account.
00:08:37
draganrakita:But… I've… if… If there is no trace section.
00:08:45
draganrakita:then I would not include Coinbase.
00:08:50
draganrakita:But that second part is not… I'm not going to die on that, to be honest.
00:08:55
draganrakita:We can, yeah… we can always add some edge case where we always add the Coinbase.
00:09:03
Toni Wahrstaetter:Yeah, to me… to me, this… this feels like the cleanest solution to this, because now I can definitely see the argument for including the Coinbase in
00:09:13
Toni Wahrstaetter:this exact edge case that you described with this, three-digit ERP that we're talking about.
00:09:19
Toni Wahrstaetter:It also, just to echo what Rahu is saying there in the chat, it will also,
00:09:26
Toni Wahrstaetter:allow us to treat a zero-value call exactly the same as a zero-value balance. So, essentially, we would just have a rule in the ERP that the Coinbase address is always included, at least as a read, if there is no other changes happening to the Coinbase account.
00:09:44
Toni Wahrstaetter:And then we don't have to think about any of those edge cases.
00:10:01
Toni Wahrstaetter:I'm curious what other clients think about this. This is definitely a small change to the specs, and also some changes to the AOP required.
00:10:13
Toni Wahrstaetter:I guess we will also have to, change the tests we have on that topic.
00:10:19
Toni Wahrstaetter:All small changes, I'm happy to do so, but let's see what other clients think about it.
00:10:29
Marc:I think it makes sense to include it. It just seems a bit more consistent, and we don't have this, specific edge case.
00:10:45
Toni Wahrstaetter:just, just for Lucas, Lucas to quickly,
00:10:49
Toni Wahrstaetter:summarize the discussions about the Coinbase address, how it is included in the block lab access list.
00:10:56
Toni Wahrstaetter:We are now landing…
00:10:58
Toni Wahrstaetter:at including the Coinbase address, no matter what. So the Coinbase address will always be in the block lab access list, and the least
00:11:07
Toni Wahrstaetter:it would be in there with empty changes. So there can be balance changes, a Coinbase address can also have nonce changes or code changes, but it will always be in there at least as a read, as a state access.
00:11:21
Toni Wahrstaetter:Because previously, there was the situation that A block with no transactions?
00:11:27
Toni Wahrstaetter:The question popped up, should the Coinbase address be included or not, and what happens if the block reward is zero versus non-zero? So the easiest solution seems like we
00:11:38
Toni Wahrstaetter:have a new edge case for the Coinbase, which says the Coinbase address is always included in the block lab access list, no matter what.
00:11:57
raxhvl:I'm always including Coinbase as One problem, because… It introduces redundancy.
00:12:05
raxhvl:We could always get the Coinbase from the block anyways.
00:12:12
Toni Wahrstaetter:Right, yeah, it's a bit of, duplicated information there.
00:12:16
Toni Wahrstaetter:But I think it's fine, because it's only, like, a very rare edge case. This edge case only occurs if we have a block where the Coinbase address wouldn't be included anyway. And usually, blocks have transactions with positive tips.
00:12:33
Toni Wahrstaetter:So, I think we can live with it.
00:12:48
Toni Wahrstaetter:Great, then just to summarize the to-dos, I will update the specs and the EAP. Rahul, will you update the test cases?
00:13:05
Toni Wahrstaetter:Perfect Is there… maybe asking Felipe, is there anything else,
00:13:10
Toni Wahrstaetter:That you might be thinking of that we have to change here?
00:13:14
Toni Wahrstaetter:I guess not, right?
00:13:17
felipe:No, I think the… Yeah, the yield side, the spec side needs to change,
00:13:23
felipe:But yeah, I'm good with this change.
00:13:28
Toni Wahrstaetter:Okay, perfect.
00:13:30
Toni Wahrstaetter:Great, then let's move forward with that. Yeah, please go ahead.
00:13:33
draganrakita:Just… just to confirm, so always include it, even if there is no transactions.
00:13:41
draganrakita:Can have a very, probably in the specs, we will…
00:13:44
Toni Wahrstaetter:it will even simplify the specs a bit, because we will just have one line at the very beginning of the block, where we put the Coinbase address in there.
00:13:59
Marc:I mean, an alternative would be…
00:14:02
Marc:to just have it only if there was, I guess, just one…
00:14:06
Marc:Transaction with… with a… with a zero balance change.
00:14:11
Marc:I don't know, because always including it seems like almost adding another
00:14:17
Marc:Edge case, whereas if we just have it so that whenever there's a zero transfer, then that's just, you know, always handled the same.
00:14:24
Marc:That seems the simplest to me, but I mean, it's a small difference.
00:14:29
draganrakita:Aware of what Mark said.
00:14:32
draganrakita:It simpler… if included always, then we have some additional condition that we need to add.
00:14:38
draganrakita:If included, only if there is transaction, even if… even if the fee…
00:14:44
draganrakita:Value is 0, then we just use what's salted there.
00:14:50
draganrakita:It's small change, it doesn't matter, we can always have, like, additional condition, but just wanted to point that up.
00:14:56
Toni Wahrstaetter:I'm fine with this one, too. So then the edge case would be we include the Coinbase address.
00:15:04
Toni Wahrstaetter:Even if the reward is zero.
00:15:10
Toni Wahrstaetter:Okay, yeah, curious to hear what others think about this. I'm fine with that one, too.
00:15:29
raxhvl:This way, this is like any other balance change for an account.
00:15:39
Jared Wasinger:Yeah, so as far as implementing it in Geth, I think regardless of whether it's always include or, include as long as there's a,
00:15:51
Jared Wasinger:a transaction in the block that, even if it pays zero fees, it's still a bit of a special case, and I think what's important from my perspective is that we just settle, so, I don't have a strong opinion either way.
00:16:13
Toni Wahrstaetter:Just to confirm, the… if there is no transaction in a block, the Coinbase will be included, and if there is a transaction in a block with a zero tip, the Coinbase will also be included, right?
00:16:27
Jared Wasinger:I think that was the always include option, but my understanding of what
00:16:33
Jared Wasinger:maybe I misheard, but I think what Mark and Dragon just said was to…
00:16:38
Jared Wasinger:If that there is an empty block to not include the Coinbase.
00:16:44
Jared Wasinger:And if there is a block containing one or more transactions, even if they pay zero fees.
00:16:50
Jared Wasinger:to include the Coinbase, that's the other option.
00:16:58
Toni Wahrstaetter:Okay, interesting, because I was thinking, like, okay, isn't it, like, from the Coinbase perspective, the same if I receive zero reward through a block with no transactions versus zero reward through a block with one transaction paying zero tips?
00:17:11
Jared Wasinger:Is there, is there some…
00:17:14
Jared Wasinger:The distinction that Dragon pointed out earlier is that from the EIP for the state clearing, the… in the case where there is the zero fee transaction, the Coinbase is actually touched.
00:17:30
Jared Wasinger:And in the… because we no longer pay the block rewards at… the…
00:17:41
Jared Wasinger:the… in the other case, the Coinbase would not be touched in an empty block without Any transactions?
00:17:52
Jared Wasinger:I don't know, just maybe…
00:17:55
Toni Wahrstaetter:I think you got it, yeah.
00:17:56
Jared Wasinger:Someone else can expand on it for me.
00:17:59
Toni Wahrstaetter:No, this is interesting, because it's then actually the tip paying that touches the Coinbase and not the reward, right?
00:18:12
Toni Wahrstaetter:Yeah, makes sense, because there is no, block reward. So, okay, because I'm just thinking in the specs, we might have already
00:18:20
Toni Wahrstaetter:We might do that already correctly, but I would have to double-check, because Yeah.
00:18:27
Toni Wahrstaetter:But… Are we then fine with,
00:18:31
Toni Wahrstaetter:Agreeing on that solution that we…
00:18:34
Toni Wahrstaetter:So, just to summarize, the Coinbase would then be included in case there is a transaction.
00:18:41
Toni Wahrstaetter:Even though the transaction has a zero tip. So if the transaction has a positive tip, the transaction… the Coinbase is included anyway, because it has a balance change. But if the transaction has a zero tip.
00:18:55
Toni Wahrstaetter:then the Coinbase would at least be included as a state access, as a read.
00:19:06
Toni Wahrstaetter:And the only situation where the Coinbase address would not be included
00:19:11
Toni Wahrstaetter:Would then be a block with no transactions, is that correct, too?
00:19:29
Toni Wahrstaetter:Okay, yeah. Rahul is also confirming me in the chat, so the Coinbase address would not be included in the block access list in case if there is no transactions, and…
00:19:39
Toni Wahrstaetter:No system operations touching the Coinbase, which could happen with a withdrawal.
00:19:48
Toni Wahrstaetter:Yeah, then let's update the EAP, the specs and the tests, and…
00:19:53
Toni Wahrstaetter:Make sure we have it ready for the next, release.
00:20:00
Toni Wahrstaetter:Then we can… is there… before we move on to the second point, is there anything else people want to discuss regarding the Coinbase address tracking?
00:20:09
Karim T.:Monique, could you just summarize again, just to be sure I follow everything?
00:20:14
Toni Wahrstaetter:Yeah, so the Coinbase, will be included if it sees a balance change, for example. So if there is any change in the block.
00:20:25
Toni Wahrstaetter:But regarding the Coinbase, then it's included no matter what, so there's no edge case around that. For example, if the Coinbase receives a tip from a transaction, then it's included with the balance change.
00:20:36
Toni Wahrstaetter:The interesting case is what happens if the block is empty, so there is no transaction in the block.
00:20:42
Toni Wahrstaetter:In this case, the Coinbase is… Not touched.
00:20:48
Toni Wahrstaetter:The Coinbase would also not be included.
00:20:51
Toni Wahrstaetter:So, zero transactions.
00:20:53
Toni Wahrstaetter:could mean the Coinbase is not included in the bulk. It could also mean the Coinbase is still included in the block of access list, but only if it receives a withdrawal.
00:21:06
Toni Wahrstaetter:Another second interesting case was, what if there is a transaction in the block, but it pays zero tip to the Coinbase?
00:21:15
Toni Wahrstaetter:In this case, we agreed that we include the…
00:21:20
Toni Wahrstaetter:Coinbase address into the block access list. So…
00:21:23
Toni Wahrstaetter:In both examples, when there is no transaction, and when there is one transaction that pays nothing as a tip, in both transactions, the Coinbase address receives nothing.
00:21:34
Toni Wahrstaetter:But in the first case, where there is no transaction.
00:21:38
Toni Wahrstaetter:the Coinbase is not actually touched, and that's why we don't include it. In the second case, when there is a transaction, then the Coinbase is touched, and we include it.
00:21:58
Toni Wahrstaetter:Perfect. Is there anything else, regarding the Coinbase tracking before we move on?
00:22:15
Toni Wahrstaetter:Great. Then the next point on the agenda would be testing and specs update.
00:22:21
Toni Wahrstaetter:I would ask Rahul or Felipe, is there… are there any updates from your side, regarding testing and…
00:22:29
Toni Wahrstaetter:Test releases.
00:22:36
raxhvl:Yeah, so clients are passing almost all test cases, the positive ones, so we're about 90… 89% of
00:22:45
raxhvl:test cases that we're currently passing. The remaining 10 test cases has mostly to do with
00:22:51
raxhvl:incorrect pal payloads, and I believe the clients are also passing those.
00:22:57
raxhvl:But we're missing some exceptions within each framework.
00:23:02
raxhvl:So, yeah, so we'll get that in probably… Late this week.
00:23:08
raxhvl:And I think we should be good to go in terms of the current release. We're also working on a new release.
00:23:16
raxhvl:For the tests that we discussed this past week.
00:23:20
raxhvl:That includes, the Coinbase, updates, and…
00:23:27
raxhvl:Some system operations, so we still don't have a new install, so…
00:23:34
Toni Wahrstaetter:Awesome, thank you very much.
00:23:38
Toni Wahrstaetter:Is there any updates, worth sharing from the first step that we had?
00:23:43
Toni Wahrstaetter:Maybe from clients, or…
00:23:45
Toni Wahrstaetter:From people involved?
00:23:48
Stefan Starflinger:I mean, the definite is still being set up, if that's what you mean. It's not running yet.
00:23:56
Toni Wahrstaetter:Okay, all good.
00:23:59
Toni Wahrstaetter:I saw, SSU right then, Nicole Steffen.
00:24:03
Toni Wahrstaetter:I think you and PK, you were also working on, improving DORA, right? Because I had, like, a very naive DORA implementation at the beginning.
00:24:13
Toni Wahrstaetter:And… Are there any updates? Any… anything you can already share?
00:24:18
Stefan Starflinger:Maybe Pike wants to update on the Bora?
00:24:26
pk910:Well, basically, we have, accessless visualization in DORA. I've reworked at you a bit to be more performant, so it's client-side rendered, and it's also able to render really big lists if needed.
00:24:41
pk910:Another thing that's also added is a comparison feature, so you can post another BL and compare it to the one that is inside the block. So you can see diffs directly and, yeah, act on these.
00:24:57
pk910:If there's anything that's needed, or any improvement suggestions, please reach out to me. I'm happy to add them as well.
00:25:10
Toni Wahrstaetter:Amazing, thank you very much. This is great, especially the DivView.
00:25:15
Toni Wahrstaetter:I can… I can see that this will be very handy in the future.
00:25:19
Toni Wahrstaetter:Thanks a lot for that.
00:25:24
Toni Wahrstaetter:Great, then, let's move on to the last agenda item of today.
00:25:29
Toni Wahrstaetter:As usual, the client updates.
00:25:32
Toni Wahrstaetter:Maybe we can start with Jared.
00:25:36
Jared Wasinger:Yeah, so basically the update on the GIF side is that we have been incrementally merging various parts of the access list changes into the codebase,
00:25:52
Jared Wasinger:there's still… Quite a ways to go on that front, but, we're working on it,
00:26:01
Jared Wasinger:I think now the focus is…
00:26:04
Jared Wasinger:While that is happening, also the focus from my end is on the development side is shifting back to, trying to
00:26:13
Jared Wasinger:Optimize the performance on our side, specifically focused on the performance of the state route calculation.
00:26:30
Jared Wasinger:I hope to have more to share on that soon, but it's in progress at the moment.
00:26:42
Toni Wahrstaetter:Awesome, thanks a lot, and yeah, would be great, if you can share some results in the call as soon as you got them. Sounds… sounds exciting.
00:26:53
Toni Wahrstaetter:Perfect, then let's continue with Bisu.
00:26:59
Karim T.:On the basel side, we are now passing all the… all of the RLP tests, and also enzyme tests.
00:27:05
Karim T.:So we just need to merge the PR that Margie made to update the execution spec test.
00:27:12
Karim T.:repo mapping. So we also started to implement the state root in background.
00:27:18
Karim T.:At the beginning of the block processing, thanks to Block Access List.
00:27:22
Karim T.:So, it's already working, but for the moment, just, we are logging the result of the statehood computation to compare. But in another PR, we will verify the state root and fail the block if it's not matching. But for the moment, just want to compare if it's working or not.
00:27:39
Karim T.:What we want to do also in the next step is to do a shadow fork of mainnet.
00:27:45
Karim T.:And like that, we'll be able to measure the impact of the state routine background regarding performance on Bezoo.
00:27:53
Karim T.:So, it would be nice if we can do that.
00:27:56
Karim T.:And we are also working and trying to fix the parallelization of execution of transaction with block access list.
00:28:08
Toni Wahrstaetter:Awesome, thank you very much.
00:28:10
Toni Wahrstaetter:Let's continue with Nethermind.
00:28:14
Marc:It, so made quite a bit of progress with the, bowel construction. I've been testing out Interop with, Bessieu and Geth, and, now it's able to get quite a bit past the, Glow Asph walk.
00:28:33
Marc:But there are still some, like, consensus issues after, a few epochs.
00:28:38
Marc:So I'm having a look into that.
00:28:40
Marc:But I've also just found quite a few, kind of consensus issues that were there, even though 100% of the tests were,
00:28:49
Marc:were passing, so I'm gonna speak a bit to make some regression tests for everything I found.
00:28:59
Toni Wahrstaetter:Yeah, thanks a lot, and great, great inputs there.
00:29:03
Toni Wahrstaetter:This… this seems like we… we haven't covered anything.
00:29:08
Toni Wahrstaetter:Yet, everything yet in the tests, and definitely some… some more things to do here.
00:29:13
Toni Wahrstaetter:Thanks a lot for that let's continue with ref.
00:29:21
Ishika:Hello, so for it, the tests were passing. As of now, we were moving from integrations of our branch to that of Dragon's branch, which I believe will be more architecture-friendly, concerning it will be less dependent on the Alloy VM. The majority of the parts are integrated, but there are certain things I would like to take care of.
00:29:44
Ishika:So that's something we are doing, but overall, it's alright, and possibly I will be… the error we are having as of now, I will possibly fix it by the end of the day.
00:29:56
Toni Wahrstaetter:Great, thanks a lot for this update.
00:29:59
Toni Wahrstaetter:Sounds… sounds very good.
00:30:02
Toni Wahrstaetter:And finally, Aragon.
00:30:06
Mark Holt:Yeah, hi. So, where we are, we've just, I think, yesterday, merged
00:30:13
Mark Holt:our first PR, which is the basic support for bowels into Maine. There's a couple more PRs to go, which hopefully will happen over the next couple of days, so…
00:30:26
Mark Holt:I think we should have a DevNet Zero
00:30:30
Mark Holt:branch that we create, probably tomorrow or Friday.
00:30:34
Mark Holt:And then after that, we're kind of…
00:30:38
Mark Holt:We'll do some testing and see where we are.
00:30:41
Mark Holt:I would say we're about a week behind where I thought we were.
00:30:47
Mark Holt:on the last call, just because, we've got sidetracked with Fusaka issues, which kind of took priority.
00:30:57
Mark Holt:But we're basically back on block-level access lists as a, you know, as our primary focus now.
00:31:06
Toni Wahrstaetter:Sounds good, thanks a lot.
00:31:08
Toni Wahrstaetter:And let me know, or reach out to me, Rahul, Felipe, if you… if you need any help with getting integrated into the tests and everything.
00:31:17
Mark Holt:Yeah, yeah, so we'll do that, but I think we'll probably either be working on that Friday or early next week, just to set your expectations of…
00:31:25
Mark Holt:But I'm sure we'll start breaking stuff.
00:31:30
Toni Wahrstaetter:Sounds good. Thank you very much.
00:31:35
Toni Wahrstaetter:Great, then this was the last agenda item we had on today's call. Is there anything else people want to bring up?
00:31:44
Stefan Starflinger:I just wanted to summarize regarding the definites a little bit more, that I've been finding a lot of issues working together with different client teams that I've been holding off, kind of, progressing and getting that live, but I think
00:31:59
Stefan Starflinger:By the end of the week, I think we might be ready. I'm still… need to fix something with the consensus Layer clients that loads are in Prism, interop. There was something that I'm still looking into, and I hope that with Nevermind, it will also
00:32:15
Stefan Starflinger:be working better, and then we can start the definite, I think, definite zero.
00:32:23
Karim T.:Do we want to have the Coinbase modifications for the next DevNets?
00:32:28
Karim T.:Because I think we'll have to do some modification in Bezoop.
00:32:35
Stefan Starflinger:That's a good question. I think maybe, Tony, that's something we could find out before we start, if we want to do a wait and have that modification in or not.
00:32:50
Toni Wahrstaetter:Okay, Jared and Dragon are saying they want to, have it already?
00:32:56
Toni Wahrstaetter:I'm happy to… to go for it, but it's more of a question for clients, I guess.
00:33:02
Karim T.:I think it would be okay if we have some tests, just to be sure.
00:33:07
Karim T.:We are working correctly.
00:33:14
Toni Wahrstaetter:Perfect, yeah, just to echo what Rahul is saying in the chat.
00:33:17
Toni Wahrstaetter:That, he's working on tests, this week, so that we have, those individual tests. I think we need a test for an empty block, then a block with one transaction, paying no tips.
00:33:29
Toni Wahrstaetter:And the regular block, and then we should have everything covered there.
00:33:33
Toni Wahrstaetter:But then let's agree that in the first FNAT,
00:33:37
Toni Wahrstaetter:End of week, next week, that we, already include those most recent changes regarding the Coinbase tracking.
00:33:46
Stefan Starflinger:Sounds good, then I'll wait for that.
00:33:55
Toni Wahrstaetter:Perfect. Is there anything else we should discuss today?
00:34:12
Toni Wahrstaetter:If not… We can end the call at this point, we can end a little bit earlier, and…
00:34:20
Toni Wahrstaetter:Yeah, see everyone in the next, 7, 9, 28 breakout call in 2 weeks. Thanks a lot.

Chat Logs

00:08:11
raxhvl:I think balance change to coinbase should be treated like any other account, so zero-value transfer should be included. Just to not have an account level exception.
00:08:22
Marc:if coinbase is touched by opcode like BALANCE it’s included right?
00:08:52
Toni Wahrstaetter:Replying to "if coinbase is touch..." right yeah. but for zero value reward you might not even need to load it
00:10:07
draganrakita:So: No tx, no coinbase (except it is withdrawal I think) Some tx, always coinbase (read or write)
00:10:39
raxhvl:@draganrakita no tx no coinbase yes. Because coinbaise is tagged to tx.
00:10:40
Łukasz Rozmej:I joined bit late, can you reitarate?
00:10:52
Jared Wasinger:Always include sounds okay to me too
00:12:02
Karim T.:I think it’s better to include It
00:15:43
draganrakita:@Jared Wasinger @Karim T. ?
00:17:10
Karim T.:Don’t have a strong opinion . Not sure about the best solution
00:18:46
Jared Wasinger:Yeah block reward is on CL side so empty block, coinable wouldn’t be touched
00:18:50
Jared Wasinger:That’s where I was getting confused
00:19:18
raxhvl:Coinbase is excluded if there are no tx. (system operation to coinbase for example withdrawal is as usual)
00:19:53
Karim T.:Could you repeat again just to be sure
00:32:45
draganrakita:I would like to have it
00:32:47
felipe:I have to jump. Thanks all. Will catch up on recording.
00:32:48
Jared Wasinger:We should have it
00:33:08
raxhvl:We'll have the tests this week.
00:33:50
draganrakita:There are few tests with zero reward. Have linked them in disccord
00:34:07
raxhvl:On it Dragan! Will get those included

Summary

11 highlights · 3 action itemsExperimental

coinbase handling

  • Coinbase included in BAL if tx exists (even zero-tip); excluded if no tx00:03:52
  • Zero-tip tx touches Coinbase via EIP-161; differs from empty block (no touch)00:05:48
  • Decision: Include Coinbase as read when touched; exclude in empty blocks00:10:39

testing progress

  • Clients passing 89% of test cases; 10% incomplete due to missing exception handling00:22:36
  • New test release planned with Coinbase updates and system operations00:23:16

client updates

  • Geth: Shifting focus to state root calculation performance optimization00:25:51
  • Besu: Passing all tests; implementing state root in background; planning mainnet shadow fork00:26:59
  • Nethermind: Found consensus issues post-Genesis despite 100% test pass rate00:28:33
  • Erigon: First PR merged to main; DevNet Zero branch ready by Friday00:30:13

organizational

  • DevNet 0 launch delayed ~1 week; targeting end of week/early next week00:31:59
  • Coinbase modifications will be included in DevNet 000:32:48

Decisions

  • Coinbase included in BAL when transactions exist (even zero-tip); excluded in empty blocks without system operations00:18:46

Action Items

  • Toni: Update specs and EIP for Coinbase always-include-when-touched rule00:13:17
  • Rahul: Update test cases for new Coinbase handling logic00:13:17
  • Rahul: Create tests for empty block, zero-tip tx, regular block scenarios00:33:50

Targets

  • Late this week - Missing test framework exceptions completed00:23:08
  • Tomorrow/Friday - Erigon DevNet Zero branch creation00:30:34
  • End of week - DevNet 0 launch with Coinbase modifications00:32:20
  • In 2 weeks - Next EIP-7928 breakout call00:34:24