Thomas Coratger:So, yeah.
Transcript
Thomas Coratger:Let's get started.
Thomas Coratger:First, with client updates.
Thomas Coratger:So, Zim?
Thomas Coratger:If no one is… if there, I can switch to another one and then go back.
Thomas Coratger:Maybe Rim?
Shariq Naiyer:Yeah, so we can go next. We've been… we've been working on adding more tests to… adding… we added Q-Lean, and Grandine, and one of the other clients added themselves to, Hive, and we've been working on stability in Hive, and, adding more tests to Hive.
Shariq Naiyer:Apart from that, we've been working on, the test fixture… integrating the test fixtures into REAM, and then we're gonna figure out how to run text fixtures on all clients in Hive.
Shariq Naiyer:And apart from that, we are just running, local devnets and debugging.
Shariq Naiyer:Nothing, nothing too… too huge this week.
Thomas Coratger:Okay, Garrett, thank you.
Thomas Coratger:Yeah, I feel this is totally normal in the stage that we are right now. Cooling.
Ruslan Tushov:Hello.
Ruslan Tushov:We added DevNet for metrics, updated exclusive topic, like 1, 2, 3, 4, 5, 6, 7, 8, and added aggregator switch API.
Ruslan Tushov:And product support for data validators.
Ruslan Tushov:Oh…
Ruslan Tushov:Also, we are adding, for this tool, we are currently using Linux RawTest, building log scripts to build other clients locally.
Ruslan Tushov:simplified it.
Ruslan Tushov:That's all I think of.
Thomas Coratger:Great, thank you. Lantion?
Mihir Faujdar:Yep, thanks, Thomas. Hi, everyone.
Mihir Faujdar:So yeah, basically, since last week, we've been working on adding new features in Lantern to align with the feature request in Telegram. So, added support for the new API aggregator role endpoint, as well as added support for additional DevNet 4 metrics,
Mihir Faujdar:I've been running a local instance of DevNet 4 and uncovered a bug in Lantern today, but I've fixed that, and I've also released an updated image for DevNet 4 a few hours ago. And also, over the weekend, submitted a PR to Hive for adding,
Mihir Faujdar:Devna for, support for Lantern.
Mihir Faujdar:In the coming days, also, we'll be submitting a spec to… a PR to Lean spec for adding additional test fixtures for clients. Thanks.
Thomas Coratger:Great, thank you. East Lambda?
Pablo Deymo | Lambda:We added the matrix, the missing matrix of 2004,
Pablo Deymo | Lambda:We also moved the signature aggregation to another thread to avoid blocking other validators' duty on the aggregator.
Pablo Deymo | Lambda:We also changed the target we were compiling to on Linux.
Pablo Deymo | Lambda:With that, we improved the aggregator performance by, 3X.
Pablo Deymo | Lambda:We added a new admin endpoint for the… switching the aggregator role.
Pablo Deymo | Lambda:And we implemented a linear spec, the 595, on its lambda.
Pablo Deymo | Lambda:And now we are working on improving how data routes for aggregator… for aggregation are chosen.
Pablo Deymo | Lambda:Thank you.
Thomas Coratger:Great. Thanks a lot. Guin.
Thomas Coratger:No one from GIM?
Shaaibu Suleiman:Yeah.
Thomas Coratger:Mmm.
Thomas Coratger:Yeah, please go ahead.
Shaaibu Suleiman:Oh, yeah, yeah, hello, hello, everyone. Yeah, so what we've been able to do, so far, we raised a PR, on Hive.
Shaaibu Suleiman:Even though, there are some cases we are, currently working on fixing.
Shaaibu Suleiman:For that, and, some of the implementations we did on Gean was around, pending attestation, buffering, parallel signature verification.
Shaaibu Suleiman:And, also some, implementation for, lean metrics, basically for, for the DevNet.
Shaaibu Suleiman:And, yeah, so basically, those are, some of the things we've been doing, on June, I think from the last, update, basically.
Shaaibu Suleiman:Yeah, thank you.
Thomas Coratger:Thanks a lot, great lighthouse.
Thomas Coratger:Okay, Grandin?
Mercy Boma Naps-Nkari:Good afternoon. So,
Mercy Boma Naps-Nkari:Last week, we were able to implement, get grinding to start using, the Hive testing, and also we have currently have API for the runtime aggregator toggle API, and then some few cosmetic enhancement changes that has to do with parallelization.
Mercy Boma Naps-Nkari:That's all for this week. Thank you.
Thomas Coratger:Great, thank you. Nimbus?
Thomas Coratger:Great, and Zim, maybe, since… We skipped.
Gajinder Singh:So, thanks. So our update is that we have been working on the network runs, identifying issues.
Gajinder Singh:Some of the issues are related to where we have aggressively, pruned our food choice, and on reorgs, basically, we then, reorgs happen where justified or finalized on that particular branch has not moved forward, and,
Gajinder Singh:So, because we have pruned, we are having some issues.
Gajinder Singh:With regard to processing that, so we did some fixes regarding that. A part of the… apart from that, we integrated Hive into our CI, so we have a daily Hive CI run, which basically gives us the status of
Gajinder Singh:Whether we are… All green, or whatever test we are failing.
Gajinder Singh:In terms of, DevNet 5, we, we have basically thought of ways in which to avoid, repacking of
Gajinder Singh:The attestations,
Gajinder Singh:And, or… and also discussing with the meal how we can repack, how we can repack, so… so there… so there are two…
Gajinder Singh:two paths to that, and we can discuss about that later on. And we have also started thinking about, DevNet 6, where basically we would like to integrate execution and
Gajinder Singh:go towards, parity with the… and starts moving towards parity with the Beacon clients, so that, we can
Gajinder Singh:We can basically… Be ready for…
Gajinder Singh:For the L-star hard fork.
Gajinder Singh:or towards the end of this year, be ready for a public DevNet. So with that goal, we have been thinking about this.
Gajinder Singh:So that is all from our end.
Thomas Coratger:That's great.
Thomas Coratger:So yeah, I think that we are okay with client updates. Please let me know if I have missed anyone.
Thomas Coratger:Mmm… Otherwise, I think that's… This is time for spec updates.
Thomas Coratger:I will maybe just share briefly my screen to show you, like, a new PR that I have done.
Thomas Coratger:so let me share.
Thomas Coratger:I think that right now, on the spec, I have done, like, I have added a bunch of tests, so you can see some PRs with, with test vectors.
Thomas Coratger:So that is important for the client to test their stuff and be able to pass all of them.
Thomas Coratger:I think that I have, checked most of the part of the spec, including also some networking response, and some SSD as well, and some signatures, and some post-aidon as well, to be sure that everyone is on the same page, and that everyone passes the same test.
Thomas Coratger:I am also, working on this proposal, that is a proposal from Leo, who is, like, content to speakers at DEF for the Beacon spec.
Thomas Coratger:And basically, he proposed, these documents, So that you can check.
Thomas Coratger:But basically, this is a modernization proposal, let's say, for all of the spec, consensus, execution, or lean.
Thomas Coratger:in order to play with a fork mechanism, and to play with the inherent type of, of Python. So basically, what you… what is proposed to be done is that you have, like, a fork protocol with a bunch of methods, whatever we can call them.
Thomas Coratger:no importance for this, but this is just, like, a class protocol, and then you, you do a linear end system for all of the devnets, or all of the forks in the future.
Thomas Coratger:So, where you have, like, the first DevNet that implement this fork protocol with a given way of processing block and a given way of state transitioning and all of this. And then, if you go to a DevNet one, for example, you have just a simple system of inherents
Thomas Coratger:for DevNet 1, from DevNet 0, so…
Thomas Coratger:And with that, you can have, like, a couple of benefits, such as you don't need to re-implement methods that don't change, you can just have the small change, and you have sub-spec capabilities.
Thomas Coratger:such as, for example, some experiment, like PQ-capable, where you can have, like, a subset of the spec.
Thomas Coratger:that's just implement PQ capable, for example, and so you can distinguish in your spec version that is PQ and a version that is not PQ.
Thomas Coratger:And you can have also experiment for EAPs and stuff like that.
Thomas Coratger:So, that is a pretty nice way of doing things.
Thomas Coratger:That's why, we gave a shot to implement this. This is not merged.
Thomas Coratger:This is supposed to be merged, I hope, soon.
Thomas Coratger:So, what I have done is that I have started with DevNet 4 only, not the previous DevNet, so otherwise this is a mess, just to go back to the DevNet 0, DevNet 1, and all of this.
Thomas Coratger:And I have started with this. And so, basically, I have created here, not here, there, in the Lean spec, SRC lean spec, the forks folder, when I have put DevNet 4 and a skeleton for DevNet 5.
Thomas Coratger:So, in DevNet 4, I have implemented exactly what I mentioned. So, you can see this in DevNet 4, that is based on the base fork, and I have implemented, for example, this small method, so that the name of the fork.
Thomas Coratger:or the version of the fork, and all of this. And I have the same for DevNet 5 that inherits from DevNet 4.
Thomas Coratger:And so, I have…
Thomas Coratger:this is just, for example… for now, this is just a migration, meaning that I have migrated, basically, all of the things that we had previously in containers and stuff into this. So, as you can see there, this is just a migration. So, no worries, nothing changed, no comments, nothing changed, just a migration of files.
Thomas Coratger:from the SRC lean spec to SRC lean spec fork DevNet 4.
Thomas Coratger:So, I have migrated all of the containers there.
Thomas Coratger:So that this has the first benefit of benefishing of the inherent system of Python, and the second benefit is that right now, if you check in DevNet 4,
Thomas Coratger:We have all of the things that are consensus critical there.
Thomas Coratger:And nothing else.
Thomas Coratger:So this is in DevNet 4 folder, right there, you have more or less, what is right now in the Beacon spec. And outside of the fourth folder, you still have the classical subspec folder that you all know, probably.
Thomas Coratger:Where you have everything else that is not consensus critical, such as the networking, the storage, the syncing, the genesis, the API, and all of this. So this is not officially part
Thomas Coratger:Of the critic part of the spec, but this still is part of the spec.
Thomas Coratger:And so, I think that we will be able to merge that pretty soon. We are, like, in,
Thomas Coratger:we are checking with the consensus spec team within ZF, and I will also share you the… more broadly when this is ready for a review between the client teams, but I think that this is a pretty good idea.
Thomas Coratger:So, yeah, I wanted to present that. On the rest of the spec, we have just added some tests and nothing else, so nothing changed.
Thomas Coratger:Yeah, Gajinder, please go ahead.
Gajinder Singh:Yeah, so it's great work, Thoma, but one thing I want to say over here is that if we are basically saying this, doing this with regard to merging and beacon specs, I think that is a great step.
Gajinder Singh:So that we can start showing up there. But I would be hesitant to, right now, start having forks right now on our Lean Ethereum, so that we… so the clients don't need to add the forking mechanism
Gajinder Singh:And the fork upgrade mechanism, because anyway, we will not be testing that.
Gajinder Singh:for a long while, and even when we will be testing, we'll basically be testing, transitioning from something from a beacon for… to, to L-star, or something, that kind of a… of a hard for whenever we are ready. So, in that sense, I would be… I would basically want to have this
Gajinder Singh:structure in Lean Ethereum as well as in client, so that they are fork-ready, but
Gajinder Singh:At the same time, avoiding any forking in the devnets, or basically testing that, or any of the testnets that we'll come up with.
Thomas Coratger:Yeah, okay. So yeah, I agree, definitely. This is what I said internally in the discussion with the consensus spec team. Why? Because right now, we are moving at a very fast pace first, so that is the first reason, so that we have, like.
Thomas Coratger:one DevNet a month, almost. So this means that at the end of the year, we will have, like, more or less 10 devnets, let us say.
Thomas Coratger:So that means, like… 10 inherent systems to maintain in the specs, so that is a bit… Much…
Thomas Coratger:So that is the first problem for me, and maybe this is not appropriate right now to have this, because we are just experimenting, and the second problem is that as we experiment, we discover bugs in previous devnets.
Thomas Coratger:And so this is a bit tricky to manage both of the current devnets and the previous devnets that we don't care that much anymore about.
Thomas Coratger:So, there are, like, these two problems, so probably that… In the current stages.
Thomas Coratger:This doesn't make sense to have, like, multiple inherent systems, so maybe a possibility is that we continue
Thomas Coratger:with the commit number in the file that we have right now. Even if we have in the spec the inerrant system, this is just a preparation step
Thomas Coratger:for the integration with the existing spec right now, and not something that we will use on a day-to-day basis for our DevNet experiment, because we will just call our system right now DevNet, and that's all.
Thomas Coratger:So that is also a possibility, and so that we will just implement Kay fork.
Thomas Coratger:and then inherits, L star fork from k fork, so that we start from there. This is also a possibility.
Gajinder Singh:Yeah, so with that regard, what we can do is not have DevNet 4 as a folk name, maybe have a lean as a folk name, or, you know, whatever it is. Yeah, correct.
Thomas Coratger:Correct.
Gajinder Singh:That we want to keep, and DevNet 4, DevNet 5, they are basically our internal iterations, and on all these… if we are basically also bringing in the fork infrastructure, all the…
Gajinder Singh:clients at any particular definite, they will be at Lean Fork itself. So, with regard.
Thomas Coratger:Correct.
Gajinder Singh:On internal thing, we are at Lean Fork, but yes, we are doing iterations of it.
Thomas Coratger:Correct, correct. We can… we could rename what I call, DevNet 4 to Lean Fork, and, just go from there.
Thomas Coratger:Correct.
Gajinder Singh:Yep, that would be great.
Thomas Coratger:So, yeah.
Thomas Coratger:Other than that, so that is, like, a spec update. This is still in reflection, and I don't want you to spend much time on it before we have at least reached a soft agreement internally within EF.
Thomas Coratger:Within the teams.
Thomas Coratger:Also, so that is one piece of news,
Thomas Coratger:Second piece of news is all of the progress that we have made recently on the cryptography. We have continued to merge some PRs on Lean sig, Lean multi-sig as well. Emil will talk about this.
Thomas Coratger:and also on Plonky3. We have, like, an ongoing work with Onyers that is working with us to try to see how to adapt Lean VM to the Bitcoin people with the Bitcoin hash function.
Thomas Coratger:That is an ongoing work. We have also some sum check optimization, currently ongoing for Merge inside Plonky3.
Thomas Coratger:We have also still the big PR of we're waiting for, like, approval to be merged on Plonky3, and we have also a couple of other PRs in Plonky3 to add functionalities of Lean VM inside Plonky 3 as well.
Thomas Coratger:To maintain this, so yeah, and Emil, feel free to talk about Lean VM advancement.
T. Wambsgans:Hello everyone, thank you. Yes, basically, working on reversing the variables in the sum checks. Previously, it was X1, X2, X3, until XN, and now it will be XN, XN-1, XT until X1.
T. Wambsgans:Which has the advantage of being more padding-friendly, and even if it's
T. Wambsgans:natively implemented not packing-friendly, it turns out that by bit-reversing chunks of data, you can't… you can make it, at the same time, padding-friendly and packing-friendly.
T. Wambsgans:And that's it. Thanks.
Thomas Coratger:Great. Also, I think that last week, we had this discussion with the RIM team, presented this super nice Hive tooling for showing the test for each client.
Thomas Coratger:Maybe, do we have an update on this? I have… for this, I have set up, like, a new channel in the PQ discussion on Telegram, dedicating to testing
Thomas Coratger:Why? Because now that we have all of these new test vectors in the stack, I would love to have, like, some kind of tooling or some visualization
Thomas Coratger:To show… What tests all of the client paths? So, do we have maybe an update on this?
Shariq Naiyer:So, the next things… the next thing that's being worked on on the Hive test is checkpoint sync texts on all clients. So we create a checkpoint sync, and we… we try to sync, a client with that checkpoint sync. However, this is not in the repo, on the Hive UI yet. Once it is, we'll, we'll put a text in the testing chart, and we'll create an announcement.
Thomas Coratger:Cool.
Thomas Coratger:That makes sense.
Thomas Coratger:So great, thank you. So this is something that I wanted to discuss. Then metrics, maybe, with Katya? Do we have some news, some stuff to share?
Thomas Coratger:Or someone else, if Katya is not there, of course.
Thomas Coratger:So, yeah, okay, that's… that's… this part seems okay. So, maybe what we could do is to continue, all of the devnets.
Thomas Coratger:For testing, debugging, moving forward, during the next week.
Thomas Coratger:So that, next week we can discuss maybe DevNet 5.
Thomas Coratger:staff to start implementing some DevNet 5 updates.
Thomas Coratger:In, in the spec.
Thomas Coratger:Mmm…
Thomas Coratger:So, yeah, that would be my proposal, because I think that from all of the summaries that we had today from all of the client teams, it seems that we are in a phase of debugging and running clients, so maybe it would be bad to mix up
Thomas Coratger:with DevNet 5, it would create confusion, so maybe we could just wait for next week and try to start discussing that async on the DevNet 5 channel, in Telegram in the meantime.
Thomas Coratger:So yeah, that would be my point.
Thomas Coratger:We wanted also…
Gajinder Singh:I can give some developer updates, Patho, if you're there.
Thomas Coratger:Of course.
Thomas Coratger:I think I have seen him, but maybe… Okay, no problem.
Gajinder Singh:All he messages is Michael's not working.
Thomas Coratger:Yeah, yeah, no problem.
Gajinder Singh:So, I think I can just add in a line that we are still doing one subnet testing, and we have not moved to multiple subnet testing, and that will… is a priority now.
Gajinder Singh:So that all clients can be aggregator on their own subnet, and in this way, all clients' aggregator function can be tested simultaneously, and also can also be tested that when the client go down… goes down those set of
Gajinder Singh:That subnet validated attestation's not showing up in the block.
Gajinder Singh:And basically then also test whether we are able to stop the finality and resume it whenever
Gajinder Singh:The aggregator is up, and I think for that purposes, we, got that
Gajinder Singh:API endpoint added, where we can dynamically
Gajinder Singh:start on or off the aggregator function of a particular client.
Gajinder Singh:So, I think with, regard to this particular scenario, we will
Gajinder Singh:Be able to quickly uncover issues and move towards a stability where all of the client's aggregator functions are being simultaneously tested.
Thomas Coratger:Yeah, I agree. So…
Thomas Coratger:what we… let us do the following, like, let us work on DevNet 4 stability, and let us discuss async on DevNet 5 channel Intelligram to have a precise list of features.
Thomas Coratger:That we want to add for DevNet 5.
Thomas Coratger:To discuss that next week.
Thomas Coratger:I think that, also we plan to discuss, can, debrief
Thomas Coratger:I don't know, Will, if you have some stuff, like, to add to this. I think that the main point that we discussed in CAN was, like, DevNet stability. That's why we emphasize so much on new tests in the past couple of days and weeks.
Thomas Coratger:We have added really a lot of tests, so please add all of them in your…
Thomas Coratger:in your devnets for each client. I think this can also help us to surface potential bug in the spec, because if I have, like, a test that passes in the spec, and this doesn't pass in any of the clients, this means that there is a problem in the spec, of course.
Thomas Coratger:So, please add all of the tests and check with the spec. I think that right now we have, like, enough testing to suffice most of the bugs.
Thomas Coratger:I have tried to play with AI,
Thomas Coratger:in order, like, to find the super complex scenarios of testing, maybe I am missing some of them, of course, because testing is a huge job, but I think that right now we can cover most of the big issues, I guess, so yeah. Maybe, Will, you want to add something?
Will Corcoran:No, yeah, I think really my main takeaways from Fort Mode were, yeah, like you said, increased testing and DevNet stability,
Will Corcoran:you know, really trying to right-size the number of clients that are participating in the devnets and, like, having some type of, proof of work, if you will, before, like, getting added to a DevNet, just to, like, lessen the burden on
Will Corcoran:Partha and Katya and other people that are, like, doing a lot of the, stability and observability work.
Will Corcoran:And the last part was kind of more looking forward, really leaning in on the co-design components of this with
Will Corcoran:Signature schemes and aggregation times, but pairing that with
Will Corcoran:P2P design, different topology design, and, working with, Jan from Consensus, on this decoupled consensus, and, you know, maybe trying to, have this be a sandbox for, like, that quantum heartbeat, concept.
Thomas Coratger:Yeah, perfect. I totally agree. I think that's why, about the first point you mentioned, that's why we would like to have this visualization tool in order to be able to check via, like.
Thomas Coratger:A simple check, which client is passing which test, and which client is not passing which test, so that we can easily see what clients are able to interrupt and
Thomas Coratger:what are not… which one are not capable of. I think this is super important, and yeah, for the rest, I think this is, like, R&D, and yeah, let's discuss that async on the Telegram channel, and maybe next week.
Thomas Coratger:Yeah, it will. Please feel free.
Will Corcoran:Yeah, the last thing I was gonna add is just,
Will Corcoran:the actual Fort Mode recordings, they're nearly ready to go. We had to… the audio quality wasn't great, just because of the shape of the room and recording from an iPhone, so sent it to the…
Will Corcoran:amplification team to work on improving the audio and adding some captions to it. So, just waiting for that to get back so that it's actually useful for people, and hope to have that posted here in the next couple days.
Shariq Naiyer:Nice.
Thomas Coratger:Great, I have just seen that Katya joined the call, maybe want to share some updates about metrics and stuff?
Thomas Coratger:Okay, no problem. Let's do that next week. So, I think that we are okay with everything. If there is no more to add, let us meet some next day, and async on Telegram.
Thomas Coratger:Thanks a lot, everyone.
Thomas Coratger:See you, bye-bye.
T. Wambsgans:Bye.
Mihir Faujdar:Thanks, everybody.
Gajinder Singh:Wrong.
Shariq Naiyer:Guys, bye. Bye, please.
Anshal:state.
Will Corcoran:Alright, thank you.
Katya:I guess.
Chat Logs
Summary
16 highlights
· 2 action itemsExperimental
Summary
16 highlights · 2 action itemsExperimentalclient updates
- Ream added Q-Lean, Grandine to Hive; integrating test fixtures00:13:22
- Qlean added DevNet 4 metrics, aggregator switch API, validator support00:14:10
- Lantern added aggregator endpoint, DevNet 4 metrics; fixed bug00:14:59
- ethlambda improved aggregator 3X via compilation target change00:16:05
- Gean raised Hive PR; implemented pending attestation buffering00:17:05
- Grandine added Hive support, aggregator toggle API00:18:05
- Zeam integrated Hive into daily CI; working on fork choice pruning issues00:19:00
testing progress
spec updates
- Fork protocol inherent system proposal for spec modernization under review00:22:11
- Agreement to use single 'Lean Fork' instead of DevNet versioning00:27:03
- Ongoing: Plonky3 sum check optimization, Bitcoin hash function adaptation00:31:29
- Sum check variable reversal improves padding and packing friendliness00:32:47