Toni Wahrstätter:Welcome, everyone. I post the agenda into the chat. Welcome, everyone. Today is December 17th. It's the 9th EAP7928 breakout call.
Transcript
Toni Wahrstätter:And we still have something on the agenda that,
Toni Wahrstätter:basically was the topic of last week. Namely,
Toni Wahrstätter:Namely, how long do we store block lab access lists, and how do we make them, accessible over the engine API?
Toni Wahrstätter:If you look into the agenda.
Toni Wahrstätter:There are 3 PRs, one of them, the second one is against the execution specs, and the other two against the EAP.
Toni Wahrstätter:And what is proposed in there is basically
Toni Wahrstätter:That we make sure that we keep at least enough block access lists
Toni Wahrstätter:Until the weak subjectivity period, and the rational behind this is we want to make sure that, if a node goes offline.
Toni Wahrstätter:for less than the week's subjectivity period and wants to catch up by re-execution, then there must be enough block of access lists around, such that,
Toni Wahrstätter:Catching up with the head is actually feasible, because, of course, you might need parallelization in the context of re-execution.
Toni Wahrstätter:sync.
Toni Wahrstätter:So, yeah.
Toni Wahrstätter:Have people had time to look into those? Especially, do client teams have any opinions?
Toni Wahrstätter:By the way, I almost forgot, this also includes the topic of removing the block web access list from the block body.
Toni Wahrstätter:Yeah, I guess there's,
Toni Wahrstätter:no one against that. It seems like this was the broad consensus that we reached.
Toni Wahrstätter:Also Karim is saying that in the chat, he's okay with removing it from the block body. I remember Gary and Jared were also advocating for removing it from the block body last week. The question that remained was only.
Toni Wahrstätter:How does it… how does the ball get from the CL to the EL? So far, it has been passed from the CL via the engine API using the execution payload.
Toni Wahrstätter:And Yeah, Justin Karim and me had a call with POTUS yesterday, And…
Toni Wahrstätter:POTUS mentioned that the execution payload header will not be stored on the CL site anymore, so we don't have to care about the execution payload header, but we would then just put the block-level access list in the execution payload.
Toni Wahrstätter:It goes to the execution layer.
Toni Wahrstätter:And the executioner would then need to take the block-level access list, hash it.
Toni Wahrstätter:And then start the state transition.
Toni Wahrstätter:And afterwards, the CO would use the…
Toni Wahrstätter:Hash from the provided block of access list and put it into the block header.
Toni Wahrstätter:And in the end, after execution, the EL would compare the generated block level access list that was generated during execution with the block hash.
Toni Wahrstätter:And if this check, matches.
Toni Wahrstätter:it means that the block level access list was actually exactly the same that was derived during generation.
Toni Wahrstätter:So this would make sense. This also means that we have to store, at least 15.7 days of block lab access lists. This is around
Toni Wahrstätter:Yeah, you can think of it as a max of 10GB.
Toni Wahrstätter:Doesn't fit into memory anymore.
Toni Wahrstätter:Great.
Toni Wahrstätter:then we can, I guess, if there's, no opinion on that, I would, interpreted as consensus here.
Toni Wahrstätter:Because it feels like we already reached that point in the Discord discussion, so…
Toni Wahrstätter:Just wanted to bring it up again, that everyone is on the same page.
Toni Wahrstätter:What does this actually mean for our tests? Maybe, Rahul or Felipe, do we have to change a lot there now?
felipe:Yeah, that's a good question.
felipe:Since the block lab, block access list is no longer in the, block body.
felipe:I think we need to… Including them in the vector.
felipe:Somewhere else.
felipe:Just, to have a reference to it. And we'll have to figure out how to arrange that.
Toni Wahrstätter:Yeah, it's interesting. What is, like, the starting point?
Toni Wahrstätter:from the tests, because we start basically at the EL block, and not at the execution payload, right? Because the execution payload would basically be everything passed from the CL, which is a lot of header fields, plus the withdrawals, if I remember correctly, execution requests, and…
Toni Wahrstätter:The transactions itself.
Toni Wahrstätter:Oh, maybe…
Toni Wahrstätter:Maybe, do you know, Jochen, how we are treating this, or what would be the cleanest way to…
Toni Wahrstätter:To, to implement that in the testing framework.
jochem-brouwer:So, what's specifically implementing?
Toni Wahrstätter:The fact that the block type access list is not part of the block body anymore.
Toni Wahrstätter:So, yeah.
jochem-brouwer:So, where's this currently, then, a part of? .
Toni Wahrstätter:So it comes from the CL as part of the execution payload.
jochem-brouwer:Right,
jochem-brouwer:to be honest, I don't really know. I think we have to… I will check, how the…
jochem-brouwer:Blobs are basically handled, because this is somewhat similar.
jochem-brouwer:At this point, I would not know.
Toni Wahrstätter:Yeah, I'm wondering if we even need it, if we even need to change something at the tests there. For example, this is a question to you, Felipe. Are the test cases, are each individual test case also checking that the bul is correct? Like, doing a hash check at the end?
felipe:Yeah, yeah, so…
felipe:Obviously, so we all… we also have, like, the engine version of the tests, right? And these don't actually have…
felipe:the full bell.
felipe:This will take… Just the block access list, hashed.
felipe:And so, honestly, I think for debugging purposes, it's really nice to have them in these test vectors.
felipe:But if they're going to be…
felipe:If we're gonna have the hash, that's proposed.
felipe:then I think this may be the… all we need. It's just not gonna be ideally
felipe:Very debuggable, which is not…
felipe:Yeah, it's not ideal while we're in, like, such a large testing phase.
Toni Wahrstätter:Right, I can see that, yeah. Because the workflow would then look like the following. The CL would pass the execution payload to the EL,
Toni Wahrstätter:In the execution payload, there is the full bar.
Toni Wahrstätter:and you will then hash the bul. And this is basically where we are currently starting, right? Except that we have both the hash and the bul.
Toni Wahrstätter:And now we would basically only have, like, the hash. We would then run execution, would derive a generated bul, would hash it, and compare it with the hash and the header.
Toni Wahrstätter:Yeah, this is… this is interesting, because it's… it's like the bowel provided by the seal.
Toni Wahrstätter:doesn't… does never need to enter the state transition function on the EL.
Toni Wahrstätter:Because the EL, like, if you execute transactions, you will just generate
Toni Wahrstätter:the ball for validation. But you never need… to…
Toni Wahrstätter:Have the provided bul enter the system in that sense, because it's… it will just be used to…
Toni Wahrstätter:to parallelize.
Toni Wahrstätter:And in the end, we need a hash of it, at least in the header, to make sure we can actually validate it during execution.
Toni Wahrstätter:So the power from the CL should also never
Toni Wahrstätter:enter the test cases, but I can see the argument why it makes sense for debugging.
jochem-brouwer:So, I just checked, like, it seems that for the blobs,
jochem-brouwer:So just to… just to compare that, because in the blobs, it seems that in the test format, indeed, the blobs themselves are not provided, but the blob version hashes are provided, of course, in the block.
jochem-brouwer:So, yeah, for… in this case, The debugging would be harder.
jochem-brouwer:But of course, like, this is, like, the end result, like, if we were to remove it from the block body, then it's indeed, as you say, like, not part of the state and such information.
jochem-brouwer:So this is, like, a logical result, but for the debugging purposes, if we think this is,
jochem-brouwer:wanted, then I think we should feedback this in general to the testing framework.
jochem-brouwer:That we somehow need, like, this data.
jochem-brouwer:To also help de-booking this.
jochem-brouwer:But this is the part of how we test it, yeah.
Toni Wahrstätter:So then we could either have, like, an optional field in the state transition function or something in the specs? Are you thinking along those lines?
jochem-brouwer:So it will be more part of, like, the testing framework itself.
jochem-brouwer:how this will be handled in the testing format. So it needs, as you say, like, these optional fields, like, maybe like this metadata or something.
jochem-brouwer:That, includes the fill block access list.
jochem-brouwer:Which is optional.
jochem-brouwer:Because in the end, the clients will… the EL clients will only verify that the hash of this thing is correct.
jochem-brouwer:And for debugging, we would, of course, need the expected block access list.
jochem-brouwer:So this will be more part of, like, the testing framework, so we need, like, some kind of… how we would fill these tests. You would need some kind of endpoint at the EL, or debug endpoint to get this… the,
jochem-brouwer:The expected book access list in order to include this in the testing format, so in the fixture which the clients would consume when testing this.
Toni Wahrstätter:Okay, yeah, this sounds better than what I was thinking of.
Toni Wahrstätter:Awesome, thank you.
Toni Wahrstätter:Yeah, this seems like this is something we need to figure out, like, because we can't…
Toni Wahrstätter:We can't lose, this nice feature of having, like, good debug logs that compare them.
jochem-brouwer:Yeah, I think what we should do here is to also look a little bit back in how the blobs were tested.
jochem-brouwer:Because I think this is somewhat similar.
jochem-brouwer:Because I also don't see, like, the, blobs In the, fixtures themselves.
jochem-brouwer:So I'm not really sure if that was a problem back then, how this was actually tested.
Toni Wahrstätter:Yeah, I think this will be…
jochem-brouwer:Yeah.
Toni Wahrstätter:Blobs are different, I think, because they don't really interact with execution, so there was… we probably never had, like, a script that compared two blobs with one another, right? You would probably create… have many tests for how you create a blob.
Toni Wahrstätter:But then, on a testnet, I… I don't know, actually, but I would assume we did not compare
Toni Wahrstätter:Blobs with one another in the tests.
jochem-brouwer:Yeah, that would actually make sense, yeah. Okay, let me think about this a little bit, how we should approach this, if it changes, yeah.
Toni Wahrstätter:Perfect, thank you.
Toni Wahrstätter:Is there anything else we should discuss under this topic of specs and And, testing updates.
draganrakita:Maybe I can…
draganrakita:About this discussion, are we talking about changing the JSON format for the test? I feel that current format is fine, I'm not sure why we need to change it. I'm not understanding that point.
felipe:Yeah,
felipe:So if the block access list gets removed from the block body itself, the blocks part of the vectors
felipe:Would no longer have this, like.
felipe:black access list field, right? And I think what we're just trying to discuss is
felipe:It's super useful for debugging,
draganrakita:Yeah.
felipe:And maybe it can perhaps be, like, an underscored field or something that says, like.
felipe:This is not part of the actual block body, but this is, like, useful information for testing.
felipe:And I think, yeah, I agree with Jakam that, like.
felipe:Somewhere, like, if we decide we want to keep this for debugging, somewhere in some metadata section, it might be really useful to just keep it around.
draganrakita:I would even just leave it like that, because it…
draganrakita:you have additional fields, LLP or something like that, that is basically… we have a need to have special type to decode the JSON block that's inside the JSON, so we don't care if it's underscored, if this is named something else, or if this name…
draganrakita:Block, access, list, ball, or whatever.
draganrakita:Okay.
draganrakita:Thanks.
felipe:Yes, yeah, that makes sense. I was looking at the RLP just now as well, and…
draganrakita:Yeah, it's special format, it's special, like, it's not… you cannot use block to… to deserialize that kind of JSO, you need special type that's going to do that.
draganrakita:But, yeah, I think that's, like, okay, it's a small decision.
felipe:Yeah, it's a small decision, yeah.
Toni Wahrstätter:Perfect, yeah, we can also resolve that topic, async afterwards.
Toni Wahrstätter:After looking deep into it, like, what is the… Most efficient and clean way.
Toni Wahrstätter:To still get, like, the logging, but on the other hand, we also don't want, the specs to deviate from what client should actually do.
Toni Wahrstätter:Any other opinion on that? Also on the other topic of the retention period? So there are two topics now.
Toni Wahrstätter:The bowel being removed from the block body.
Toni Wahrstätter:Stored separately, and then… Secondly, the retention period of…
Toni Wahrstätter:3,533 epochs, which is, like.
Toni Wahrstätter:A little more than 2 weeks.
Toni Wahrstätter:Perfect, then I guess we can…
Toni Wahrstätter:Move on to the next topic, let me quickly check.
Toni Wahrstätter:But there's nothing in the chat neither.
Toni Wahrstätter:Looks good.
Toni Wahrstätter:Perfect.
Toni Wahrstätter:10… the…
Toni Wahrstätter:Last update on the agenda that we have today is client updates on optimizations. We can combine it with, in general, client updates.
Toni Wahrstätter:Kind updates on optimizations is very specific, because
Toni Wahrstätter:As discussed a few weeks ago.
Toni Wahrstätter:we need certain optimizations also for the repricing work that is going on for Glamstadam. So, for example, in order to get reliable benchmarks for the repricing, we at least need a client
Toni Wahrstätter:Or, or better, multiple clients that have
Toni Wahrstätter:parallel execution implemented, and parallel I.O.
Toni Wahrstätter:Because those… Would then inform us, especially on the state-related pricing, and people are… Blocked by that.
Toni Wahrstätter:for doing benchmarks, for the repricing. Is there any work going on? I remember, like, there were clients that were already working on
Toni Wahrstätter:parallel I.O.
Toni Wahrstätter:Maybe someone could give an update.
Karim T. (matkt):For example, on Bezoo, so, we have the parallel execution implemented, so it's, we are doing some tests currently.
Karim T. (matkt):For the parallel I.O, as I said, it's not yet implemented, we didn't have time for the moment, but,
Karim T. (matkt):It depends on when we will start the DevNet, but I think we'll be able to have something really,
Karim T. (matkt):Those are next divinets, in my opinion.
Toni Wahrstätter:Awesome, thank you And when we say parallel I.O,
Toni Wahrstätter:we mean, this parallel batch I.O.
Toni Wahrstätter:Where you load everything in one… in one go, basically, right?
Karim T. (matkt):Yes, yes.
Toni Wahrstätter:Okay, yeah, because I also referred to it as parallel I.O, but I think parallel batch I.O. or batch I.O.
Toni Wahrstätter:Might be even more accurate, just to not, mix things up.
Toni Wahrstätter:Any other… Yeah, go ahead.
Karim T. (matkt):I just wanted to say, it depends when we want to start this DevNet, because there is some vacation, etc, so…
Karim T. (matkt):Yeah, I don't know when it would be ready, but…
Toni Wahrstätter:Yeah, what's your plan, Stefan? Maybe you can give a small update on…
Stefan Starflinger:On how we're doing here.
Stefan Starflinger:So, it seems, that clients are much more stable now, which is really, really nice. So, the critical path most clients, seem to agree on now, which is great. We can start the dead at one. I think…
Stefan Starflinger:Today or tomorrow, even. But unfortunately, there are, like, holidays coming up, and most people won't be doing much.
Stefan Starflinger:But I mean, if that's not a problem, we can… and if some people are working through the holidays, I can go ahead and start that at one.
Stefan Starflinger:But if most people will say, like, no, probably not really worth it, we can also do it, beginning of January, straight after. I'm open to… to that. Both is fine with me.
mark:Yeah, so, from an Aragon perspective, we're in a bit of a strange place, in that…
mark:we're quite well advanced with optimizations, but we're not running… we're not passing Hive tests, basically. So…
mark:I… so… we've got two optimization tasks going on at the moment. One is…
mark:Execution optimization. The other is parallelizing our, our, commitment calculation.
mark:I think the execution parallelization and the kind of parallel I.O.
mark:We're just testing at the moment, and probably by the end of this week, we'll have a first version of it.
mark:Now… when we're ready from a BALS DevNet perspective, is dependent on getting the,
mark:the hive tests that are failing at the moment, passing, which I'm also shown
mark:basically, I spoke to him before the call, and he's expecting that to get fixed by the end of this week.
mark:If he doesn't, because I'm working at least part of next week.
mark:I'll switch from doing the optimization work that I'm working on to actually just getting us through the,
mark:Through the, the hive testing. So I think probably by… kind of… by… mid.
mark:by the week between Christmas and New Year, I think we should have… we should have both of them completed.
mark:If that makes sense.
Toni Wahrstätter:Awesome, yeah. With both of them, you now meant parallel execution and parallel post-state route calculation, right? Or was the…
mark:Well, we're basically… so, parallel execution, parallel… so, parallel…
mark:what we're doing is parallel execution, parallel state calculation, right, and parallel I.O. There are kind of three pieces.
mark:And… we are exp…
mark:The… our latest iteration of the code runs all three of those things in parallel with each other.
mark:And also, execution and… Commitment calculations, R.
mark:parallel themselves, if you see what I mean.
Toni Wahrstätter:Yeah, okay, I think I gotcha, yeah. And I can think of the parallel batch I.O. as basically a process that just, goes through the ball, fetches everything into cache while the execution is already, like, starting.
mark:Yeah, and the commitment calculation is also starting. And effectively, the way that it works is whichever gets to read… whichever of those three processes gets to read the data first will read it, with the expectation that the…
mark:the… the data fetcher will get there before the other two, if you see what I mean.
Toni Wahrstätter:Yeah, this makes sense.
mark:Yeah, yeah, because given we start fetching data when, you know, as soon as we get the block, by the time we get to
mark:the other parallel processing, the assumption is that we'll have everything, everything cached by then. If for any reason we haven't, we'll have, you know, we'll go and get it during that parallel process.
mark:And then we'll see how fast all that goes.
Toni Wahrstätter:Perfect.
mark:Yeah. I mean, I think the slight problem that we've got is we really need to be on the BALS testnet to get any decent data out of those benchmarks, because we need the bowels in order to actually have, like, perfect parallel execution. See what I mean?
Toni Wahrstätter:Yeah, I can see that.
Toni Wahrstätter:Okay, yeah, thanks a lot for the update.
jochem-brouwer:Yeah, maybe just to chime in on the benchmarks and the testing, we are currently also working on benchmarks, which are specifically targeted for the block-level access lists, and for these, what we do is we create benchmarks.
jochem-brouwer:Which, have transactions, which you cannot execute,
jochem-brouwer:Parallelized, because these transactions interact with each other.
jochem-brouwer:So,
jochem-brouwer:With these benchmarks, you should see that if you use the block-level access list correctly, then you can actually parallelize those, and if you don't use block-level access list, then you have to execute these transactions sequentially.
jochem-brouwer:So this should also be part of, like, the benchmarking effort that you can really see, okay, does it work or does it not work? Because also for these DevNets, like, if you have a very optimistic, or not very optimistic, but, like, well, a somewhat optimistic prefetcher.
jochem-brouwer:where you just start out transactions, where you start on the pre-state of the current block, then in most cases, I would say, and I think Tony also has this nice site.
jochem-brouwer:Where you can see, like, the interactions of these transactions. Like, most transactions don't actually interact with each other. So, if we would, well, I would say somewhat naively, look at the block of access to this result on mainnet blocks, then we can already somewhat parallelize those.
jochem-brouwer:But of course, we want to see, like, the actual effort if we want to create… if we create some blocks where you have to execute these transactions sequentially if there is no block-level exit list, and when there is a block-level exit list, you can actually execute this parallelized.
jochem-brouwer:And then you can see if you have implemented this correctly, because this should, in the end, lead up to, like, well, close to the amount of threads.
jochem-brouwer:Which you run, as a kind of speedup factor.
jochem-brouwer:So I just wanted to share that this is an effort for the benchmarking part of this.
mark:Yeah, so, just on that, it's kind of…
mark:on mainnet at the moment, we get, like, a 2.5 parallelization factor by just running parallel execution with no bounds, so I'm not sure whether what you're talking about is the difference between serial execution
mark:And,
mark:And bowels, or the difference between running, let's call it non-bowel parallelization, where you get, interactions.
mark:Now, obviously, if you create a block where
mark:Everything's dependent on everything else, it will become serial.
mark:Basically.
jochem-brouwer:Yes, but the key point of the block-level access list is that you can now have the pre-state of the transaction, and read this from the block access list. So that is when you can actually use the block-level access list to know what the pre-state is before, like, any transaction of the block.
jochem-brouwer:And then you can use that to parallelize the transaction. And if you would not have the book-level access list, then this is not possible, because you would need to execute the previous transactions in order to execute the current transaction, because you need to.
mark:Yeah, only, only, only if there's a dependency.
jochem-brouwer:Yes, exactly. So these benchmarks, they create these tests where, without a block-level access list, you cannot
jochem-brouwer:Execute them, well, how you would execute them now, like, parallelized, because then you would end up with a different statehood than if you would execute them, sequentially.
Toni Wahrstätter:Yeah, I understand it as essentially as a worst-case for today scenario. Basically, it would force you to sequential execution today.
Toni Wahrstätter:And with Block Live Access List, you should get to parallel execution, and then you should, like, see a steep drop in execution time.
Toni Wahrstätter:Would be interesting to think about, okay, could we have, similar scenarios, for I.O. and the post-stateload calculation? I would assume, like, I.O. is just doing as many S loads as possible.
Toni Wahrstätter:We have benchmarks on that, and parallel state route, probably doing as many S stores as possible, which we should also have.
Toni Wahrstätter:Because those will be interesting to test, even with block web access lists afterwards, like, what is the…
Toni Wahrstätter:Worst case, is it, like, a block that is well-parallelizable? Because every block is parallelizable, but has a lot of overhead when it comes to post-state route, or is it I.O?
Toni Wahrstätter:This is still something we have to figure out, and also depends a lot on how we do the repricing in the end.
Toni Wahrstätter:Awesome. Any other client team that has an update on…
Toni Wahrstätter:How is it going, and how is it going, especially with regards to the optimizations?
Marc:I, for another mind, made some good progress on the parallel transaction execution and state route computation. Haven't started on the, batteries yet.
Marc:Also just, fixing issues, so it seems like we're passing all of the RLP tests for the new, release. I'm just, checking out the engine tests as well.
Marc:Yeah, that's it.
Toni Wahrstätter:Thank you very much.
Toni Wahrstätter:Any other client team with an update that…
Toni Wahrstätter:We forgot that we didn't cover so far?
draganrakita:From Redside, parallel state route is in progress.
draganrakita:And, parallel execution is… I think Matt started working on it.
draganrakita:Yeah, we had one bug with self-destruct with the last, ball.
draganrakita:2-0 test that I fixed.
draganrakita:Yeah, that's it.
Toni Wahrstätter:Great, thank you very much.
Toni Wahrstätter:Did we forget any client team now? Is someone from GAF here?
Toni Wahrstätter:Otherwise we can also check async.
Toni Wahrstätter:Doesn't look like it.
Toni Wahrstätter:Yeah, nevermind.
Toni Wahrstätter:Right, is there any other topic we should discuss today? I would say we definitely need… would be great if we decide, should we launch the DevNet, pre the holidays? I saw Stefan ask that question in the chat.
Toni Wahrstätter:It feels like it's… it might be worth to do so. What's your feeling, Stefan?
Stefan Starflinger:I think, I can go ahead with the clients that are running smoothly, and it's not a problem to add clients later, as well, as soon as you're ready.
Stefan Starflinger:I can deploy that. It's just not good to start with two little clients that are stable.
Toni Wahrstätter:Right, which clients, are stable right now? I saw it's Raph and NimbleCL, right?
Stefan Starflinger:Nethermine, and Noombus are running pretty smoothly at the moment, and Bezos just has one issue with the call.
Stefan Starflinger:That they're fixing so far. And Aragon, I'm still waiting on the BAL Definite One branch to… to try that out.
Toni Wahrstätter:Awesome. Yeah, this sounds like it might be worth it, huh?
Stefan Starflinger:to phrase it differently, is there any client that, will benefit from having the DevNet up, over the holidays?
Toni Wahrstätter:Yeah, seems like we're still very early and we have time, so…
Toni Wahrstätter:I'm also fine with delaying the deflate, and then making sure we have the…
Toni Wahrstätter:The bowel block body separation already implemented?
Toni Wahrstätter:And same for the retention period, and that…
Toni Wahrstätter:kind of things. I'm wondering, for client teams, like, how much work is this in addition to
Toni Wahrstätter:Store files on disk, and…
Toni Wahrstätter:Keep some of them in memory, which might be needed for syncing.
Stefan Starflinger:Yeah, I also kind of agree with Barnabas, we shouldn't change too much now.
Toni Wahrstätter:No, no, I wouldn't change it now.
Stefan Starflinger:So…
Toni Wahrstätter:Yeah, I wouldn't change it now, it was more like we could… we could ship a defnet with the version as is.
Toni Wahrstätter:And so, with exactly what you mentioned earlier, where clients are already, like, interoping.
Toni Wahrstätter:And then, because in the end, it's a small change, to move the…
Toni Wahrstätter:the ball out from the block body. It's just,
Toni Wahrstätter:not something we have dealt with in the past, so it's more like, I guess, complexity on the testing side and so on.
Toni Wahrstätter:And definitely should not go in a dev lab that we would want to launch before the holidays.
Stefan Starflinger:Yeah, that sounds good.
Toni Wahrstätter:So, in this case, it feels like we…
Toni Wahrstätter:will launch at DevNet before the holidays, or what… what's the… what's the outcome now?
Stefan Starflinger:Yeah, I think we can do it.
Stefan Starflinger:Another 30 cup.
Stefan Starflinger:we should go ahead. Otherwise, we can just then, with the changes, launch another definite as well.
Toni Wahrstätter:Exactly, yeah. We can then… we can then launch another DevNet, later. It won't… also, those changes won't affect, like, the smaller…
Toni Wahrstätter:Or… Difficult details of the EAP, like, what content about should.
Toni Wahrstätter:should have.
Toni Wahrstätter:Great.
Toni Wahrstätter:Yeah, this is… this was basically the last agenda point we had for this week. It seems like, to summarize what we covered today, we have broad agreement on both topics of the retention period being the week subjectivity period.
Toni Wahrstätter:Of around 3,500 epochs, a little more.
Toni Wahrstätter:and that we separate the block of access list from the Yelp block. It travels through the execution payload via the engine API.
Toni Wahrstätter:And… Yep.
Toni Wahrstätter:This is basically, what we covered today.
Toni Wahrstätter:Anything else someone wants to bring up or discuss before we wrap up?
Toni Wahrstätter:Jorgen, yeah.
jochem-brouwer:Yeah, I just wanted to, say, to repeat, Karim from chat.
jochem-brouwer:He said…
jochem-brouwer:Because I'm also not sure if the chat is in the stream or not, so it's nice for the…
jochem-brouwer:And…
jochem-brouwer:the thing afterwards, but, he says, could, we are also in the testnet having the two nodes configuration with and without, the block driver access list? I think this is a very good point.
jochem-brouwer:Because then we can see, like, the impact with the block-level access list, which I have on the performance. Because I think at some point, like, we have the implementation, so the spec of the block-level access list, but this also implicitly means that clients have to implement this parallelization.
jochem-brouwer:And,
jochem-brouwer:I think, like, as a good measurement, it's also nice to have, like, these two kinds of nodes on the testnet.
jochem-brouwer:And also as a verification that these block-level access lists are implemented correctly in terms of the optimizations and the parallelization of it.
jochem-brouwer:So just wanted to mention that. Nice point from Corrine, yeah.
Toni Wahrstätter:Yeah, it's a good point. I think we discussed it at some point on…
Toni Wahrstätter:The 7th or… the sixth or 7th breakout call, where clients basically agreed that every client will have, like, a flag implemented.
Toni Wahrstätter:for… are the… do we actually use the read values for patch I.O, or don't we make use of them? And this will then later help us to
Toni Wahrstätter:Determine the impact of the reads or of the state locations, onto the performance.
Toni Wahrstätter:Perfect, yeah, thanks for… For mentioning that.
Toni Wahrstätter:Awesome.
Toni Wahrstätter:Any more… Topics before we wrap up.
Toni Wahrstätter:Seems like it's not the case.
Toni Wahrstätter:Then, I would say we wrap up earlier today.
Toni Wahrstätter:And see each other on the next breakout call in two weeks.
Toni Wahrstätter:Thanks, everyone.
jochem-brouwer:See you! Bye-bye.
Marc:Bye, thanks.
felipe:Bye.
Chat Logs
00:05:01
Toni Wahrstätter:https://github.com/ethereum/pm/issues/1841
00:07:16
Karim T. (matkt):It’s ok imo to remove it from block body
00:07:29
Karim T. (matkt):(besu)
00:25:12
Stefan Starflinger:Since clients are much more stable now we could start devnet-1 either before the holiday or straight after
00:26:35
Stefan Starflinger:Still need bal-devnet-1 branch from erigon :)
00:27:19
Stefan Starflinger:I can add erigon as soon as you are ready
00:27:19
Karim T. (matkt):It will be nice if we can wait some days, we should have CALL fix soon
00:34:05
draganrakita:This is good test vector to see if reading from BALs write list is correct
00:34:33
jochem-brouwer:Antwoord verzenden naar "This is good test ..."
Exactly, the benchmark tests are "testing" to see if the parallel execution is implemented correctly :)
00:34:59
Karim T. (matkt):Could be also in the testnet having the two nodes configuration with and without // running at the same time
00:35:09
jochem-brouwer:Antwoord verzenden naar "Could be also in t..."
Oh this is a very good point :D
00:38:46
Barnabas:ship something now and that should be the next devnet’s scope
00:38:56
Karim T. (matkt):Before Holliday ? I don’t think it will be possible
00:38:58
Barnabas:imo
00:40:33
Stefan Starflinger:I just ruined my holiday :D