{"id":"xBfC6uTjvbM","title":"Whiteboard Series with NEAR | Ep: 14  Alistair Stewart from Polkadot |","description":"We had Alistair Stewart, Researcher at Web3 Foundation (  / web3foundation  ) and one of the Engineers at Polkadot Network (  / polkadotnetwork  ) join us for the Whiteboard Series on Episode 14 with our co-founder Alex Skidanov (  / alexskidanov  ) \n\nThis session was shot during the ZK Summit in Berlin (organized by Zero Knowledge Podcast — https://www.zeroknowledge.fm/)\n\nLearn more about,\nPolkadot: https://polkadot.network/\nWeb3Foundation: https://web3.foundation/\n\nDownload the video here: https://near.ai/a16db\n\n------ About Whiteboard Series --------\n\nThe Whiteboard Series with NEAR is a set of video interviews with Founders who are building scalable solutions for Blockchain.  We deep dive into their story, what they're developing and how it is helping the ecosystem. \n\nFollow the latest from NEAR Protocol on, \n\nDiscord: https://near.ai/discord\nMedium: https://near.ai/medium\nTwitter: https://near.ai/twitter\nGitHub: https://near.ai/github\n\n\n\n#WhiteboardSeries #FutureIsNEAR #Blockchain","channel_name":"NEAR Protocol","published_at":"2019-04-08T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/xBfC6uTjvbM/hqdefault.jpg","transcript_text":"hi everyone this is Alex from near we are at ZK Summit in Berlin organized by zero knowledge podcast and with me today is alist from web3 Foundation uh one of the uh engineers in pulot alist would you like to briefly introduce yourself and give us an overview of the protocol yes I'm a um research at the web free Foundation um and we've been working a lot on the design of polka dot uh so expect to talk about uh best about the design sure would you like to give an overview so broadly polka dot is a if you it's a heterogenous multi-chain system um in particular uh the architecture is such that we have we have shared consensus in exchange have sh security they also have shared state which makes passaging messages across fairly simple um so we have one relay chain this let's have a blockchain and this is going to be a relay chain and um a load of uh parach chains and the principle the the principle the way this works is that um we have a new power chain block uh a hash of this block will go onto a relay chain block so a relay chain block may contain a hash of um blocks of many pars and thus the relay chain sort of defines by this change of hases the state of the enti syst now what next well how exactly does this this this work uh there's going to a bunch of uh we going to elect a bunch of stakers uh for the read chain called validators and they will going to participate in the consensus of the relay chain but they also um do something for the par chains Nam as their name is they validate them so what happens is we have a set of 100 to a th000 people here and we're going to split these up at any time they're going to be split up randomly they keep on getting red signs to these various par chains and so um so say there'd be five people here and some of these say three of them are going to have to sign this this hatch to say that they've seen this block they're going to keep it available it's valid um to be sure that we're only putting good stuff on the we that's the the basics of that um and so well there are many questions from here right yeah one question is uh so validators they stting some sort of native to token on the right yes validators will be Sten do tokens they'll also be uh elected by nominators who don't participate in validation themselves but but uh delegate their do and so nominators also State tokens nominators also State yes and uh their state gets divided among the validators that they that they trust mhm and is the um is the price of being a validator fixed throughout the life of the system um not at all so what we really want to do is we want to uh you know we want to elect the 100 or the Thousand that we can back by you know uh as much Shake as possible in fact because it takes a constant number of validators not to uh to cause trouble for us rather than sort of a third you might have with with say tend um that we really want our validators to be sort of backed equally so we want to sort of Select our validators such that you know the thousandth the hunds data is backed by amount of Dos possible I see so for example let's say there's only two people who sted let's say it's you and me yeah let's say I st five tokens and you st 25 so effectively we're going to distribute two of us among 1,000 seats right and so I will get like one six and you're going to get the remaining ones um in principle yes so we need 100 people to do validators but if if I delegate to 100 validators you delegate to a different validators if you you you vote for a different validators then that will be the distribution I and this so This is actually a bit different in the way say defa do it defa is entirely approval voting if I voted for 100 you voted for a different 100 then all of mine will get in and not of yours M or in Coss where you have bonds approval state where you have to select each individual uh G but but in this case neither of us would be a validator we would be nominators right well we could be validators I see it's a separate Ro yeah but so for example again so let's say so well we both start with a so you're going to be a I'm going to be S um so let's say you st again 25 tokens right I st five but then you nominated 100 people and I nominated 100 people right but we only need 100 total right so we only need 100 total so that that what would have so if there were different sets of 100 people obviously they can overlap yeah in case the guys who overlap would obviously get in if there were different sets of 100 people then what would happen yes is that I you would end up with a six of yours get in sort of 16 which sort of each of had your things spit evenly among them and I would have um uh yeah the remaining five six and everyone be would be backed by about3 or something M uh I see I see and so but then different validators are back with different amount of of dots they can well so here they be back by about the same M uh in principle they can be backed by different amounts of Dos yes I see and sort of the way we want to reward bodas is we're going to be paying them all equally MH which means you want to be uh you have an economic incentive to equalize uh because the person the people who have their state back a person with the least State get more money those the most but then again you should only back people you trust because we going to slash you if they do if they do something very bad MH and so there's some concept of epoch right so how often validators get reassigned right to par chains so this election process isn't so trivial we're not going to do the sort of ongoing thing yeah we're going to have um which be several hours to a day maybe in which we you've got an election when you and so if I but do do I get to reselect my 100 or what I you get to you could get you could do a new vote I mean you don't have to expect this going be very static but you can you can submit a new vote inad of over your your old one be but if I do not reselect my 100 say it stays the same the the sample will change right on the next ep the different set of no we we we might elect the same people I see uh sort of so the distribution between power chains that that that changes much faster than you thought MH oh distribution between chains changes faster than yes yes the set of validators only changes every but the distribution between change should change quickly how how how quickly does the distribution this is open question so you know we would love it to be every block but that is the problem that you have to connect to the network of each of these chains this will slow down um so it depends on how much that is but it will be uh minutes rather than hours minutes so I see so for example like let's say there was five validators here few minutes later it's going to be completely different five validators yes now another question is uh well I guess how frequently does the relay chain produce blocks well we're aiming for second I'm not sure this is a senent but we're aiming for second MH and and part chains um likewise it sort of depends um but in principle you can be in every Rel I see so effectively but but there's some sort of they they more or less synchronized right um well that some power change might be slower and they won't get thing into every relay change Bo mhm um and that to depends on what's going on but some of them will try and get something do you know it won't be it's not going to be exactly synchronized MH and so one of the core propoerties of P I guess is that the part chains are different in nature right absolutely these things all have their own uh State transition function and maybe all kinds of other interesting stuff that's going on beneath the surface and uh what's exposed to the the relay chain to the poked do clients um will be so these validators have a straight transition validation function they can use to check these blocks mhm and those will be different from different chains and that is that is a just a wasm binary right yes just a a yeah a was mhm and who who so who's producing blocks on the par so this is the job of of cators so we have these uh these no in par chains who are responsible for um yeah creating this block which is then signed by validators get on here lookat sign the block anator sign well okay so it's it's a a c efficiently signs the block there may be other things going on uh beneath it I mean we we sort of there may be some method to just select cators uh you know they may be chosen by their own proof of State maybe proof of work or it could be arbitary or we could have something which required multiple placates to sign up on does does the Rel know anything about the procedure of how no no so the the relay chain it's a collative us the block and we run the state which a validation function mhm and if that says it's valid it's valid but could someone completely autal to the Rel to the relay chain try to pretend to be a cator produce a block and send it to the validators right so if if for instance you need state to be a cator and maybe be staking dots but that's SE if you need some power chain token that the Rel chain doesn't understand then the state transition validation function would have to check so if you want to do proof of State what you'd have is the state transition Val C decides do you have this state is it your I see evaluate your right to use block I mean we can even do pro of work it's very simple to for the state validation to to check that this hash is full MH that's a very easy thing to do I see I see so effectively if I want to simulate like if ethereum were to become a part chain then it would be just the work of the uh validators to verify that the I guess the hash is the largest but you're saying it could be for four but you but at the same time um you say if the hash is if the hash of the block on the relay chain gets finalized on the sorry if the hash of a block of a par chain gets finalized on the relay chain is there a requirement that par chain respects that in the for CH R absolutely so so this is shared consensus what what basically that means that what the relay chain says goes which means it should have been good by the time it already got to the V chain it should be something that the pr CH have but that means that ethereum per se cannot become a relay chain no no no so ethereum we have we of we plan to build a bridge mhm which is a whole load of different technology but then the bridge will have to like wait for sufficient number of blocks to to be certain that the block is finalized effectively right yeah so with with current proof we to go bit yes it will have to wait to be finalized before we can accept an incoming thing and likewise we'll have to accept things to be finalized on this end before we can mhm yeah but one of the advantages of this architecture is actually we don't need things to be finalized to passive a message from one par chain to another I see so one par chain can send a message to another par chain but that par chain is effectivly taking chances that the block well um so the power chain Builds on a sort of relay chain block and uh that will tell it sort of what messages we should have got what block what power chain blocks we we should be looking at and uh you know this thing will have information about whether they sent us a message and there'll be some has to check so as long as we can keep the relay same state we can work out what messages we've been passed but do do messages you're saying messages don't have to be recorded on the the messages are not themselves recorded but the fact that there wasn't a message that's just one bit is recorded as as long as as well as a hash of all these messages so we can prove that uh you give a voal proof that this was the message I see so so like effectively what would happen is uh so let's say I have this uh par chain one I have par chain two and this is the relay chain right uh so what you're saying is that I will produce a block and this block I have some messages for the for the chain too and so I will build like some I will compute some hash of those messages stor it in the hash of the block effectively to an extent yeah so there'll be some uh a header that goes onto the in the header of the block right head this it will sort of have one hash for all these messages sending out as well as a bit field saying uh who we've got a message for so only one bit per par because obvious that's quadratics don't make you pay yeah yeah um so now from here a few other interesting questions one is well one is sort of completely orthogonal to everything else but um you need some good sorts of Randomness right to assign validators what is what is the present approach to randomness of course well the first thing is there is actually no perfect way of validators um so the current thing is we're going to use um almost the same thing that same thing same ideas everyone else is using um so we're going to use verifiable random functions from block producers validated producing blocks and maybe we're going to combine those and possibly we going to run a verifi delay function on those I see so so it's close to what ethereum is doing it's very similar to what etherum is doing and currently they're doing this this long chain of hats but I'd imagine they're going to switch to VF eventually because it's more sensible uh in which case it's almost the same thing and it kind of has has to be so the par chains we have to know in advance where they are so this design makes sense you need to know Advance who the validators are for a par mhm cool now um P does not make an assumption right that at no point all the validators manag to collude right so we don't want to make this assumption there's only five validators and what worse is that they all know who each other is so you know if I can get five validators maybe I want to just wait until they're all randomly assigned to the same par oh but five is the actual number it is actually I don't know if it's GNA be five but it's going to be some small some constant number right we have we want to have a lot of pars M and so maybe I own all of these guys in which case they needs to be a back end right and this is where this is where Fishman come in well a number of other things so if if um you know these guys sign an invalid block then people can claim uh some fishermen who might be on the par chain maybe the relay chain who knows they they can they can publish a transaction on the relay chain claiming that uh this thing is invalid now if there was a proof a short sport proof they they published that to you if not things are a bit more complicated so this a short Pro proof we we just we we just slash we just verify on the on the relay chain and we slash these guys M and uh but at which point is the block considered final is it when this when the hash first hits the relay chain or is there some time out during which the the fisherman right so there's a number of complications here so firstly is we have uh our validators are going to enter into some sort of Byzantine agreement protocol which is a finality it's a bit like C from Grandpa which is going to finalize these blocks in the relay chain sometime after they've happened that's all the validators within the relay chain yes MH and um but even then we probably have to wait some period before things are actually after they reduced if we finalize them faster then we might have to right and so so that's that delays for the fishermen to to produce a challenge sure yes and do they have like a rough estimate for how long would it be meaningful to wait well so the the hope is that the economic incent is me you don't have to wait at all but it all depends on what you're trying to do right but then someone so for example let's say I'm doing uh some sort of cross communication right or sorry cross cross power chain communication I guess it would be called so cross power chain communication we don't need to wait for finality so the trick is the bridges right so I'm we're going to bridge to bitcoin and we're absolutely sure the Bitcoin bridge is going to have to wait before it gives out a lot of Bitcoin to someone but but let's say let's say we live in the world where other blockchains do not exist anymore and it's just party chains right so like there's one part of chain uh which became the defacto currency for example right uh and I'm sending that currency from this so let's let's call this a currency par chain right and so I'm sending money from this par chain to another par chain uh for the for the for that part chain to take action on this transaction they would probably want to wait until well no no you don't need to wait at talk that so the reason is is because once this this thing is invalid we're actually going to follow a different for so once something it's like if this thing sends out messages this invalid thing said that message which here it did right MH then effectively we have to rewind it so so you're saying if a fisherman so so so I see so let's say let's say so fisherman so this blog got finalized or like rather it was published in relate it was published then we discovered that one of these things is invalid and that basically makes the whole block invalid I see and so we have to switch to for I see makes sense and that that effect will also roll back all the short chains yeah MH exactly so that's one of the things we shared state if we Rel chain everything F so part part chains can safely take action because they will be rewinded but if I'm a user uh and then I get somehow um it might not be final inless you think this is a serious issue for bridges yeah okay so now that that brings another interesting question which is um validators also responsible for data availability right yes however if the validators colluded together what they can do in principle is they is they can say here is the header of the block yeah but not actually reveal the block to anyone and so the fisherman cannot even yeah the collor and all these valid dat is colluded and then it' be bad we finalize it and it would be very difficult to attribute and that slows down the checking a bit uh so what's so the scheme we came up for this is like um similar to thing that filecoin was considering and uh some ideas have been posted about ethereum for about how like point should um deal with availability uh which is we're going to use Aras coding and so the idea is that these guys are going to send uh pieces of this blog erer coded pieces to all the other validators so everyone has a piece of every blook all the relay chain validators have a piece of every blook every Power chain block goes into relay chain but it's only uh a sort of fraction that's scaled with the number of validators so they have you know constant size per per block even when there's lots of project and um and that means that if these guys go offline everyone else can uh work together so if if the read if if if the par people can convince the relay chain that something is available then in principle we can reconstruct it and it's available and the way this aradi code designed is um so we're going to do this um bustine agreement to finalize these things and that means we need two3 of people to sign this thing and if even if a third of them are dishonest most you can take it there's still going to be a third of people who have signed this thing and the idea is they're not going to sign this thing unless they have the piece MH and if a third of them give their pieces we can reconstruct you know anything anything and and this validator has a unique uh validator has a Unique Piece yeah this is even deterministic it's not Rand because we know who they are so the block let's say the block had size n would you need to add like two 2 N More another 2 N the ARR code thing is about is three times the size yeah cool yeah that sounds like that would work okay but of course there's an issue which is that if this block is invalid we're going to actually have to reconstruct it and off for the fure check it yes so I this is the problem if all these people have it that's true but maybe this everyone running the power chain doesn't have it if they don't then they can't check it MH and we need someone other than these people to check it so then we have to have a procedure to work at when we should be reassembling blocks Bas based on prance on signals these people say it's not available and we should probably be doing this randomly anyway but uh if people say it's not available we have to try and reconstruct it someone else will have to reconstruct it actually so the protocol there's some person on the part chain or some entity that wants to validate every block and at some point they can everyone on the power chain should have every block but but but who is on part chain besides validators and collators or just like us so all the full nodes of this full nodes you know they download a valid everything that's that should be what they do um and if we're just handing out AG coded pieces we need to make sure that all the full nodes actually get it in the end otherwise they not only can't validate it but they can't build it out but timing wise so um at which point should the full node suspect that the block is unavailable and well that's easy straight away because as soon as this this cator should have already have gossiped it to everyone else if they didn't they should already be able to ask the people who signed it for it and uh that doesn't happen they should be uh you know trying to alert us that we should be trying B yeah and is there no but but that means that there's some sort of protocol for the potential fisherman to to to retrieve the block right so does that not introduce some possibility to to do found the network it should so the thing about politic challenges is that well okay so this was for a for proof If you just had some subjective thing something which we couldn't fit on on the Chain it would be subjective and you put some you we'd have to put some State behind it and have people check it um but yes for availability it's a lot more tricky mhm uh to try and work out what the protocol should be who we should Trust on this end uh and make sure that they they can't so there's a balance in between uh them being able to spam requests for things they have but we don't know they have because we're not on this network and um making sure that someone checks everything and uh so part of the um normally it should be okay if someone random on the we they chain check something so the the problem with just having these five guides is that we chose them to advance so the the the bad guys can just wait until they all they're all working together MH where if someone random checks it it's much they you know they they can't H have no about and so for fisherman there's no there's no timeout right can I in principle like wait for for a year and then say well there probably will be timeouts but they'll be like a day or two yeah they'll be they should be much longer than we hope to we hope to have Aris in the system mhm and on the part chain can par do par chains have to use dots in any way themselves or par chains can can can be completely well this is it's actually not clear to me where the collect is going to have to State dots it might do uh fisherman um some of the things fishermen do will need to be backed by dots although we could explore alternative ways of of debling fishing um but other than that everything else can be in their currency M and what is the process so I guess to become a validator I just go to the relay chain and I post some transaction that says I want to be a valid validator then I I put some my own state will get some other people to Nate me yeah and when I don't want to be a validator anymore and I said like I want my stake back for how long do I need to wait before it is released right well that that's a question there there will be some period be for which you are vulnerable to slash MH and uh the principle was that this period should be long enough that we can't do a long range attack mhm obviously you can always do longrange attack right it's the question is like how practical it is yeah the question is is what point do people stop believing stop caring that you uh you signed something on on a change months ago yeah so on ethereum this is like four month right they something crazy long I'm sure we'll be shorter than that but it will be significant MH 7ly weeks yep uh and shall we talk about consensus is there anything else that we want to talk about on the overall architecture I don't know yeah so um for Block production we we we're kind of considering something like a a Ros press yeah you have a a vrf to select uh the people who producing the producing n block so no one knows who it is um and that and this bus agreement G that's how consensus works on the relay chain par chains yeah they might have their own systems but the basic idea is somehow we have a CLE use of BLS MH the five validators do they need to reach a butine consensus among themselves no they they they Lally de a block they can sign multiple blocks and the person you know and the person uh creating this block which would be another validator nor uh would decide which of the blocks which has enough signes go I see so so if possible in principle that there's going to be five blocks coming from five different validators yes and it does depend so it's optional on the on the parach Chain side if they want to have some kind of rate limiting thing but what what is the motivation not to have a bantine consensus among the five takes one I see uh less messages better yep uh cool so and uh so let's talk about gramar so my understanding is that grand itself is not it has like non Byzantine consensus and Byzantine consensus parts right um so Grand power is the the finality C the business part I see but but the blocks can be produced blocks on the Rel CH can be produced but just not finalized by the grand for right yes so so the chain can continue growing yes so for example if we have if it happens that more than one third validators is a fly the chain will continue growing the chain will continue again if there one third to come back back then you know then we can we can finalize lot of but can validators rotate uh without having one third online can they can they can they reshuffle so so like can the EPO change without having this is the tricky part so we we have a forat mechanism uh whereby if um if we don't have a thir longer uh we can eventually um basically fullback the longest chain or ghost or something on the Chain um and agree on the new set validators we're still discussing that's going to work I see but but without without that fallback the back the chain will carry on but you never finalize it I see and the will never change as well that would cause trouble yeah unless you had meod to kick out valid end a small yeah but without um without the bu te consensus do we just use ghost to choose the longest chain or is it just one of those will probably be the thing so that doesn't really matter that's the the grand itself it's kind of abstract do with anything but for Pok dot yeah M we'll go for something like longest chain or maybe ghost if you want fast faster block production and you're saying the blocks are going to be like within a few seconds they going be a few seconds it goes you get a better idea than long Y and then and so gr is specifically a consensus yes and what's the block production we we thinking calling it B at a minute that was our uh our contrasting name for the block production mechanism how was it called babe babe bab and yeah but then like the first sort of obvious question is why not tender M why not tend well that's definitely a good question because I kind of suspect that it would work um so so the the thing about Grandpa is that um it would theoretically if we can scale this to a th validators and maybe 10 Works f with thousand validators M but we want to scale this up to as much as possible and that might make it a bit slower um and unlike so with with Cosmos you need finality to uh get Mess send messages from one chain to another so they need fast finality we don't um and this annoying business of having to revert sometimes means we need to deal with folks anyway and it was lot easier to work out how to do that if we had this GU system it also means we can deal with um like ethereum want to uh say that their systems going to survive World War I so po MH cool um but but it will need the fullback mechanism for that right yes yeah so so before we go into the details of of grandar I I would like to to learn some properties of it one of them is let's say that this block was finalized with grandp Y uh so so this was finalized but then the next block was was proven to but at this block we learn that this block wasn't valid but we'll still revert right right yeah well okay that that's the thing we hope doesn't happen too much MH because when it does we are going to have to ignore finality which is going to be a problem for lifelines right absolutely we'd have to P the chain here that's the only way of doing it and then like clients wouldn't know but there's no way around that MH uh it should probably be the case that we find out before fire it does depend on how fast faly is mhm I see and um so Grand I presume it has safety uh doesn't require partial partially synchronous Network for safety so yes it's going to require partial syn Network for safety we could get round that with a common coin but we don't we assume we assume the partially syn Network it can deal with it's it's the Assumption where we know the network delay but maybe it doesn't hold sometimes mhm and it can recover from it not holding sometimes yes it's it's a sort of bustine if you think it's safe it's live conditioned on um sort of the if the underlying block production mechanism is life itself it has a certain life property so does Grandpa and this is this is this is a stronger property than the plausible liess that we've got for Casper FFG so far it's actually uh if you combine it with the right thing you actually get a business degree with it nice co okay now let's I guess let's dig into how Grandpa works okay um so the idea behind Grandpa is um so Casper F50 it's this spy Gad like Casper F50 we're going to uh we're going to have some underlying block production mechanism it's already going to give us prolistic finality but we're going to want to uh get a bunch of people to sign off on it so we can convince other people other chains by bridges that this is fine M and um the idea is that so Casper FFG had these checkpoints every 64 blocks we have a vote grandpa doesn't work like that whatever we we agree on uh we can what the the the length of the round is sort of independent of how many blocks get used MH how do we choose which so so let's say since the last agreement there was like 20 blocks produced how do we choose which one to agree upon well the answer is that everyone just votes for the everyone votes for the uh for their best shap MH which will be the head so people people different heads will see uh we'll vote for different things but the vote can so for example if I voted for this block and you voted for this block they will both accumulate they will both ACC this block so this this is the idea so it's sort of like a bit like ghost on votes it's like EXT yeah exactly so this ghost on on so so what we do is we we have a we have two round of voting saying preot and pre-commit got T it calls them um so we we do ghost on our our prevot we do sort of two-thirds ghost we look at the the latest block that had uh 2third of people voting for that block or anything after it MH and you can sort of follow this by following a ghost type of thing and then this is what we're going to pre-commit and then we do the same with pre-commit and that tells us what we're going to finalize mhm and so the idea is that we finalize on on the on the Block that two-thirds of people agree agree is is in the best so so so again so prevote I understand right so if if a certain block has two3 of people voting for The Block so people have two two so so there two different messages that they can send on the Block I can say prevote on this block and I can say promit on the Block right yes so there's going to be two rounds of voting yeah and any vote so to vote on this block so basically it sort of count counts as a vote for every block before it and it's imagine sort of at every block height we're going to do a bue agreement out we're going to see do we have two3 for this and then we're going to have a second round of voting get two3 for it again we find myself right and uh the way this sort of ghost on votes work is it does something it produces something consistent when you do this in that we all agree on one chain I can't agree on a block and one chain and different block and chain yeah that pretty convinced is the case so but for me to understand right so so let's say we have this block or like let's say we have let's say there's no Forex right at all uh and so let's say there's four validators and so let's say Alice uh put a prevote on this block y uh Bob put a prevote on this block and Carolyn Dave or I guess they we don't need for bantine consensus and Carol put a prevote on this so at this point this block is sort of voted for right right so so there's three three how many Val there's four three out of four both this B yeah this B and so at this point if if let's say I'm Alis yeah at this point so once I see this T PR votes I can put a pre-commit on this blog yes so so so Alice might preit for this book now it may be that DNE voted for this blog but Alice didn't see it this is prevote yeah that's a prevote May yeah this is a pree say and it may be that that that means that that well uh prits for this one because he saw because Bob saw that and I was didn't but but that that will count here but count for this one anyway but at this time Carol when Carol observes these messages Carol can Carol can either see this three and and promit on this or she can see all four and promit on this right but nobody can promit any further yeah so people going to promit okay so when you for me fa you provide a proof of some sort that you see no there's no actual proof that gets difficult so it's sort of the the accountable safety would have to decided some kind of challenge I can PR it without the proove but you just will not you will not respect my promit until you see yourself two third well yeah so the support of the process involves um waiting to to to um so to go on the next round so this is a difficult pit so the the preves and pre commits a lot of BU agreement algorithms do the same thing here um often the tricky thing is what happens if we in the next round do we know um we want to be sure that in the next round we we don't finalize something on a different change to we we might have finalize this round uh you know so may maybe we finalized this one but we only saw this one we we can't be voting for this one it for a block like this in the next round I presum that and everyone who recommitted on this block will not promit here right Ah that's that's that's the tend way the tendent ways to do that this is not how Grandpa works it has it works a little bit like some of these asynchronous bus algorithms and like uh algr agreement where what you do is you um you wait until you've seen enough prevot to work out enough you wait till you see enough prev votes and pre commits uh to work out that only one chain could have been finalized and assuming that there uh not a lot of people equivocating or doing or recommitting the things that were Justified right but what happen What happens if let's say there was a fork right and so we have Alis and Bob here prev voting and Carol and Dave preved here right at this point nobody can ever I guess we can finalize this block at this point yes we already finalized it but everyone does that and then we move on yeah finalize that so so so the property here is that if we do this two3 GES and only a third of people are equivocating then although people may see two3 with different blocks of different heights they're all on the same Shain and this means that honest pre-commit should be on the same chain and this means that people finalized blocks are on the same chain and once more this Shain is the one that we should be voting in the next round after it's just a question of seeing enough votes um that we be sure how long of this chain right at but so consider this example right so let's say um so let's say Alice y observes her vote Carolyn Daves yeah right and so she recommits uh on this block right yes and so Alis recommits here and after that happens Bob shows up uh and so Carol and theyve they promit on this B yeah right so this and at this point Alice and if Alice hasn't seen Bob SC then Alice doesn't know Alice knows that this block is finalized but Alice doesn't know whether this block is finalized or not right but at this point you see what what but at this point we we we we if we business V on we have to carry on to the next round but how about which block do we finalize so we finalize so the answer is what should happen is that we finalize this block mhm and everyone in the next round is going to a prevote for it to this block or they must so if we see Bob's V pre pre-commit and it's for this block then it's okay to V for this block but if we don't see bobs preit at all then we kind of know that this block could be finalized uh you know there's a possibility that when Bob comes in that's going to finalize this block and that means we must be finalizing this block so the algorithm tries to work out what is the last block that could have been finalized so to be so to could be finalized if the these missing pre commits or or maybe some equivocations come in m so the idea here is that it will never be the case unless obviously we have one3 milous actors yeah that we have pre commits on two different chains within a round sure that that that's also great yeah right and so because of that we should always be able to to build so effectively we're always going to be building on a chain which has at least one promit effectively because that promit might have unless you certainly see that the trouble is is that um well is true if you sort of um it might be the case that we we we see a block with some some prits uh with a a preit MH and and um but maybe the so you know we may have promit for things on different chains and unless we saw the pre unless we saw the prevot we don't know which of these guys is is misbehaving I see what you're saying um but then you wait right so well in a sense so what we should be doing is looking at the pre votes to work out what the chain is that might be finalized mhm um because for sure if if these guys are voting on this then there should have been prev votes there should have been two3 pre votes for this block and the assumption is this kind of uh very like tender we're assuming the sort of partially Sy gossip model if any honest validator receives a vote it should go to everyone but consider this example right if they see these votes then that means that they should relayed the prevot and that means that Alice should eventually see the prevot for this block so let me think for a quick second so let's say there is seven actors yeah seven actors we have a fork we have pre-commit from so seven I'm going to use numbers actually a b c d e f g g is the last one right so let's say we see a b C here e ofg here or other a so something so yeah that that that's the kind of thing you're thinking of I think yes so this is four this is not enough we need one more it has to be less it has to be it has to be less than a third of both one of them has to have less than third for sure and so let say G's here right um however what you also see uh you see pre commits you see PR from a here from E here and then you see all other PR commits here so there is b c g uh whomever else like everybody else if you see if you saw all prits you're fine because you know neither of these are ever going to be finalized so the so so the problem is the problem is is that um so there's two things bu te people could do to annoy you one of which is don't vot at all and the other of which is equivocate vote twice and the trou is if you see two3 votes we don't know whether the other whether whether the third of guys are Byzantine they may never show up so we don't want to wait for long than 23 votes but on the other hand some of the guys who did show up might be Byzantine and they might equivocate but so think about this particular example right so in this example yeah um waiting for PN waiting for who's missing c c and d are completely so maybe C and going to turn up here but but let's not let's not draw them yet right so so let's just look at this from perspective I'm a validator yeah so this is clearly final because 1 2 3 4 5 is 2/3 of seven yeah right so so this is finalized um at this point uh these two branches are completely indistinguishable from here right so I don't know and each of them could have been and yeah the problem is this maybe CG are going to turn up maybe C would good guys and they were going to turn up but maybe one of VF was a bad guy and they might turn up as well because bad guys and now this is final and this might happen to this one too inad but but you see that's a problem right absolutely yes I think this this example doesn't quite work but it's it can so now which of these do we build on well the answer is we look at the preas so the gossip assumption says that if a and b were honest and they saw 2/3 for this if 2/3 preot for this they're going to relay those prees if a and b were honest so so anyone the problem is that what could have been is that c and d preved i see saw 2/3 prevot for this any of those who already saw two two3 PR for this are they're going to reload those messages and what that means is that uh guy here is eventually going to see uh the prev votes for this one and then they know what to do then they can proceed as soon as they see the prevot and a and b should know them uh they they know that it's this one and that these guys were bad and we I should vote for this block in the next round I see and so so there's you're saying it's impossible to be in such a situation in which no no amount of waiting help you it's impossible to be in a situation which you no amounts of wasting wealth would help you furthermore if we're partially synchronous we never have to wait because we should already have seen these prevot before people started pre committing cool before we go on to the next round MH and for the next round all the prevot all the pre commits they they erased right right so we we we want to keep track of the last round the last round sort of tells us what what what block could have been finalized so we need to keep track of it for a bit longer than the prevote because uh it's like it might go backwards you know if we if we see more like this is our thing but if we if see a G come in if uh C and else was missing was missing C and D come in for this block then actually this is our estimate and maybe people saw this estimate would prevote for that one and other people are going to prevote for this one and we might end up getting two3 for this one not this one in which case we have to to be safe we have to wait for these M but we keep TR of what could have been finalized in the last round and then we can forget about those RS well we're going to keep hold of them for slashing but we can forget about them for the consensus algorithm is concerned in future round we only need to remember one round back this is a bit different than tendem where you have to you might have to remember many rounds back until you unlock from something and uh one of the reasons to do it this way is because I tried to work I tried to work out how to paralize tendent across multiple chains and it turned out you have to lock different things different grounds at different heights and that was complicated M this is a bit simpler mhm and so what is how much computation do we need to to carry out here to to compute the the finalization the computation is easy it's just count it so the the the the the tricky part is um in order to make sense of Bo you kind of have need to fully you kind of need to assume the block hatch so as long as again if the gosip network works you see you see all these block AES you see all the block AES eventually you can put them in your tree and then you just need to work out this two3 thing and that's not unreasonable given that people BL ghost mhm on changed in the real world and then everything else you just can't do yep cool okay the consensus makes sense uh one other question I had which isogonal to consensus yeah uh so you today PO today uses uh what what is the it uses pretty slow wasm interpreter right it uses the was pretty slow wasm interpreter oh yes well yeah uh so if if the block validation on itself is written in wasm right that's going to be slower thanm presumably right so so we're going to be able to we hope going to be able to compile this W to native code I see so the validators will all be run into W because rasm is the thing and other cators too uh because but they have fast computers that's fine because the rasm is going to be the canonical thing um but no should be able to leun the native code uh and have it come up with the same answer right and uh I don't want to talk much about governance because it's uh that could be one hour conversation in itself but I want to talk about the the technical what what needs to exist on the blockchain to enable the governance right so so the wasm code that is executed by the validator is it stored on the power chain or is it stored on the relay chain um the p is ex the Val has to the Rel Rel CH and that's kind of decided on so if parach chains have governance M and the relay chain sort of has to respect their governance I mean so actually that you know that that need be the architecture it could be that the state transition validation function itself has to uh somehow keep track of what the rasm what the actual what the real rasm is that's uh that's determined by the P so we could put it put that to the validation function M but in principle should it be able for the uh for the par chain to update their un on the the power chain the power chains it kind of depends on uh what the the relay chain does but theoretically it should be able to cross paring M to change their own code Y and the really can the real chain State transition is also lives on the blockchain right yes and it can also be updated and it can also be updated right and uh is it just and that is more complex than just two3 of Val right that's actually requires some sort of comp valid it requires a ref yeah well okay there's are various government ideas that would make it easier casement uh but it requires some yeah structure which in principle sees that all those is repres and and there the idea is that uh when the by the time the r changes the state transition changes majority of validators should have already upgraded the the client itself right right so that yeah it we don't need anyone to upgrade because they can just run the W and the validators are probably going to run the WM for a lot of things anyway because it's it's the canonical version um but we are going to have the client should have native code that makes that accelerates this for things which aren't uh aren't slash MH and the nature should do the same thing as the weapon but you know this going to be bucks sure cool well I guess that's uh that's most of the questions uh did we not cover something fundamental that that is very interesting um so I mentioned availability validity the important things uh how consensus looks here how the consensus might happen here I think that's and so message passing we maybe didn't quite explain who's responsible for what but that's uh basically the PRI chain validators are also going to keep available sorry for this PL they're also going to be the people you ask uh for messages because obviously the messages don't go on the Rel but it doesn't really matter who you ask because it's the hash goes on but then the data availability problem is back again I guess data AV so the DAT availability just like the other one and the Val is backing up because M messages are actually in the block uh the message is Al in the messages but but messages are in the part chain block right they in the par chain block there's AAL proof from the relay chain block that it's it's it's the right message cool awesome okay I guess that concludes the technical part and you will always ask one non technical question at the end when is the what's the when is the main oh when's the main that oh this year if you believe yeah uh this year that's definitely the plan and we committed to everything so when it turns up early next year it will still be fine right and the plan do you plan to have some part of chains like you will have Bridges as you launch well we hope so uh at least the ethereum bridge uh it would be very convenient because uh for instance the the pre-sale the AUM chain it' be very convenient if we could have the ethereum bridge good to go from launch MH but that's it's all the question of Technology we're not going to have many power chains at launch it's going to scale up cool when we prove it works yeah awesome okay thanks a lot for coming okay thank you","transcript_synced_at":"2026-11-04T04:31:32.187Z","segments":[{"start_seconds":4,"text":"hi everyone this is Alex from near we are at ZK Summit in Berlin organized by zero knowledge podcast and with me today","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=4s"},{"start_seconds":11,"text":"is alist from web3 Foundation uh one of the uh engineers in pulot alist would you like to briefly introduce yourself","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=11s"},{"start_seconds":18,"text":"and give us an overview of the protocol yes I'm a um research at the web free","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=18s"},{"start_seconds":25,"text":"Foundation um and we've been working a lot on the design of polka dot uh so expect to talk about uh best about","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=25s"},{"start_seconds":34,"text":"the design sure would you like to give an overview so broadly polka dot is a if","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=34s"},{"start_seconds":42,"text":"you it's a heterogenous multi-chain system um in particular uh the architecture is such that we have we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=42s"},{"start_seconds":50,"text":"have shared consensus in exchange have sh security they also have shared state which makes passaging messages across","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=50s"},{"start_seconds":57,"text":"fairly simple um so we have one relay","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=57s"},{"start_seconds":67,"text":"chain this let's have a blockchain and this is going to be a relay chain and","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=67s"},{"start_seconds":75,"text":"um a load of uh parach chains and the principle the the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=75s"},{"start_seconds":84,"text":"principle the way this works is that um we have a new power chain block uh a hash of this block will go onto a relay","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=84s"},{"start_seconds":93,"text":"chain block so a relay chain block may contain a hash of um blocks of many pars and thus the relay chain sort of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=93s"},{"start_seconds":102,"text":"defines by this change of hases the state of the enti syst","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=102s"},{"start_seconds":113,"text":"now what next well how exactly does this this this work uh there's going to a bunch of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=113s"},{"start_seconds":121,"text":"uh we going to elect a bunch of stakers uh for the read chain called validators and they will going to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=121s"},{"start_seconds":129,"text":"participate in the consensus of the relay chain but they also um do something for","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=129s"},{"start_seconds":136,"text":"the par chains Nam as their name is they validate them so what happens is we have a set of 100 to a th000 people here and","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=136s"},{"start_seconds":145,"text":"we're going to split these up at any time they're going to be split up randomly they keep on getting red signs to these various par","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=145s"},{"start_seconds":153,"text":"chains and so um so say there'd be five people here and some of these say three of them are going to have to sign this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=153s"},{"start_seconds":161,"text":"this hatch to say that they've seen this block they're going to keep it available it's valid um to be sure that we're only","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=161s"},{"start_seconds":168,"text":"putting good stuff on the we that's the the basics of that um and so well there are many","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=168s"},{"start_seconds":176,"text":"questions from here right yeah one question is uh so validators they stting some sort","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=176s"},{"start_seconds":182,"text":"of native to token on the right yes validators will be Sten do tokens they'll also be uh elected by nominators","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=182s"},{"start_seconds":192,"text":"who don't participate in validation themselves but but uh delegate their do and so nominators also State tokens","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=192s"},{"start_seconds":199,"text":"nominators also State yes and uh their state gets divided among the validators that they that they trust mhm and is the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=199s"},{"start_seconds":209,"text":"um is the price of being a validator fixed throughout the life of the system um not at all so what we really want to do is","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=209s"},{"start_seconds":218,"text":"we want to uh you know we want to elect the 100 or the Thousand that we can back by you know uh as much Shake as possible","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=218s"},{"start_seconds":226,"text":"in fact because it takes a constant number of validators not to uh to cause trouble for us rather than sort of a","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=226s"},{"start_seconds":234,"text":"third you might have with with say tend um that we really want our validators to be sort of backed equally so we want to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=234s"},{"start_seconds":243,"text":"sort of Select our validators such that you know the thousandth the hunds data is backed by amount of Dos possible I","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=243s"},{"start_seconds":251,"text":"see so for example let's say there's only two people who sted let's say it's you and me yeah let's say I st five tokens and you st 25 so effectively","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=251s"},{"start_seconds":261,"text":"we're going to distribute two of us among 1,000 seats right and so I will get like one six and you're going to get","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=261s"},{"start_seconds":268,"text":"the remaining ones um in principle yes so we need 100 people to do validators but if if I delegate to 100 validators you delegate","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=268s"},{"start_seconds":277,"text":"to a different validators if you you you vote for a different validators then that will be the distribution I and this so This is actually a bit different in","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=277s"},{"start_seconds":285,"text":"the way say defa do it defa is entirely approval voting if I voted for 100 you voted for a different 100 then all of mine will get in and not of yours M or","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=285s"},{"start_seconds":293,"text":"in Coss where you have bonds approval state where you have to select each individual uh G but but in this case","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=293s"},{"start_seconds":301,"text":"neither of us would be a validator we would be nominators right well we could be validators I see it's a separate Ro yeah but so for example again so let's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=301s"},{"start_seconds":309,"text":"say so well we both start with a so you're going to be a I'm going to be S um so let's say you st again 25 tokens right I","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=309s"},{"start_seconds":319,"text":"st five but then you nominated 100 people and I nominated 100 people right but we only need 100 total right so we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=319s"},{"start_seconds":327,"text":"only need 100 total so that that what would have so if there were different sets of 100 people obviously they can overlap yeah in case the guys who overlap would obviously get in if there","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=327s"},{"start_seconds":336,"text":"were different sets of 100 people then what would happen yes is that I you would end up with a six of yours get in","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=336s"},{"start_seconds":343,"text":"sort of 16 which sort of each of had your things spit evenly among them and I would have","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=343s"},{"start_seconds":351,"text":"um uh yeah the remaining five six and everyone be would be backed by about3 or something M uh","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=351s"},{"start_seconds":360,"text":"I see I see and so but then different validators are back with different","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=360s"},{"start_seconds":367,"text":"amount of of dots they can well so here they be back by about the same M uh in principle they can be backed by","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=367s"},{"start_seconds":375,"text":"different amounts of Dos yes I see and sort of the way we want to reward bodas is we're going to be paying them all equally MH which means you want to be uh","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=375s"},{"start_seconds":384,"text":"you have an economic incentive to equalize uh because the person the people who have their state back a person with the least State get more","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=384s"},{"start_seconds":392,"text":"money those the most but then again you should only back people you trust because we going to slash you if they do","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=392s"},{"start_seconds":399,"text":"if they do something very bad MH and so there's some concept of epoch right so how often validators get reassigned","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=399s"},{"start_seconds":407,"text":"right to par chains so this election process isn't so trivial we're not going to do the sort of ongoing thing yeah","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=407s"},{"start_seconds":414,"text":"we're going to have um which be several hours to a day maybe in which we you've got an election when you and so if","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=414s"},{"start_seconds":423,"text":"I but do do I get to reselect my 100 or what I you get to you could get you could do a new vote I mean you don't have to expect this going be very static","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=423s"},{"start_seconds":432,"text":"but you can you can submit a new vote inad of over your your old one be but if I do not reselect my 100 say it stays","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=432s"},{"start_seconds":438,"text":"the same the the sample will change right on the next ep the different set of no we we we might elect the same","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=438s"},{"start_seconds":448,"text":"people I see uh sort of so the distribution between power chains that that that changes much faster than you thought MH oh distribution between","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=448s"},{"start_seconds":456,"text":"chains changes faster than yes yes the set of validators only changes every but the distribution between change should change","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=456s"},{"start_seconds":466,"text":"quickly how how how quickly does the distribution this is open question so you know we would love it to be every block but that is the problem that you","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=466s"},{"start_seconds":474,"text":"have to connect to the network of each of these chains this will slow down um so it depends on how much that is but it","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=474s"},{"start_seconds":482,"text":"will be uh minutes rather than hours minutes so I see so for example like let's say there was five validators here few minutes later it's going to be","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=482s"},{"start_seconds":490,"text":"completely different five validators yes now another question is uh well I guess how frequently does the relay chain","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=490s"},{"start_seconds":498,"text":"produce blocks well we're aiming for second I'm not sure this is a senent but we're aiming for second MH and and part","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=498s"},{"start_seconds":504,"text":"chains um likewise it sort of depends um but in principle you can be in every Rel","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=504s"},{"start_seconds":511,"text":"I see so effectively but but there's some sort of they they more or less synchronized right um well that some power change","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=511s"},{"start_seconds":521,"text":"might be slower and they won't get thing into every relay change Bo mhm um and that to depends on what's going","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=521s"},{"start_seconds":530,"text":"on but some of them will try and get something do you know it won't be it's not going to be exactly synchronized MH","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=530s"},{"start_seconds":537,"text":"and so one of the core propoerties of P I guess is that the part chains are different in nature right absolutely these things all have their own uh State","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=537s"},{"start_seconds":546,"text":"transition function and maybe all kinds of other interesting stuff that's going on beneath the surface and uh what's exposed to the the relay chain to the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=546s"},{"start_seconds":555,"text":"poked do clients um will be so these validators have a straight transition validation function they can use to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=555s"},{"start_seconds":562,"text":"check these blocks mhm and those will be different from different chains and that is that is a just a wasm binary right","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=562s"},{"start_seconds":571,"text":"yes just a a yeah a was mhm and who who so who's producing","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=571s"},{"start_seconds":579,"text":"blocks on the par so this is the job of of cators so we have these uh these no in par chains who are responsible for um","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=579s"},{"start_seconds":589,"text":"yeah creating this block which is then signed by validators get on here lookat sign the block","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=589s"},{"start_seconds":596,"text":"anator sign well okay so it's it's a a c efficiently signs the block there may be","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=596s"},{"start_seconds":602,"text":"other things going on uh beneath it I mean we we sort of there may be some method to just select cators uh you know","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=602s"},{"start_seconds":611,"text":"they may be chosen by their own proof of State maybe proof of work or it could be arbitary or we could have something which required multiple placates to sign","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=611s"},{"start_seconds":618,"text":"up on does does the Rel know anything about the procedure of how no no so the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=618s"},{"start_seconds":625,"text":"the relay chain it's a collative us the block and we run the state which a validation function mhm and if that says it's valid it's valid but could someone","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=625s"},{"start_seconds":634,"text":"completely autal to the Rel to the relay chain try to pretend to be a cator produce a block and send it to the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=634s"},{"start_seconds":643,"text":"validators right so if if for instance you need state to be a cator and maybe be staking dots but that's SE if you need some power chain token that the Rel","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=643s"},{"start_seconds":652,"text":"chain doesn't understand then the state transition validation function would have to check so if you want to do proof of State what you'd have is the state transition Val C decides do you have","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=652s"},{"start_seconds":660,"text":"this state is it your I see evaluate your right to use block I mean we can even do pro of work it's very simple to for the state validation to to check","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=660s"},{"start_seconds":668,"text":"that this hash is full MH that's a very easy thing to do I see I see so effectively if I want to simulate like","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=668s"},{"start_seconds":675,"text":"if ethereum were to become a part chain then it would be just the work of the uh","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=675s"},{"start_seconds":682,"text":"validators to verify that the I guess the hash is the largest but you're saying it could be","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=682s"},{"start_seconds":689,"text":"for four but you but at the same time um you say if the hash is if the hash of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=689s"},{"start_seconds":697,"text":"the block on the relay chain gets finalized on the sorry if the hash of a block of a par chain gets finalized on the relay chain is there a requirement","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=697s"},{"start_seconds":705,"text":"that par chain respects that in the for CH R absolutely so so this is shared consensus what what basically that means that what the relay chain says goes","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=705s"},{"start_seconds":714,"text":"which means it should have been good by the time it already got to the V chain it should be something that the pr CH have but that means that ethereum per se","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=714s"},{"start_seconds":722,"text":"cannot become a relay chain no no no so ethereum we have we of we plan to build a bridge mhm which is a whole load of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=722s"},{"start_seconds":730,"text":"different technology but then the bridge will have to like wait for sufficient number of blocks to to be certain that the block is finalized effectively right","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=730s"},{"start_seconds":737,"text":"yeah so with with current proof we to go bit yes it will have to wait to be finalized before we can accept an","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=737s"},{"start_seconds":745,"text":"incoming thing and likewise we'll have to accept things to be finalized on this end before we can mhm yeah but one of the advantages of this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=745s"},{"start_seconds":752,"text":"architecture is actually we don't need things to be finalized to passive a message from one par chain to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=752s"},{"start_seconds":759,"text":"another I see so one par chain can send a message to another par chain but that par chain is effectivly taking chances that the block well um so the power","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=759s"},{"start_seconds":768,"text":"chain Builds on a sort of relay chain block and uh that will tell it sort of what messages we should have got what block what power chain blocks we we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=768s"},{"start_seconds":776,"text":"should be looking at and uh you know this thing will have information about whether they sent us a message and there'll be some has to check so as long","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=776s"},{"start_seconds":785,"text":"as we can keep the relay same state we can work out what messages we've been passed but do do messages you're saying messages don't have to be recorded on","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=785s"},{"start_seconds":794,"text":"the the messages are not themselves recorded but the fact that there wasn't a message that's just one bit is recorded as as long as as well as a hash","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=794s"},{"start_seconds":801,"text":"of all these messages so we can prove that uh you give a voal proof that this was the message I see so so like effectively","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=801s"},{"start_seconds":809,"text":"what would happen is uh so let's say I have this uh par chain one I have par chain two and this is the relay chain","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=809s"},{"start_seconds":817,"text":"right uh so what you're saying is that I will produce a block and this block I have some messages for the for the chain","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=817s"},{"start_seconds":824,"text":"too and so I will build like some I will compute some hash of those messages stor it in the hash of the block effectively","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=824s"},{"start_seconds":833,"text":"to an extent yeah so there'll be some uh a header that goes onto the in the header of the block right","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=833s"},{"start_seconds":840,"text":"head this it will sort of have one hash for all these messages sending out as well","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=840s"},{"start_seconds":848,"text":"as a bit field saying uh who we've got a message for so only one bit per par because obvious that's quadratics","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=848s"},{"start_seconds":856,"text":"don't make you pay yeah yeah um so now from here a few other interesting questions one is well","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=856s"},{"start_seconds":864,"text":"one is sort of completely orthogonal to everything else but um you need some good sorts of Randomness right to assign","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=864s"},{"start_seconds":872,"text":"validators what is what is the present approach to randomness of course well the first thing is there is actually no","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=872s"},{"start_seconds":878,"text":"perfect way of validators um so the current thing is we're going to use um almost the same thing that same thing","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=878s"},{"start_seconds":887,"text":"same ideas everyone else is using um so we're going to use verifiable random functions from block producers validated","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=887s"},{"start_seconds":895,"text":"producing blocks and maybe we're going to combine those and possibly we going to run a verifi delay function on those","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=895s"},{"start_seconds":904,"text":"I see so so it's close to what ethereum is doing it's very similar to what etherum is doing and currently they're doing this this long chain of hats but I'd imagine they're going to switch to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=904s"},{"start_seconds":913,"text":"VF eventually because it's more sensible uh in which case it's almost the same thing and it kind of has has to be so the par chains we have to know in","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=913s"},{"start_seconds":922,"text":"advance where they are so this design makes sense you need to know Advance who the validators are for a par mhm","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=922s"},{"start_seconds":929,"text":"cool now um P does not make an assumption right that at no point all the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=929s"},{"start_seconds":937,"text":"validators manag to collude right so we don't want to make this assumption there's only five validators and what worse is that they all know who each other is so you know","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=937s"},{"start_seconds":945,"text":"if I can get five validators maybe I want to just wait until they're all randomly assigned to the same par oh but five is the actual number it is actually","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=945s"},{"start_seconds":953,"text":"I don't know if it's GNA be five but it's going to be some small some constant number right we have we want to have a lot of pars M","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=953s"},{"start_seconds":962,"text":"and so maybe I own all of these guys in which case they needs to be a back end right and this is where this is where","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=962s"},{"start_seconds":970,"text":"Fishman come in well a number of other things so if if um you know these guys","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=970s"},{"start_seconds":977,"text":"sign an invalid block then people can claim uh some fishermen who might be on the par chain maybe the relay chain who","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=977s"},{"start_seconds":984,"text":"knows they they can they can publish a transaction on the relay chain claiming that uh this thing is","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=984s"},{"start_seconds":991,"text":"invalid now if there was a proof a short sport proof they they published that to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=991s"},{"start_seconds":998,"text":"you if not things are a bit more complicated so this a short Pro proof we we just we we just slash we just verify","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=998s"},{"start_seconds":1006,"text":"on the on the relay chain and we slash these guys M and uh but at which point is the block considered final is it when this when","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1006s"},{"start_seconds":1015,"text":"the hash first hits the relay chain or is there some time out during which the the fisherman right so there's a number","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1015s"},{"start_seconds":1022,"text":"of complications here so firstly is we have uh our validators are going to enter into some sort of Byzantine agreement protocol","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1022s"},{"start_seconds":1031,"text":"which is a finality it's a bit like C from Grandpa which is going to finalize these blocks in the relay chain sometime after they've happened that's all the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1031s"},{"start_seconds":1039,"text":"validators within the relay chain yes MH and um but even then we probably have to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1039s"},{"start_seconds":1047,"text":"wait some period before things are actually after they reduced if we finalize them faster then we might have to right and so so that's that delays for the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1047s"},{"start_seconds":1056,"text":"fishermen to to produce a challenge sure yes and do they have like a rough estimate for how long would it be","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1056s"},{"start_seconds":1062,"text":"meaningful to wait well so the the hope is that the economic incent is me you don't have to wait at all but it all depends on what you're trying to do","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1062s"},{"start_seconds":1071,"text":"right but then someone so for example let's say I'm doing uh some sort of cross communication right or sorry cross","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1071s"},{"start_seconds":1078,"text":"cross power chain communication I guess it would be called so cross power chain communication we don't need to wait for finality so the trick is the bridges right so I'm we're going to bridge to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1078s"},{"start_seconds":1087,"text":"bitcoin and we're absolutely sure the Bitcoin bridge is going to have to wait before it gives out a lot of Bitcoin to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1087s"},{"start_seconds":1095,"text":"someone but but let's say let's say we live in the world where other blockchains do not exist anymore and it's just party chains right so like","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1095s"},{"start_seconds":1102,"text":"there's one part of chain uh which became the defacto currency for example right uh and I'm sending that currency","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1102s"},{"start_seconds":1110,"text":"from this so let's let's call this a currency par chain right and so I'm sending money from this par chain to another par chain uh for the for the for","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1110s"},{"start_seconds":1120,"text":"that part chain to take action on this transaction they would probably want to wait until well no no you don't need to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1120s"},{"start_seconds":1127,"text":"wait at talk that so the reason is is because once this this thing is invalid we're actually going to follow a different","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1127s"},{"start_seconds":1134,"text":"for so once something it's like if this thing sends out messages this invalid thing said that message which here it","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1134s"},{"start_seconds":1141,"text":"did right MH then effectively we have to rewind it so so you're saying if a fisherman so so so I see so let's say","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1141s"},{"start_seconds":1148,"text":"let's say so fisherman so this blog got finalized or like rather it was published in relate it was published then we discovered that one of these things is invalid and that basically","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1148s"},{"start_seconds":1156,"text":"makes the whole block invalid I see and so we have to switch to for I see makes sense and that that effect will also roll back all the short chains yeah MH","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1156s"},{"start_seconds":1165,"text":"exactly so that's one of the things we shared state if we Rel chain everything F so part part chains can safely take","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1165s"},{"start_seconds":1173,"text":"action because they will be rewinded but if I'm a user uh and then I get somehow um it might not be final inless you","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1173s"},{"start_seconds":1181,"text":"think this is a serious issue for bridges yeah okay so now that that brings another interesting question which","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1181s"},{"start_seconds":1189,"text":"is um validators also responsible for data availability right yes however if the validators colluded together what","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1189s"},{"start_seconds":1197,"text":"they can do in principle is they is they can say here is the header of the block yeah but not actually reveal the block","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1197s"},{"start_seconds":1205,"text":"to anyone and so the fisherman cannot even yeah the collor and all these valid dat is colluded and then it' be bad we finalize it","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1205s"},{"start_seconds":1213,"text":"and it would be very difficult to attribute and that slows down the checking a bit uh so what's so the scheme we came up for this is like um","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1213s"},{"start_seconds":1222,"text":"similar to thing that filecoin was considering and uh some ideas have been posted about ethereum for about how like point should um deal with availability","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1222s"},{"start_seconds":1231,"text":"uh which is we're going to use Aras coding and so the idea is that these guys are going to send uh pieces of this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1231s"},{"start_seconds":1239,"text":"blog erer coded pieces to all the other validators so everyone has a piece of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1239s"},{"start_seconds":1247,"text":"every blook all the relay chain validators have a piece of every blook every Power chain block goes into relay chain but it's only uh a sort of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1247s"},{"start_seconds":1255,"text":"fraction that's scaled with the number of validators so they have you know constant size per per block even when there's lots of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1255s"},{"start_seconds":1263,"text":"project and um and that means that if these guys go offline everyone else can uh work","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1263s"},{"start_seconds":1272,"text":"together so if if the read if if if the par people can convince the relay chain that something is available then in principle we can reconstruct it and it's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1272s"},{"start_seconds":1281,"text":"available and the way this aradi code designed is um so we're going to do this um bustine agreement","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1281s"},{"start_seconds":1289,"text":"to finalize these things and that means we need two3 of people to sign this thing and if even if a third of them are","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1289s"},{"start_seconds":1297,"text":"dishonest most you can take it there's still going to be a third of people who have signed this thing and the idea is they're not going to sign this thing","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1297s"},{"start_seconds":1305,"text":"unless they have the piece MH and if a third of them give their pieces we can reconstruct you know anything anything","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1305s"},{"start_seconds":1313,"text":"and and this validator has a unique uh validator has a Unique Piece yeah this is even deterministic it's not Rand because we know who they are so the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1313s"},{"start_seconds":1320,"text":"block let's say the block had size n would you need to add like two 2 N More another 2 N the ARR code thing is about is three","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1320s"},{"start_seconds":1330,"text":"times the size yeah cool yeah that sounds like that would work okay but of course there's an issue","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1330s"},{"start_seconds":1339,"text":"which is that if this block is invalid we're going to actually have to reconstruct it and off for the fure","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1339s"},{"start_seconds":1348,"text":"check it yes so I this is the problem if all these people have it that's true but maybe this everyone running the power chain doesn't have it if they don't then","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1348s"},{"start_seconds":1356,"text":"they can't check it MH and we need someone other than these people to check it so then we have to have a procedure to work at when we should be","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1356s"},{"start_seconds":1363,"text":"reassembling blocks Bas based on prance on signals these people say it's not available and we should probably be doing this randomly anyway but uh if","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1363s"},{"start_seconds":1371,"text":"people say it's not available we have to try and reconstruct it someone else will have to reconstruct it actually so the protocol there's some person on the part","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1371s"},{"start_seconds":1378,"text":"chain or some entity that wants to validate every block and at some point they can everyone on the power chain should have every block but but but who","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1378s"},{"start_seconds":1386,"text":"is on part chain besides validators and collators or just like us so all the full nodes of this full nodes you know","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1386s"},{"start_seconds":1393,"text":"they download a valid everything that's that should be what they do um and if we're just handing out AG coded pieces we need to make sure that all the full","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1393s"},{"start_seconds":1401,"text":"nodes actually get it in the end otherwise they not only can't validate it but they can't build it out but timing wise so um at which point should","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1401s"},{"start_seconds":1410,"text":"the full node suspect that the block is unavailable and well that's easy straight away because as soon as this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1410s"},{"start_seconds":1418,"text":"this cator should have already have gossiped it to everyone else if they didn't they should already be able to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1418s"},{"start_seconds":1423,"text":"ask the people who signed it for it and uh that doesn't happen they should be uh you know trying to alert us that we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1423s"},{"start_seconds":1432,"text":"should be trying B yeah and is there no but but that means that there's some sort of protocol for the potential fisherman to to to retrieve the block","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1432s"},{"start_seconds":1439,"text":"right so does that not introduce some possibility to to do found the network it should so the thing about politic challenges is that well okay so this was","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1439s"},{"start_seconds":1448,"text":"for a for proof If you just had some subjective thing something which we couldn't fit on on the Chain it would be subjective and you put some you we'd","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1448s"},{"start_seconds":1457,"text":"have to put some State behind it and have people check it um but yes for availability it's a lot more tricky mhm","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1457s"},{"start_seconds":1465,"text":"uh to try and work out what the protocol should be who we should Trust on this end uh and make sure that they they can't so there's a balance in between uh","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1465s"},{"start_seconds":1473,"text":"them being able to spam requests for things they have but we don't know they have because we're not on this network and um making sure that someone checks","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1473s"},{"start_seconds":1483,"text":"everything and uh so part of the um normally it should be okay if someone random on the we they chain","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1483s"},{"start_seconds":1491,"text":"check something so the the problem with just having these five guides is that we chose them to advance so the the the bad guys can just wait until","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1491s"},{"start_seconds":1500,"text":"they all they're all working together MH where if someone random checks it it's much they you know they they","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1500s"},{"start_seconds":1506,"text":"can't H have no about and so for fisherman there's no there's no timeout right can I in principle like wait for","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1506s"},{"start_seconds":1515,"text":"for a year and then say well there probably will be timeouts but they'll be like a day or two yeah they'll be they should be much longer than we hope to we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1515s"},{"start_seconds":1524,"text":"hope to have Aris in the system mhm and on the part chain can par do par chains have to use dots","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1524s"},{"start_seconds":1532,"text":"in any way themselves or par chains can can can be completely well this is it's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1532s"},{"start_seconds":1540,"text":"actually not clear to me where the collect is going to have to State dots it might do uh fisherman um some of the things","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1540s"},{"start_seconds":1548,"text":"fishermen do will need to be backed by dots although we could explore alternative ways of of debling fishing um but other than that","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1548s"},{"start_seconds":1556,"text":"everything else can be in their currency M and what is the process so I guess to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1556s"},{"start_seconds":1564,"text":"become a validator I just go to the relay chain and I post some transaction that says I want to be a valid validator then I I put some my own state will get","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1564s"},{"start_seconds":1571,"text":"some other people to Nate me yeah and when I don't want to be a validator anymore and I said like I want my stake back for how long do I need to wait","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1571s"},{"start_seconds":1579,"text":"before it is released right well that that's a question there there will be some period be for which you are vulnerable to slash MH","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1579s"},{"start_seconds":1588,"text":"and uh the principle was that this period should be long enough that we can't do a long range attack mhm obviously you can always do longrange","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1588s"},{"start_seconds":1597,"text":"attack right it's the question is like how practical it is yeah the question is is what point do people stop believing stop caring that you uh you signed","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1597s"},{"start_seconds":1604,"text":"something on on a change months ago yeah so on ethereum this is like four month right they something crazy long I'm sure we'll be shorter than that but it will","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1604s"},{"start_seconds":1612,"text":"be significant MH 7ly weeks yep uh and","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1612s"},{"start_seconds":1620,"text":"shall we talk about consensus is there anything else that we want to talk about on the overall architecture I don't know yeah so","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1620s"},{"start_seconds":1630,"text":"um for Block production we we we're kind of considering something like a a Ros press yeah you have a a vrf to select uh","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1630s"},{"start_seconds":1639,"text":"the people who producing the producing n block so no one knows who it is","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1639s"},{"start_seconds":1646,"text":"um and that and this bus agreement G that's how consensus works on the relay chain par chains yeah they might have","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1646s"},{"start_seconds":1654,"text":"their own systems but the basic idea is somehow we have a CLE use of BLS MH the five validators do they need to reach a butine consensus among themselves no","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1654s"},{"start_seconds":1663,"text":"they they they Lally de a block they can sign multiple blocks and the person you know and the person uh creating this block which would be another validator","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1663s"},{"start_seconds":1671,"text":"nor uh would decide which of the blocks which has enough signes go I see so so if possible in principle that there's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1671s"},{"start_seconds":1679,"text":"going to be five blocks coming from five different validators yes and it does depend so it's optional on the on the parach Chain","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1679s"},{"start_seconds":1687,"text":"side if they want to have some kind of rate limiting thing but what what is the motivation not to have a bantine consensus among the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1687s"},{"start_seconds":1695,"text":"five takes one I see uh less messages better yep","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1695s"},{"start_seconds":1703,"text":"uh cool so and uh so let's talk about gramar so my understanding is that grand itself is not it has like non Byzantine","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1703s"},{"start_seconds":1712,"text":"consensus and Byzantine consensus parts right um so Grand power is the the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1712s"},{"start_seconds":1718,"text":"finality C the business part I see but but the blocks can be produced blocks on the Rel CH can be produced but just not","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1718s"},{"start_seconds":1727,"text":"finalized by the grand for right yes so so the chain can continue growing yes so for example if we have if it happens that more than one third validators is a","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1727s"},{"start_seconds":1734,"text":"fly the chain will continue growing the chain will continue again if there one third to come back back then you know then we can we can finalize lot of but","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1734s"},{"start_seconds":1742,"text":"can validators rotate uh without having one third online can they can they can they","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1742s"},{"start_seconds":1750,"text":"reshuffle so so like can the EPO change without having this is the tricky part so we we have a forat","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1750s"},{"start_seconds":1757,"text":"mechanism uh whereby if um if we don't have a thir longer uh we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1757s"},{"start_seconds":1765,"text":"can eventually um basically fullback the longest chain or ghost or something on the Chain um and agree on the new set","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1765s"},{"start_seconds":1773,"text":"validators we're still discussing that's going to work I see but but without without that fallback the back the chain will carry on but you never finalize it","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1773s"},{"start_seconds":1782,"text":"I see and the will never change as well that would cause trouble yeah unless you had meod to kick out valid end a small yeah but","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1782s"},{"start_seconds":1792,"text":"without um without the bu te consensus do we just use ghost to choose the longest chain or is it just","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1792s"},{"start_seconds":1799,"text":"one of those will probably be the thing so that doesn't really matter that's the the grand itself it's kind of abstract do with anything but for Pok dot yeah M","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1799s"},{"start_seconds":1808,"text":"we'll go for something like longest chain or maybe ghost if you want fast faster block production and you're saying the blocks are going to be like within a few seconds they going be a few","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1808s"},{"start_seconds":1816,"text":"seconds it goes you get a better idea than long Y and then and so gr is specifically a consensus yes and what's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1816s"},{"start_seconds":1825,"text":"the block production we we thinking calling it B at a minute that was our uh our contrasting name for the block production mechanism how was it called","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1825s"},{"start_seconds":1834,"text":"babe babe bab and yeah but then like the first sort of obvious question is why not tender M why","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1834s"},{"start_seconds":1843,"text":"not tend well that's definitely a good question because I kind of suspect that it would work","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1843s"},{"start_seconds":1849,"text":"um so so the the thing about Grandpa is that um it would theoretically if we can","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1849s"},{"start_seconds":1856,"text":"scale this to a th validators and maybe 10 Works f with thousand validators M but we want to scale this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1856s"},{"start_seconds":1863,"text":"up to as much as possible and that might make it a bit slower um and unlike so with with Cosmos","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1863s"},{"start_seconds":1871,"text":"you need finality to uh get Mess send messages from one chain to another so they need fast finality we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1871s"},{"start_seconds":1878,"text":"don't um and this annoying business of having to revert sometimes means we need to deal with folks","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1878s"},{"start_seconds":1886,"text":"anyway and it was lot easier to work out how to do that if we had this GU system it also means we can deal with um like","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1886s"},{"start_seconds":1894,"text":"ethereum want to uh say that their systems going to survive World War I so po MH cool um but but it will need the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1894s"},{"start_seconds":1903,"text":"fullback mechanism for that right yes yeah so so before we go into the details of of grandar I I would like to to learn some properties of it one of them is","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1903s"},{"start_seconds":1911,"text":"let's say that this block was finalized with grandp Y uh so so this was finalized but then the next block was was proven to but at this block we learn","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1911s"},{"start_seconds":1920,"text":"that this block wasn't valid but we'll still revert right right yeah well okay that that's the thing we hope doesn't","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1920s"},{"start_seconds":1927,"text":"happen too much MH because when it does we are going to have to ignore finality which is going to be a problem for lifelines right absolutely we'd have to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1927s"},{"start_seconds":1935,"text":"P the chain here that's the only way of doing it and then like clients wouldn't know but there's no way around that MH","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1935s"},{"start_seconds":1942,"text":"uh it should probably be the case that we find out before fire it does depend on how fast faly is mhm I see","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1942s"},{"start_seconds":1951,"text":"and um so Grand I presume it has safety uh doesn't require","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1951s"},{"start_seconds":1960,"text":"partial partially synchronous Network for safety so yes it's going to require partial syn Network for safety we could get round that with a common coin but we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1960s"},{"start_seconds":1968,"text":"don't we assume we assume the partially syn Network it can deal with it's it's the Assumption where we know the network delay but maybe it doesn't hold","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1968s"},{"start_seconds":1976,"text":"sometimes mhm and it can recover from it not holding sometimes yes it's it's a sort of bustine if you think it's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1976s"},{"start_seconds":1983,"text":"safe it's live conditioned on um sort of the if the underlying block production","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1983s"},{"start_seconds":1990,"text":"mechanism is life itself it has a certain life property so does Grandpa and this is this is this is a stronger property than the plausible liess that","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1990s"},{"start_seconds":1998,"text":"we've got for Casper FFG so far it's actually uh if you combine it with the right thing you actually get a business","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=1998s"},{"start_seconds":2005,"text":"degree with it nice co okay now let's I guess let's dig into how Grandpa works","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2005s"},{"start_seconds":2011,"text":"okay um so the idea behind Grandpa is um so Casper F50 it's this spy Gad like","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2011s"},{"start_seconds":2019,"text":"Casper F50 we're going to uh we're going to have some underlying block production mechanism it's already going to give us prolistic finality but we're going to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2019s"},{"start_seconds":2027,"text":"want to uh get a bunch of people to sign off on it so we can convince other people other chains by bridges that this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2027s"},{"start_seconds":2034,"text":"is fine M and um the idea is that so Casper FFG had","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2034s"},{"start_seconds":2043,"text":"these checkpoints every 64 blocks we have a vote grandpa doesn't work like that whatever we we agree on uh we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2043s"},{"start_seconds":2051,"text":"can what the the the length of the round is sort of independent of how many blocks get used MH how do we choose which so so let's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2051s"},{"start_seconds":2060,"text":"say since the last agreement there was like 20 blocks produced how do we choose which one to agree upon well the answer is that everyone just votes for the everyone","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2060s"},{"start_seconds":2068,"text":"votes for the uh for their best shap MH which will be the head so people people different heads will see uh we'll vote","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2068s"},{"start_seconds":2076,"text":"for different things but the vote can so for example if I voted for this block and you voted for this block they will both accumulate they will both ACC this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2076s"},{"start_seconds":2085,"text":"block so this this is the idea so it's sort of like a bit like ghost on votes it's like EXT yeah exactly so this ghost","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2085s"},{"start_seconds":2092,"text":"on on so so what we do is we we have a we have two round of voting saying preot and pre-commit got T it calls them um so we we do ghost","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2092s"},{"start_seconds":2101,"text":"on our our prevot we do sort of two-thirds ghost we look at the the latest block that had uh 2third of people voting for that block or anything","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2101s"},{"start_seconds":2109,"text":"after it MH and you can sort of follow this by following a ghost type of thing and then this is what we're going to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2109s"},{"start_seconds":2116,"text":"pre-commit and then we do the same with pre-commit and that tells us what we're going to finalize mhm and so the idea is that we finalize on on the on the Block","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2116s"},{"start_seconds":2125,"text":"that two-thirds of people agree agree is is in the best so so so again so prevote I understand right so if if a certain","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2125s"},{"start_seconds":2133,"text":"block has two3 of people voting for The Block so people have two two so so there two different messages that they can","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2133s"},{"start_seconds":2141,"text":"send on the Block I can say prevote on this block and I can say promit on the Block right yes so there's going to be two rounds of voting yeah and any vote","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2141s"},{"start_seconds":2148,"text":"so to vote on this block so basically it sort of count counts as a vote for every block before it and it's imagine sort of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2148s"},{"start_seconds":2156,"text":"at every block height we're going to do a bue agreement out we're going to see do we have two3 for this and then we're going to have a second round of voting","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2156s"},{"start_seconds":2163,"text":"get two3 for it again we find myself right and uh the way this sort of ghost on votes work is it does something it","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2163s"},{"start_seconds":2172,"text":"produces something consistent when you do this in that we all agree on one chain I can't agree on a block and one chain and different","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2172s"},{"start_seconds":2179,"text":"block and chain yeah that pretty convinced is the case so but for me to understand right so so let's say we have","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2179s"},{"start_seconds":2186,"text":"this block or like let's say we have let's say there's no Forex right at all uh and so let's say there's four","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2186s"},{"start_seconds":2194,"text":"validators and so let's say Alice uh put a prevote on this block y uh Bob put a prevote on this block and Carolyn Dave","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2194s"},{"start_seconds":2203,"text":"or I guess they we don't need for bantine consensus and Carol put a prevote on this so at this point this block is sort of voted for right right","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2203s"},{"start_seconds":2212,"text":"so so there's three three how many Val there's four three out of four both this B yeah this B and so at this point if if let's say I'm","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2212s"},{"start_seconds":2220,"text":"Alis yeah at this point so once I see this T PR votes I can put a pre-commit on this blog yes so","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2220s"},{"start_seconds":2228,"text":"so so Alice might preit for this book now it may be that DNE voted for this blog but Alice didn't see it this is","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2228s"},{"start_seconds":2234,"text":"prevote yeah that's a prevote May yeah this is a","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2234s"},{"start_seconds":2241,"text":"pree say and it may be that that that means that that well uh prits for this one because he saw because Bob saw that","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2241s"},{"start_seconds":2250,"text":"and I was didn't but but that that will count here but count for this one anyway but at this time Carol when Carol","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2250s"},{"start_seconds":2256,"text":"observes these messages Carol can Carol can either see this three and and promit on this or she can see all four and promit on this right but nobody","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2256s"},{"start_seconds":2265,"text":"can promit any further yeah so people going to promit okay so when you for me fa you","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2265s"},{"start_seconds":2273,"text":"provide a proof of some sort that you see no there's no actual proof that gets difficult so it's sort of the the accountable safety would have to decided","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2273s"},{"start_seconds":2281,"text":"some kind of challenge I can PR it without the proove but you just will not you will not respect my promit until you see yourself","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2281s"},{"start_seconds":2290,"text":"two third well yeah so the support of the process involves um waiting to to to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2290s"},{"start_seconds":2297,"text":"um so to go on the next round so this is a difficult pit so the the preves and pre commits a lot of BU agreement","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2297s"},{"start_seconds":2304,"text":"algorithms do the same thing here um often the tricky thing is what happens if we in the next round do we know um we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2304s"},{"start_seconds":2314,"text":"want to be sure that in the next round we we don't finalize something on a different change to we we might have finalize this round uh you know so may maybe we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2314s"},{"start_seconds":2323,"text":"finalized this one but we only saw this one we we can't be voting for this one it for a block like this in the next","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2323s"},{"start_seconds":2330,"text":"round I presum that and everyone who recommitted on this block will not promit here right Ah that's that's that's the tend way the tendent ways to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2330s"},{"start_seconds":2338,"text":"do that this is not how Grandpa works it has it works a little bit like some of these asynchronous bus algorithms and","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2338s"},{"start_seconds":2346,"text":"like uh algr agreement where what you do is you um you wait until you've seen","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2346s"},{"start_seconds":2353,"text":"enough prevot to work out enough you wait till you see enough prev votes and pre commits uh to work out that only one","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2353s"},{"start_seconds":2360,"text":"chain could have been finalized and assuming that there uh not a lot of people equivocating or doing or","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2360s"},{"start_seconds":2369,"text":"recommitting the things that were Justified right but what happen What happens if let's say there was a","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2369s"},{"start_seconds":2378,"text":"fork right and so we have Alis and Bob here prev voting and Carol and Dave preved here right at this point nobody","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2378s"},{"start_seconds":2386,"text":"can ever I guess we can finalize this block at this point yes we already finalized it but everyone","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2386s"},{"start_seconds":2394,"text":"does that and then we move on yeah finalize that so so so the property here is that if we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2394s"},{"start_seconds":2403,"text":"do this two3 GES and only a third of people are equivocating then although people may see two3 with different","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2403s"},{"start_seconds":2410,"text":"blocks of different heights they're all on the same Shain and this means that honest pre-commit should be on the same","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2410s"},{"start_seconds":2417,"text":"chain and this means that people finalized blocks are on the same chain and once more this Shain is the one that we should be voting in the next round","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2417s"},{"start_seconds":2425,"text":"after it's just a question of seeing enough votes um that we be sure how long of this chain right at but so consider","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2425s"},{"start_seconds":2433,"text":"this example right so let's say um so let's say Alice y observes her","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2433s"},{"start_seconds":2441,"text":"vote Carolyn Daves yeah right and so she recommits uh on this block right yes and","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2441s"},{"start_seconds":2449,"text":"so Alis recommits here and after that happens Bob shows up uh and so Carol and theyve they","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2449s"},{"start_seconds":2456,"text":"promit on this B yeah right so this and at this point Alice and if Alice hasn't seen Bob SC then Alice doesn't know","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2456s"},{"start_seconds":2464,"text":"Alice knows that this block is finalized but Alice doesn't know whether this block is finalized or not right but at this point you see what what but at this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2464s"},{"start_seconds":2472,"text":"point we we we we if we business V on we have to carry on to the next round but how about which block do we finalize so we finalize so the answer is what should","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2472s"},{"start_seconds":2480,"text":"happen is that we finalize this block mhm and everyone in the next round is going to a prevote for it to this block","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2480s"},{"start_seconds":2488,"text":"or they must so if we see Bob's V pre pre-commit and it's for this block then it's okay","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2488s"},{"start_seconds":2497,"text":"to V for this block but if we don't see bobs preit at all then we kind of know that this block could be","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2497s"},{"start_seconds":2504,"text":"finalized uh you know there's a possibility that when Bob comes in that's going to finalize this block and that means we must be finalizing this block so the algorithm tries to work out","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2504s"},{"start_seconds":2512,"text":"what is the last block that could have been finalized so to be so to could be finalized if the these missing pre commits or or maybe some equivocations","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2512s"},{"start_seconds":2519,"text":"come in m so the idea here is that it will never be the case unless obviously we have one3 milous actors yeah that we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2519s"},{"start_seconds":2526,"text":"have pre commits on two different chains within a round sure that that that's also great yeah right and so because of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2526s"},{"start_seconds":2534,"text":"that we should always be able to to build so effectively we're always going to be building on a chain which has at least one promit effectively because that promit might have unless you","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2534s"},{"start_seconds":2543,"text":"certainly see that the trouble is is that um well is true if you sort of um it might be the case that we we we see a","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2543s"},{"start_seconds":2551,"text":"block with some some prits uh with a a preit MH and and","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2551s"},{"start_seconds":2560,"text":"um but maybe the so you know we may have promit for things on different chains and unless we saw the pre unless we saw","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2560s"},{"start_seconds":2567,"text":"the prevot we don't know which of these guys is is misbehaving I see what you're saying um but then you wait right so well in a sense so what we should be","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2567s"},{"start_seconds":2576,"text":"doing is looking at the pre votes to work out what the chain is that might be finalized mhm um because for sure if if","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2576s"},{"start_seconds":2584,"text":"these guys are voting on this then there should have been prev votes there should have been two3 pre votes for this block and the assumption is this kind of uh","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2584s"},{"start_seconds":2593,"text":"very like tender we're assuming the sort of partially Sy gossip model if any honest validator receives a vote it should go to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2593s"},{"start_seconds":2601,"text":"everyone but consider this example right if they see these votes then that means that they should relayed the prevot and that means that Alice should eventually","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2601s"},{"start_seconds":2610,"text":"see the prevot for this block so let me think for a quick second so let's say there is seven actors yeah seven actors","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2610s"},{"start_seconds":2619,"text":"we have a fork we have pre-commit from so seven I'm going to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2619s"},{"start_seconds":2628,"text":"use numbers actually a b c d e f g g is the last one right so let's say we see a","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2628s"},{"start_seconds":2635,"text":"b C here e ofg here or other a so something so yeah that that that's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2635s"},{"start_seconds":2645,"text":"the kind of thing you're thinking of I think yes so this is four this is not enough we need one more it has to be less it has to be it has to be less than","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2645s"},{"start_seconds":2652,"text":"a third of both one of them has to have less than third for sure and so let say G's here","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2652s"},{"start_seconds":2659,"text":"right um however what you also see uh you see pre commits you see PR","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2659s"},{"start_seconds":2667,"text":"from a here from E here and then you see all other PR commits here so there is b","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2667s"},{"start_seconds":2674,"text":"c g uh whomever else like everybody else if you see if you saw all prits you're fine because you know neither of these","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2674s"},{"start_seconds":2683,"text":"are ever going to be finalized so the so so the problem is the problem is is that um so there's two things bu te","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2683s"},{"start_seconds":2691,"text":"people could do to annoy you one of which is don't vot at all and the other of which is equivocate vote twice and the trou is if you see two3 votes we","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2691s"},{"start_seconds":2700,"text":"don't know whether the other whether whether the third of guys are Byzantine they may never show up so we don't want to wait for long than 23 votes but on","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2700s"},{"start_seconds":2708,"text":"the other hand some of the guys who did show up might be Byzantine and they might equivocate but so think about this particular example right so in this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2708s"},{"start_seconds":2716,"text":"example yeah um waiting for PN waiting for who's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2716s"},{"start_seconds":2723,"text":"missing c c and d are completely so maybe C and going to turn up here but but let's not let's not draw them yet right so so let's just look at this from","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2723s"},{"start_seconds":2731,"text":"perspective I'm a validator yeah so this is clearly final because 1 2 3 4 5 is 2/3 of seven yeah right so so this is","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2731s"},{"start_seconds":2739,"text":"finalized um at this point uh these two branches are completely indistinguishable from here","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2739s"},{"start_seconds":2747,"text":"right so I don't know and each of them could have been and yeah the problem is this maybe","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2747s"},{"start_seconds":2753,"text":"CG are going to turn up maybe C would good guys and they were going to turn up but maybe one of VF was a bad guy and","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2753s"},{"start_seconds":2760,"text":"they might turn up as well because bad guys and now this is final and this might happen to this one too inad but","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2760s"},{"start_seconds":2768,"text":"but you see that's a problem right absolutely yes I think this this example doesn't quite work but it's it can so now which of these do we build on well","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2768s"},{"start_seconds":2775,"text":"the answer is we look at the preas so the gossip assumption says that if a and b were","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2775s"},{"start_seconds":2784,"text":"honest and they saw 2/3 for this if 2/3 preot for this they're going to relay those prees if a and b were honest so so","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2784s"},{"start_seconds":2793,"text":"anyone the problem is that what could have been is that c and d preved i see saw 2/3 prevot","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2793s"},{"start_seconds":2803,"text":"for this any of those who already saw two two3 PR for this are they're going to reload those messages and what that means is that uh guy here is eventually","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2803s"},{"start_seconds":2813,"text":"going to see uh the prev votes for this one and then they know what to do then they can proceed as soon as they see the prevot","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2813s"},{"start_seconds":2822,"text":"and a and b should know them uh they they know that it's this one and that these guys were bad and we I should vote","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2822s"},{"start_seconds":2830,"text":"for this block in the next round I see and so so there's you're saying it's impossible to be in such a","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2830s"},{"start_seconds":2837,"text":"situation in which no no amount of waiting help you it's impossible to be in a situation which you no amounts of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2837s"},{"start_seconds":2845,"text":"wasting wealth would help you furthermore if we're partially synchronous we never have to wait because we should already have seen these prevot before people started pre","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2845s"},{"start_seconds":2853,"text":"committing cool before we go on to the next round MH and for the next round all the prevot","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2853s"},{"start_seconds":2860,"text":"all the pre commits they they erased right right so we we we want to keep track of the last round the last round sort of tells us what what what block","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2860s"},{"start_seconds":2869,"text":"could have been finalized so we need to keep track of it for a bit longer than the prevote because uh it's like it might go","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2869s"},{"start_seconds":2878,"text":"backwards you know if we if we see more like this is our thing but if we if see a G come in if","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2878s"},{"start_seconds":2885,"text":"uh C and else was missing was missing C and D come in for this block then actually this is our estimate and maybe","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2885s"},{"start_seconds":2893,"text":"people saw this estimate would prevote for that one and other people are going to prevote for this one and we might end up getting two3 for this one not this","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2893s"},{"start_seconds":2899,"text":"one in which case we have to to be safe we have to wait for these M but we keep TR of what could have been","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2899s"},{"start_seconds":2907,"text":"finalized in the last round and then we can forget about those RS well we're going to keep hold of them for slashing but we can forget about them for the consensus algorithm is concerned in","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2907s"},{"start_seconds":2916,"text":"future round we only need to remember one round back this is a bit different than tendem where you have to you might have to remember many rounds back until","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2916s"},{"start_seconds":2924,"text":"you unlock from something and uh one of the reasons to do it this way is because I tried to work I tried to work out how","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2924s"},{"start_seconds":2932,"text":"to paralize tendent across multiple chains and it turned out you have to lock different things different grounds at different","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2932s"},{"start_seconds":2938,"text":"heights and that was complicated M this is a bit simpler mhm and so what is how much computation","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2938s"},{"start_seconds":2947,"text":"do we need to to carry out here to to compute the the finalization the computation is easy it's just count it","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2947s"},{"start_seconds":2955,"text":"so the the the the the tricky part is um in order to make sense of Bo you kind of have need to fully you kind of need to","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2955s"},{"start_seconds":2963,"text":"assume the block hatch so as long as again if the gosip network works you see you see all these block AES you see all the block AES eventually you can put","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2963s"},{"start_seconds":2971,"text":"them in your tree and then you just need to work out this two3 thing and that's not unreasonable given that","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2971s"},{"start_seconds":2978,"text":"people BL ghost mhm on changed in the real world and then everything else you just","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2978s"},{"start_seconds":2984,"text":"can't do yep cool okay the consensus makes sense uh one other","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2984s"},{"start_seconds":2993,"text":"question I had which isogonal to consensus yeah uh so you today PO today uses uh what what is the it uses pretty","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=2993s"},{"start_seconds":3002,"text":"slow wasm interpreter right it uses the was pretty slow wasm interpreter oh yes well yeah uh so if if","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3002s"},{"start_seconds":3012,"text":"the block validation on itself is written in wasm right that's going to be slower thanm presumably right so so we're going to be able to we hope going","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3012s"},{"start_seconds":3020,"text":"to be able to compile this W to native code I see so the validators will all be run into W because rasm is the thing and","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3020s"},{"start_seconds":3027,"text":"other cators too uh because but they have fast computers that's fine because the rasm is going to be the canonical","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3027s"},{"start_seconds":3035,"text":"thing um but no should be able to leun the native code uh and have it come up with the same answer right and uh I","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3035s"},{"start_seconds":3044,"text":"don't want to talk much about governance because it's uh that could be one hour conversation in itself but I want to talk about the the technical what what","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3044s"},{"start_seconds":3053,"text":"needs to exist on the blockchain to enable the governance right so so the wasm code that is executed by the validator is it stored on the power","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3053s"},{"start_seconds":3061,"text":"chain or is it stored on the relay chain um the p is ex the Val has to the Rel Rel CH","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3061s"},{"start_seconds":3071,"text":"and that's kind of decided on so if parach chains have governance M and the relay chain sort of has to respect their governance I mean so actually that you","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3071s"},{"start_seconds":3079,"text":"know that that need be the architecture it could be that the state transition validation function itself has to uh","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3079s"},{"start_seconds":3087,"text":"somehow keep track of what the rasm what the actual what the real rasm is that's uh that's determined by the P so we could put it put that to the validation","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3087s"},{"start_seconds":3095,"text":"function M but in principle should it be able for the uh for the par chain to update their un on the the power chain","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3095s"},{"start_seconds":3104,"text":"the power chains it kind of depends on uh what the the relay chain does but theoretically","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3104s"},{"start_seconds":3112,"text":"it should be able to cross paring M to change their own code Y and the really can the real chain State transition is","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3112s"},{"start_seconds":3119,"text":"also lives on the blockchain right yes and it can also be updated and it can also be updated right and uh is it just","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3119s"},{"start_seconds":3128,"text":"and that is more complex than just two3 of Val right that's actually requires some sort of comp valid it requires a","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3128s"},{"start_seconds":3134,"text":"ref yeah well okay there's are various government ideas that would make it easier casement uh but it requires some","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3134s"},{"start_seconds":3143,"text":"yeah structure which in principle sees that all those is repres and and there the idea is that uh when","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3143s"},{"start_seconds":3151,"text":"the by the time the r changes the state transition changes majority of validators should have already upgraded","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3151s"},{"start_seconds":3158,"text":"the the client itself right right so that yeah it we don't need anyone to upgrade because they can just run the W","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3158s"},{"start_seconds":3166,"text":"and the validators are probably going to run the WM for a lot of things anyway because it's it's the canonical version um but we are going to have the client","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3166s"},{"start_seconds":3175,"text":"should have native code that makes that accelerates this for things which aren't uh aren't slash MH and the nature should","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3175s"},{"start_seconds":3185,"text":"do the same thing as the weapon but you know this going to be bucks sure cool well I guess that's uh that's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3185s"},{"start_seconds":3194,"text":"most of the questions uh did we not cover something fundamental that that is very interesting um so I mentioned","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3194s"},{"start_seconds":3202,"text":"availability validity the important things uh how consensus looks here how the consensus might happen here I think","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3202s"},{"start_seconds":3210,"text":"that's and so message passing we maybe didn't quite explain who's responsible for what but","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3210s"},{"start_seconds":3217,"text":"that's uh basically the PRI chain validators are also going to keep available sorry for this PL they're also going to be the people you ask uh for","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3217s"},{"start_seconds":3225,"text":"messages because obviously the messages don't go on the Rel but it doesn't really matter who you ask because it's the hash goes on but then the data","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3225s"},{"start_seconds":3233,"text":"availability problem is back again I guess data AV so the DAT availability just like the other one and the Val is backing up","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3233s"},{"start_seconds":3241,"text":"because M messages are actually in the block uh the message is Al in the messages but but messages are in","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3241s"},{"start_seconds":3250,"text":"the part chain block right they in the par chain block there's AAL proof from the relay chain block that it's it's","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3250s"},{"start_seconds":3256,"text":"it's the right message cool awesome okay I guess that concludes the technical part and you will always ask one non","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3256s"},{"start_seconds":3264,"text":"technical question at the end when is the what's the when is the main oh when's the main that oh this year if you","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3264s"},{"start_seconds":3272,"text":"believe yeah uh this year that's definitely the plan and we committed to everything so when it turns up early","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3272s"},{"start_seconds":3279,"text":"next year it will still be fine right and the plan do you plan to have some part of chains like you will have Bridges as you","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3279s"},{"start_seconds":3287,"text":"launch well we hope so uh at least the ethereum bridge uh it would be very convenient because uh for instance the","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3287s"},{"start_seconds":3295,"text":"the pre-sale the AUM chain it' be very convenient if we could have the ethereum bridge good to go from launch MH but that's it's all the question of","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3295s"},{"start_seconds":3303,"text":"Technology we're not going to have many power chains at launch it's going to scale up cool when we prove it works yeah awesome okay thanks a lot for","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3303s"},{"start_seconds":3312,"text":"coming okay thank you","url":"https://www.youtube.com/watch?v=xBfC6uTjvbM&t=3312s"}],"youtube_url":"https://youtube.com/watch?v=xBfC6uTjvbM","url":"https://near-pedia.xyz/videos/xBfC6uTjvbM"}