All Core Devs - Consensus #17
All Core Devs - Consensus · 2 May 2019 · 1:19:45
Eth2 client teams and researchers cover testing, client and research updates, then network topics including libp2p updates, discv5 in the context of libp2p and gossipsub testing, followed by spec discussion.
Topics
From All Core Devs - Consensus; community: Ethereum Foundation.
Transcript
[Music] [Music]
[Music] [Music]
[Music] [Music] [Music] [Music]
[Music] [Music] [Music]
[Music] you
[Music] [Music] [Music]
[Music] [Music]
[Music] [Music]
[Music] okay I have transferred the audio and video over on the YouTube stream and will someone should signal from that chat box that y'all can pass here is the
agenda first thing on our agenda today is the some testing updates proto and I think you can spend less time on testing you have any updates for us now big that's fair I suppose the zero point six point one is interesting we have been dabbling if the ID or we can unify some of the testing between the PI tests tested tests back and a test that
infinite are the test generators factors for their clients and so it's like the cone part here it's the this setup part very set up an edge guys and this edge case is applicable to both to both types of test not sure if it will make syrup in six month one likely not it's to see it's like being like released in the next week or so and there's a pending PR that brings that minimal asses said
implementation up to go 6-0 6-1 that rather get my job as I said tests for the new release I've implemented SOS and minimal as you see I'm currently working on rewrites of the minima as you see codes or a big refactor so make it like close to executable spec it's nicer to reads there's many issues with typing and these other like readability things and we don't really want the separates by the thought that needs to be updated all the time when there is a change and then Union and no types are being implemented
as well great thank you anything else on testing for everyone I don't think so that cool I know there's a couple of pending PRS with some tests being added that we're keeping in a holding pattern until we sort out the edge case stuff it was like oh sorry yeah perfect so we closed or agenda for the past six months ease and the opened
or new plan for the next six months is regarding a freedom 2.0 so so if you want to know who is working on what within the team you can you will be able to check out this like next week also otherwise regarding updates on the core spec we started to implement a 0.6 we have state transition changes partially done or current focus is ins get become proposal index that was a reward significantly in 0.6 and it's a broker for us for several things like for choice testing tests and stake pulling something to optimize everything related
to to state another issues is that we met with we found some under flows we epic and we're interested in to what other users of subtly compiled language with unsigned int like do we also make the same changes upon issues because in Python since it's always signed integers maybe that's hidden yeah and they it was we have a PR although we're still figuring out the best way to do this for handling the particular under flows and also potentially
overriding some of the integer operators in our test them to make sure that we don't put those under voice okay cool like because otherwise we would have gone like nuclear we've answered everywhere to attract if we but we might do that anyway and also regarding SOS so right now we are thinking on how to update the library and for example hello how to read fields without this relation everything which is like the big upsell of SOS so that's it for core and now
regarding networking we had did NAT traversal to become a beacon change simulator so now we don't we have much better connectivity even if everyone is behind waters and the test net was not working on Windows due to not traversal we had some windows socket issue and this is fixed so right now we are implementing chunked encoding and there is a more of low-level question but how to design a sink networking using Iver streams or transports which is best way and regarding testing so we're very happy to see the updated test suits and
we managed to like and we are surprised by how easy it fess was to use or clone right now since we don't have state tests with 40.6 and we don't have SSG SOS style either we're working on just shortening and something that is coming quite often is like mocking blocks and at the station's for testing is a bit complex and somehow the Python spec tests or managed to get away with very simple thing so I'm we are
looking also into that and that's it for us that story hey sir I thought came and was gonna be on this call so we were up to date with [Music] 0.64 SSD and the beacon chain were hooking up our to the test at the suite right now so we don't actually know what's breaking but I'm assuming yeah we have a constant week's optimal so Greg was talking but all yours came in you
can take it okay I think we've got latency issues yeah it seems like it yeah okay I'll just finish up sorry about that came in I think there's like some seriously and see I know I lost my track yeah so we're up to 0.06 and just kind of waiting to see what the tests say at the end of it and we just actually merged in flood sub no flood sub and we're gonna be using that kind of as
like a test ground as well as we've got so we're gonna do that hobbits and basically yeah Oh point six we're kind of seeing what's gonna happen with test suite we have a set up to date and we have to make some modifications to BLS we're still pretty we're still convinced we're gonna continue with the Hermes implementation just for diversity but there's a few issues with it so we're dealing with that we've started to kind of separate out the validator from that will be contained kind of how they a little thanks or using the RPC kind of like
roughly implementing from what Luke's proposed our BC methods are for the validated communication we've implemented on me ghost-like kind of reoptimize it from proto's I'll go and anything else no that's about it sorry I had to take notes from like Cayman proto lambda racist and so like this month I found an even better way of implementing omni ghosts I'm still working on it that may be interesting so awesome I'm excited
cool thank you how about Pegasus Hey sorry looking for that mute button okay so our master branch is my audio K yep cool okay so our master branch is on the 0.4 and we have been working on our branch for a while now targeting zero point five point one at least half two weeks who made modifications there at the implementations they count for the types introduced in 5.1 so we updated and added kind of like a JSON and time series CSV logging to our client so that
we can kind of get that into the white block platform um we've been troubleshooting and some issues with validators and I'm trying to remember exactly it's whatever the function to validates the Merkel branch right from the deposits and so yeah part of a part of in doing that we've generated some test data from the deposit contracts and we'll be sharing that shortly I think and organizing and planning this workshop but mostly just
troubleshooting or zero point five point one branch and that's it any questions nope great thank you about harmony yeah with the finished incremental here some feature on this we respect Lisa but some performance tweaks and refactoring also we have added code which mark tool which works only with spec so it provides output Falls spec methods how many times they were called
for how much time etc and we we finish adoption of new tests which is currently in ETH to spec and now finish and move into zero six zero I think it's in a day or so and working on why and syncretic all and that's all I think thanks prismatic guys we've been working
a lot in making a customer resilient so now we've been trying with a lot of people and privately joining and having more valid leaders survived through multiple traffic scenarios pretty nice and overall just like really we have a parallel track we're updating everything to the version 0.6 so we're around halfway there with all the be 0.6 updates our tester will probably go live with around be 0.4 with some some bug fixes from latest releases and yeah let's mostly what we've been up to recently just fixing that up we optimized we removed all the like event square blow-ups in the spec and like epub processing so we managed to optimize some stuff by like 400 X it's pretty nice so yeah I start from that
just cleaning things up and getting things ready great Thank You Trinity oh hi um so we recently implemented basic service in Trinity and we also integrated with the test suite of the version zero point five point one and I think we will start the target on the zero point six point one upgrades next week and then the focus drawer and the potential parking work in progress the
planning is the modular ain't ready to extend the functionality yes and that that's we call that the concern okay I think that's it thank you yep so we've been assisting with interchain BLS standardization efforts and we've had a kind of a long-standing issue it's getting our node when it's sinking to catch up two blocks we've managed to solve a lot of those issues by
implementing occasional hashing which has helped us with some massive speed gains we're also similar to everybody else working on updating to version six of the spec and we've started looking into and designing how we're going to implement disk b5 in the context of the PDP that's great thank you everyone let's move on to research updates so the
big research update from my side is probably if the phase 2 proposal that's that I mentioned two days ago and I put it up now on each research let's see if I can find oh here I got the link up ok sniffing telegram and you can go for it's a repay stat in the same place - yeah so I guess I just I kind of do other the present presentation about it the basic idea is that this is meant to be a proposal for kind of the core of how faced you were so the state
execution would work and it's Tiki and it's specifically taking the direction of having a relatively minimal and if consensus away or execution system so it's not quite as minimal as the proposal that Casey made a new research a couple of weeks ago so this proposal does have execute happening in different charts does have state routes for different charts and it does have some amount of state storage for different charts but the consensus way your stuff is deliberately extremely available it's only a couple of hundred lines of high spec and the idea is that everything else that you would expect to
get built on top would instead be built here saying a kind of layer 2 framework that's designed inside of this relatively minimal base layer so if you go through the document there is and if to made well there's a few major subsections so the first two big subsections that are there because there's some small ones at the start but then there's the beacon change changes section and the shard processing section basically to find what the actual protocol level changes would be and the basic idea behind this is that add consensus layer contracts Sanna I call
them freedom plow is here but the name is totally not final would only exist on the beacon chain so kids said then consensus layer will only recognize contracts as I'm existing on the beach in chains so there will be verified and stored by everyone and these contracts um can hold each and they also have functions that you can call and if and in this frame a proposal ether as they had a base way your thing can only exist on the PGA Tour and so ether is either held by a validator or it's being held by a freaking while so you can have
there's a few new beacon chain operations that I introduced but the basic idea is that one of them is creating a new freedom pylon the other two are transferring eath from a validator to a pre compile and from a premium aisle to a validator now the there is even though the contracts kind of are stored and live on the beach educate there is no code execution per se happening on the beacon chain and that still does happen on the short chains and so the way that that works is that you have um a so the code live code that lives on the beacon chain but the
execution still happens inside of shards so the only nodes that actually run a but actually execute anything basically are no instead glue even are inside of the cross-linked committee where the process that committee of a short at some at some particular time so basically any age transaction that's inside of a shard has to specify why what shard it's for and it also has to specify what really compel it it's um I kind of attach to and if you have basically the state transition function for a transaction is to execute
the code of the pre-compile that the transaction is calling using the contents of the transaction as an input so basically the transaction just specifies kind of what what the stage transition function is that it's paying attention to the the the code has act has access to a.m. or in function interface and which gives ed the ability to read and write from a particular region of state in the shard and issue receipts and to execute you would basically arbitrary code that you provide to it so like even though
contracts don't exist inside of shards as a base level concept you can still make contracts exist as a higher level concept by just setting up a precompile of that under certain conditions like loads code from this and then execute the code using some other data provided as input so wait so that's the for the first section and the second section the third section so this is implementing in shard each transfers and the fourth section dealing with expiry both have to do with basically giving an example of what it would
actually look like to implement a an employer to thing that does something useful on top of this is a framework right so the the scheme that that there is third section basically defines three functions so one of them is a depositing ease into the system the second is transferring youth and the third is to a strong he's back to a validator and the if you own Eve inside of the system then the way that it would what it looks like at consensus layer is that when you're depositing is you are both transferring East from your validator into the pre-compile but also issuing a receipt
and then you can send a transaction in a shard which claims that receipt and the inside of a shard saves a record that says that some of that eats that your transfer that e that you just transferred into the pre-compile I'm actually it does belong to you and then in send if to other people you would just be tray extending transactions that call the transfer function you would be transferring these records ownership adjusting balances and then to withdraw you would first call the withdraw function using a transaction inside of a shard and then that would generate iterator receipt and then on the beacon chain level you would call the you validator function which
would consume a merkel proof of a receipt of the receipt that you generated inside of a shard and it would withdraw it from the pre compile into a evaluative slot for you and like this framework is really or that particular and the second layer system is deliberately really simple like all it does is it just lets you move heath around but you described but get the very bottom in the fifth section how to like but basically what you would have to do it you extend that into a scheme where you can just implement an entire sport contract system on top of it and then in the sections below that I talked about like how you enable
Metamarkets on top of this what the resource requirements would look like and so forth I'm also in I mean as a general kind of comment about comments on this I think the first big decision that we want to make is just like establish whether or not this kind of minimal like a kind of minimalism in sort of roughly the spirit of the
purpose of the proposal is the right direction to take so it's probably not a good idea just kind of start nitpicking oh do you know show the big fields go forwards or backwards or used or use big endian or whatever at the um it at the beginning like the goal of this isn't to meet those fine greens that this fine green decisions at this point the goal of this is just just be a fundamental group of concept of the possibility of doing what we want to do using sort of minimal b.i consensus layer and put ends up pushing more things to higher higher layers and there's definitely a big design space of and trade-offs to a finer grain trade-offs that we can make
in terms of these that are faced way or protocols and I expect the layer two schemes to just keep on improving over time in the same way that say plasmas improve over its final so just to put this little of our context these contracts that exist on the beacon chain generally can be thought of kind of like execution environments yeah and so by by deferring it to these execution environments that can be built and upgraded over time we've like become less opinionated on layer one yes
so unlike with haddock that's been thinking very high-level I've kind of gone the exact opposite kind of you know continuing to find home my guess phase zero in preparation for the spec freeze which we're targeting for the 30th of June I guess you know we're still very much on on track still simplifications are coming through which is which is great and you know the process of fine combing is is also for finding these these final bugs one of the you know things that might be possible when we do is tech freeze
thanks to all these simplifications both you know cosmetic and substantive is that we might be able to fit the state transition function of phase zero in in five hundred twelve lines of code so proto show how to do it in in the thousand twenty four few months ago and we would definitely simplified it a lot since then so if if phase two is indeed you know a few hundred lines of code and phase one is you know if you hundred lines of code then as crazy as it sounds like all over from 2.0 in terms of state transition functions for both the beacon chain and the shots might fit in a
thousand lines which is which is amazing I mean that's assuming a few black boxes like 56 GLS and awesome so one thing that that we're doing a lot of progress on kind of a parallel effort is a bi destination so I'd say we're very much on track for Standardization to be completed by q2 by q3 and in q2 you have very good visibility as to what the final design will be and generally speaking things are lining up very very nicely so we we have you know sha-256 is the basic primitive
on top of which we're building we're reusing where possible what Z cash has done and we have this new hash function which has all these nice properties including being Hardware friendly in constant time being fast and being simple in various ways for example only require basic field operations and I'm not requiring stuff like blinding to get to get fast fast implementations in terms of to dues that I want to get done you know before the spec freeze one is
the focus rule you know it still needs some love there's a few edge cases that I've known and it needs to be made executable and I'm also working on the static state and Barents which will be nice in the context of first testing thank you any updates from the pegasus research team just a quick one on handle we actually working on some optimization and some extension of vendor to be able to resist the US attack just you send a
lot of signature to to someone to a note aggregating signatures and yeah we we have searching on these fronts right now other than that that's it any other researcher takes one one cool move on to networking Raoul and Mike from Lupita Pierre here you want to give us an update on the palazzo pants yeah sure hey guys how's it going
started thinking about what what to update you on and I thought I just had a few items that started rotting away and there's really a lot of updates to share with you guys so first of all we have worked on the gossip service and Kronus validators this is something this is a feature that many of you asked for it we've implemented recently and going to be the PRS interpret here right now and put the public this off to the demon in the next few weeks so be available there we recently merged the TNS 1.3 spec as well as the reference implementation and go we've introduced an experimental flag in ipfs which we'll be using to roll this feature out slowly in the public
net where it can conduct canary tests essentially we've hired a security firm tour that let me to be their auditing most of live interview with the exception or second which will be facing out and basically discouraging in favor of TLS 1.3 once the experiment is successful just a side note here we're also interested in incorporating noise handshakes sorry that's nobody's handshakes so if you have any experience here I want to collaborate what the community contact me is we might actually produce a Democrat for this so there might be some work in in this area we also have a dedicated engineer now getting our specs cleaned up finally and writing specs for for unspecified area
so we're putting together an impact plan and we'll be publishing this as soon as I saw it so basically expect kinda like a rough schedule of the specs that we plan to address and when they'll be available over the next weeks we've also made progress with our test lab which is a tool that we crafted to Tesla p2p at scale the next logical step here is the network simulation which is something that we miss a still and there are really several actors in the decentralized space that are in need of a common low-level API that can be used programmatically to basically configure virtual lakes link them and said Lisa latency is packet loss did jitter and other network conditions such
that orchestrators test hole constraints can then use this API programmatically to configure different test scenarios basically JUnit tests distributed systems under a variety of network conditions and personally I would like to have seen several actors wanting this and we're kind of like going our own different directions and I'd like to create an open interest in the community to start building basically a common asset a common standard API for this because as we get more and more sophisticated with testing these systems at scale it is definitely something that many of us couldn't so if you want to participate in this then get in touch with me I know that sac from well cut open this year I know I have discussed
about this I think probably be interested in joining as well so another announcement of what friends at C or X and pirates are collaborating to bring the p2p gonna be two penises into the browser by making it one nicely plasm one thing that I've done is they've created a web RTC direct transport which basically enables communication between the browser and the backend directly without their without the need of signalling servers so this is great kudos to them for taking the lead on that and an aspect that we started to discuss a little bit as decentralized what decentralized signaling in US interests unlike fashion for hole punching would look like so if you have
any thoughts about this reach out and we could discuss this and last but not least I wanted to put the the upcoming ipfs cam up on your radar this is basically afford a hacker retreat that's gonna be taking place in beautiful Barcelona at the end of June so this between the 27th and the 30th of June there's gonna be a dedicated course for literally to be hackers that basically covers from A to Z to Z of limited me as well as a lot of insightful workshops and discussions challenges chrome features in peer-to-peer networking that that we already so if you'd like to join biggie and we'll get an application going for
that and I'll also be reaching out to the field to a few of you I am by a law basically those who lose even address I have that's that's all for me any questions sorry I didn't clear understand why you want to in which complaint do you want to use noise so noise Hendrik so basically the idea would be to provide another alternative handshake mechanism so as you know that need to be connection offers a number of guarantees one of them is is encryption and authentication so we do offer a sec are you as a mechanism here TLS 1.3 is right now on the test and we wanted to
stop thinking and designing a noise handshake and potentially you know inspired by projects like wire guard and and others that already using the noise ika handshake right now is this something like what visualize doing could be we haven't really this is basically an idea on the horizon now it's something that we want to start thinking about and potentially start exploring so we can definitely begin discussing different options here hey ro you said something about support for web RTC know that um code running in the
browser could communicate directly yep so is that different than like so with with WebSockets currently um Kanda browser talked to like for example um the same code essentially running on no js' but it can't you browser to browser yeah that's that's correct I think I'm gonna have to circle back on the exact difference between using web parties here thinking it could have something to do with the wasm environment but I'm not 100% sure here but yes actually when the RTC transport that currently exists is basically allows you to communicate with
the winner back head directly it doesn't maybe has something to do with like Ross origin or something like that I'm not entirely sure what the difference is right now but I can still come back okay cool yeah that'd be great Thanks and related to battles you consider it also using GRP ship it has been some implementation from the browser about starting to get out so the problem with gr PCN we considered this in the context of another project which is that network visualizer the nipi to be network visualizer that we're working on is that it is not possible to access it was something like along the lines that it wasn't helpful to access the
low-level HTTP to API from JavaScript and I don't know if it's possible from water so the problem with G RPC is that you can't really use it directly unless it's where the WebSockets hiding or something like that that I'm not sure is 100% stable so there was there was something like that we can say that that in a different context not not in the context of a let me to be transport so the question so Greg has a question on the chat what is the issue between the browser and the browser so the issue is
that a browser cannot openly accept connections directly unless it's with the signaling server so when you're speaking with a back-end directly that is not a browser that is able to accept incoming connections without without needing a signaling server then the web part is the kinda like the signaling part of the WebRTC stack that comes their benefits for you so that's where the web RTC direct transport comes in no there's no icy surfer turn there is no icy server there correct in that particular scenario something that would be super super
awesome is something that we one know that we want to dig further into is the feasibility of using a decentralized ice so a decentralized signaling infrastructure so this will essentially be peers on the network allowing you to signal to other peers on the network without relying on a centralized server which I see as you know is inherently sentiments actually that's a really cool idea just a thought right now so definitely just a thought I think in Paris I spoke
to a few of you about this it's just a thought and we might like deem it completely unfeasible but I think it were in some some intellectual exploration here some research so if anybody wants to wants to collaborate here peace reach our quota look cool the next thing on the agenda is relevance looking to be I know that there's a couple of teams who are interested in figuring out as they begin to work on discovery five how to fit it into the context of bleep you I know Felix isn't here but I wanted to hear your thoughts
on that role and there might be a conversation going on in a different Channel and Wilson well I'm sorry to be calling me uh I don't have any so I'm just getting up to speed with the conversations in that channel I was unaware of that so I just directly respond I'm I started to respond to those thoughts there and I just I think we can keep a conversation there cool so there's an ongoing conversation in the dev GDP getter I believe Elvis yeah I think it would be great if maybe Adrian
who has sort of like taken the lead and in this word like once we finish discussing this on the channel or we have like some conclusions if maybe Adrian can take the the lead to summarize this in an initial somewhere so that is visible to the rest of the community yeah that works with me awesome thanks yeah out compared with existing discovery message in the in the p2p as well cool are there any more questions for Raul before you run
great i penciled in gossip sub testing because I know Zack and white blog eyes are working on that is there any update on that I'm not sure if we have any off mic blog today okay don't be so cool and then there's a couple of pending PRS that I'd like to get merged and relatively soon on networking stuff I know that there's some comments there that I haven't taken a look at yet is there anything we want to address here great
next is just the spec discussion the o61 is almost ready there's a couple PRS that I haven't had a chance to look at this morning that I'd like to get in there it's primarily a few bug fixes and a couple of cosmetic things there are as we mentioned some tests released or o6o on the new testimony go and we will have those output four six one as well and we're looking about a week from now to have a more extensive set of tests for o61 it's few days so this is we think you want him includes the compute
committee refactor right yes yes it does yes there's a little bit of a refactor on community compute committee and get across think many it's actually just the clinical action as well anyway thanks for getting ready that simplifies it much and makes it more general and usable and a phase one context that we needed you can take a look at that PR cool but just general open discussion on spec anybody have any questions anything that's come up and want excited oh yeah just a quick on the RBC like
Luke opened up to good issues I think he's converting them to PRS shortly for validator to beacon node communication I think I just want to think we also kind of missed out but I think it'd be pretty good if we could also start defining similar to that each one kind of has the different exposure methods so like you can expose web admin was it network or nad or something like that 'if it was like how our pcs like split up into a bunch of different subcategories I think we should start actually finding that as well and if we do that now and I will be better planned and we can start actually getting input
from teams working on eighth one like ethers web 3j is to kind of see like where their pain points are and trying to address those early and I was like surd I've already created like a bit of a working group on that on a discord channel I'm happy to share that link with everyone yeah because I I do see it kind of important if we start I think we're at a point where it's good to start asking you know tooling teams kind of you know pain points they've had or they have currently and see if we can try and you know account for a bunch of these early on yeah as we're approaching spec Freeza I've been wanting to open up
the dialog with the web three people the block explores the anyone that's really consuming directly these guys so glad to see that's getting steady yeah yeah we're gonna be starting just for anybody that needs it cuz Preston actually brought this the other day our SSD jess is like ready for browser it should be actually but we're also gonna start doing like kind of like a web three one like kind of a POC implementation of it so that with the validator RPC and as like kind of more RPC method solidify we'll keep adding to it until you know there's a team ready to kind of adopt it and take it on when eat to kind of stabilizes I'm
personally a little bit behind on those weeks a couple of issues but I'll be digging into that today and the other specs spec stuff architecture stuff stuff stuff I mean one thing I'm not sure we discussed before is the idea to have different slot durations for the beacon chain and for the shards so the idea here is that maybe we can increase the slot duration
for the beacon chains to something like eight seconds or twelve seconds and that will have several benefits one is that it would it would make the beacon chain you know more robust kind of as this central piece of infrastructure and we'd have slightly more conservative networking properties it will also allow us to remove the minimum at the station inclusion delay which essentially setting it to the one mm-hmm right right and just quick comment when I bring this up at people a common
reaction is wouldn't that increase the time to finality and the answer is if you kept everything else the same yes but you can actually you could just have you could have twice if you have places long slots and you have twice as long twice as low it's blocked isn't it including twice as many committees you don't change the time right and it also means that things like signature processing is slightly more optimal because you get in more committees per block and I think Vitalik had a recent kind of clever trick to to verify all the signatures you know we're just one
pairing so you know ties number of pairings better and then to counterbalance that you have smaller stock durations on the shots so you know we doesn't matter so much if the shots have a bit more forking you know we we do care about the to see from a user experience standpoint so we're considering bringing the the duration for the shots down to three seconds and in that way we'd be competing with the more centralized approaches like lucky us and the the swaps sorry the committee sizes on the
shard so the actual the amount of people that have to sign an attest suit each shard block is actually capped I think one twenty area now rather than it just scaling indefinitely with the size of the persistent committee and so there's a little bit of that game in there as well for being able to have smaller slot times Vitalik is your proposal on the trick for calculating just requiring one pairing as that published i'm hmm actually still not not sure if it's published okay I don't think anyone I don't think any implementation teams they've had a a whack that it might be
good to have somebody trade off I think it might have missed that but I thought I would write up a doctor then just forgot to do it so I guess well let's not forget to do it okay yeah we're doing the workshop on the 15th May 16th in Brooklyn and it plays called Bushwick generators come and participate Terrence is speaking Antoine is speaking Johnny
ray is speaking and and it's going to be in workshop we're going to be working specifically on Interop how we're gonna get our clients to interrupt and it's going to be all regarding that yeah I'll be the hood that says see there I don't think there will be a specific song on FFT at the moment what but anyone that wants to talk about SSE you can go stand in the hall well we're going to talk about p2p networking and may kind of come up like casually in speed network dating but I
think I think our it's mostly gonna be around client Interop I think he was messing with you I was joking look be remote Naples will people be able to dial in we haven't figured that out yet actually a few have asked for it and I'm gonna like try to do that for sure but I just like I don't I don't have them I haven't figured it out yet so I will like to do my best to send it like a Skype session or something sweet Thanks I drop I dropped a link in the chat
earlier if you want to find out that would be nice because then we would know how many people are going to be there cool and as you may have noticed some of the cat herders have joined us again today we had a good meeting yesterday and I believe the intention there is they're gonna start doing what they call some shadow p.m. it's gonna start better compiling resources getting information together documenting things with the intention of overtime increasing their help with individual teams and with larger scale things like long standing crossed Maya test sets and launches and
things alone Thanks I think some of them will be able to be at that interrupts meeting oh I was pretty raise your hand again about documentation is anyone working on the handbook somebody mentioned it's out of date the document outlining on the difference if two considerations yes somebody did mention on the Gator that it is out today out of date I don't know
if anyone has taken that up yet justin is the same this is yeah it's a cool feature so some of you may have seen that the the Rivest time knock puzzle sorry for the somewhat non phase zero related stuff the RSA Tomoko saw has has been sold and there's going to be a ceremony at MIT on the 15th of May and as part of that is going to be the unveiling of some like physical time capsule that was prepared twenty years ago by lots of interesting people including Tim berners-lee and Bill Gates
and reversed and sham erm so if you want to join please email me and on may 17th is going to be a mini btf day so the reason these two things are kind of together is because the math behind the time lock puzzles is basically the same as the math behind VD PDFs and as part of the vdf R&D we've with implemented FPGA vdf evaluator which we tested on the tiny puzzle and so this time a puzzle is a is a twenty-year-old puzzle
and that was designed to take thirty five years to crack and the FPGA just takes two months to crack the puzzle so there's some exciting stuff that will be kind of presented on on May 15th and May 17th at MIT so you can make it to em I see em a 15th make it to New York for the workshop and make it back say I might see for the 70 all right then you raise your hand yeah I'm sorry so like in terms like a SSC like as we were going from 0.4 to 0.5 1 like we had
like so much like complexity just like SSC and the tax owed slows down a lot and the reason is that like a mostly like the summaries like lists where are like now like to pull them like they can't they're all like founded and like I understand I like having like bounded lists like credit crates like efficiency but like also for languages done like don't like normally have like pipe type in what we call that I invert that like for like languages that don't have like the inflection is without expose them down incredibly that's like introducing us like a lot of complexity I was a
curious like water like the gains from like the Chi like doing that one of the games was actually for compiled languages to have stronger compile time guarantees about some of these things another is to put bounds known clear bounds some of these objects even in the context very large things I some of the other things might deal with I might be missing just one or anyone that worked on that so here is distracting what is the specific
question apparently some footing the constant tie or the constant size array is has introduced some considerable complexity and the job for a season and I am trying to member some of the reasons that we did that one was compiled time guarantees one was putting known bounds on the object sizes and things yeah basically it was having different treatment for different types of ssz containers made it made it rather difficult for us because it's all serialized bytes were no longer treated the same right for example when you're serializing the list with a mix on the mix and goes at the front and when
you're doing the hash tree root of the list the mixin goes at the end of it yeah it just made it it made it a little bit more complex to deal with in the previous which is once it's serialize to serialized they're all kind of the same right so the I guess there's only two cases the lists and the vectors so I mean but one of the reasons to have vectors is that it it means that we can have the whole spec on the SSD including things like in in in phase one having the notion of the block data as an SSD
object and one of the things that we we want is to avoid basically have pure mirco paths to two leaves in in the block data for example and the reason is that we're looking to do these fancy data availability proofs where the complexity of mixing in the length might make the circuits you know significantly slower or unworkable so by having these fixed size things we we unlock the possibility of
using you know of making easier proofs for SSD objects the other thing is that it makes it just makes the spec cleaner throughout so I mean it's a minor thing but now when you want to initialize the beacon state or initialize any kind of object like a beacon block you just initialize it with default values and the type which for vectors will basically specify the length the number of elements just fills everything with zeros and it turns out
that that's that's basically the right answer every time pretty much so you can initialize objects for free which is kind of nice and it's the same thing that go does so in a way we've I'd say ssz typing quite closely mimics and go typing and and go is very very all right thank you for the explanation cool anything else for clothes yeah I was gonna say that the the workshop is
gonna looks like it's gonna conflict with the call in two weeks just carve out an hour we could also just push the call we've done that I think that's probably fine yeah just cancel the call and I give people like possibly even try to have a live stream in the internet events if people wants to show up for any part speaking of which I have received I think the last night we received videos from the previous
session they're like 75 gigs so I will try to wrangle that today cool okay anything else going once twice so okay thank you everyone good call keep in touch I'll see a lot of y'all in New York talk soon I guess not soon guys [Music]
[Music] [Music]