All Core Devs - Consensus #25
All Core Devs - Consensus · 19 Sept 2019 · 53:33
Eth2 client teams and researchers cover testing and release updates including fuzzing, client updates, research on the beacon chain and eWASM, network updates, the next interop steps and spec discussion.
Speakers
- Danny Ryan
- Adrian Manning
- Mikhail Kalinin
- Trent Van Epps
- Antoine Toulme
- Protolambda
- Joseph Delong
- Preston Van Loon
Topics
From All Core Devs - Consensus, hosted by Ethereum Foundation.
Transcript
[Music] [Music] [Music] you
[Music] [Music]
[Music] okay great welcome everyone to the 25th winners call engineering call whatever this call is here is the agenda check I'm sharing
with our friends on YouTube YouTube if you can hear us give us confirmation great so many of you were there then if you saw the fanfare on Twitter as we were hitting different milestones accomplishments have to interrupt retreat and we just did publish a quick follow-up to kind of celebrate some successes and set the stage for things to come on the EF blog which seen it it is today I know we could probably talk
in the client updates about all the exciting things that happened instead we will save that the Twitter save that for individual blog updates and for this blog post we posted you know you can mention a little bit about what happened to everybody I need to get into the nitty-gritty about all of things great so we will get started with testing so I enter up we had as you know three or four consensus arrows showed up primarily interestingly enough I guess
isn't that surprising and respect but they happen too often on the epoch transition between one and two which is the first time you're doing you have enough information to do updates with respect to the account policies so we had a number of corner cases little things order of operations priority stuff that would leave us with sciatica palaces we captured a lot of those instances in this Interop test cases repo that is shared those are currently generally valid test vectors that you could run against your Oh 8 3 clients but as we make any changes to the spec like removing a field or two
which is on the on the list of these sectors well will no longer be valid so we're gonna hand write some tests that capture the complexity bits of those but we did work through a lot of those at Interop and cleaned up a lot of the cross links and rewards done which is good so on the list is to take those scenarios in that repo and create some handwritten tests that's on my agenda today that along with updates the network spec which worked out at interrupts and a number of che I don't know how much is that I think it's it's actually very
small things to be released likely in the next few days would be that Oh 8 for the updated networks back in some additional tests cool grody or anything else you want to share on testing or anyone else yes so during interrupt we made use of this tooling to do the state transition without running the fill clients and it's really sped up progress and the time we needed to fight these books and so I want to automate this and I started to come writing this tool to trigger at the stage of session upload it to the
clouds register its fire offence distributed and then have each clients or some sort of CLI to we're in the staging session and upload the results so you can automate the testing and get a real first result on the all these different clients from certain state position and hopefully with the next step would be to not manually trigger this that's attached it to the test not and I go off of this is to automate the effort we have it put in interrupt make deaf English these post lights really
easy right the expectation is as we make more tests add some more tests for different clients in different scenarios we expect to still find some of these instances airs and so thanks for on the buzzing
Danny Ryan: front we do plan on in the next couple of weeks open up reopen the differential fuzzer Mehdi from Sigma prime is going to be helping out that effort take a look at the the architecture the goals and and I think we really are at a point in which it makes sense to begin integrated clients into the differential closer so
more to come in the next few weeks on that
great we will move on to client updates today we'll start with suma Pratt hey guys so I guess we'll
Adrian Manning: make this pretty short run was it interrupt so at interrupt we you know we had some successes and White House kind of finalizes flops Louisville clients so in that process we also found a number of small kind of bugs that we still need to fix and some discrepancies between the other clients so we've been working on that we're focusing a little bit more on building so over the last week since
interrupt we've been adding some extra tooling for interrupt testing because we found that during some of our testing it would have been handy to have some of this extra functionalities to find some of the bugs quicker we're also going to start focus on discovery and making it interoperable with the NGO one so the rusticity five that we've built we're going to start testing out with they go one which is inside prism and also we're finishing some of the updates for the latest network specs so that we can start syncing and hopefully have some longer-lasting multi-client test nets that's it from us thanks
about it yeah so pretty much the same of Diaz Adrienne
our top priorities are working on just st. resilience we currently don't handle missing parts very well and also what he has going on validate account to 2024 and we found a few BOS having issues and there at the station handling box issues and then as well as updating to the latest network spec PR which astronomers are a few days ago and then we're also working on SSC resilience so we don't have made through some false testing on there and stuff working on test coverage improvement doing the some mutation testing and also like at the end also
we're trying to clean up our package and documentation and make sure our am a trace and monitoring framework are off the date and that's it from us great thanks Terrence Artemis hey so we since Interop we've integrated JVM lead p2p and we've started working on our sink we're just basically cleaning up some technical debt and the tests because we're kind of splitting towards Interop and that covers it
Danny Ryan: great
we're also we're also updating our 'no mistype
integrate handle who cares here that goes thanks John thanks John and lodestar yeah
Cayman Nava: this week we've been working on emerging in our Interop changes master fixing those up we're also working on some roadmaps for the next few months so that we kind of have a better sense of our priorities and we're working on you started also developing a roadmap specifically for like light client or light client work so we're just wanting to flesh out flesh that out and get started with it
cool Thank You Cindy sorry I saying Trinity trended see oh yeah yeah so so we
Hsiao-Wei Wang: learned about many new issues during Interop that could be summarized into two things the first one is the stability that we are now focusing on make hinder internal tests they could be more and more stable and to organize the logs to people structural eyes and also make a clear -
go to monitor it and the second thing is the ability of distribute the software and set up the client that Alex and Brian had made a TOC file during the on top decided we are exploring other solutions for various different operation systems that if to support that different OS - in to install the
tragic software and that's our updates thank you so a harmony he is being at
Mikhail Kalinin: other teams we are doing some interrupts
follow-ups urgent some stuff that has been and fixed some fixes and some new stuff that had created during interrupts also apart from interrupt there have been and I'm going and work on discovery the interior house is already almost implemented that and the only one thing that left is handshake and cryptography well also this implementation doesn't include topic discovery so it probably would make sense to do some tests and some integration tests with with lighthouse
when we when we already also working on you a doing some distance stuff we decided to start work on the fork choice test and maybe we can do some work here and publish some tests are useful for for the for other implementations because I think that work choice is also important that's probably it for us
thanks Miguel and right so nimbus most of them are on a flight I believe so
from mommy great interrupt thank you all socially to just DeLongpre organization they're slowly merging fact the interrupt branch and to master they've gathered a bunch of start scripts to startle the clients that currently live in there we go although we're talking about living something like this into the PM repo which that was the next sentence they propose cake a common repo for this though or could also be used to maintain simple chat apps code and running scripts to Bob load PP implementations lodestar be committed very soon artists and chassis are still missing and they will see everyone tech mom thank you and in this
great and I don't believe way is here Jasper parody was not able to attend but I know that way has been working through some pairwise ability tests last I heard I knew he did some work with lighthouse and had but was only on oh wait one at the graduates in sir so then was updating the client to Oh a tree but way will be with us in Dhaka great day miss anyone research updates italic
Danny Ryan: and Justin are
not here I know there's some busyness with Def Con coming up and I know we've been interrupts and something's going on in Tel Aviv the specter ego has been a little bit slow there's some big PR submerge some last updates to get in a lot of the focus has been on ensuring that the phase one short day to change spec is clean and to begin to revisit a lot of the custody games relative high complexity in the custody games right now especially with respect to some of the corner cases in edge cases so playing on your giving got a lot of love when the coming month beyond that I'm sure will be plenty of
updates at that time other research updates
outside normally changes but we're looking the integration of and learning after needs so we I implemented kind of proof of concept in vintage Time Protocol simulator and I will be working with the afternoons team inside conferences especially on how to attend details unlikely to work on this as well we've recruited team in psychosis but it's more on implementation point of view were not changing the protocol itself
thanks
Mikhail Kalinin: guys excuse me may I have a question to Nicola okay we've been looking into attestation aggregation a bit and the thing that I not able to figure out is it's for example handle applicable to work in the p2p Network or does it say strictly require a direct connection between
what a dater centimeters it requires a directly so the way we see it under peer-to-peer layer when the committee is established
people will be able to exchange maybe with encrypted messages what IP address of aggregator we're using and then there will be direct messages between those aggregators
Mikhail Kalinin: yeah I see okay thank you
Shahan Khatchadourian: hey Anton sorry for butting and there is a document that Nicola and I are working on than what we use it is synchronized asynchronously about questions like that I can share that with you
yeah could you please post a link it to the jail okay
sure let me find out and see if I can post or if Nicola if you have that handy Thanks Musab any updates on the TV chain yes so so this the specification is now almost finalized all the tests pass which serve as a very nice validation of the model and right now we are doing coverage analysis it's this is specific
to the to the K tune we are using and we are hoping that we get some kind of evaluation of of the test suite and maybe suggest some some other tests to increase coverage and once this is done which we hope is going to be very sometime soon we will be hopefully able to share this with everyone so we are very excited to have this done when once once this is ready thank you and repulsive minutes
Danny Ryan: and conversations figure out next steps with the model how
to actually use it to verify some of the properties were interested safety and - being the most
obvious ones right that's great thank you any other research updates there we really really creates this if from the pay
Protolambda: framework we can drive invariance for the fishing effort you can define a stricter rules to put on the fishing harness was that a question program or if there's no question would
be can we have derive something like this from the current work or could see work towards this since it's really improved forcing
mmm right so myself
Danny Ryan: the question being can you use the case say transition model to derive invariants about the state transition are you familiar with and you work related to that
right so I'm not entirely sure about deriving invariants at least not not would be that's with the current module so this is something that I think will be possible well not deriving invariance but stating
and verifying the variance would be something that would be possible with the next step developments thank you for the research updates yeah he wasn't yes and it's not picking up is it sounds I have really better reception right yeah if anybody's interested I can give some update regarding face to you yeah stop some of you may have seen that the
kilt and he wasn't in some members of the teams also attended the intro but we actually did a mini sprint prior to the intro and then I think had some discussions at the intro of itself now in the past couple of months the the main focus for both teams were just to prove the feasibility of the idea and that really was focusing on two different efforts one having hashing functions and elliptic curve functions in in wasn't executed to an interpreter and the goal was to to fit that into the execution time limit we have set and the
second work was relating having good schemes for marker proofs and all the witnesses and obviously we have looked into sse partials and we also looked into Alexei's multi proof which is in interval guess if you guys have heard about that before and there were also a couple of other new initiatives to you to have some you know different schemes for marketers and businesses so many of these were implemented in different languages as well ruslan assembly script editor major wants to be looking at and we had some
synthetic benchmarks and the end result of this work is that it seems to be feasible that the whole concept seems to be feasible so you're kind of ready to you to move on to the next stage and the next stage is to you to actually create useful execution environments and benchmark them as a whole the main execution environment I guess we are looking at is just a simple token transfer execution environment because there that's like the core function you need it for a couple three components as well like the fee market at least we all was heavily focused in understanding really our
markets and free markets better and at the intra we need to look at it more in an integrated manner because they design so I think that's the next step for the two teams to you to work on this more closely and the very last thing what happened at the in truck was Vitaly came up with a new proposal for Phase two and we spent quite a bit of time and discussing it with him trying to understand it and comparing it to the current proposal so yeah it was quite a busy period and sorry for the long update thank you
Danny Ryan: no thank you I
appreciate it and I know there's still a lot of questions out there regarding us some of that because it's still heavy research but sometimes just because for example I haven't responded yet but somebody on the discord is just asking about the fate of the each one chain where it lies and I think although we don't have 100% the answer the esta tution environments a bright future for the East one chain living inside me too but I'll respond to that I'm discord soon anybody's out there this man well is anyone from the quilt here I got any
other research updates goin move on
great on to networking
Danny Ryan: there was much work done on the networks back at Inter up a lot of this primarily had to do with the structure of the request response messages or sync and all the related kind of sync messages rather than the gossip and some of the other structures so age or someone that was in the weeds working on that would you like
to give us a quick on what happened there
Adrian Manning: yep sure so it was proposed that it would be more efficient and a little bit more general that when we're requesting large amounts of blocks that we previously the spec required like matched amounts of block so we for a long range thinking we had blocks blocks by blocks by range is the new name of the RPC request which you can request let's say a hundred blocks and previously the requests would you would have to buffer this and get the whole number of blocks in one hit now you can effectively stream them through the
network so you send one you send one block wrapped in a in an RPC response and then another one and then another one and then until either you've completed the entire request or an error has happened so this allows implementations to you know read a single block from the database send it across the network and and do this as opposed to having to buffer large amounts of blocks so that's the main change in the two RPC request that required large amounts of blocks so one was we've renamed them one is blocked by range and the other one is blocked by route so effectively you can stream these things now that was the major change
yes that's it in summary if anyone else has any questions
Danny Ryan: I have to ask that code that you didn't want to remove and delete and rework did you did you end up doing that
Adrian Manning: partially I could I couldn't delete all of it so I found a way to keep some of it so there's a we yet we still law my house still does does batches so we can process blocks in batches but um we stream across the network now
Danny Ryan: cool thanks yeah any other questions regarding that as I mentioned on the discord this spec parent lives in the b08 X branch and it's released into master and a minor release in the next few days but if you're working on that
work sync please check that out rather than the current one and with me zero eight three okay didn't I see someone from credit collapse here what's Michael here or Mike here
yeah no right next I'm here Rose on vacation this week so I thought let's step it in Phyllis place but we didn't really have it a much of an update I know some of the teams have been the language teams we've been making progress which is great but I don't know they can speak to that if they want the jvm folks for example but we didn't really have a update for Limpy to feed like overall yeah that's good
Anna
Danny Ryan: some work at anorak was initially just ironing out some of the idiosyncrasies between some the language implementations so at least on the what we deem the Interop subset of the p2p that we were using we do have general
employments and no PC applications talking exciting awesome you know also about GBM the p2p basically we are ready to release
Mikhail Kalinin: 0.1 version I think it probably could be released already I'm not sure need to reach Anton again
but the things is about to publish artifacts and do some documentation collapse maybe maybe I missing something else also Shahana is working on the noise implementation which is not required by this version so it could release it like in the next one yep so yeah thanks or tennis for being the second users for the GBM with p2p yeah that's what's very exciting to see that it really works
method
Danny Ryan: yeah great work - Anton for getting that out
surfacing Oh white block in the updates for us hey Danny
Trent Van Epps: yeah I can give a quick update I wasn't at interrupts so I'll just keep it short this is coming from the team that was there as most of you know it went very well is super productive we had Antoine Renee and Daniel there they spent most of the week adapting the e to clients to work in Genesis white black Genesis which is for those of you that don't know is what we're gonna be testing the network and scale on like I said I'm super productive and but one of the things that or two of the things that we weren't able to complete were prep for testing gossip sub for a client like what variables we can change and also how to optimize gossip soap so
these are two big things that were gonna be attacking in the next few weeks we'll be refining the test cases that were already developed to interrupt from here on out and actually starting to see how we can test them at scale I'll drop the link to those test cases in the chat and we will be presenting a near-term roadmap medium-term roadmap externally soon as to what our methodology is going to be and releasing results once they're completed that's it
great thanks anything else to discuss on the network
stack or move on I should add Anton here for my luck
Antoine Toulme: separately from this we also study on network with li p2p and gossip table so we have people from protocol ABS we TV spot too as well this week we're going to get started on implementing a go based client the authorities open source is under the white block critical or gossip - testing the idea is to take up the work that we had done there early this year and really poor ties it using a specific implementation going to pay for it that we can really stretch and
test at scale so in terms of testing the variables for the sub testing the behaviors this is something that for each attack
not more than four great sorry to see I could in so far okay anything else I'm networking okay Preston brought up what our next interrupt goals are before and after DEFCON this is something that I'm gonna be thinking about a lot and organizing
next steps with respect to public test networks and some incentivize test networks we're not quite there as you all know there's a lot of work to do to stabilize clients get sync in place and things like that but before we get there start thinking about manual test nuts so also something that we need to be looking into the next level piece any thoughts or comments on goals and yeah I'd
Antoine Toulme: like to throw my hat in the ring before to help you see a city from the my book perspective so we can we can
coat the shoe many you built coming in and we can have about to be attest to that so I think we'd be happy to be involved in help the community in terms of
metric English centric great yeah the conversation is act today cool right so I guess
Danny Ryan: for the public its there are increasingly build scripts and things where you can pull down and do some demos but we don't have any of these like multi client that's not ready yet and if we're planning on supporting users anything we still have some things
to do with respect to stabilizing and especially getting the clients conforming to these and specification yeah I don't know did Kristin here so have interested okay here you were a present anything else that you wanted to add or talk about
uh no I was just thinking you know def cons three weeks away and we just all walked away from from the Interop with you know a lot of really good miles and I was wondering you know if we're had anything specific in mind for what we wanted to target in the next three weeks and then and of course like in q4 is coming so I prismatic we're just
planning out the rest of our quarter I wanted to hear from from you or anybody who's interested what the specific goals for coming up yeah I mean
Danny Ryan: on my end it's CI Network informants mapping out a plan for public test nuts and incentivises hats on client side I expect kind of continual stability I know we some of them post vention we had a big sprint to get to interrupt but now we have a lot of things to clean up around that and then I guess going into DEFCON a lot have a lot of contra conversations there about things coming up the next couple of months
okay
so spit off I'll follow up with you
Danny Ryan: anything else on this
great next up general spec discussion
Danny Ryan: any questions concerns things that you've run into this goes here
cool and general open discussion
anything that would not address that is worth one I do not understand
Danny Ryan: I do not have anything organized primarily because we just have this huge Meetup and it seemed a little bit like overkill there is so day one of four day one is relatively light at Def Con with respect to some of the content but there is a room that's dedicated to I think the magicians are organizing at this time dedicated to working through a bunch of stuff and I think there's an e-2 section talk to the community and a section to break out and talk about roadmap planning so I invite all of you to attend that and beyond that my
expectation is to have a lot of organic conversations and meetings about what our next steps are and plans I haven't again I have a planned anything for the day before and I currently am not planning on it but I'll try out a little bit today
anything here now
Mikhail Kalinin: also the other question either what what about contract deployment
doing during the DEFCON do we have any deposit
contract right yeah all right
Danny Ryan: the primary blocker on the deposit contract being deployed is the BLS standardization process which although has reached what is deemed a relatively stable place the people are still working on early implementations and test vectors and so from the perspective of the deposit contract we can't we can't reasonably deploy that until we have the standard in case anything related to public keys and the required signature initial signature changed so the current almost certainly it will not be the plate that come because of this
Walker and we're kind of in a although it is moving fast for a standard because there's a lot of demand from another block chains that are involved it's quite simply not gonna be ready by October time on the on this follow verification that is complete there was an issue in a VIPRE compiler bug which I believe has been merged and the updated bytecode has been tested and verified or relating on an actual cut released from VIPRE but that's no longer seen as a
bottle activist classes
Mikhail Kalinin: okay I see
and Bayless stuff makes a lot of things yeah
Danny Ryan: anything else
Joseph Delong: I was planning on doing kind of a retro for Interop if people who were there or like to join I think maybe give some feedback so when we do it next time you know things like maybe not make it seven days kind of thing yeah so that's TBD I'll send out an invite I'll probably drop it into the Interop Channel and into the sharding
getter
Danny Ryan: great and thank you again for organizing that I think I said a number of times
there I was a little skeptical so I work of productivity and how it was gonna go but it was pretty unbelievable and thank you for that
and yeah I'm just happy everyone came and I'm happy all the clients showed up you know kind of ready to rock that was that was the the big surprise for me cool I'm looking at my calendar and looks like October 3rd is the that's the two weeks from now that is probably a
couple of days before people are traveling shall we plan on meeting then oh yeah that's great actually thank you the October 3rd who were oh sorry I meant about this call but we can I was like planning it okay no yeah we should we should do your thing your meeting maybe next week before before them sure yeah all look nice calendar X weeks about now sorry I don't but no in terms of planning this meeting I think the third makes sense it's not too too close to travel I think if it were a day or
two later people will your travel is that my is my intuition right if that data is good great cool so we're planning on meeting in two weeks thank you everyone keep good work I'll talk to you all soon thank you [Music] [Music]
[Music] [Music]
[Music] [Music]
[Music] [Music] [Music]
[Music]
Speaker names adapted from ethereum/pm, CC BY-SA 3.0.