All Core Devs - Consensus #60
All Core Devs - Consensus · 25 Mar 2021 · 31:11
Eth2 client teams and researchers cover the Altair alpha.1 and alpha.2 pre-releases, the launch of the Prater testnet, an invitation to The Merge call with spec updates from Mikhail Kalinin, and fork-choice changes.
Speakers
Topics
From All Core Devs - Consensus, hosted by Ethereum Foundation.
Transcript
[Music] foreign [Music] [Music] so
[Music] [Music] [Music] and the ceremonial ask of those
on the youtube stream can you hear me let me know all right here we go issue 210 call 60. let's go ahead and get started um we're gonna go through client updates um i imagine um working on altair a bit a little bit of altair discussion just kind of like an update we're still in pre-release um then we will talk to about prather which i believe is live well um moving on to research updates uh open discussions back discussion um and i will let y'all know now that we have in one week time i believe an hour earlier i don't know if it's on the calendar yet um
we have a merge call where some of us and some of those on the ethernet side uh we'll talk we're gonna do those every two weeks it's right before the all code dev call which is on the following day on friday and then on all core devs um i believe there will be again some time to talk about kind of merge prioritization uh and coming work so let's go ahead and get started and we can start with teku this week yeah hey so tecu team is primarily working on altair adoption so currently versioned data structures are mostly ready uh
spec functions are on the way and start we have started to progress api changes also updating to the latest reference tests version on the way and also support for four choice tests was implemented uh also we have started proteir node and now looking into optimizations to make it run better that's it excellent and thank you adrian from your team for
uh pointing out an issue with us um one of the four choice test vectors which we have a pr up and we'll get those fixed soon okay uh nimbus please hi uh so we released uh this week v 1.0.12. uh the only difference with 1.0.10 is pratter support and so we are ready anytime we want to communicate to users that they can try pratter um to publicize that release in the meantime in the we are doing
preparing a major release in the future with several performance improvements that we prepared for prater but we didn't end up needing them yet also pure management fixes and we have been testing or slashing database refactoring and we are quite satisfied with it so far uh it's been almost a month of testing now so we will be enabling it by default in a future release in the not this week but maybe next week or two weeks from now and we are also uh phasing out like right now you need to use uh
the insecure uh flag for nimbus and we are reworking uh metrics and rest and rpc api so that we use secure api by default also we started to work on altair patches we have a guide for an investment rocket pull out and we are completing our api so that we are in phase with the f2 api spec excellent thank you prism yeah hey guys so we released version 1.3
1.3.4 on monday he added embedded um genesis state so usage does not have to uh sync from the deposit contract which took a little longer we had the operator support and in parallel we're working on a new slideshow designs which is uh more efficient and then we're also working on e2 api and then uh on the hardport one and um we're adding data structure and then config so we're trying to figure out what's the best path forward due to different versions of bitcoin state and then without too much uh creation of code and then we're also looking into the merge
effort so we're in looking into how we can uh best integrate with a catalyst and we're studying the lighthouse approach and yeah that's it great thank you uh lighthouse hey everyone so as terence mentioned we've been playing around with a merge effort so we managed to get a merge chain running with lighthouse and catalyst and verified our first transaction which is kind of cool um uh in the last week we also released um a new release which had big improvements to block production times and hopefully we uh that that that
release will have an impact on the number of light blocks that we've been seeing on mainnet um we should be doing an analysis in a week or two once we uh have enough users updated to the latest release uh prater got launched and our nodes seem to be doing well so it should be interesting to see some statistics with uh with our more stressed nodes uh we've been making decent progress um on our fork handling logic and there's a pr at the moment sure um we're not yet running the test vectors um but we aim to get to that at some point in the near future uh we're also building out the altair networking changes
um we'll also likely have another release in the next week or something to improve the handling handling time discrepancies between the beacon and the validated client that's pretty much from us this week cool cool to see the merge with catalyst going well and load start hello uh so we cut a new release 0.18 a few days ago with project support and just running in procter we found a whole host of issues that we can tackle make things a little more efficient we're still working on altair compatible
beacon node we just refactored our state caches to support multiple versions of the beacon state and we've also still been doing more profiling and inspecting the memory we just found another memory leak this time in our remarkable remarkable style sse library we found that subtrees can retain a reference to the parent tree and um then not let the big the parent tree get uh garbage collected which is basically causing us to store a bunch of beacon states in memory um so it was a big win for us nice and i see
on parata y'all are proposing it looks like totally fine uh how's the testing going uh so um our node was at was actually killed by uh uh overwhelmed overwhelming gossip so um that's you're actually seeing another client right now oh good okay thank you great that should be everyone moving on um for altair as you all saw uh there was the alpha one release um and then a small alpha 2 release which cleaned up some naming and primarily fixed the test generators
um barnabay from rig at the ef did some analysis of the rewards pen and paper analysis rewards and realized that the invariant that we were going for uh summing essentially one base reward maximally given to each validator per epoch was actually off i was like 98 of a base reward so we do have a small refactor that is in the queue coming on that um and there's also been this test generator fix for one specific fork choice here one second one specific pork choice test and other than that maybe some
other small things coming but we definitely expect like an alpha 3 release probably by midweek next week i put the third bullet point there uh planning i think other than getting these iterative alpha releases out balls kind of in engineers court so i think we're kind of in that way to get feedback see how things are going phase before we put any dates on the calendar um but i would love to hear from y'all you know if we can do any deeper planning there yeah okay so we'll check in
async and definitely in two weeks kind of see where we're at in terms of uh getting features in um and maybe beginning to kind of test fork mechanics and stuff is there anything else people want to talk about in altair great pratter status um launch seems to have gone well i think the most eventful item was that uh nimbus's doppelganger detection
kicked in at genesis so hung out doing nothing for a couple of epochs uh but it seems like after that a couple other little issues were ironed out we're doing well i just checked we're at you know 98 something odd percent which is kind of what we should expect going on here are there anything any other status updates or things we want to discuss about prater and what happened and what we want to happen yeah so um we kind of said at the beginning that prater would be for uh deaf teams and maybe some uh teams like attestant and other speaking pools um i expect users
because we maybe the communication wasn't clear enough but users are asking themselves uh what's happening with permanent so we probably need some kind of blog post that we can refer users to like what's going to happen with permanent if you want to test on uh your raspberry pi or your pc if you need to tell them where they need to go right so my understanding was prater first and foremost is for developers and that's why we kind of launched without a public fanfare but that it would become the de facto
test net now-ish or at least over the next month or so um and there was also not the desire to keep two test nets running in the long term which would imply a deprecation of of pure mod um you know one fun thing we can also go through some stuff with that and take half of it offline and do some load testing and stuff if we have that time or capability is my understanding of that incorrect or does anyone else want to have different ideas for what we should do with these two test sets personally i'm um maybe not yet but in two monthses a
suitable time i mean forever using permanent to test the long periods of non-finality because last time we had such an issue was with medasha and that was a long time ago right so maybe this maybe we use pyrmont to test a live fork before so things do go wrong uh it's not the worst thing because we were planning on killing it anyway and then um prater would be we'd also fork but in the you know two three weeks following and then after we do that fork mechanic uh which would have the most updated clients um across the board
we could do a a test of non-finality um and have no more you know user guarantees yeah that's a good idea that give us two shots of uh part 14 yeah i think the only yeah the only downside there is probably that we're running a bunch of servers um and there's some costs in doing that but hopefully not too crazy well there's one more downside right which is if i'm a user and i want mistake on mainnet where should i test my setup today right and i would say move to prater and maybe we can talk with the east acre folks and and kind of update
have them write some stuff and and push their community to or that the community began doing that sure i mean that that's i think it's a major competition too yeah okay so let's make sure that uh in the next like finalized blog post that i write i will mention that and i'll also contact the sticker folks to see if they can get that out in their channels as well but there's that still gives us at least probably a couple of months of pyramid support before it before full deprecation yeah yeah but we'll start communicating
users to use cutters on them we should uh encourage people to exit nicely from peer month i guess yeah if we if we want to have a period which is at least stable enough for us to test the the fork right i think we're still probably eighty percent of the network right we as in client teams i i don't know i haven't looked lately but it does seem to not finalize for extended periods very often oh interesting okay well there's a hundred and twenty two thousand five papers
one so 20 000 randoms and and 100 000 clients right i would imagine not glad i was just going to say that we're fine um yeah if everybody is running their notes but i know that we like we use premon for some experiments and we run this on on funny hardware sometimes just to see if we can break their own claim right the periods of non-finality might be stretches where a client teams upgrading or something but i does anyone have any other insight as to why pyramid sometimes isn't
finalized all right it's hey preston here sometimes we prismatic end up taking all of our validators offline especially we've been having some issues with our early end point that have been mostly resolved uh so we're trying to keep pyramid stable but i think that some of the blame for me sorry about that oh not a problem i just uh as long as we can account for it it's totally fine uh but okay cool so let's client docs over the next couple weeks update that
if you do point to a particular test net for people to try out we'll do pratter i'll get it in a blog post and uh we'll reach out to the e-sticker folks to get it in their channels as well okay um anything else on on pretzer great thank you i didn't do hardly anything here i'm i know there was a lot of work uh for client teams uh after you pitched in perry on our side uh proto writing the script it's a lot of good work thanks for getting that out um we'll move on to research updates
uh before we get into it i'll give a little bit of context again we are going to have a call one week from today an hour earlier i believe for the merge and we will continue to have this call for nightly to give less of a formal call more of um dynamic discussion of points and technical things and planning and strategy and um i just want to say that before uh i think mikhail well i'll give the floor to you to give a quick update on maybe where spec is um and stuff yeah sure thanks danny yeah um regarding the call
uh before we uh go to the spec um yeah i'm about to announce the call like yeah at the beginning of the next week so uh look at into the emerge uh channel on the discord so okay uh regarding this pack uh we have a new pull request i'll just drop it to the chat um it substitutes the previous one uh which was the executable we can change proposal uh put into the spec and this new uh this new one has the very similar idea that the quick merge proposal this is just about to swap in the consensus making the consensus upgrade on the magnet um it does not
involve any evm interaction and some other stuff um the like main difference from the quick merge proposal is that instead of having an rlp stream in the beacon block body that represents the application block we have like these the same stuff but represented by ssd structures this part was derived from the previous um request from the executable beacon chain so uh that's it um take a look at it i'm very excited to hear that uh if symbol network steam has teams have started to look into and that's great
cool and again we'll have time in a week but any quick questions from mikhail today okay um if you haven't and you're interested in being involved with some of this work uh that pr is kind of the latest and greatest so you can spend some time familiarizing yourself between now and a week from now and we can all talk about it more um other research updates is your proof of custody construction in the place where you'd like to share or vitalik um i think yesterday we were
talking about the possibility of uh or exactly how difficult it would be to mpc it might wants to just uh right do another couple of uh days of you diligence first on that to make sure there's isn't something that works much better on that dimension gotcha yeah we can pick that up in a couple weeks um any other research updates today um i have another proposal i'll probably publish that soon for how to uh limit the number of active validators to uh either 2 to the 19 or 2 to 20 or whatever constant we choose and do it in a way that's just simpler than the existing proposals
so you know stir i there's a dock it exists i'm happy to link it as well got it um okay um anything else people want to share today on research r d that kind of stuff there i just still licked mine in the zone excellent okay um general spec discussion
uh and anything else people are interested in discussing today what's the status on the fork choice changes oh did you can you feel awesome yep we do have a better proposal to fix the the attacks that were found last year uh i'll be writing up a proposal uh this week and share it with you guys do the current proposed fixes require any changes to state state transition kind of core consensus or is it in that outer fork choice layer only it's in the outer foot choice uh only
okay cool so then that can be rolled out really at any point rather than having to couple it with a hard fork yep as we discussed a few calls earlier that would be independent of uh the altair hard work yeah and we can roll it out once it's ready there's no need to rush it and you can even roll it out kind of over time because 99.9 of the time you agree on things right unless there's an attack going on correct so maybe it's also good to do it at a point of coordination all right cool any questions
for ditcha um okay um i'd like to remember we talked about this two weeks ago the eth global hackathon is mid-april to mid-may and proto is looking to organize an effort around grabbing like a an engineer from most e2 teams and hopefully most eth one teams to sprint on getting
um whatever the merge proposal is at that point um built and maybe even launching a test net and maybe a stretch goal of adding some sharding to that thing as fun um i think that would be a great point in the timeline to kind of vet the current proposals and set the stage for at the end i know we have a lot going on but if you have a particular team member who wants to begin familiarizing some more deeply with the specs and maybe carving out some time in april to to work on it i think that'd be great probably have anything you want to add there all right so right now we're in a place where some of the teams are already
seeing some success with the merch effort and i think that in the coming weeks that will only like will continue and get the merge to a place where you can run a testnet but i think during the hackathon so from mid april to mid may we have this opportunity to add like a basic form of sharding on top of the merge and try and push it a little bit further so um i think that's iffy like coordinates on like setting up this up first first first just a merge does not then these additional things like sharding that we can
get to a pretty good like set of features that's around at the end of the hackathon yep cool yeah yeah that'd be great yeah yeah just once it did great to interrupt um the merchant presentations on the microphone yeah absolutely um and i guess if you read through the merge facts you probably realize that it's actually quite simple on etude on on the beacon chain side so i imagine we can kind of get our ducks in a row pretty quickly there and then we can start putting things
together more complexly okay um anything else we want to talk about today great short and sweet thank you everyone please uh send at least one person to this call in the coming week um so we can dig into merge stuff more and we will be talking about some of this on all core devs the following day so having a representative there i think will be really valuable as well um thank you thank you thank you i will talk to you all soon take care thank you thank you jenny bye bye thanks guys i guess thank you everyone bye bye-bye bye thanks
[Music] so [Music] [Music] [Music]
so [Music] [Music] you