All Core Devs - Consensus #44

All Core Devs - Consensus · 23 Jul 2020 · 59:00

Eth2 client teams and researchers cover efforts to turn Rumor into chain tests, a pending release, testnet updates on Altona and the Medalla testnet targeting the v0.12.2 spec, client and research updates, and networking changes in v0.12.2 including gossipsub recommendations.

Speakers

Topics

From All Core Devs - Consensus, hosted by Ethereum Foundation.

Transcript

[Music] [Music] [Music] you

[Music] [Music] [Music] [Music]

[Music] [Music] [Music]

okay we should be live people of YouTube let me know you can hear us the agenda is in the chat nothing crazy on here let's go ahead and get started okay testing release updates there's an

Danny Ryan: ongoing efforts by Lakshmanan proto to turn rumour into chain tests they can maybe give us an update in a minute in terms of the lease I have a pending release fees zero 12 to which I said I'd get off by yesterday and I'm working on getting out today there's a couple of

very minor PRS so going into it and nothing crazy backwards compatible generally some clarifications and fixes primarily in the gossip conditions section of the PGP spec so we released that apparently in v-0 12:1 there were something like for a test for slashing tests that were not published and I think funny enough these were found in fuzzing I think Nimbus maybe had the issue like an index out of bounds there or something so we do have tests for

this and they will be released at the vehicle to proto relax run do you want to given the update on your end

sure yes so for chain testing in this easiest distance instant with my personal tooling deposit tooling and like spinning spinning up or automating the deployments of larger tests once does not mean there's no and it has enough time to continue interesting as much yep yeah just

Lakshman Sankar: just a small update for me

kind of prompted by I think there was a a recent case where it was found there's like a a das vector in gossip if you proposed blocks that were not the descendants of a known finalized block or something like that so I've been kind of doing a deep dive on other possible kind of holes and gossip validation that we can use to kind of like prevent other defectors and hopefully I'll have have that put together in any issue or something soon

cool thank you okay we're gonna move on to test nets

Danny Ryan: as you've

hopefully seen there are three very small attack next up they're all single client they're four notes each their 128th validators on each of those networks there's a repo that we posted that kind of shows the rules and shows the bounties and things I know Johnny's been getting his hands dirty and hopefully others on this call are people on listening on the call might be interested a plan is to ramp these up over the coming weeks to make them larger and to put some more interesting bounties out there so white hat hackers please and break some okay any questions on the attack nuts as they

stand now or maybe where they're going

maybe something to emphasize that's right now it's your best chance to try and find Ichigo specters I think clients are not as far along yeah definitely small and it's single client as we go towards dish like shared client this night it's much harder to get the business done the same time observe this new attack factor of splitting the network yeah absolutely yeah it to be

Danny Ryan: to be quite frank

to anyone listening this call tossing is viable especially in a foreigner Network and probably cheaper than bounty so someone should do it okay moving on coin desk I think announced this yesterday a free do you want to talk about the

coming testament yeah sure I've a couple of things to talk about I plan to talk about a little bit but I can also go on was you can start with okay yes a quick update so I was on

vacation when I launched and I returned last week finding this net Network and almost perfect conditions I'm not aware of any major hiccups yet Fitness is pretty good I know there are some slashing events being investigated by didn't follow too closely I used the chance last week to repeat the client benchmarks and case you didn't see yet I profiled all three or four Genesis Valley clients I tossed presume Kiko and Nimbus compared their

high-level performance metrics and I published a small report on that and the given stability Naitonal let us to conclude that we want to do a very similar test in it but this is public launch and this is what we prepared the last couple of days someone suggested calling me Dasha me Dasha will target the version point two spec that is close to be released but it does not contain any breaking changes as far as I know so

we are probably good to go to have client releases for this very soon the spec is on github on the girly github what is important that contains a maintenance back so we will have kind of public launch I don't know if you want to add some comments on that like how people are being onboard did you publish the blog post yet tenants

Danny Ryan: yes I just put out a blog post this morning that linked to some of the relevant stuff and also linked to the at least the four clients that we know will have Genesis validators and encourage people to try them out we also have a imminent release

of The Associated validator launch pad just like an educational deposit UI that expect you alive essentially the next 24 hours certainly by Monday which if people are not familiar with this process and haven't tried out Tesla's before this should be like a good portal to get started

and learn about what's going on right so the minimum Genesis time for me - that is August the 4th at 1:00 p.m. UTC in case we have enough deposits to them otherwise it will happen probably 2400 48 hours after the last deposit

officer so we we need 16000 deposits right right so we'll

Danny Ryan: know that Sunday at 1 p.m. UTC if the Tuesday 1:00 p.m. UTC will be met

and otherwise we'll be kind of um oh sorry doctor I accidentally so

Dankrad Feist: maybe one input for this test net I mean it would be great if we try to track 100% of the slashings like to like

basically open an issue for each slashing that happens and make sure that we know exactly what happened because I feel like like when when we launched this is like a catastrophic failure for those who've actually staked so so if we find these issues now we we shouldn't just sweep them under the carpet

Danny Ryan: yeah I certainly agree I'm glad you brought it up on altona the ones that were

on there where we rechecked these any suggestion and there the Easter clients

organization ripple story I believe we already have one the UX we can make issues therefore swishing smacking

Danny Ryan: sounds good to me

recorded just to make sure that there are detected properly yeah I mean maybe

Dankrad Feist: maybe in the drip hole we could have like people could have a we could have a table where everyone reports who like which validators they run so that makes it easy to then contact them and ask them hey what happened can you have a look at the locks

for those who are happy to have that info public y'all open up the multi client repo and figure

out a good spot for all that Thank You dark red yeah we've we've definitely been a little bit light on the like oh they're slashing but that's certainly things that we want to very much avoid I mean that and I imagine 99% are just gonna be UX failures or potentially education failures you know running your cues in multiple places thinking that that's a good idea which is also maybe a UX failure because you should be good code

Dankrad Feist: clients detect that could your client see like a I see no see an attestation in my name but my local store doesn't say that I signed it I should probably inform the user of that

other than one

Mamy Ratsimbazafy: for slashing protection you need to keep a local database of what you signed so if you see something signed with your public key but it's not local it means that either you move computer or someone is using the same

key

Dankrad Feist: exactly but I expect that is like that you that you may want to run it on another computer or you didn't notice that you made a copy of your directory or so I expect that that will be the reason for most slashing realistically so if the client automatically detects that like you just have to test

us can say like check the latest attestation and see if that's the same as your local store assessed and just stopped basically

well

Danny Ryan: you could have a validator client query okay given this is the these are the authorizations I know about a good query a node and ask if there's unknowns which could be a red flag

that might be a good we we kind of support that by connecting the auditor client to the splashier since the flasher maintains a whole database of everything made and everything it sees but yeah that'd be a lot yeah also there might be a race condition where let's

say you have two clients and they try to vote both and we are not aware of each other and then both the activate themselves and because paralyzed late that we both voted for this for the same right I mean this

Dankrad Feist: this protection is not perfect of course I'm just saying it could probably catch most cases it doesn't catch the case where you accidentally start both at the same time

doesn't though that it was for a normal beacon notice is probably a very expensive query there is these like specialized slashers being written which resume has one lighthouse is working on

one which creates an index like a more indexed database of the attestations but at that point also at least for now it was pretty expensive operation to run wait but don't we have

Dankrad Feist: doesn't the beacon node know the latest attestation that each other get assigned yeah like that's maybe like an 80/20 to just look at that and see if that's the same as your store says

yeah there could be like a sanity check startup in point which I could capture a lot of the

common errors that you're in if we want and maybe stricken deep birth to for the doctor hip you're right I was the next step one that I think would be to think about a little bit more and propose an endpoint on the

Dankrad Feist: okay I'll make an issue

Danny Ryan: thank you

so I know like in the current and parents like men you sent back responsive anticipation of the fender turn you sent one reference to the previous substation what was that sorry Britta sorry for background noise so I

not sent a reference to the previous of the station along the back station you sign meaning that in the node sandy checks that what it has your position is valid but the note

Dankrad Feist: and it doesn't just need to check that that previous attestation exists it needs to check that that was the last attestation it has from that validator exactly like try an extra call and just make it standard purpose to check these things

because it

need an API thing though I mean technically in the beacon note the B cannot receive Quantico traffic so if you have to find running to things on the network anyway running one of them receives an application the particular validator that you know is connected to you as soon as that validated client creates the authorization will try and even the become out

Danny Ryan: yeah I mean I wanted a response from a beacon node could be you like a warning and default reject something

double as a protection mission yeah and creditors

message yeah yeah I will catch probably 80% didn't because you have to find running they will be a testing well the problem is that they'll get at the exact same time so the race conditions at now you mentioned have likely but at the same time both at the stations will have spy around in leftward for a bit as well if you're lucky you'll get box over Oregon something like it doesn't need both once they're

Dankrad Feist: both on the network it's too late like then you're dead so except if they happen to be exactly the same at the station in which case you

wouldn't notice

Jacek Sieka: yeah but but you might get it on the network before the

right I guess what I'm saying is if you didn't start them exactly at the same time but you have one running you didn't remember that it's running and you start you think oh I'm gonna start my no but now then that new you know it would detect hey it wasn't at a station six minutes ago and it wasn't me so I'm better gonna shut down that's I guess what I'm interesting where's the bill

Danny Ryan: like beginner rejecting if it seems something for that slot already it seems like in most cases you might not unless there's

like timing issues between your local times

Dankrad Feist: I mean I think that doesn't matter yeah I mean that protection code totally beyond the beacon node I think like it in this case since the validate and what currently doesn't follow the beacon chain there's no difference in security so it could be the beacon node doing that

check ok let's take this to an issue I think the API recode makes sense okay other tests that things anything else no not that I'm a well I'm excited yeah me too that's very exciting

okay anything else any other questions or comments on test sense for anyone yeah Danny what's the

Mamy Ratsimbazafy: expectation on client teams in terms of number of Genesis validators and so forth there was some discussion but I didn't see a conclusion

Danny Ryan: we were thinking on those for for clients 1024 validators each which is ends up being less than significantly less than one third of the validators and I'm leaving a chunk for maybe some of the EF and a free to run still equaling less than one-third of the assumed 16 K which it might very

well be more so somewhere between probably one third and one sixth of the Genesis validators does that seem reasonable to everyone a nice backbone but not able to finalize or really do much other than just be a strong percentage

Ben Edgington: sounds like a plan

yeah cool

Danny Ryan: so the 4,096 again that'll be if only minimum Genesis validators were hit that will be 25 percent of the

validators and then some of the F and after you will fill in the gap up to about 30% and other than that it might be smaller because we could very well have twenty thirty thousand validators of Jesus okay other tests and things

okay

Danny Ryan: moving on to client updates let's start with lodestar

hey-up so let's see we've basically

Cayman Nava: finished with gossip sub 1.1 we just

have run a few more tests to bring it in line with testing with the go implementation and we should be releasing this with the the latest version of Janus lip p2p 0.29 and that should be here in the next few weeks we've been adding to our API and we have minimal eath to stats support you've been trying to do some bigger end-to-end tests to I guess make sure that like our node is stable and we can transition

between an initial sink and a regular sink scenario we're kind of all hands on deck trying to get ready for this test net and because we'd like to be validating at least in some part or you know participating in some part but we also don't want to like break the test net so you know we'll make a call when it gets closer or whether or not we're going to be validating or you know worst case we'll just spin up some

other clients nodes [Music] but yeah that's where we're at cool yeah I think we're certainly expecting to run some load sir notes but

if you send signal to the trials in validators I'd love to okay prism hey everyone yeah from prism we've been working on the accounts revamp so

Raul Jordan: basically restructuring everything about how key management works making sure we're compliant with the with the IP standards derived through our wallets and also working on also also finished up remote signing wallets so people can basically connect to a remote signing server that's one of the most requested functionalities in prism and we think that you know our key management was our weakest link and then our user experience so we've been focusing a lot

on making it easier people to use and making sure that it's it's a it's up to standard so that's been mostly I'm working a lot on on fuzzing and finding bugs we've been using a tool called cluster fuzz has found a lot of interesting bugs in the code base so we've been fixing on that and Preston was the one to pioneered that pet initiative aside from that just been working a lot on networking improvements making sure that you know people don't have one expected loss of peers or any weird situations so overall feeling confident about the new test net and that's where we are today

Danny Ryan: great and how does the launchpad integration like if I get keys from launchpad can I easily move in at this point

yeah you should be able to we'll have to try it out we do

implement the same the keystore standard so just need to make sure there's no way like the format's all match up properly and nothing is nothing is weird so we'll give it a little try very soon it's updated right so we should be able to try it today yes Karl

Danny Ryan: has a version that he's putting out for Medallia that should be out very soon and maybe helping you with

a link cool they'll be awesome with you guys announce that on to this Court yeah I'll send you send you a direct link we'll be good yes Lee okay check it yeah hey from Tico sites we are still working hard on

American sub so well our GV and he is currently stable small we are still experiencing native memory leaks and our main suspect is Rob's devine pylori so we're currently trying different to be options to to eliminate these leaks mixed so there was lots of fuel management improvements ensuring better subnet coverage some civil resistance from maintaining a minimum number of peers they randomly selected and initiated the connection to also we are

almost complete supranational blast west library integration and it showed shown preliminary that we will increase our import speed around three times also tackle security assessment RFP is out its closing date is third of August and that's it from tech side

Danny Ryan: great Thank You Anton

Trinity Hey so

Grant Wuerker: right now our main goal is to get the P key notes into

Delta owners had earlier last week we finished up some Interop work for connecting to the Deltona task net and stuff Alex finished up fork choice refactor as of right now we're just trying to speed things up Alex ed Addison logging I think Monday or Tuesday or something and found that we're sinking at like point two slots per second after a few days of just optimizing things bringing in stuff from the f2 Fastback and also speeding up database operations we're sinking at 13 slots per second there's still a few issues that we have to work out at around like epoch 256 but yeah nothing too serious and hopefully

we can get get that fixed up pretty soon and then we'll be sinking to the head within maybe an hour

- oh it's a

Danny Ryan: epoch - 56 was there a consensus error

it's it's a mismatched in state on the next block okay so yeah if

Danny Ryan: if you're passing all the consensus s and you found a consensus error with your client code base that would potentially lead to a hole in our test vectors or imply that there's a hole in our test vectors so if you can document that case that would be really

really valuable

Grant Wuerker: okay as of right now I'm not running the the state-transition or all the dependent

functions through those tests so yeah it was probably

cancer yeah sure okay

Danny Ryan: but if you or anyone does ever run into that type of case certainly report it Thank You grant

okay do have any one from another mind okay moving on lighthouse hey everyone so updates from us I guess the first thing is we've got a new team member on board his name's Benedict his github handle is black template so Chris name say hi I'll

show you a coffee see him around we've been working on a number of stability improvements we've also similar to prison been working on improving the key management system we've kind of been focusing looking at some of the attestation inclusion rates in Altona to make sure that all the associations are getting included in blocks and we're finding some kind of timing and educates issues around that which we're patching and fixing the attack nets are underway Johnny found panicky and discrete five so props to Johnny which we fixed we have also started security hardening our kind of our networking infrastructure

and apart from that we're kind of preparing for the midea test net setting up some internal test nets and running some code to make sure everything's gonna be up and running the test now let me get in that's it from us

Danny Ryan: great thank you age and I saw that there is a launch pad specific PR still up is that coming in the pipeline

see yeah yeah so it's for porting the keys into our format yeah yeah yeah that

Adrian Manning: we should have that all hopefully sorted before the

test Nets ready be testing it so I think we should be all good on that front great thank you and Nimbus I [Music]

restarted the teams we have three auditors consensus divisions trade of bits and NCC and the idea was just like if two has multiple teams we have a fresh take on audit some who have multiple ha titles in collaboration to establish a long-term relationship because of the future audit for phase 1 phase 2 and it's separated into three phases two weeks of audits and when two to three weeks of fixes three phases being a networking they become coal and

validate or call and this was a leap to weeks ago and will go on for a couple of months ease otherwise we've been working on the become core on reducing a memory usage this means smarter caching because we cashed too much in the past and now we should be below like house we have also been working on sync speed the current speed is still not satisfactory but it's a one of Heidi's the networking side for those of you that run members on Altona

the main issue we have is that attestations are not properly propagated and this is an issue on gossip we were working on this and we have several improvement like better handling of stale connections and also a dis v5 fixes on the become node and validator splits we had several updates in the past month but we were struggling with finalization issues that are being fixed right now and on the cryptography front we updated to the list

latest AIP 253 we have now a wide extraction and withdraw T's and we can handle deposits from the Ephraim lunch pad that will be released soon we also refuse Els patterns that we have a VLSC wrapped but not enabled and we also updated Milagro to use miracle call from Michael spot because all the background was more than a year old and miracle core arm has a bit more optimization and sometimes improvement

science on the documentation and cost front we have a new post on the case for running your own validator but you can point your users to that's it for us ok thanks

Danny Ryan: your Mike had some crazy static so maybe in the future

you think I don't know you probably do it's the same as a

Mamy Ratsimbazafy: one from the past two years so it's probably just my t-shirt

yeah actually sounds ok I think we got everyone right

moving on to research updates is anybody have anything to start this yeah teets AREX you've been working on some of the attack that

Joseph Delong: stuff and just wanted to reiterate what you're saying earlier I think if we're the only people working on this then you know I don't think we're gonna have to love love security long term right now it's the attack nets are kind of like the softest pieces lid p2p because they're really not able to produce at the stations because we're not validating on it so yeah everybody

like put a little bit of resource towards attacking the attack nuts because if we don't they're not going to be secure long term and mikail and guillaumes phase one quiet and connecting to eighth one is pretty exciting news

yep absolutely and I mean if y'all are gonna have like you know hacker friends that might be interested in this kind of stuff not gonna ignore cool other research updates yes I can go just an update on the

static impression from last meeting I have presented some results that were based on the atrium one blocks we were asked to do tests with the Trillium two blocks we did that will we don't know dit 19 blocks from the kana blockchain we run tests ten times for each block or we subjecting the same exact compress result of course the compression time changes slightly so with the average of the turn bronze and so in overall we get a compression ratio of 1.6 more or less and the compression speed is about 911 megabytes per second this is on Intel i5

with for course in comparison to the eighth one result that I presented previously the compression ratio is lower compression ratio of f1 was one point eight now we have one point six four two blocks but on the other side the compression speed is higher we have nine hundred versus five hundred for each one blocks if we we also compare these results with the standard is not the compassion benchmark that come with the with the source code already just to make sure that you know the numbers we work telling worth more or less in line with standard benchmark and we got about

seven hundred eighty nine megabytes per second of compression speed for the standard benchmark so the nine hundred megabytes per second that we are taking for tonight for the two blocks is kind of quite close to it but these do not these were eyes from block to block some blocks get lower speed depending on the data the lowest we had was 476 mega ways to second and the highest we had was about 1234 5 megabytes per second so this is you know there's a variation a variance between between blocks

Danny Ryan: do you know the compression ratio nylon the standard benchmark data

so I don't have the number right now I can put it on the

disk or I will put a mod in a spreadsheet link in the chat so that you can all look at the day all the results all the data in case somebody wants to check on that and one more thing I want to mention is that we started validator not on the kana network test net and we're running the lighthouse client on a Raspberry Pi for we will be testing also other clients we were trying to press different clients on the same node with

same network to see if we see differences in terms of you know message receive at the stations etcetera etcetera and putting a link today in the our validator of showing the chat in case somebody wants to take a look yeah thus I think pretty much on my side great thank you I wonder I have my suspicions on the 8th one box being work press was probably the 256 bit machine and all of the zeros that are often in those values yep that make sense indeed you

Danny Ryan: cool other research updates

great okay networking like I said the visa 12 to spec is primarily minor modifications to networking spec including some updates to the recommended gossip sub programs so check that out that'll be out today any other networking things so not in the immediate release to there Marcus observe changes that we're looking into and in particular the senior affiliation slightly differs our clients in easy - we do not use the

signature verification but some clients do validate it if it's present or on some other conditions and then there are some other related fields in the messages suggest that message origin sequence number public key these things are propagated by some clients jobs best motor clients are randomized by some clients and shut up this motor clients and should try and standardize this and try and keep the message minimal so I've opened with a pull request and go and if it be posturing which was I think merged yesterday this is more or less there provides options that backwards a bit

compatibility for the regular course of behavior would provide options for if - to change their behavior and talk these extra fields and it is not compatible if the current doesn't the answer it eventually applied by a switch to this new connection so if you're working on course observe you hopefully want to look into those also see links yeah the kind of

Danny Ryan: TLDR on that is that origin signatures on gossip sub we're not using them and so they're kind of all over the place and how implementations handle us not using them and

better we're seeking to just have like a enable/disable flag that is becomes part of spec and adds compartments on here so we don't have any sorts of edge cases there but if you want to dig deeper check out the PR that proto will probably share in the chat thanks better other networking things

great

Danny Ryan: open spec discussion and just

general open discussion anything else anyone has today

do

Vitalik Buterin: do we want to talk about when we would one and how we might want to kick-start phase one and developments or implementation

Danny Ryan: yeah why not my understanding right now is that some clients have done a little bit of due diligence on the spec some at least looking at it some doing some prototypes there's a prototype of Java that

actually has a full simulator and Terence has done some work on implementing the face once back and push back into the specs of bits and then my other understanding of the problem is that you know the heavy hitting engineering resources are primarily on shipping phase zero I think at some point in the next couple of months that needs to change and resources probably just begin to shift but beyond that I mean italic what are your

I'm

Vitalik Buterin: might it make sense for one of one of the client teams to kind of start pushing ahead into phase one

earlier I mean especially there like one that's whose clients there is they kind of slower or less ready for

me it's for kind of easier Mena development in someone Wow my feedback is to have some sort of annotated face ones back starting early because that is just makes it easier to like onboard new developers and onboard helpers yeah yeah and the artists core we have had people that they're happy there had been a press interest or face one stop on top of prism but but unfortunately it has

been pretty hard to like onboard them without some sort of and and and not a dispatch I'm sorry we're we're

Joseph Delong: working on a face one client the its I mean we're taking the spec and the Anatoly transpilers transpiling it and then we're interfacing with that we're only calling it a simulator because we're not kind of following be kind of like this slot tick that's expected I'll drop a link in the chat

yeah good point there Terrence I

can do a quick version of like the phase zero for humans to just give like the high level but there's also been an effort to potentially integrate more annotations direction in these specs so with writing things in the inspector in the coming weeks so I'm curry walking on sound face once baked apply patient and also there were I have some notes about the face once big but I personally feel like yourself could be simplified a lot before that

more teens to join the develop but I mean mmm just say that I would like to have right up after some simplification be done and that would be more proper more tends to join the work I think anything else on this discussion today

let's make a note to in the coming calls we'll just make us with explicit item for Phase one to open up discussion ask questions to make recommendations and keep people abreast of the phase 1 developments and and I haven't

Vitalik Buterin: forgotten my own promise to make an annotated phase 0 aspect at some point so we'll probably get to phase 1 after that's done and now that my other couple of articles have been pushed out yesterday again getting get to that very soon

Ben Edgington: oh man I got to finish mine before you get

with italic pressures on I don't mind collaborating

Vitalik Buterin: the more the merrier

by the way the next release will be coming in in maybe least week the face one test factor probably will be included in the next next release to help things to test but maybe we could just have a Nala branch for these quick including the face one only test should know the next

flex base

Danny Ryan: yeah I agree as soon as the phase 1 testing test generation PR is merged I will create a separate branch any two aspects repo that includes these for anyone that wants them I know McHale wanted to take a look Terrence probably does too so I will drop that in

the discord once that's available hmm by the way thanks to Terrence and a couple help you interface one PRS

Danny Ryan: yeah absolutely

and both have made substantial contributions to the spec itself at this point okay anything else today before we close great we will play on the next call for two weeks from now which will likely be two days after launching adaiah will kind of all be chatting a bunch next

week in true take care thank you very excited for the

assessment appreciate everyone for being here thank you thank you [Music] [Music]

[Music] [Music] [Music] [Applause]

[Music] [Music]

[Music] [Music] you

[Music]

Speaker names adapted from ethereum/pm, CC BY-SA 3.0.