New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Technical deep dive into "Shasper" - Wei Tang

DevconWed, Oct 9, 2019, 12:00 AM

Berlin Ethereum Meetup 2019/01/24

Transcript

so I'm going to talk about nudity on subject I'm still not ready to pronounce that name so which I might still use the word Casper interchangeably in this talk but since civility was to assume to funders Kurt Cobain perversely is called Schatzberg so we just named our I assume two one zero trans Jasper as well because no one was taken I think and I'm going to sort of deep dive into this code base is going to be really technical but some yeah first person she about me have a rest developer I safari technologies and Shaffer is a people chance seen really cheap attention a few thousand of subject so first of these covers that this is only about be concern because assume too much zero is a large project and there will be many freezes to be tired of the first race is free through and we will get because even can of foolish way enough but just know that I miss peekins handy rule in freedom at least it will currently no shining not not yet with whom you have that and another nice timer is our code base was actually quite old it was frightened when the two point one a specification of different time came out and we still have some part of it during our in time so our phone is still like our 60 or 80 percent spectral fuzzy row but this table will be based on the newest current spec and is also I'm not going to be like really deep into the the piece and chance specification but I will touch some of it but this one will be more about the shaft first implementation how they do list on top of South Creek I was asked to make make this talk very technical hopefully I did it but most most of the time like this you are very familiar with like to improve on deal with how we fund its operational it's not very familiar with subscript and I'm not like the author of of the big intense Bangor or sub tricks so so this house based on my current understanding and some of them may be wrong so if I mean 90% Christ and just not familiar with those names so solidity is going to like try to solve the current I assume really fresh and follow its kinda shoes feeding and we're doing that in the first three 0s we can chat we also have the shiny Casper proof of steak consensus our wheels and substrate is general broader frameworks that we do military technologies so we write iranian food us and it's also really related to web assembly which i will talk about yoga later but first still pops in infinity security is like so really observe me motion right don't have like anything else is just bare minimums who can approve of states I'm going and like we want to do further charting or actual like you have to do two states transactions stuff like that infrequent and threes too but right now we're just trying to lay out the foundations and make the filter work of assuming through audio media so so what we have actually in the we can chat with you so we have a luggage transfer function that allows you to transfer market from so assume one country which hand into the beacon check this is actually more like a port like money's forever loss in the very students 1.0 channel and it stores the validator states and balances basically this is meaning for the proof of stake consensus and also handle the reports and those violetta make attachments and this testing is to make justified and finalized block and those are all terms in Casper which I will talk about later but this is those all part of the form of state our rhythm and we will also have some slashing conditions it's also for the Casper consent orbital that for the validators and yeah and of course we have the customer for twenty and Casper is actually like so the actual definition doesn't really taps the proposers layer but we need a way to like make proposals so current even has a run dog algorithm to do that which is just catching some random a random function that allows you to choose the proposer on the chat box there are some security vulnerabilities or cordless appear also like solutions but right now we are not going to be improvement we are probably not the suspect is obvious paralyzed but from what I understand right now we are just eating run down to select composers so so the thing is nobody is able to make connections on the beacon chime and the only thing about participate is become a validator and a test blog for false blogs but we need a new new blog chest so so we need a new clock same time now now what we do so a blockchain contains a lot of functionalities the most important part is probably straight transition and conferences like for the most important it recalls that's what if you if you're currently looking to the bit content specification this is what you will find with state transition consensus and in the future we will also need to figure out like in the very start in future we also new to figure out how our chance actually communicate with other peers and so we will also have a stratification for networking but for this week we have all the other parts that we actually need that is hungry general because we like like if you don't there's no no special occasion for jazz and we use any framework to do that so this usually is like you say this part we have actually is Dostum at several times like meaning sometimes like in imperative in in gassing other phenotypes fiber the issue is reusing the code like to use of this type of other transition queen or the blocking partner in order to add emerging is not very easy so easily that the data structure we have is actually very thin to the state reduction at a consensus part so so we can just directly take out like a collection quick abuses in another track and also for Pekin Chan everything is vastly different like all the block structures are different the way the way the consensus work is also different so there's coming nearly nothing in common and yet etc how fabulously rich is to the hack hack Street two to five six and if we if we want to like to eat like an existing transact in party room it also a lot of additional complexity that is very hard to handle so so actually this is not the only place this is not the only thing we're really people try to like for us we try to first research whether it I'm doing in party soon and for other teams which tries computer build up people champion like the Harper Lee team they also tried to write the peak and shine campers are existing code base but it also worth telling five workout so the real app is to trust either and start from scratch write a new trend right all the other stuff we need ourselves or or we can try to build a new subject so so firstly we first find a second one because this even for us and is what we was a get from structured so so it gets like front and back assembly by default and I need so the saturate framework is viewed with the light clamp consensus the light random and so you always have some light ranch functionality to work with and also though the Bible subjects used to run the R in tax and we get over the hard parts that people just want the T for the invitation right which is we just pumped a patent state back and read course which is from the selection for networks so and also the basics Chang singsing and also the basic teaching RPC stuff so it's a mostly genu blockchain framework and we actually have a lot more touch probably not covered in its talk so this comes to our current transfer context so we have basically we just need to implement tracings of course there are some comments that we also need to add some supporting it's actually but basically we just need the most recent the real-time consensus and low calorie first things also the planet different logic that's currently we don't yet have the vanity fair' logic and other things and hopefully will be handled in subject and so it only to write it again so first of all the the real-time so so so if you're familiar is with problem check boxes that is probably going but basically you have a child club but those clocks who also have state associated with them and how we'll translate from one state to another is through a state objective function so in some trivia with how this 600's function also exactly so how does it work in factories so supers a previous course several functions that can be correct like I'm so later and we talk with the state patent like if you need to store actually start something to say you use the state patent and we make make this over this this real-time always bringing me to be and give ever something oops will also make sure the weather subway back totes its right training through the state so this is this is just so that that it is easier for such always other subject no chance I mean we want to make sure that this state rejection are always deterministic so I've also talked about it later so there's an example how things are you already finding something it has like this are these are extra functions that can be pirate from for from a challenge rental so for example is if of trends on to the single dog and further the state religion from training jiu-jitsu these compliments and how these execute love function or if we want to do the new block ourselves we want to propose a block when they use Chinese extrinsic finalize block in early extremists those functions to the drug dealers which we can generate a block and so we have a substance in that treat a block is always structured at least real spider and extrinsic they have a few more other things but here so we want to make sure that if you have a higher wealth mixture that it can always be generated from latest rates or window collection to say five matrix parallax and we want to make sure that so called extrinsic comes all the registered output but like nearing the outline of the block chance out of a set of a subject role if for example in hidden Transpac they have only had this turn rules and suit group that can be statically generated either with your block or we penalize a block but for this slot or for this blend or review for assuming my data and for signature is always the trans down with external angles so so how yeah there are also like a lot of other stuff in the even in the beacon Transpac given the top body so so what we do we have hammers that comes in external output so so solution just who wouldn't wins extrinsic so it splits Trinity into two parts first because the curve means it's physics which is really had one protect and we generated internally within the crack so this dish or things like that that will be the spot and assume another soul this they are externally inputted into the red track and we have actual selections which this currently actually whose attention and also scratches deposits go sandal strap in the future so so this is how the current in each is equal to track [Music] so first we we get some it is extrinsic stutter and recovery hunting through this function which actually generator it in physics for us to to to shine this the sequencing will be pushed to the Hatters plot spot and let me do a little applying should stick with just transcribers weather has subsisted its principal suggesting that they have drag force in finish so this this is the subject attack Ferdinand so now we have a block structure that looks different when storm is turning time means specification so so in this case which is generate attacker measured as converse is internally those internal representations intruders specifications registrations and this of course come with some performance penalty but as long as we have to know the hashes that can be computed cheaply the iris which should be fun because we're just moving a bunch of banners around there's also the muta find support in South Korea that aims to solve this problem this is mostly for seems like we need to store nice or store like Mac I'm doing but that least or Mac also has a certification of the we need to do something called 85 so there's about Ratan and makes it's about consensus consensus this is a brief overview of how the Casper FFT works which is current density can chat we might switched who has proceeded easily but nobody's sure about that yet so so far so how the Kasparov acting works is basically we have a piece of validators and those values would a test block that we think is the so the next hat Angie's is Tran Phan dog ok enough religious tests since this is Boston to this from block handful of former supermajority and in some conditions which they use some conditions for the supermodel metro feeling both so remarkable and as justified if some further familiar holds the massive block has finalized so in this case we is if no more than two-thirds of the validators violates 2/8 conditions then we will always make sure that we don't we don't finalize to block at the same spot so so so in that case we there's also other properties that we make it that is the adhesive so for for consensus right in the Jasper for bass with this older slashing and evaluation attention validation logic can be done just you've intact and sometimes we need additional information that doesn't actually need in the respect but we also put them into the real time because those information are needed by consensus at least currently we only had one engine instance if the latest attention information from different regions so so how do we actually do the concepts as a profession so we're just data gate I came into tricks like this which you block like like all the important how this idea called observers and this thing for function hundred decide whether I want to abstract this blog whether about actually want to satisfy sure I know chance or it's just released seems like that and and this is this which Australian human district they always had like most of the control for it so in this is how to validate assume work for no data so which we use so you heard extrinsic but because the logic is kind of inverse which you need to have get into the real head first and then either in time violated but of course we can't do the validation in return because in that case the real time wouldn't be very different instances so in this case we make the constant they're handled evaluation and use that for whatever sauce a box so so in that case the midterm will just accept whatever random detached from the my data the concept of mayor will handle the validation actually reject love you sooo much so so the stars have any difference I greet I was party to with Apollo a with parties you more just we consume a hearty stay put or anything else [Music] another seems about processes is how we deploy artwork or Schatzberg the issue is reading notes repair assembly bad code into the states so how you change that the solution probably a better solution but clearly the thing I'm singing about is to just athletes using the word extrinsic and I yeah the concepts explains that if we want to import is in a particular block so the consensus their actual can just reject if in that particular block if we don't have a section in stress acting with considered the block to be embarrassed and bothered by sources and imagine there are reasons but a world of network so currently there's no not education yet so everything becomes tough with others even chimes and yet but we can't because sub-tree Hajis on network here so we can speed up at the hotel and or seems like that but once the education is often we probably would just family units with a network clear or in the worst case we will just create a new network layer and use the external function manually to get the block back from different chart types all right here so that's basically and anybody

Automatic transcript — names and jargon may be misspelled.