{"id":"EHqkA5wX5so","title":"Whiteboard Series with NEAR | Ep: 4 Georgios Konstantopoulos from Loom Network |","description":"In the fourth episode of our Whiteboard Series with NEAR, we had Georgios Konstantopoulos (  / gakonst  ) from Loom Network speaking with our Founders Alex Skidanov (  / alexskidanov  ) and Illia Polosukhin  (  / ilblackdragon  )\n \nLearn more about Loom Network here: https://loomx.io/\n\nDownload the video here: https://near.ai/47e15\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\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#FutureIsNEAR #BlockchainProtocols #TechTalk","channel_name":"NEAR Protocol","published_at":"2019-02-12T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/EHqkA5wX5so/hqdefault.jpg","transcript_text":"Alexson Illya here from near we're here with judges from plasma we're gonna talk more in depth how plasma works judges do you want to introduce yourself talk about what you're working on hi everyone so I work on plasma specifically the variant called plasma cash which is a technique for creating more secure side chains and let's get to it so the side chains they're used for basically if a the original chain is very congested you can offload computation to the side chain do whatever you want there and then get your funds back so sure yeah so normally you have like a chain which has some looks so I will use the arrow to the left to show that we pawned the produce look there is a right direction yeah no to the left because you point to the previous block yeah and yeah and so what would happen is that you have some transactions happening here but let's say that you want to deposit your funds on a side chain so you have another chain over here and let's say that this chain has like ten minute block time like maybe bitcoin and this has like one second block time and so what you can do is that you can create a special transaction which it will actually lock up some tokens here so you do you look look five with the C let's say and then this locked five BTC after a few blocks which are used like to prevent like your organization from their original chain they will appear on the side chain and now let's say that you have now five and here now you have like five bpc twenty for example so when you say lock in I mean is kind of bad example right because you can right so let's consider that maybe you can call this maybe if you're something else so you have like you put your funds in an escrow will the escrow which can be a smart contract it can be some multi some you take so script with time spending conditions because we do not want this to be specific for a theorem okay and it will be very interesting like to see something which can be also applied to Bitcoin for this and so you have your funds look here you lock your funds here the funds appear here then you can start transacting so like you get you spend from here to here and so on and then if you want to take your funds out you make another special terms action and you get them out like this so maybe this has because they have very different block times maybe this is like this has like five blocks but this can be a million blocks in between and so this withdrawal it will burn it will burn the five BTC 20 and it will unlock the five BTC here so this is like the very like overview of like how a sidechain works you look you create new ones you turns out and then you burn and you unlock the original ones but this has the assumption that firstly after you lock them this will appear here and then that when you that the chain will allow you to burn them here because if you because what you will do is that you will go to this to the third chain and you can present proof of the burden of the origin of the on the side chain and it will allow you to unlock based on the spending conditions that you had originally and you cannot always have this guarantee because if you want to use this for to scale this chain it will have like some inherent trade-offs with respect to its security so if it's not for example you cannot have a proof of work if this is a proof of work chain this can be used for interoperability if both chains are very secure yeah if they both have like honest majority assumption or the 51 percent like enough horsepower but if you use for example some proof of stake which is like much more limited with a limited value dataset or just a one guy yeah or just one guy exactly or just one guy maintaining the chain you cannot exactly like get these security guarantees and so what the plasma technique does is that along with this process whenever all side-chain blocks they get committed to the original chain and so when I say committed I mean that the metal route of the blade not the state the transactions so I will talk about UT EXO based plasma and so there are two variants like you can either have account based or you take so based where in the account based you have accounts and in the YouTube which you have you take souls but in the account based you commit state routes in that you take so base you commit transaction routes and the difference is that with the account based we currently do not have a good scheme like for maintaining safety so this is like why we go with the UT exobase for now and so every block gets committed to the original chain and this shows that the plasma chain it must it must have like the same block time at least the same block time as the original chain why is that because if you commit multiple blocks let's say you do this for example if you commit multiple blocks in the same working in the same block if there is an orphan block here an attacker can simply orphan one block and while while kicking multiple blocks out and this could be used essentially in an attack where the size of a plasma chain database manager essentially they collude with the miners and they choose to commit multiple blocks they do a bunch of double spins in the chain and then they orphan one block then commit in different yeah exactly okay but it also means the finality for the sidechain is yes exactly so the finality question yes why is it different from like let's say let's say it's the same right yes they still can collude and revert one block yes they can collude one to revert one block which means that alternatively if you want to make this more say you can commit less often so the goal of plasma is not to improve finality to improve capacity because you still have the same all words finality but you instead of having you commit if you essentially finalize a bunch of transactions with 32 bytes because you just commit like one - a micro cash one metal root while this block it can have like in any number of transactions so you have this separation of the state where the state of this I train just like a very small commitment of it gets put but in practice it could have been 100 blocks yeah in 32 bytes it's just that I as a user of plasma will still wait for for 10 more blocks on the up of the okay alternately you could do that you could just wait as a user for the finality smaller blocks but the finality though still depends on the time of the parent you know exactly exactly and obviously the more secure the parent chain the less likely you can stretch this on okay so that's the basic approach and the difference with the sidechain egg the sidechain withdrawal is that instead of burning we call this process and exit which essentially the exit it's a bit different so let me just erase this to make this more clear in the exit you make an attestation about the validity of your state and you have a dispute period so that if somebody wants to say that this is not the current state you you're you're at the station gets cancelled so what you do is that for example I'll do another chain and I will show you how they exit would be so let's say that you want to you you claim but you want to exit and you take so which was which happened at this block so you make the exit request here with whatever information I required so it's exact request and you check so model you just span you you check so into some specific address know so you claim ownership that you did so and then so what you do is that essentially you go to the parent chain so this is the parent chain and you go to the parent chain smart contract and you you say I have some funds from the plasma chain and this is the latest state that I own the Met and you make that the station here and then you wait some dispute period so this is the dispute period which is some number of blocks which is a security parameter and then after this time has passed you can finalize the exit and withdraw your funds but so if you do the finalize then you can take your funds out of the escrow but in the alternative case that somebody comes here and challenges can use them blue moon somebody can come in between like maybe at this block and they can challenge and what the challenge does is it simply is a contradictory statement which says that you exited here and they present proof which shows that your exit request is invalid and so this is like and basically what you do is that when you exit you need to enforce somehow this good behavior and how do you do this because what's the cost essentially of an attack it's basically firstly the transaction costs but what you do is that you also have some fidelity bond like some security deposit so that when you do the the the initial request if nobody challenges you you also get the bond back mm-hmm but if somebody challenges you firstly your exit gets cancelled and the Challenger gets the bond so it has like this very nice property that you're both disincentivized from doing the trip and also people are incentivized to look at you and this is pretty standard this is used also in proof of stake withheld a deposit in payment channels for disputes this is the typical trade you challenge it also post a bond right to a cap the challenge excuse me challenger also posts a bond no so okay so they're very few there are different types of challenges so if the challenge is non-interactive so if it's like I see something I challenge it done here's the proof yes it's the Challenger doesn't need okay a bond in the cases which I will explain in a bit there are sometimes there is a type of challenge which can be interactive and this means that somebody exits somebody challenges and somebody can also respond can solve a interactive challenge it needs to be bonded because they respond essentially they responded cancel the challenge yeah all right so in plasma cash now specifically what happens is that it is a UT EXO based last matching so we have shown like how you can how the high-level overview is wave for depositing and withdrawing and how you can use exits and challenges to basically enforce the good behavior so now we will check the protocol specifically how it is and so in plasma cash what happens is that let's say you have five I'll use if now and what do you do is that you deposit them you deposit them in a smart contract so this is the contract okay the contract then emits some event to notify the other chamber side chain here and meet deposit and then this is the plasma chain and the plasma chain then creates a new block which gives you the funds so in plasma cars specifically when you deposit a coin you get a unique ID so it's almost like it's almost like yeah it's almost like cash in a sense that this is like a five with bill so if I deposit another bill if I deposited two if I would get a twist build and much like cash I cannot like very tear it in half because the moment you think they have like it has no value in plasma you cannot you simply cannot tear it in half and so this means that you have a utakome model which has one input and so after this you get the coin get this and so you have a you TXO model which is one input and one output 1 output and so there yeah thank you and so if you have a UT EXO model which is with one input and one output you cannot make arbitrary payments which at the end of the recession will show how you can do it through some interesting techniques and so how does this look like in the chain how does travel so now we will show like how to one how to transact to how to exit three how to challenge this is the process we will follow now so I have a quick question here yes what happens if I deposit five if to the contract and okay so what you can do is that you can initiate at an exit of a deposit so essentially if this part doesn't happen so if this thing doesn't happen you can directly go to the contract and exit the deposit and somebody can then show proof of a spend of the deposit so you deposit your coins you get but you don't get anything here if you exit the deposit this will only be charged by showing a spend on plasma yeah yes they have to show you take solve it on plasma but because you never signed a utx own plasma because you never got the funds in the first place there is no such challenge so it's deposit generating a unique ID for this like this in this moment right in the smart contract to be perfectly accurate you get some coin ID okay whatever unique identifier so it's like the serial number in cash this would be like 0 X 1 2 3 so it has the dollar bill that you get when you deposit the funds it has some additional metadata so it has the block at which you deposit it there it has a very owner like it has like some necessary metadata or to do this if you are depositing some merci 20 token for example it would also need to have the contract address because when you want to withdraw you would need to have that story from before exactly so so if so if I just deposited but never ever transacted there are two ways for me to exit I can exit the deposit and I can yes the regular way yes okay I see yeah which in the code it is like one function it's one function you just like specify where you want I'll show this right now so now we'll do like a graph when we show that you deposit the coin you transact and how you can exit so we'll take the usual suspect like Alice and Bob so let's say it like this arrow it indicates that you deposit so this is all this is the plasma chain and this is block 1 block 2 loop 3 block 4 so in this block you get it like this is Alice Alice right here she can choose to exit so this is essentially the state here what we just said like it doesn't matter if you got it on plasma or not you can just say I exited this block that I just deposited and some for somebody to challenge they would need to reveal a spangly oh wait so let's say that this doesn't happen right now and let's say that alice indeed got your fans on their plasma chain and she wants to spend them to somebody so in order to spend a coin you do this obviously so you have the coin and what you do is that essentially you create a transaction which refers to a parent block so essentially the transaction it is the slot the parent block by and block then you own a new owner and some signature the parent block on plasma chamber yes so in this case we're signing let's say it's 0x a so in this case it would be 0x a it's not the pint block would be block 1 the new owner would be Bob and the signature is yeah it's the signature on this data yeah why do we do this why do we need the parent block because analyst should also do this and if Alice does this she gets another transaction included to let's say a prime which is also Alice her background on the other accounts you want to double spend we want some way for Bob the actual owner to challenge and essentially this is a challenge of a double spend by which you show that you have a transaction in between and how do you know that it's in between because you reveal a transaction which has the same parent block with a later transaction but it happened before the other transaction and this is like by definition a double spend it have the same place which gets spent into play in two other places okay but let's take the honest games like so how does Bob know just so what if I was includes another transaction in this block this cannot happen by definition because yeah I didn't say so we use a structure called sparse metal tree so this part is marking tree it has it's an ordered tree where they I think I'm so they're like the index here it's like 0 1 2 3 their coins if its index they rather its index is actually the value of the coin so the 0 X a let's say it's 0 X 1 it would get it will appear like in this index here so you have like some if here which means that if you try to include two transactions like it you cannot do it simply one either one or the other will get included mm-hm for the same transaction route because otherwise like this is already full it is okay yeah so there's like yep once yeah so there is that you could say that Alice could overwrite and say like I give it to Bob and then she overrides it and then does to a prime but Bob needs to wait and check that this block yeah exactly and when that block is positive like he checks that oh I don't have the transaction so I do not give I will not give you the product or you just paid for it mm-hm all right so let's take the honest case and see how like this evolves so is it clear so far okay so maybe I can have the blue yeah yeah so now that bob has the coin let's say that in this block nothing happens like some other coin gets spent but this coin doesn't happen so right now we're looking at the sequence of blocks which are only specific to this coin like and this is like the how plasma cash gives with security yeah because it's going is unique and you have like this separation for it's going and so nothing happens here now bloke so and now she wants to spend it like this so this is Charlie let's say so when Bob receives the coin he needs to check that it was included in block 1 and in block 2 and if the metal proofs are valid he will say okay the coin is good I will give you the product that you paid for now that Bob sends it going to Charlie he must give he must thank him inclusion proof inclusion proof and exclusion proof so every time you make a transaction you need to pass the full you take so history of that specific coin and the bad thing about this is that it grows linearly with the history because what happens is that let's say that you had like a million no interest right exactly but no the thing is that you don't need to have a million transactions you you have no spends here so let's say 1 million blocks without without transaction I still need to send you all the 1 million blocks even though I didn't touch the coin right which doesn't exactly make sense so and this is like one like the main pain point of the plasma cash but when I send you so let's say that Bob wants to send to Charlie like they would lead to send him 1 million proofs of exclusion where a proof of exclusion in the sparse Merkle tree it simply proves the a path but the path that nothing exists no no from like it would be like this yeah just to pass that this is zero pretty much yeah you prove inclusion of zero instead of proving inclusion of some element that's a good question so so let's say my coin is 1 belongs to L is when L is sends up the book is it still one or that creates in you it still wants to fill one so what happens that the owner of a coin per block gets updated or rather you have a transaction which has the inside yeah so you always have like a coin only cares about its specific index it's totally separate from all other coins and in the sorry I assume every block contains the transaction route and what is the value that is stored in the leaves is it the owner or is it just it's the hash of the transaction if the transaction for that he takes off happened in the yes 0:09 yeah yeah that's why you need to send all of it because there's no like state yeah in the blocks it's it's actually like you need I need to prove to you that in the ten blocks that passed this was indeed zero and nothing else happened because if it wasn't like you would have the previous attack that we showed so in this case for example if there was like another transaction let's say so pretty much it it's if there was a transaction here Charlie would check that there was at spend in between until they reject the coin and by reject the coin like the up the chain it could show that charlie owned the coin but Charlie wouldn't use it and they wouldn't give you the product because they cannot exit the coin why because this guy would be able to challenge it yeah so it's not like a straightforward at least the way I think of it a check so it's more of like an account model of this Queens thank you happy pretty much you have like you can have a mapping yeah you have one X owner yeah yeah that's just state and then you judge the state this state yeah yeah what's the depth of the state yeah essentially the the full node it maintains that yeah right like if you have if you run like a full node yeah exactly what what breaks if the if the Merkel root is actually Merkel's root of the of the owners so if you if you the root of the state you mean yeah so you cannot have a tax where you cannot know like who is the valid owner you you need to prove like somehow that no the making root is still the owner because because the plasma owner can fabricate yes fabricate the change you need because when I'm doing this like when I'm taking the history I'm also taking signatures mhm you're taking that for history essentially Bob here hits X is a signature of the transaction valid for this one and you do that for all right and for the empty ones you just take the metal path because there is no transaction and are you are you about to review some magic way to avoid including you land blocks yeah yeah we will do that like the world yeah exactly so this is how transactions happen if I want to exit if I want to withdraw you need to addition you need to provide essentially the block that you got the transaction and the parent block so an exit it looks like this so it's like you give their the transaction here and the Palin transaction here and you do you need to do this in order to do the challenges properly which we're getting to now so you start an exit you wait seven days or some amount of time if nobody challenges you get the you get you can withdraw the funds from the original contract yeah if some of the challenges you cannot withdraw the funds and you lost your deposit your deposit right so now we'll show the three types of challenges that exist on the plasma so this one yeah okay so this is good so instead of exiting here what if Bob sends the coin to Charlie and Bob decides to exit here it is a valid the smart contact doesn't know that this transaction has happened it it has a make reroute yeah but it doesn't know that per se the transaction has happened and so Bob exits here he waits some time but Charlie reveals a spend of it and has to be a direct spend so it has to be exactly a transaction which spends from this block because otherwise you could have an attack for example where how to say maybe like Charlie gives it to Bob again yeah Bob gives it again and you know you can have like this case where Bob exits Bombyx it's here but Charlie challenges with this and you don't want to have this so it has to be but this book is lower right sorry the slot would be lower no no the slope is always the same like it's always about the same coin Oh a slot is not the the slot of the block no no so when yeah right so when I say I use it as coin idea yeah yeah I think like slot in the American clue so it's index coin index yeah right so this is the challenge of a spent coin right so this is like there are three types of challenges so but it's possible that like this happened yes and then so what you still challenge with this but like it's not his coin why would he care right this guy when this guy does the coin is senses he got all the precautionary so he uses this proof okay okay right so in the other case you can have a double spend so the double spend it would look like this in general anybody can anybody can Challa know anybody can chattering yeah so you're not that fine with any of this yeah but the party who is most incentivized to challenge is the owner of the coin yeah yeah yeah yeah exactly so let me just clean this up a little bit from the millions of arrows right so now let's say that Alice has the coin here she sends it here and she also sends it here let's say like to Charlie Bob receives the coin everything is good but Charlie now he exits by referencing the coin and a parent and this again it looks like a valid exit to the smart contract because you reveal the transaction and its parent but this guy doesn't like it because it's his coin because he got it first and so you challenge by providing a transaction which has the same parent but it hasn't happened before this one right so this is like fairly straightforward so so far we have shown like and these are both like these two challenges they are instant how do you find before like how do you prove that it is before by showing that the coin you're revealing has been included after the parent block before the X block and that it has the same parent block as this transaction how do you actually prove that your block was earlier than and in exchange agenda because because of the on the plasma contract you have like block 1 has 0 X 1 2 3 block to some others it has a history of all the blocks yes the plasma contract every every yeah right so every block route it gets committed to the plasma change so essentially you say you reveal amazing proof that this coin was included and like when he exits he reveals a medical proof here when you exit you reveal America - here we have a notion of time so it happens is Bob receives transaction receives money from Alice Bob knows that until that and kill the block where the transaction was included it was not bent yes then Bob observes that the block is included in the plasma chain that all the previous blocks are consistent with the proof he waits for 10 blocks I say and so Carol or Charlie has no way God Charlie receives it and he knows that she cannot exited this book is always greater than yes yes yes and to be clear like Charlie here they know that this is invalid because they know they're yeah exactly they know they're cheating so if this guy accepts the coin it's only because they're trying to cheat like there is no way for them to spend it or exit it because if they send it because if they send it to somebody else they can run body else they will see this transaction and they will say I detector yeah and they will reject right it always like yeah so there is this thing you need to always validate the UT EXO history right and if you're a full client this is easy because you have all the nodes already but if you're a late client this is also like this is better than there are other alternatives because you always only implicate just about the coins that you own because if you own like three coins like this isn't that much data to verify the main problem is the bandwidth like when you need to send a million yeah but at the beginning we sort of concluded that the plasma network doesn't have any incentive to generate blocks faster than yeah exactly so it's not all sorry well faster than the than the parent network right yeah so if it's Bitcoin it's once every two that's quite a few yeah if so they're they're multiple I will approach to this towards then like how can we make the history smaller there are multiple approaches so this is the challenge between so you you can imagine them like the first one is their challenge after will you challenge with a spend yeah the one is the challenge between because you give a challenge in between and the final one is the challenge of an invalid history and the challenge with an invalid history it's an interactive challenge what do I mean by that that's when the plasma that requires collusion with plasma oh yeah yeah yeah so runners yeah so I'll leave cows has you seen the coin and somehow the operator in his trade that you showed there they allow this transaction to happen like from Bob to charlie somehow because they are the database manager and they say in their state that this guy owns the coin and now Bob makes atoms AK from Charlie Charlie obviously sees that there is no spend from here to here so he shouldn't accept the coin but let's say that they're all like together and they're trying to steal this coin because that is they attack effectively and they do that again - let's say Dylan and Dylan again they're all trying to cheat so what what they do is that they try to exit here all you could try to exit here this also work so you exit here and what happens is that this one they do this like challenge with invalid history so they they reveal essentially a metal proof which shows that they own the coin before the pylons look and this it is an interactive challenge so this one is exit + bond and this is also challenge + borned yes yeah because this guy's need to know if it's true they need to provide this link exactly because this can be true okay but this may also have happened so if this has happened you do respond you do respond to challenge and the idea is that you can have multiple of the challenges in the whole history and in order to finalize an exit it must have zero pending challenges which haven't been responded to and this happens like if you have a long chain and you have an operator who starts like to do yeah but still this shows that the attack as long as there is somebody watching it still maintain safety because you try to exit here some of the challenges in the past and you can either you can try to reveal spend if you have one or you cannot and if you notice it like this is essentially almost like that the first challenge of a spend where you try to makes it here and somebody responds with a spend yeah so the challenge trade is pretty long right it's like few days yes so so what so effective what could happen is so these look from Ellis here and she sends it like let's say let's say the coin was actually traveling quite a bit right then it went to Carol maybe back to alias like there was like every ten seconds let's say it was moving right yeah and that that has been happening for like quite a while so let's say these 100 transactions here and then it stopped and then at some point later Bob who does not possess the coin anymore sends it to Dave what happens now is that Dave tries to exit he says I'm exiting yeah and Ellis challenges of type so Ellis says look I know the challenge it was whatever oh yeah oh they always will use the last yeah yeah it still I mean it could have been like this is an engineering problem oh no no what that actually I was not let's say Dave tries to exit here and he legitimately possesses the coin and then Ellis doesn't want him to to exit and she says you know I actually own it here for Dave to prove that Ellis is lying yes he will send a challenge saying that now look like you sent it together they will spend of the of the challenge yeah which to which Ellis says oh you know it no more there's no more there's no more oh that's it you do one round there's one no it's not that it's not n steps makes it don't mix don't search because the moment you reveal spend that's it alternatively Alice could challenge again with but if you challenge the the exit challenge period does not extend right no no no so there there is a trick here that you do because when you allow multiple challenges what an attacker could do so let's make an so these are the three challenges it's clear how they work let's say some timing like attacks like how the when you challenge how the challenge period became and there anything that we talk about challenges responses bonds and all that it's all are generalizable to any type of crypto economic protocol you want to build but how you manage basically the safety of the protocol by adding like challenges and disputes but all this does require pretty sophisticated like smart contract platform right you can yes I Bitcoin this is unlikely to be possible it's may be possible in Bitcoin cash with the addition of a few op codes which are being discussed right now as far as I know but I haven't looked into it in depth it would be very exciting if it's possible though so that coin cash exactly yeah oh well nothing works okay so this is the this is the dispute period let's say so at t 0 this is the exit exit time and we have like some t 0 plus T capital T which is the end of the challenge period and if nothing happens you can finalize here so you call finalize here and T is a security parameter like the longer the T the more time there is for somebody to do challenge so the less the liveness requirements for the network but the user experience drops because you need to wait longer for your to get your coins out and after I describe this I will also show a way with how you can basically avoid this delay so you do exit here and what you do is that you split the challenge period in half so this is 0 plus T over 2 R you basically split it in like some parts some partition that you want and only during this period can you do an interactive challenge because you want to give enough time for people to respond because otherwise if you allowed somebody to make an interactive challenge here nobody would be able to respond right so what you do is essentially you you allow instant challenges during the whole period but you won't allow interactive challenges only during the first half or like okay so maybe yeah whatever security parameter exactly exactly so essentially the closer this is to here the more the more dangerous it is for the responders and the closer it is to here the last time there used to actually challenge so essentially you want this somewhere like it's a heuristic like pick whatever you want um okay so this is how they we split the challenge period and essentially you can think of a coin as a state machine which it basically goes from like a few states from the pole so it so let's see first deposit on on a smart car the moment you deposit it it's at state let's call it like q0 when you exit it goes to Q 1 when somebody challenges it goes back with a non-interactive challenge it goes back to the default state it cancels the exit yeah when when nobody challenges after a week you can finalize the exit which goes to q2 do you need to send a transaction to finalize yes you need to send the transaction and what you can do is that you can create a batch finalize the transaction which just takes all the coins and finalize them or like you can give it a list of coins but this is an engineering like how you want to do it and somebody's to pay for it buddy yeah yeah exactly and you can additionally if you want you can add a q3 which is like the state from which you withdrawn yeah that's like 4 years to 20 yeah but these two they can be combined this is literally because if you want now from an engineering perspective if you do finalize and withdrawing in one step and you want to do maybe many and you want to finalize many coins they withdraw it cost much more than just setting the state to finalize and then each user on their own taking with the other coin so it's useful because you can do this to finalize many coins together so the plasma Oh like runner can be like when they checkpoint things I can also find a lot everything exactly exactly why not Auto finalize if it's been 500 blocks oh this is literally like how you you can add a cron job which literally just keeps calling finalized every blow my question is why not like in the smart contact why not to consider there is no out of its much contact you there's no like if you when they call for withdraw why don't we drop just check how many blocks it's been since okay so you can make it directly to do withdraw sure so as a user you can essentially call the Rizal that withdraw called finalize first sure but we want essentially a way to safely instantly finalize everything and then people can withdraw whenever they want so do you mind if I quickly jump back to the challenges sure so scenario imagine that so this is a block in which a coin belongs to Alice and Alice is the only honest person in this okay in this scenario at some point eldest decides to send money to Bob and so she submits a transaction that is like from Alice to Bob and this is the parent right so actually this is the block she sends it to Bob Bob doesn't have to be malicious at some point later Carol who is malicious initiate transaction to Dave with with the same coin Dave tries to exit exit with the caveat that starting from this moment in time this plasma owner who is also malicious withhold checkpoint stop completely revealing blocks huh so it would snapshot to the main chain to the parent chain it will snapshot all the hashes all the header all day but the data about the blocks are not away but the date is not available so now when Dave exits Ellis is like all I want to challenge but the last state that must be Alice to challenge it will be Bob let's say Bob is malicious well if Bob is malicious that's right no longer owns the coin yeah Bob is the latest valid owner of the Bob is the latest valid owner but Bob also cannot challenge right well yeah he cannot but so the thing is that like a mitten Ellis is sending money to Bob as the transaction goes to the plasma owner plasma owner completely stops showing blocks to Angela so between Alice and Bob then this is always not know if you see the coin or not what happened I I get I got you so what will happen here this is an inflight transaction essentially right so Bob is honest or in our case Alice and Bob are honest they want to do they're going to make a transaction and really this doesn't matter what happens we want to check like I agree that like then again attacking happen and you want to reveal a parent and how do we challenge this how do we get this through so firstly let's see how you can do like this inflight transaction how you can settle it there are two approaches to this there one is that this we name it a griffon attack where you just say that essentially the operator by withholding data they forces you they force you to exit mad bad chicken or because Alice can attempt to eggs that's right yes so what you can do the steps are Alice exits so that very scenario is the following step one always wants to buy a product from Bob like let's like a real-world scenario so Alice to Bob transaction with held Bob doesn't is over all they see that a new block is committed but they do not know if the transaction was always not they need to force the operator to give them the information somehow so what alex can do is alice does an exit Alice exit a exit they exit here and the operator they reveal a spend they reveal the spend so they challenge the exit so Alice so exit plus bond three operator challenge challenges so Alex loses a bond which is a constant griefing factor confirm Griffin vector which is like so four so the means that alice - bond but the transaction was revealed and the operator as a business they made it clear that they're against their customers if you want so in a sense that if this is a payment processor and they do this process indeed Alice does have a Griffin vector of like one bond but the transaction settles because you now have all the information about the transaction and you have like you're essentially lose all your customer base so on the one hand like you you call this a Griffin attack where you which means that you lose some funds but the safety of your funds is still not close that's a little weak but it's also but it's also like if if I went to a store right I did this this cut was held I exit right away because we didn't see it you know was in ten seconds this happened in seven days just so Bob got the money I didn't get the product right okay so it's not just born it's born plus whatever the coins but they are the thing like seven days is a like that sounding your except when you use plasma you accept that you're you waiting for seven days for security so no you don't wait for the final transaction finality so you consider the transaction has happened when you see the main route and you get their witness there now in finality of the paragraph it what but in my scenario who will be so one day if is saying or given I guess we agreed when given says I want to exit Google challenging yeah yeah so let's see cool challenging Alice will challenge him and given just sends and then and then Bob Denzel Pareto reveals so let's say that this all is withheld right but not quite because so let's say you and challenges illustrates also the timeline right so this is this is this is when Gilliam says I want to exit this and the the non-interactive challenge I can send them till the last moments right right so so operators and so the very last moment operations Abby oh wait so yeah so I try to exit who you are Ilana thank you okay Alice is initiating interactive proof somewhere here like let's say let's say Ellison Ellison you shades your interactive probe here yes operator here provides books transaction like one second before before before NGO and exits and then and then like what happens no it doesn't happen because but he challenged Alice sister Anne Ellis's exit yeah Alice's challenge yeah so there wait so right I see I see I see I see okay yeah this is a good attack so what you can do and you want to somehow have Bob then not challenge it right so the moment they dine at this video now Bob can show about the time but the time is very little for him right right so what you can do is that you can make it so that when it somebody responds you may extend the time to extend and then we're getting back to example where these 100 yeah and then you get yeah but every time you challenge and respond like there is a what do you call it there is a there's a bond but let's say keep attacking I have a lot of money but they don't want someone to exit yeah but this is like a Griffin vector where you have like infinite funds like you're losing there's no like from a perspective of gaining profits you're not gaining anything I agree it's my competitor who tries to get their money this is a valid concern like this is why I didn't describe the extension of time of the period of time earlier but yeah this is a valid attack that can happen but wait a second so like how can we prevent this in the first place so there is a way that you can do what we call an in-flight and essentially exit of a fund where you add like when you exit you also reveal the transaction that we held and somebody so essentially you're saying I exit but the exit is not just block plus PI and block you also reveal a transaction and for somebody to challenge you they would have to reveal either another transaction at this block or spend of this transaction right so by doing this you essentially skip away over the whole with building by attesting that you know this data also you're exiting for Popov that yeah you're exiting here into Bob's pretty much account yeah exactly exactly the exit it settles to Bob oh you say bye and that would be something that Bob will do no neither Bob no not necessary like Bob do it or else can do it anybody can do it the whole point is that Bob will get the funds and the NHL and the challenge will be the church that will be saying you know there was another transaction which wasn't live there it wasn't Bob either it's somebody else or there is this either you proven Mirko route here that goes to zero for example or goes yeah everybody else in this block or so so for Alice that would be a dangerous and what you do schedule because no I'm saying that in flight exit for else will be dangerous because Ellis will say I want to exit for Bob and Bob concurrently will send money to someone else right so it won't be Alice yeah it would be so can Bob do this right yeah okay and to be clear like to do this type of limbo exit you need to add an additional parameter like because you need to show that the terms actually revealing where it was included you need to show that it was included in this block but you cannot you never saw the block yeah yeah that's what I'm saying that you you claim that it was included in this block but you are the transactions when you make this happened whatever this happen yeah rather the question is Ellie said she doesn't know if the transaction to Bob was included because the block was never revealed she doesn't know maybe maybe maybe plasma curator decided not to that's what I'm saying that when you this to do this type of a exit and challenge you need to add an additional parameter in the actual transaction which we call target which block to include enter and you say that I considered this transaction valid only if it gets included in this block right so if so if this is block one and like I don't know if this will happen or yet I say included in block two if it's not included in block 2 then it doesn't doesn't so yeah in this case the like if the operator was held and and I mean not results it's not the Malaysia separated just slow operate like yeah yeah slow right they didn't include it into Alice's like wait nothing's happy I should have received it into yeah let me let me push the money and operator like it yeah I mean it's here just I didn't included yeah right this is just like it's not it was malicious it's just slow yeah actually and look approach it has this thing that if it doesn't get included in the block you essentially gets dropped and you need to resubmit it with a target block yeah but it's the current way to mitigate this all you can added data availability challenge which is not exactly like the best approach in my opinion because you essentially essentially you say that you do a blind challenge you say operator do it's holding here and the operator has to reveal some data that does that prove that there is no more data being withheld but this doesn't really scale because you can you can keep challenging the operator and you can do what you said you can you out your competitor and you start like Griffing them and how you do is if they don't respond you slash a massive deposit that they have but this also imposed like capital lookup requirements for the operator which this design doesn't help yeah but on extent and to be clear these are all one-off attacks because if the operator does such an attack they can at most attack like one or like a few coins they cannot attack the whole chain and if they do it like everybody like I agree that it's kind of a weak assumption like from a security perspective but this is all you already paid you said that somebody will come watch and challenge and if people are already watching they notice this problem this becomes likely it has some social percentage if this type of happened so for the slaughter so let's say transactions do not include this the the target block if they write this attack is possible my question is rather the transaction also includes all the proofs for all the blocks in the past right you say not no no but when you exit so the all the past transactions they do that's the chain it's only unhooked like so when I send you some funds I give you out-of-band all the trans all the proofs but when you exit you just show two proofs and certain extent when I'm sending money to Ilya there is sort of a a target block because I'm sending him the proof up to some block right oh yeah that's true but it's not inside the transaction so so you're convinced that things up to here I'm good yeah so I guess the protocol will be I'm sending money to you yeah I mean isn't in the transaction I'm waiting from transaction to get into the blue yes and then I'm sending the proof of all day yes yeah yeah yeah of course of course the transaction the the foolproof key story that you're sending is that you make the transaction the transaction gets included you get the witness data about the transaction and then you send the whole thing I'm very happy to wait you wait for checkpoint on parent chain yes and for whatever six blocks or power of blocks before chain organization can happen in the parent chain and then you can actually send it thanks right because otherwise yeah but do I need to send some all the proofs can can he get all they can get them directly from the open so if they open it or you need to send them ad hoc only if the operator is malicious if the operator is complicit like they can get them directly from the operator so there this is like you need to have like the word case but if operator is malicious I will not have the proc side there right because we receive them from the previous guy but I don't know the proofs of exclusion from from from the block where I received it until the moment where I'm sending it yeah wait a sec so so so the example so like this is the block where I received money so I'm Alex Ellis I received them work from somewhere in the past I have the proofs of exclusion or inclusion into the past but then you know something later I want to send it to Ilya I need to include proof of no they do not have those I need to request yeah but it's a small request right in essence yep from from the operator yeah that's true yeah you need to have like your client means to well I mean if it's you're talking you know it's not there but they need to send the proofs of and yeah yeah yeah so this is kind of like unfortunate that like you need to do this whole process so you said there's a way to yeah so assuming that you already have them I'm assuming that you already have the proofs you can either create a snart proof like where you just take like a bunch of blocks and you put them together so this has happened already like there is a proof of concept for this already all there is a technique called the I'll just say accumulator which can be used for this which I'll show you now how but for the snart proof I don't just have a snot proof but it's a similar snark it's simply it's not for a negative proof well if you want like for the whole thing oh that's what you said for the whole kiss forger yeah yeah yeah if you do it's not if you do the whole history yeah yeah so you take like the whole history yeah take the previous part in all the transitions for the for the error say accumulator doing you the semiprime yes you do it cause it doesn't set up such a snark so it's not yeah so it's like semiprime is slightly worse I guess no you you will generate the trait NPC so it's still like the same assumption right right so how would they all say emulator work currently the operator when you have like to change this is the panting this beside the plasma train the operator they commit like 32 bytes the medical route which is like the you should take the tree you make a micro route with the RSA accumulator that they the operator they additionally commit one more thing the accumulator which is 2048 bits like 256 bytes not 256 256 yeah so they need to commit something additionally how does this work so that human later like long story short you start with a value G when you want to accumulate an element to it you raise it to that power so you have like there LM very slot 3 the coin ID 3 you raise it the third when you want to add another element you raise it to the let's say the coin might be five you raised the fifth you can do you can include multiple elements that you move later by including their product so you do directly due to the fifteen right to prove inclusion to the accumulator you reveal a cofactor so if I have G to the fifteen I need to reveal three and five like three is the element I'm proving five is the cofactor if this is like maybe G to the 105 like three five seven yeah that's it three oh three five seven you would reveal three and thirty five like I'm improving the inclusion of three with that without thirty five so how does this apply for the plasma in the exclusion proofs what you can do is that if you have multiple blobs and you have the accumulator at block one and block n you can create one proof for from just the accumulated one proof of an exclusion so let's say you have one block two blocks and then you have like a huge like gap and here so you have an accumulator look n and block n plus K do we have accumulator per Queen one no no no that you later it's like one it's yeah one yeah this coin is the coin ID is the value of being accumulated so you have both the metal three and the accumulator is essentially per block which coins moved and which cones did not write the code rather the values what which were in it are the ones which were included so at this block let's say the value of the accumulator is G to the three three five seven at this block and at this block it is G to the three square five seven this essentially means that in this block the only coin that was spent was three right because it was only accumulated and whatever transaction route was committed before so what you can do is that you go to like a bunch of blocks later and you have like some other accumulate some like whatever elements and you still have seven so if you have this you can be sure that by revealing this and this the coin was not span in between but how they approved I mean if it was proved then by now it will be seven squared right no no it wasn't spent that's what I'm saying that's panin if it was granted most squared would be so they still seven as a as a as a multiple here no no you're just proving deaf find improving options of seven squared how do you prove absence of I can prove that there is some factor I cannot prove the absence of a factor right you can you can prove absence of a factor yeah because then you can reveal the next state but you may think you can reveal the next state and you can show that it's not there can you can take the current state in the latest state well you mean like if there is a seven square somewhere like where it's spent you only accumulate elements you do not remove elements so you cannot go from seven squared back to seven so formulas and so so if I have three five and seven so so each each particular coin has a prime number associated with it right only only because otherwise it's not safe yeah and three five seven means that coin T was spent once coin five was spent once and coin seven was spent once and then when coin seven is spent it becomes three five seven squared right okay so when I send so let's say n is the block when I receive the coin and this is the block where I'm sending the coin to you right mm-hm or like rather I'll say this is where I sending so I want to prove that here up to here it was not it was not expelled I'm not proving you need to prove inclusion of seven and exclusion of any higher power the one before you just show that it's set and how they prove the exclusion over power is it is actually I don't know maybe it's possible like because this is like this is this is all work in progress to be clear like that stuff would have shown so far it's except what this is working produce so how to prove it like the accumulator is this one you reveal the three five seven and you want to prove exclusion of seven yes so I'm going to show you t x 5 bit x seven right I'm revealing to Yugi today but I think that's the entire point of the yeah that there is no element twice because all right now saying that's the entire point that you cannot prove that that it is divisible by by G to the seventh like the entire point of their say accumulator right there's a good point or it is not the case actually don't know my mind is a bit rusty this mate I don't have something right now like of the dolls my head because because if you can prove that it is divisible by due to the seventh and the problem is solved you like yeah this number you will say look it's divisible by two to the seventh you clearly trying to do you cheating yeah yeah yeah so the question is the question is if we have like three five seven squared how can I prove that seven squared is not in the accumulator right because currently the only thing you can prove is that seven only well it's not a fact if it was possible to prove to easily show you if it's divisible by yeah but like you wouldn't you would not need to show the cofactor because people would just like that clearly you cannot right yeah that's a good thought and by the way for Ziggy's snarfy already using snarks wouldn't be easier to just have like an account model yeah that's why I do not like if you get if you assume you can use snarks plasma soft yeah everything easier yeah starting us off today so yeah that's why yes they can do it right generally like this is like the history compaction it is that the biggest problem of the plasma because they fungibility like do you want to like so okay we agree that this is like a bit shaky yeah but yeah yeah it's it's an improvement on the kind of thing to make it like very feasible and note that you can avoid having to do this like this is another alternative that you can exit and redeposit if you want because you exit the coin that you have and you deposit it and sang all your history color all your history gets lost so you could even do this if you want like this would be an alternative so yeah like all you have to like maintain the history which is a history it grows large after like it becomes a gigabyte after two years of not have of not moving the coin maybe so this is not exactly the best solution for cold storage because you still like me to watch and everything but if you have like I know like maybe a tournament of a game or something or you're doing some gambling on a side chain this is like good because you do not have like too long history right and this happens only when you commit this happens when you commit very often right so another approach would be that you also reduce the finality by committing less often and like naturally if you commit less often you have like smaller history will the following work so let's say that when I when I say when I send the coin to a theorem there's this prime I I know the prime and I and I do not reveal the prime so I will need in some way to prove that so let's first go through it so let's say I'm sending G and so my prime is seven okay so I'm sending G to the power of seven to the hundred or so seven multiply by 100 and I because I know seven I know all the G's from from G to the seven to G to the 7.5 a 100 I know all hundred of them but I only review this one so you multiply 7 by a hundred yes and and I can erase G to that power and then I will tell you now 100 can be moved to any of the other numbers if there are more accumulated yes I mean 7 to the power of 100 oh ok so I revealed that number I need to prove somehow that this is actually I don't even need to like I mean I need to prove that this is a prime number to some power I think that is yeah yes yes and so then what what I do is that if I want to send money to someone then I privately send them all the all the powers in between and then we replace G to the seventh one today so we really use the we'll use the power instead of increasing it how much you get so now to prove that that something wasn't spent I can just provide the cofactor to this number right and and if it was spent the power goes down so I will be able to do that now and when I sent to the person all the all the all the powers and so they will be able to decrease it in the future but nobody else will that's kind of reversed history and result like you say this is my maximum length of history and every time you send but it's also like you it's up fronting the history instead of history growing but yeah yeah okay let's move to fringe ability this is like one of the I'm sold so the fungibility how you can solve it there's two approaches again you can either consider that a coin from like country we'll consider that the coin is like one solid value you can think that a coin is let's say I like this and out with a liquid like so this is one coin this is another coin and the coin has like some they wear ball has some maximum capacity this is the plasma debit which was proposed like a few months ago by Dan Robinson and so like the the maximum size of the coin is like what you deposited initially so if you deposit five with you get like maximum capacity five and if this is another coin that has like three like the its much capacity is three and what you can do is that essentially if a coin and if a coin has any and we consider that any coin can have a value in between mm-hmm so the coin can be like like a liquid yeah it can be hopeful so maybe so here it's like a tail to five and what you can do is that essentially can create kind of fungible payments by atomically like in the same moment like reducing one coin and increasing another so going like from three to five like you can essentially do go back to five to five and take this down to one out of three in that sense but this requires that two transactions get included in one block at the same time and you cannot assume this so currently there is no like clear atomic swap protocol like because you need to essentially force the operator to somehow include transaction both to this one end to this one all with sound buffer like within the next five or six blocks so but if you do this so let's say you have the atomic swap like you can have like the fungible payments and the exit game it gets modified slightly because you can consider essentially that it's it's time you change this it's like it's like you almost have a channel a payment channel with the operator because the five out of five which means that you own the five and the operator on zero when you reduce it like you get three out of five the operator owns two but in addition the operator like like this goes down so the operator like so you got three out of five so the operator owns two you increase it by two so now the operator on two less but you also decrease this one by two so the operator is still always at zero so there is almost like this liquidity like a pretty pretty much takes two here and put it exactly exactly exactly which starts to look like an account model eventually where each coin is its own account Yeah right and essentially when you're doing this payments this gives you instant finality between blocks because you can essentially you sign you have messages with the operator that you sign and so I can be at 3 out of 5 then we have announced for example but you keep increasing so you go 302 5 out of 5 out of 5 then 5 then 4 to 5 then 3 out of 5 and essentially when you exit you also provide the notes and you will add an additional challenge which says provide them late at Norm's to stop my exit right and and yeah and they and then you need also another challenge too if you include the transaction of an Tomek drop this can be challenged by revealing that there wasn't the corresponding transaction in the same block because if there wasn't like we essentially got some money for free while the other party did not yeah I cooperated took it exactly mesh exactly and there's no code for this like to be perfectly clear like the history compaction and the end this there's no code for this it's purely because they because the protocol is still not like completely defining yeah and yeah so there's this approach which is like essentially you do this so you can consider almost that each coin becomes a channel with the operator and the operator becomes a hub and essentially like you do this up and down like rebalancing of coins which is nice and it also has the addition that when you make you can either do this type of transaction or you can transfer your going to somebody else so this gives the notion of transferable payment channels which Cantley does not exist like in anything else because if I have a payment channel with you we cannot somehow I cannot give give you the the channel somehow without giving you my private key so while I'm not sure about the use cases of this it's interesting like to Superman yeah exactly so why why I mean if this is like already kind of moving into account model right why not just make this an account model like what why you have this limit pretty much right because if there is no limit you cannot enforce like how much can be exited because otherwise I just reveal that you know there is no yeah but gotta change like that like I haven't gone into this like very much in depth but the operator basically they can just like create an invalid state transition and if they withhold they can exit that mm-hm like it's always about the withholding attack that can happen so that they withhold when they try to exit the coin like it super large value and you cannot prove that it doesn't have this super large value you enforce this limit so that like they cannot play create any withdrawals but they like if it's at one third right now operator in principle can still no they cannot because you can reveal a challenge you will challenge because we have like a note goes back and forward so you if the operator tries to exit the coin or if you're if you allow it in the protocol rule in the first place to allow an operator to exit the coin because currently you can make it that I exit and simply one-third goes to me and 2/3 go to the operator but if you allow the operator to exit the coin what will happen is that from three other three it would go back to one out of one I see that make sense yeah or you can additionally have the operator inject liquidity on the coin so from three out of three from one out of three they would make it one out of five for example but this already starts comes on very high key yeah in a sense because you have something and you start like making bigger smaller and depending on what you want so actually I have like an open pull request on the code base like that implements this but it doesn't implement the atomic swap and if you don't have the atomic swap like you cannot it's it's useful because you can do like one-way payment with the operator so with the operator is Netflix for example you do stuff with that but then it's just the payments a one-way payments I mean with another party mm-hmm like not interesting wait a centralized party with a sound alert idea but feel like it's another party like what I'm saying that it's just payments on this point right and we have time like for one more construction or if you're if the limit is there it's fine I think let's wrap it up here oh cool yeah yeah I think I think we've covered quite a bit over both material yeah cool cool okay thanks thanks a lot for stopping by yeah thanks for stopping by check out other videos upstairs Downstairs like etc yeah","transcript_synced_at":"2026-11-04T04:32:47.450Z","segments":[{"start_seconds":2,"text":"Alexson Illya here from near we're here with judges from plasma we're gonna talk more in depth how plasma works judges do","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2s"},{"start_seconds":11,"text":"you want to introduce yourself talk about what you're working on hi everyone so I work on plasma specifically the variant called plasma cash which is a technique for creating","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=11s"},{"start_seconds":20,"text":"more secure side chains and let's get to it so the side chains they're used for","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=20s"},{"start_seconds":26,"text":"basically if a the original chain is very congested you can offload computation to the side chain do whatever you want there and then get","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=26s"},{"start_seconds":34,"text":"your funds back so sure yeah so normally you have like a chain which has some","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=34s"},{"start_seconds":43,"text":"looks so I will use the arrow to the left to show that we pawned the produce look there is a right direction yeah no","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=43s"},{"start_seconds":54,"text":"to the left because you point to the previous block yeah and yeah and so what would happen is that you have some","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=54s"},{"start_seconds":61,"text":"transactions happening here but let's say that you want to deposit your funds on a side chain so you have another","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=61s"},{"start_seconds":68,"text":"chain over here and let's say that this chain has like ten minute block time","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=68s"},{"start_seconds":77,"text":"like maybe bitcoin and this has like one second block time and so what you can do is that you can create a special","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=77s"},{"start_seconds":85,"text":"transaction which it will actually lock up some tokens here so you do you look","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=85s"},{"start_seconds":91,"text":"look five with the C let's say and then","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=91s"},{"start_seconds":98,"text":"this locked five BTC after a few blocks which are used like to prevent like your organization from their original chain","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=98s"},{"start_seconds":106,"text":"they will appear on the side chain and now let's say that you have now five and here now you have like five bpc twenty","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=106s"},{"start_seconds":114,"text":"for example so when you say lock in I mean is kind of bad example right because you can right so let's","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=114s"},{"start_seconds":121,"text":"consider that maybe you can call this maybe if you're something else so you have like you put your funds in an escrow will the escrow which can be a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=121s"},{"start_seconds":129,"text":"smart contract it can be some multi some you take so script with time spending","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=129s"},{"start_seconds":136,"text":"conditions because we do not want this to be specific for a theorem okay and it will be very interesting like to see something which can be also applied to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=136s"},{"start_seconds":143,"text":"Bitcoin for this and so you have your funds look here you lock your funds here the funds appear here then you can start","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=143s"},{"start_seconds":152,"text":"transacting so like you get you spend from here to here and so on and then if you want to take your funds out you make","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=152s"},{"start_seconds":159,"text":"another special terms action and you get them out like this so maybe this has because they have very different block times maybe this is like this has like","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=159s"},{"start_seconds":168,"text":"five blocks but this can be a million blocks in between and so this withdrawal it will burn it will burn the five BTC","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=168s"},{"start_seconds":179,"text":"20 and it will unlock the five BTC here","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=179s"},{"start_seconds":187,"text":"so this is like the very like overview of like how a sidechain works you look you create new ones you turns out and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=187s"},{"start_seconds":195,"text":"then you burn and you unlock the original ones but this has the assumption that firstly after you lock","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=195s"},{"start_seconds":204,"text":"them this will appear here and then that when you that the chain will allow you to burn them here because if you because","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=204s"},{"start_seconds":213,"text":"what you will do is that you will go to this to the third chain and you can present proof of the burden of the origin of the on the side chain and it will allow you to unlock based on the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=213s"},{"start_seconds":222,"text":"spending conditions that you had originally and you cannot always have this guarantee because if you want to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=222s"},{"start_seconds":228,"text":"use this for to scale this chain it will have like some inherent trade-offs with respect to its security so if it's not","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=228s"},{"start_seconds":236,"text":"for example you cannot have a proof of work if this is a proof of work chain this can be used for interoperability if both chains are very secure yeah if they","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=236s"},{"start_seconds":245,"text":"both have like honest majority assumption or the 51 percent like enough horsepower but if you use for example","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=245s"},{"start_seconds":252,"text":"some proof of stake which is like much more limited with a limited value dataset or just a one guy yeah or just one guy","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=252s"},{"start_seconds":260,"text":"exactly or just one guy maintaining the chain you cannot exactly like get these security guarantees and so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=260s"},{"start_seconds":266,"text":"what the plasma technique does is that along with this process whenever all","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=266s"},{"start_seconds":275,"text":"side-chain blocks they get committed to the original chain and so when I say committed I mean that the metal route of","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=275s"},{"start_seconds":283,"text":"the blade not the state the transactions so I will talk about UT EXO based plasma","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=283s"},{"start_seconds":291,"text":"and so there are two variants like you can either have account based or you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=291s"},{"start_seconds":299,"text":"take so based where in the account based you have accounts and in the YouTube which you have you take souls but in the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=299s"},{"start_seconds":306,"text":"account based you commit state routes in that you take so base you commit transaction routes and the difference is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=306s"},{"start_seconds":316,"text":"that with the account based we currently do not have a good scheme like for maintaining safety so this is like why we go with the UT exobase for now and so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=316s"},{"start_seconds":325,"text":"every block gets committed to the original chain and this shows that the plasma chain it must it must have like","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=325s"},{"start_seconds":334,"text":"the same block time at least the same block time as the original chain why is that because if you commit multiple","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=334s"},{"start_seconds":342,"text":"blocks let's say you do this for example if you commit multiple blocks in the same working in the same block","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=342s"},{"start_seconds":349,"text":"if there is an orphan block here an attacker can simply orphan one block and while while kicking multiple blocks out","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=349s"},{"start_seconds":357,"text":"and this could be used essentially in an attack where the size of a plasma chain database manager essentially they","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=357s"},{"start_seconds":366,"text":"collude with the miners and they choose to commit multiple blocks they do a bunch of double spins in the chain and then they orphan one block then commit","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=366s"},{"start_seconds":374,"text":"in different yeah exactly okay but it also means the finality for the sidechain is yes exactly","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=374s"},{"start_seconds":381,"text":"so the finality question yes why is it different from like let's say let's say it's the same right","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=381s"},{"start_seconds":388,"text":"yes they still can collude and revert one block yes they can collude one to revert one block which means that alternatively if you want to make this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=388s"},{"start_seconds":397,"text":"more say you can commit less often so the goal of plasma is not to improve finality to improve capacity because you still have","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=397s"},{"start_seconds":405,"text":"the same all words finality but you instead of having you commit if you essentially finalize a bunch of","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=405s"},{"start_seconds":412,"text":"transactions with 32 bytes because you just commit like one - a micro cash one","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=412s"},{"start_seconds":419,"text":"metal root while this block it can have like in any number of transactions so you have this separation of the state","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=419s"},{"start_seconds":426,"text":"where the state of this I train just like a very small commitment of it gets put but in practice it could have been","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=426s"},{"start_seconds":432,"text":"100 blocks yeah in 32 bytes it's just that I as a user of plasma will still wait for for 10 more blocks on the up of","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=432s"},{"start_seconds":441,"text":"the okay alternately you could do that you could just wait as a user for the finality smaller blocks but the finality","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=441s"},{"start_seconds":450,"text":"though still depends on the time of the parent you know exactly exactly and obviously the more secure the parent chain the less likely you can stretch","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=450s"},{"start_seconds":459,"text":"this on okay so that's the basic approach and the difference with the sidechain egg the sidechain withdrawal","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=459s"},{"start_seconds":466,"text":"is that instead of burning we call this process and exit which essentially the exit it's a bit different so let me just","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=466s"},{"start_seconds":474,"text":"erase this to make this more clear in the exit you make an attestation about the validity of your state and you have","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=474s"},{"start_seconds":483,"text":"a dispute period so that if somebody wants to say that this is not the current state you you're you're at the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=483s"},{"start_seconds":492,"text":"station gets cancelled so what you do is that for example I'll do another chain and I will show you how they exit would","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=492s"},{"start_seconds":500,"text":"be so let's say that you want to you you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=500s"},{"start_seconds":507,"text":"claim but you want to exit and you take so which was which happened at this block so you make the exit request here","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=507s"},{"start_seconds":515,"text":"with whatever information I required so it's exact request and you check so model you just span you you check so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=515s"},{"start_seconds":522,"text":"into some specific address know so you claim ownership that you did so and then so what you do is that essentially you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=522s"},{"start_seconds":530,"text":"go to the parent chain so this is the parent chain and you go to the parent chain smart contract and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=530s"},{"start_seconds":537,"text":"you you say I have some funds from the plasma chain and this is the latest state that I own the Met and you make","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=537s"},{"start_seconds":544,"text":"that the station here and then you wait some dispute period so this is the dispute period which is some number of","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=544s"},{"start_seconds":554,"text":"blocks which is a security parameter and then after this time has passed you can finalize the exit and withdraw","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=554s"},{"start_seconds":562,"text":"your funds but so if you do the finalize then you can take your funds out of the escrow but in the alternative case that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=562s"},{"start_seconds":572,"text":"somebody comes here and challenges can use them blue moon somebody can come in between like maybe at this block and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=572s"},{"start_seconds":581,"text":"they can challenge and what the challenge does is it simply is a contradictory statement which says that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=581s"},{"start_seconds":590,"text":"you exited here and they present proof which shows that your exit request is invalid and so this is like and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=590s"},{"start_seconds":598,"text":"basically what you do is that when you exit you need to enforce somehow this good behavior and how do you do this because what's the cost essentially of","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=598s"},{"start_seconds":607,"text":"an attack it's basically firstly the transaction costs but what you do is that you also have some fidelity bond","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=607s"},{"start_seconds":615,"text":"like some security deposit so that when you do the the the initial request if nobody challenges you you also get the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=615s"},{"start_seconds":623,"text":"bond back mm-hmm but if somebody challenges you firstly your exit gets cancelled and the Challenger gets the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=623s"},{"start_seconds":631,"text":"bond so it has like this very nice property that you're both disincentivized from doing the trip and also people are incentivized to look at you and this is pretty standard this is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=631s"},{"start_seconds":639,"text":"used also in proof of stake withheld a deposit in payment channels for disputes this is the typical trade you challenge","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=639s"},{"start_seconds":646,"text":"it also post a bond right to a cap the challenge excuse me challenger also posts a bond no so okay","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=646s"},{"start_seconds":654,"text":"so they're very few there are different types of challenges so if the challenge is non-interactive so if it's like I see something I challenge it done here's the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=654s"},{"start_seconds":662,"text":"proof yes it's the Challenger doesn't need okay a bond in the cases which I will explain in a bit there are sometimes there is a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=662s"},{"start_seconds":670,"text":"type of challenge which can be interactive and this means that somebody exits somebody challenges and somebody can also respond can solve a interactive","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=670s"},{"start_seconds":678,"text":"challenge it needs to be bonded because they respond essentially they responded cancel the challenge yeah all right","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=678s"},{"start_seconds":685,"text":"so in plasma cash now specifically what happens is that it is a UT EXO based","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=685s"},{"start_seconds":693,"text":"last matching so we have shown like how you can how the high-level overview is wave for depositing and withdrawing and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=693s"},{"start_seconds":700,"text":"how you can use exits and challenges to basically enforce the good behavior so now we will check the protocol","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=700s"},{"start_seconds":708,"text":"specifically how it is and so in plasma cash what happens is that let's say you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=708s"},{"start_seconds":715,"text":"have five I'll use if now and what do you do is that you deposit them you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=715s"},{"start_seconds":723,"text":"deposit them in a smart contract so this is the contract okay the contract then","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=723s"},{"start_seconds":730,"text":"emits some event to notify the other chamber side chain here and meet deposit","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=730s"},{"start_seconds":737,"text":"and then this is the plasma chain and the plasma chain then creates a new","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=737s"},{"start_seconds":745,"text":"block which gives you the funds so in plasma cars specifically when you deposit a coin you get a unique ID so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=745s"},{"start_seconds":754,"text":"it's almost like it's almost like yeah it's almost like cash in a sense that this is like a five with bill so if I","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=754s"},{"start_seconds":762,"text":"deposit another bill if I deposited two if I would get a twist build and much like cash I cannot like very tear it in","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=762s"},{"start_seconds":770,"text":"half because the moment you think they have like it has no value in plasma you cannot you simply cannot tear it in half and so this means that you have a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=770s"},{"start_seconds":778,"text":"utakome model which has one input and so after this you get the coin get this and so you have a you TXO model which is one","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=778s"},{"start_seconds":787,"text":"input and one output 1 output and so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=787s"},{"start_seconds":794,"text":"there yeah thank you and so if you have a UT EXO model which","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=794s"},{"start_seconds":801,"text":"is with one input and one output you cannot make arbitrary payments which at the end of the recession will show how","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=801s"},{"start_seconds":809,"text":"you can do it through some interesting techniques and so how does this look like in the chain how does travel so now","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=809s"},{"start_seconds":817,"text":"we will show like how to one how to transact to how to exit three how to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=817s"},{"start_seconds":826,"text":"challenge this is the process we will follow now so I have a quick question here yes what happens if I deposit five","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=826s"},{"start_seconds":834,"text":"if to the contract and okay so what you can do is that you can initiate at an","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=834s"},{"start_seconds":842,"text":"exit of a deposit so essentially if this part doesn't happen so if this thing","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=842s"},{"start_seconds":849,"text":"doesn't happen you can directly go to the contract and exit the deposit and somebody can then show proof of a spend","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=849s"},{"start_seconds":858,"text":"of the deposit so you deposit your coins you get but you don't get anything here if you exit the deposit this will only","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=858s"},{"start_seconds":867,"text":"be charged by showing a spend on plasma yeah yes they have to show you take solve it on plasma but because you never","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=867s"},{"start_seconds":876,"text":"signed a utx own plasma because you never got the funds in the first place there is no such challenge so it's deposit generating a unique ID for this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=876s"},{"start_seconds":884,"text":"like this in this moment right in the smart contract to be perfectly accurate you get some coin ID okay whatever","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=884s"},{"start_seconds":892,"text":"unique identifier so it's like the serial number in cash this would be like 0 X 1 2 3 so it has the dollar bill that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=892s"},{"start_seconds":900,"text":"you get when you deposit the funds it has some additional metadata so it has the block at which you deposit it there it has a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=900s"},{"start_seconds":907,"text":"very owner like it has like some necessary metadata or to do this if you are depositing some merci 20 token for example it would also need to have the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=907s"},{"start_seconds":915,"text":"contract address because when you want to withdraw you would need to have that story from before exactly so so if so if I just deposited","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=915s"},{"start_seconds":924,"text":"but never ever transacted there are two ways for me to exit I can exit the deposit and I can yes the regular way yes okay I see yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=924s"},{"start_seconds":933,"text":"which in the code it is like one function it's one function you just like specify where you want I'll show this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=933s"},{"start_seconds":939,"text":"right now so now we'll do like a graph when we show that you deposit the coin you transact and how you can exit so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=939s"},{"start_seconds":949,"text":"we'll take the usual suspect like Alice and Bob so let's say it like this arrow","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=949s"},{"start_seconds":956,"text":"it indicates that you deposit so this is all this is the plasma chain and this is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=956s"},{"start_seconds":964,"text":"block 1 block 2 loop 3 block 4 so in","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=964s"},{"start_seconds":972,"text":"this block you get it like this is Alice Alice right here she can choose to exit","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=972s"},{"start_seconds":979,"text":"so this is essentially the state here what we just said like it doesn't matter if you got it on plasma or not you can","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=979s"},{"start_seconds":986,"text":"just say I exited this block that I just deposited and some for somebody to challenge they would need to reveal a spangly oh wait so let's say that this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=986s"},{"start_seconds":995,"text":"doesn't happen right now and let's say that alice indeed got your fans on their plasma chain and she wants to spend them to somebody so in order to spend a coin","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=995s"},{"start_seconds":1005,"text":"you do this obviously so you have the coin and what you do is that essentially you create a transaction which refers to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1005s"},{"start_seconds":1014,"text":"a parent block so essentially the transaction it is the slot the parent","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1014s"},{"start_seconds":1019,"text":"block by and block then you own a new","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1019s"},{"start_seconds":1027,"text":"owner and some signature the parent block on plasma chamber yes so in this case we're signing let's say it's 0x a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1027s"},{"start_seconds":1037,"text":"so in this case it would be 0x a it's not the pint block would be block 1 the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1037s"},{"start_seconds":1043,"text":"new owner would be Bob and the signature is yeah it's the signature on this data yeah why do we do this why do we need","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1043s"},{"start_seconds":1052,"text":"the parent block because analyst should also do this and if Alice does this she gets another transaction included to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1052s"},{"start_seconds":1061,"text":"let's say a prime which is also Alice her background on the other accounts you want to double","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1061s"},{"start_seconds":1068,"text":"spend we want some way for Bob the actual owner to challenge and essentially this is a challenge of a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1068s"},{"start_seconds":1075,"text":"double spend by which you show that you have a transaction in between and how do you know that it's in between because you reveal a transaction which has the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1075s"},{"start_seconds":1083,"text":"same parent block with a later transaction but it happened before the other transaction and this is like by definition a double spend it have the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1083s"},{"start_seconds":1090,"text":"same place which gets spent into play in two other places okay but let's take the honest games like so how does Bob know just so what","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1090s"},{"start_seconds":1100,"text":"if I was includes another transaction in this block this cannot happen by definition because yeah I didn't say so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1100s"},{"start_seconds":1107,"text":"we use a structure called sparse metal tree so this part is marking tree it has","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1107s"},{"start_seconds":1114,"text":"it's an ordered tree where they I think","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1114s"},{"start_seconds":1119,"text":"I'm so they're like the index here it's","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1119s"},{"start_seconds":1127,"text":"like 0 1 2 3 their coins if its index they rather its index is actually the value of the coin","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1127s"},{"start_seconds":1136,"text":"so the 0 X a let's say it's 0 X 1 it would get it will appear like in this index here so you have like some if here","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1136s"},{"start_seconds":1146,"text":"which means that if you try to include two transactions like it you cannot do it simply one either one or the other will get included mm-hm","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1146s"},{"start_seconds":1153,"text":"for the same transaction route because otherwise like this is already full it is okay yeah so there's like yep once","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1153s"},{"start_seconds":1161,"text":"yeah so there is that you could say that Alice could overwrite and say like I give it to Bob and then she overrides it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1161s"},{"start_seconds":1170,"text":"and then does to a prime but Bob needs to wait and check that this block yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1170s"},{"start_seconds":1178,"text":"exactly and when that block is positive like he checks that oh I don't have the transaction so I do not give I will not give you the product or you just paid","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1178s"},{"start_seconds":1185,"text":"for it mm-hm all right so let's take the honest case and see how like this evolves","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1185s"},{"start_seconds":1195,"text":"so is it clear so far okay so maybe I","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1195s"},{"start_seconds":1201,"text":"can have the blue yeah yeah so now that bob has the coin let's say that in this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1201s"},{"start_seconds":1210,"text":"block nothing happens like some other coin gets spent but this coin doesn't happen so right now we're looking at the sequence of blocks which are only","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1210s"},{"start_seconds":1218,"text":"specific to this coin like and this is like the how plasma cash gives with security yeah because it's going is unique and you have like this separation","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1218s"},{"start_seconds":1226,"text":"for it's going and so nothing happens here now bloke so and now she wants to spend it like this so this is Charlie","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1226s"},{"start_seconds":1235,"text":"let's say so when Bob receives the coin he needs to check that it was included","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1235s"},{"start_seconds":1242,"text":"in block 1 and in block 2 and if the metal proofs are valid he will say okay the coin is good I will give you the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1242s"},{"start_seconds":1250,"text":"product that you paid for now that Bob sends it going to Charlie he must give he must thank him inclusion proof inclusion proof and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1250s"},{"start_seconds":1259,"text":"exclusion proof so every time you make a transaction you need to pass the full you take so history of that specific","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1259s"},{"start_seconds":1265,"text":"coin and the bad thing about this is that it grows linearly with the history because what happens is that let's say","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1265s"},{"start_seconds":1274,"text":"that you had like a million no interest right exactly but no the thing is that you don't need to have a million transactions you you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1274s"},{"start_seconds":1281,"text":"have no spends here so let's say 1 million blocks without without transaction I still need to send you all","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1281s"},{"start_seconds":1289,"text":"the 1 million blocks even though I didn't touch the coin right which doesn't exactly make sense so and this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1289s"},{"start_seconds":1297,"text":"is like one like the main pain point of the plasma cash but when I send you so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1297s"},{"start_seconds":1304,"text":"let's say that Bob wants to send to Charlie like they would lead to send him 1 million proofs of exclusion where a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1304s"},{"start_seconds":1312,"text":"proof of exclusion in the sparse Merkle tree it simply proves the a path but the path that nothing exists","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1312s"},{"start_seconds":1320,"text":"no no from like it would be like this yeah just to pass that this is zero pretty much yeah you prove inclusion of","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1320s"},{"start_seconds":1328,"text":"zero instead of proving inclusion of some element that's a good question so so let's say my coin is 1 belongs to L is when L is sends up the book is it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1328s"},{"start_seconds":1337,"text":"still one or that creates in you it still wants to fill one so what happens that the owner of a coin per block gets updated or rather you have a transaction","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1337s"},{"start_seconds":1346,"text":"which has the inside yeah so you always have like a coin only cares about its specific index","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1346s"},{"start_seconds":1353,"text":"it's totally separate from all other coins and in the sorry I assume every block contains the transaction route and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1353s"},{"start_seconds":1360,"text":"what is the value that is stored in the leaves is it the owner or is it just it's the hash of the transaction if the transaction for that he takes off","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1360s"},{"start_seconds":1368,"text":"happened in the yes 0:09 yeah yeah that's why you need to send all of it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1368s"},{"start_seconds":1376,"text":"because there's no like state yeah in the blocks it's it's actually like you need I need to prove to you that in the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1376s"},{"start_seconds":1383,"text":"ten blocks that passed this was indeed zero and nothing else happened because if it wasn't like you would have the previous attack that we showed so in","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1383s"},{"start_seconds":1392,"text":"this case for example if there was like another transaction let's say so pretty much it it's if there was a transaction here Charlie would check that there was","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1392s"},{"start_seconds":1400,"text":"at spend in between until they reject the coin and by reject the coin like the up the chain it could show that charlie","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1400s"},{"start_seconds":1409,"text":"owned the coin but Charlie wouldn't use it and they wouldn't give you the product because they cannot exit the coin why because this guy would be able","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1409s"},{"start_seconds":1416,"text":"to challenge it yeah so it's not like a straightforward at least the way I think of it a check so it's more of like an","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1416s"},{"start_seconds":1423,"text":"account model of this Queens thank you happy pretty much you have like you can have a mapping yeah you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1423s"},{"start_seconds":1430,"text":"have one X owner yeah yeah that's just state and then you judge the state this state yeah yeah what's the depth of the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1430s"},{"start_seconds":1439,"text":"state yeah essentially the the full node it maintains that yeah right like if you have if you run like a full node yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1439s"},{"start_seconds":1446,"text":"exactly what what breaks if the if the Merkel root is actually Merkel's root of the of the owners so if you if you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1446s"},{"start_seconds":1454,"text":"the root of the state you mean yeah so you cannot have a tax where you cannot know like who is the valid owner you you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1454s"},{"start_seconds":1461,"text":"need to prove like somehow that no the making root is still the owner because because the plasma owner can fabricate","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1461s"},{"start_seconds":1468,"text":"yes fabricate the change you need because when I'm doing this like when I'm taking the history I'm also taking signatures mhm you're taking that for history","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1468s"},{"start_seconds":1477,"text":"essentially Bob here hits X is a signature of the transaction valid for this one and you do that for all right","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1477s"},{"start_seconds":1485,"text":"and for the empty ones you just take the metal path because there is no transaction and are you are you about to review some magic way to avoid including","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1485s"},{"start_seconds":1494,"text":"you land blocks yeah yeah we will do that like the world yeah exactly so this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1494s"},{"start_seconds":1501,"text":"is how transactions happen if I want to exit if I want to withdraw you need to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1501s"},{"start_seconds":1508,"text":"addition you need to provide essentially the block that you got the transaction and the parent block so an exit it looks like this so it's like you give their","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1508s"},{"start_seconds":1517,"text":"the transaction here and the Palin transaction here and you do you need to do this in order to do the challenges","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1517s"},{"start_seconds":1525,"text":"properly which we're getting to now so you start an exit you wait seven days or some amount of time if nobody challenges","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1525s"},{"start_seconds":1532,"text":"you get the you get you can withdraw the funds from the original contract yeah if some of the challenges you cannot withdraw the funds and you lost your","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1532s"},{"start_seconds":1540,"text":"deposit your deposit right so now we'll show the three types of challenges that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1540s"},{"start_seconds":1548,"text":"exist on the plasma so this one yeah okay so this is good so instead of exiting here what if Bob sends the coin","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1548s"},{"start_seconds":1557,"text":"to Charlie and Bob decides to exit here it is a valid the smart contact doesn't know that this transaction has happened","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1557s"},{"start_seconds":1564,"text":"it it has a make reroute yeah but it doesn't know that per se the transaction has happened and so Bob exits here he","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1564s"},{"start_seconds":1574,"text":"waits some time but Charlie reveals a spend of it and has to be a direct spend so it has to be exactly a transaction","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1574s"},{"start_seconds":1582,"text":"which spends from this block because otherwise you could have an attack for example where how to say maybe like Charlie gives it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1582s"},{"start_seconds":1590,"text":"to Bob again yeah Bob gives it again and you know you can have like this case where Bob exits Bombyx it's here but","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1590s"},{"start_seconds":1599,"text":"Charlie challenges with this and you don't want to have this so it has to be but this book is lower right sorry the slot would be lower no no the slope is always the same like it's always about","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1599s"},{"start_seconds":1607,"text":"the same coin Oh a slot is not the the slot of the block no no so when yeah right so when I say I use it as coin idea yeah yeah I","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1607s"},{"start_seconds":1615,"text":"think like slot in the American clue so it's index coin index yeah right so this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1615s"},{"start_seconds":1623,"text":"is the challenge of a spent coin right so this is like there are three types of challenges so but it's possible that like this happened yes and then so what","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1623s"},{"start_seconds":1633,"text":"you still challenge with this but like it's not his coin why would he care right this guy when this guy does the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1633s"},{"start_seconds":1641,"text":"coin is senses he got all the precautionary so he uses this proof okay okay right so in the other case you can","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1641s"},{"start_seconds":1651,"text":"have a double spend so the double spend it would look like this in general anybody can anybody can Challa know anybody can chattering yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1651s"},{"start_seconds":1659,"text":"so you're not that fine with any of this yeah but the party who is most incentivized to challenge is the owner of the coin yeah yeah yeah yeah exactly","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1659s"},{"start_seconds":1666,"text":"so let me just clean this up a little bit from the millions of arrows","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1666s"},{"start_seconds":1677,"text":"right so now let's say that Alice has the coin here she sends it here and she also sends it here let's say","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1677s"},{"start_seconds":1686,"text":"like to Charlie Bob receives the coin everything is good but Charlie now he exits by referencing","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1686s"},{"start_seconds":1694,"text":"the coin and a parent and this again it looks like a valid exit to the smart contract because you reveal the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1694s"},{"start_seconds":1702,"text":"transaction and its parent but this guy doesn't like it because it's his coin because he got it first and so you challenge by providing a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1702s"},{"start_seconds":1711,"text":"transaction which has the same parent but it hasn't happened before this one right so this is like fairly straightforward so so far we have shown","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1711s"},{"start_seconds":1720,"text":"like and these are both like these two challenges they are instant how do you find before like how do you prove that it is before by showing that the coin","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1720s"},{"start_seconds":1729,"text":"you're revealing has been included after the parent block before the X block and that it has the same parent block as","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1729s"},{"start_seconds":1737,"text":"this transaction how do you actually prove that your block was earlier than and in exchange agenda because because","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1737s"},{"start_seconds":1745,"text":"of the on the plasma contract you have like block 1 has 0 X 1 2 3 block to some","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1745s"},{"start_seconds":1753,"text":"others it has a history of all the blocks yes the plasma contract every every yeah right so every block route it gets committed to the plasma change so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1753s"},{"start_seconds":1762,"text":"essentially you say you reveal amazing proof that this coin was included and like when he exits he reveals a medical proof here when you exit you reveal","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1762s"},{"start_seconds":1770,"text":"America - here we have a notion of time so it happens is Bob receives transaction receives money from Alice","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1770s"},{"start_seconds":1778,"text":"Bob knows that until that and kill the block where the transaction was included it was not bent yes then Bob observes","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1778s"},{"start_seconds":1785,"text":"that the block is included in the plasma chain that all the previous blocks are consistent with the proof he waits for","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1785s"},{"start_seconds":1792,"text":"10 blocks I say and so Carol or Charlie has no way God Charlie receives it and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1792s"},{"start_seconds":1801,"text":"he knows that she cannot exited this book is always greater than yes yes yes and to be clear like Charlie here they","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1801s"},{"start_seconds":1810,"text":"know that this is invalid because they know they're yeah exactly they know they're cheating so if this guy accepts the coin","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1810s"},{"start_seconds":1819,"text":"it's only because they're trying to cheat like there is no way for them to spend it or exit it because if they send it because if they send it to somebody","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1819s"},{"start_seconds":1827,"text":"else they can run body else they will see this transaction and they will say I detector yeah and they will reject right it always like yeah so there is this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1827s"},{"start_seconds":1836,"text":"thing you need to always validate the UT EXO history right and if you're a full client this is easy because you have all the nodes already but if you're a late","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1836s"},{"start_seconds":1845,"text":"client this is also like this is better than there are other alternatives because you always only implicate just about the coins that you own because if","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1845s"},{"start_seconds":1852,"text":"you own like three coins like this isn't that much data to verify the main problem is the bandwidth like when you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1852s"},{"start_seconds":1860,"text":"need to send a million yeah but at the beginning we sort of concluded that the plasma network doesn't have any incentive to generate blocks faster than","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1860s"},{"start_seconds":1868,"text":"yeah exactly so it's not all sorry well faster than the than the parent network right yeah so if it's Bitcoin it's once","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1868s"},{"start_seconds":1876,"text":"every two that's quite a few yeah if so they're they're multiple I will approach","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1876s"},{"start_seconds":1884,"text":"to this towards then like how can we make the history smaller there are multiple approaches so this is the challenge between so you you can imagine","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1884s"},{"start_seconds":1893,"text":"them like the first one is their challenge after will you challenge with a spend yeah the one is the challenge between because you give a challenge in between and the final one is the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1893s"},{"start_seconds":1902,"text":"challenge of an invalid history and the challenge with an invalid history it's an interactive challenge what do I mean by that that's when the plasma that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1902s"},{"start_seconds":1910,"text":"requires collusion with plasma oh yeah yeah yeah so runners yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1910s"},{"start_seconds":1921,"text":"so I'll leave cows has you seen the coin and somehow the operator in his trade","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1921s"},{"start_seconds":1928,"text":"that you showed there they allow this transaction to happen like from Bob to charlie somehow because they are the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1928s"},{"start_seconds":1936,"text":"database manager and they say in their state that this guy owns the coin and now Bob makes atoms AK from Charlie","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1936s"},{"start_seconds":1943,"text":"Charlie obviously sees that there is no spend from here to here so he shouldn't accept the coin but let's say that they're all like together and they're","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1943s"},{"start_seconds":1952,"text":"trying to steal this coin because that is they attack effectively and they do that again - let's say Dylan and Dylan","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1952s"},{"start_seconds":1963,"text":"again they're all trying to cheat so what what they do is that they try to exit here all you could try to exit here","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1963s"},{"start_seconds":1969,"text":"this also work so you exit here and what happens is that this one they do this like challenge with invalid history so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1969s"},{"start_seconds":1978,"text":"they they reveal essentially a metal proof which shows that they own the coin before the pylons look and this it is an","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1978s"},{"start_seconds":1987,"text":"interactive challenge so this one is exit + bond and this is also challenge + borned yes yeah because this guy's need","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1987s"},{"start_seconds":1996,"text":"to know if it's true they need to provide this link exactly because this can be true okay but this may also have","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=1996s"},{"start_seconds":2004,"text":"happened so if this has happened you do respond you do respond to challenge and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2004s"},{"start_seconds":2012,"text":"the idea is that you can have multiple of the challenges in the whole history and in order to finalize an exit","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2012s"},{"start_seconds":2019,"text":"it must have zero pending challenges which haven't been responded to and this happens like if you have a long chain","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2019s"},{"start_seconds":2027,"text":"and you have an operator who starts like to do yeah but still this shows that the attack as long as there is somebody","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2027s"},{"start_seconds":2034,"text":"watching it still maintain safety because you try to exit here some of the challenges in the past and you can","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2034s"},{"start_seconds":2042,"text":"either you can try to reveal spend if you have one or you cannot and if you notice it like this is essentially almost like that the first challenge of","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2042s"},{"start_seconds":2050,"text":"a spend where you try to makes it here and somebody responds with a spend yeah so the challenge trade is pretty long right it's like few days yes","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2050s"},{"start_seconds":2057,"text":"so so what so effective what could happen is so these look from Ellis here","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2057s"},{"start_seconds":2065,"text":"and she sends it like let's say let's say the coin was actually traveling quite a bit right then it went to Carol maybe back to alias like there was like","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2065s"},{"start_seconds":2073,"text":"every ten seconds let's say it was moving right yeah and that that has been happening for like quite a while so let's say these","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2073s"},{"start_seconds":2082,"text":"100 transactions here and then it stopped and then at some point later Bob who does not possess the coin anymore","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2082s"},{"start_seconds":2091,"text":"sends it to Dave what happens now is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2091s"},{"start_seconds":2096,"text":"that Dave tries to exit he says I'm","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2096s"},{"start_seconds":2102,"text":"exiting yeah and Ellis challenges of type so Ellis says look I know the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2102s"},{"start_seconds":2111,"text":"challenge it was whatever oh yeah oh they always will use the last yeah yeah it still I mean it could have been like this is an engineering problem oh no no","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2111s"},{"start_seconds":2119,"text":"what that actually I was not let's say Dave tries to exit here and he","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2119s"},{"start_seconds":2126,"text":"legitimately possesses the coin and then Ellis doesn't want him to to exit and she says you know I actually own it here","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2126s"},{"start_seconds":2133,"text":"for Dave to prove that Ellis is lying yes he will send a challenge saying that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2133s"},{"start_seconds":2141,"text":"now look like you sent it together they will spend of the of the challenge yeah which to which Ellis says oh you know it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2141s"},{"start_seconds":2148,"text":"no more there's no more there's no more oh that's it you do one round there's one no it's not that it's not n steps makes it don't mix don't search because","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2148s"},{"start_seconds":2157,"text":"the moment you reveal spend that's it alternatively Alice could challenge","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2157s"},{"start_seconds":2162,"text":"again with but if you challenge the the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2162s"},{"start_seconds":2169,"text":"exit challenge period does not extend right no no no so there there is a trick here that you do because when you allow","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2169s"},{"start_seconds":2176,"text":"multiple challenges what an attacker could do so let's make an so these are the three challenges it's clear how they work let's say some timing like attacks","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2176s"},{"start_seconds":2185,"text":"like how the when you challenge how the challenge period became and there anything that we","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2185s"},{"start_seconds":2194,"text":"talk about challenges responses bonds and all that it's all are generalizable to any type of crypto economic protocol","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2194s"},{"start_seconds":2203,"text":"you want to build but how you manage basically the safety of the protocol by","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2203s"},{"start_seconds":2210,"text":"adding like challenges and disputes but all this does require pretty sophisticated like smart contract platform right you can yes I Bitcoin","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2210s"},{"start_seconds":2220,"text":"this is unlikely to be possible it's may be possible in Bitcoin cash with the addition of a few op codes which are","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2220s"},{"start_seconds":2228,"text":"being discussed right now as far as I know but I haven't looked into it in depth it would be very exciting if it's possible though so that coin cash","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2228s"},{"start_seconds":2236,"text":"exactly yeah oh well nothing works","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2236s"},{"start_seconds":2247,"text":"okay so this is the this is the dispute period let's say so at t 0 this is the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2247s"},{"start_seconds":2254,"text":"exit exit time and we have like some t 0 plus T capital T which is the end of the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2254s"},{"start_seconds":2263,"text":"challenge period and if nothing happens you can finalize here so you call finalize here and T is a security","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2263s"},{"start_seconds":2273,"text":"parameter like the longer the T the more time there is for somebody to do challenge so the less the liveness","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2273s"},{"start_seconds":2279,"text":"requirements for the network but the user experience drops because you need to wait longer for your to get your","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2279s"},{"start_seconds":2288,"text":"coins out and after I describe this I will also show a way with how you can basically avoid this delay so you do","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2288s"},{"start_seconds":2297,"text":"exit here and what you do is that you split the challenge period in half so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2297s"},{"start_seconds":2303,"text":"this is 0 plus T over 2 R you basically split it in like some parts some","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2303s"},{"start_seconds":2311,"text":"partition that you want and only during this period can you do an interactive challenge because you want to give enough time for people to respond","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2311s"},{"start_seconds":2320,"text":"because otherwise if you allowed somebody to make an interactive challenge here nobody would be able to respond right so what you do is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2320s"},{"start_seconds":2329,"text":"essentially you you allow instant challenges during the whole period but you won't allow interactive challenges only during the first half or like okay","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2329s"},{"start_seconds":2337,"text":"so maybe yeah whatever security parameter exactly exactly so essentially the closer this is to here the more the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2337s"},{"start_seconds":2345,"text":"more dangerous it is for the responders and the closer it is to here the last time there used to actually challenge so essentially you want this somewhere","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2345s"},{"start_seconds":2353,"text":"like it's a heuristic like pick whatever you want um okay so this is how they we split the challenge period and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2353s"},{"start_seconds":2362,"text":"essentially you can think of a coin as a state machine which it basically goes from like a few states from the pole so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2362s"},{"start_seconds":2371,"text":"it so let's see first deposit on on a smart car the moment you deposit it it's","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2371s"},{"start_seconds":2378,"text":"at state let's call it like q0 when you exit it goes to Q 1 when somebody","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2378s"},{"start_seconds":2386,"text":"challenges it goes back with a non-interactive challenge it goes back to the default state it cancels the exit","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2386s"},{"start_seconds":2395,"text":"yeah when when nobody challenges after a week you can finalize the exit which goes to q2 do you need to send a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2395s"},{"start_seconds":2403,"text":"transaction to finalize yes you need to send the transaction and what you can do is that you can create a batch finalize the transaction which just takes all the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2403s"},{"start_seconds":2411,"text":"coins and finalize them or like you can give it a list of coins but this is an engineering like how you want to do it and somebody's to pay for it buddy yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2411s"},{"start_seconds":2419,"text":"yeah exactly and you can additionally if you want you can add a q3 which is like the state from which you withdrawn yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2419s"},{"start_seconds":2426,"text":"that's like 4 years to 20 yeah but these two they can be combined this is literally because if you want now from an engineering perspective if you do","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2426s"},{"start_seconds":2434,"text":"finalize and withdrawing in one step and you want to do maybe many and you want to finalize many coins they withdraw it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2434s"},{"start_seconds":2441,"text":"cost much more than just setting the state to finalize and then each user on their own taking with the other coin so it's useful because you can do this to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2441s"},{"start_seconds":2450,"text":"finalize many coins together so the plasma Oh like runner can be like when they checkpoint things I can also find a lot","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2450s"},{"start_seconds":2456,"text":"everything exactly exactly why not Auto finalize if it's been 500 blocks oh this is literally like how you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2456s"},{"start_seconds":2465,"text":"you can add a cron job which literally just keeps calling finalized every blow my question is why not like in the smart","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2465s"},{"start_seconds":2473,"text":"contact why not to consider there is no out of its much contact you there's no like if you when they call for withdraw","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2473s"},{"start_seconds":2480,"text":"why don't we drop just check how many blocks it's been since okay so you can make it directly to do withdraw sure so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2480s"},{"start_seconds":2488,"text":"as a user you can essentially call the Rizal that withdraw called finalize first sure but we want essentially a way","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2488s"},{"start_seconds":2496,"text":"to safely instantly finalize everything and then people can withdraw whenever they want so do you mind if I quickly jump back to the challenges sure so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2496s"},{"start_seconds":2505,"text":"scenario imagine that so this is a block in which a coin belongs to Alice and Alice is the only honest person in this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2505s"},{"start_seconds":2513,"text":"okay in this scenario at some point eldest decides to send money to Bob and so she","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2513s"},{"start_seconds":2519,"text":"submits a transaction that is like from Alice to Bob and this is the parent","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2519s"},{"start_seconds":2526,"text":"right so actually this is the block she sends it to Bob Bob doesn't have to be","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2526s"},{"start_seconds":2533,"text":"malicious at some point later Carol who is malicious initiate transaction to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2533s"},{"start_seconds":2541,"text":"Dave with with the same coin Dave tries to exit exit with the caveat that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2541s"},{"start_seconds":2552,"text":"starting from this moment in time this plasma owner who is also malicious withhold checkpoint stop completely revealing blocks huh so it would","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2552s"},{"start_seconds":2561,"text":"snapshot to the main chain to the parent chain it will snapshot all the hashes all the header all day but the data about the blocks are not away but the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2561s"},{"start_seconds":2569,"text":"date is not available so now when Dave exits Ellis is like all I want to challenge but the last state that must be Alice to challenge it will be Bob","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2569s"},{"start_seconds":2577,"text":"let's say Bob is malicious well if Bob is malicious that's right no longer owns the coin yeah Bob is the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2577s"},{"start_seconds":2585,"text":"latest valid owner of the Bob is the latest valid owner but Bob also cannot challenge right well yeah he","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2585s"},{"start_seconds":2593,"text":"cannot but so the thing is that like a mitten Ellis is sending money to Bob as the transaction goes to the plasma owner plasma owner completely stops showing","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2593s"},{"start_seconds":2601,"text":"blocks to Angela so between Alice and Bob then this is always not know if you see the coin or not what happened I I get I got you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2601s"},{"start_seconds":2608,"text":"so what will happen here this is an inflight transaction essentially right so Bob is honest or in our case Alice and Bob are honest they want to do","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2608s"},{"start_seconds":2617,"text":"they're going to make a transaction and really this doesn't matter what happens we want to check like I agree that like then again attacking happen and you want","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2617s"},{"start_seconds":2625,"text":"to reveal a parent and how do we challenge this how do we get this through so firstly let's see how you can","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2625s"},{"start_seconds":2633,"text":"do like this inflight transaction how you can settle it there are two approaches to this there one is that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2633s"},{"start_seconds":2642,"text":"this we name it a griffon attack where you just say that essentially the operator by withholding data they forces","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2642s"},{"start_seconds":2649,"text":"you they force you to exit mad bad chicken or because Alice can attempt to eggs that's right yes so what you can do","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2649s"},{"start_seconds":2656,"text":"the steps are Alice exits so that very scenario is the following step one always wants to buy a product from Bob","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2656s"},{"start_seconds":2664,"text":"like let's like a real-world scenario so Alice to Bob transaction with held Bob","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2664s"},{"start_seconds":2672,"text":"doesn't is over all they see that a new block is committed but they do not know if the transaction was always not they","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2672s"},{"start_seconds":2680,"text":"need to force the operator to give them the information somehow so what alex can do is alice does an exit","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2680s"},{"start_seconds":2687,"text":"Alice exit a exit they exit here and the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2687s"},{"start_seconds":2696,"text":"operator they reveal a spend they reveal the spend so they challenge the exit so Alice","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2696s"},{"start_seconds":2703,"text":"so exit plus bond three operator challenge challenges so Alex loses a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2703s"},{"start_seconds":2712,"text":"bond which is a constant griefing factor confirm Griffin vector which is like so four so the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2712s"},{"start_seconds":2720,"text":"means that alice - bond but the transaction was revealed and the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2720s"},{"start_seconds":2729,"text":"operator as a business they made it clear that they're against their customers if you want so in a sense that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2729s"},{"start_seconds":2737,"text":"if this is a payment processor and they do this process indeed Alice does have a Griffin vector of like one bond but the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2737s"},{"start_seconds":2745,"text":"transaction settles because you now have all the information about the transaction and you have like you're essentially lose all your customer base","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2745s"},{"start_seconds":2754,"text":"so on the one hand like you you call this a Griffin attack where you which means that you lose some funds but the safety of your funds is still not close","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2754s"},{"start_seconds":2762,"text":"that's a little weak but it's also but it's also like if if I went to a store right I did this this cut was held I","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2762s"},{"start_seconds":2770,"text":"exit right away because we didn't see it you know was in ten seconds this happened in seven days just so Bob got","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2770s"},{"start_seconds":2779,"text":"the money I didn't get the product right okay so it's not just born it's born plus whatever the coins but they are the thing like seven days is a like that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2779s"},{"start_seconds":2787,"text":"sounding your except when you use plasma you accept that you're you waiting for seven days for security so no you don't wait for the final transaction finality","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2787s"},{"start_seconds":2796,"text":"so you consider the transaction has happened when you see the main route and you get their witness there now in","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2796s"},{"start_seconds":2803,"text":"finality of the paragraph it what but in my scenario who will be so one day if is saying or given I guess we agreed when","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2803s"},{"start_seconds":2811,"text":"given says I want to exit Google challenging yeah yeah so let's see cool challenging Alice will challenge him and given just sends and then and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2811s"},{"start_seconds":2820,"text":"then Bob Denzel Pareto reveals so let's say that this all is withheld right but not quite because so let's say you and challenges illustrates also the timeline","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2820s"},{"start_seconds":2828,"text":"right so this is this is this is when Gilliam says I want to exit this and the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2828s"},{"start_seconds":2836,"text":"the non-interactive challenge I can send them till the last moments right right so so operators and so the very last moment operations Abby oh wait so yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2836s"},{"start_seconds":2846,"text":"so I try to exit who you are Ilana thank you okay Alice is initiating interactive proof somewhere","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2846s"},{"start_seconds":2854,"text":"here like let's say let's say Ellison Ellison you shades your interactive probe here yes operator here provides books transaction like one second before","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2854s"},{"start_seconds":2863,"text":"before before NGO and exits and then and then like what happens no it doesn't happen because but he challenged Alice sister Anne Ellis's exit yeah Alice's","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2863s"},{"start_seconds":2871,"text":"challenge yeah so there wait so right I","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2871s"},{"start_seconds":2879,"text":"see I see I see I see okay yeah this is a good attack so what you can do and you want to somehow have Bob then not","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2879s"},{"start_seconds":2890,"text":"challenge it right so the moment they dine at this video now Bob can show about the time but the time is very little for him right right so what you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2890s"},{"start_seconds":2898,"text":"can do is that you can make it so that when it somebody responds you may extend the time to extend and then we're getting back to example where these 100","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2898s"},{"start_seconds":2908,"text":"yeah and then you get yeah but every time you challenge and respond like there is a what do you call it there is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2908s"},{"start_seconds":2916,"text":"a there's a bond but let's say keep attacking I have a lot of money but they don't want someone to exit yeah but this is like a Griffin vector where you have","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2916s"},{"start_seconds":2924,"text":"like infinite funds like you're losing there's no like from a perspective of gaining profits you're not gaining","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2924s"},{"start_seconds":2931,"text":"anything I agree it's my competitor who tries to get their money this is a valid","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2931s"},{"start_seconds":2939,"text":"concern like this is why I didn't describe the extension of time of the period of time earlier but yeah this is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2939s"},{"start_seconds":2945,"text":"a valid attack that can happen but wait a second so like how can we prevent this in the first place so there is a way","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2945s"},{"start_seconds":2953,"text":"that you can do what we call an in-flight and essentially exit of a fund","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2953s"},{"start_seconds":2959,"text":"where you add like when you exit you also reveal the transaction that we held and somebody so essentially you're","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2959s"},{"start_seconds":2968,"text":"saying I exit but the exit is not just block plus PI and block you also reveal a transaction and for somebody to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2968s"},{"start_seconds":2976,"text":"challenge you they would have to reveal either another transaction at this block or spend of this transaction right so by","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2976s"},{"start_seconds":2984,"text":"doing this you essentially skip away over the whole with building by attesting that you know this data also you're exiting for Popov that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2984s"},{"start_seconds":2993,"text":"yeah you're exiting here into Bob's pretty much account yeah exactly exactly the exit it settles to Bob oh you say","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=2993s"},{"start_seconds":3001,"text":"bye and that would be something that Bob will do no neither Bob no not necessary like Bob do it or else can do it anybody","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3001s"},{"start_seconds":3008,"text":"can do it the whole point is that Bob will get the funds and the NHL and the challenge will be the church that will be saying you know there was another transaction which wasn't live there it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3008s"},{"start_seconds":3017,"text":"wasn't Bob either it's somebody else or there is this either you proven Mirko","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3017s"},{"start_seconds":3025,"text":"route here that goes to zero for example or goes yeah everybody else in this block or so so for Alice that would be a dangerous and what you do schedule","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3025s"},{"start_seconds":3033,"text":"because no I'm saying that in flight exit for else will be dangerous because Ellis will say I want to exit for Bob and Bob concurrently will send money to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3033s"},{"start_seconds":3041,"text":"someone else right so it won't be Alice yeah it would be so can Bob do this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3041s"},{"start_seconds":3051,"text":"right yeah okay and to be clear like to do this type of limbo exit you need to add an additional parameter like because you need to show that the terms actually","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3051s"},{"start_seconds":3060,"text":"revealing where it was included you need to show that it was included in this block but you cannot you never saw the block yeah yeah that's what I'm saying","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3060s"},{"start_seconds":3068,"text":"that you you claim that it was included in this block but you are the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3068s"},{"start_seconds":3075,"text":"transactions when you make this happened whatever this happen yeah rather the question is Ellie said she doesn't know","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3075s"},{"start_seconds":3083,"text":"if the transaction to Bob was included because the block was never revealed she doesn't know maybe maybe maybe plasma curator decided not to that's what I'm","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3083s"},{"start_seconds":3090,"text":"saying that when you this to do this type of a exit and challenge you need to add an additional parameter in the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3090s"},{"start_seconds":3098,"text":"actual transaction which we call target which block to include enter and you say that I considered this transaction valid","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3098s"},{"start_seconds":3106,"text":"only if it gets included in this block right so if so if this is block one and like I don't know if this will happen or","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3106s"},{"start_seconds":3115,"text":"yet I say included in block two if it's not included in block 2 then it doesn't doesn't","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3115s"},{"start_seconds":3124,"text":"so yeah in this case the like if the operator was held and and I mean not","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3124s"},{"start_seconds":3134,"text":"results it's not the Malaysia separated just slow operate like yeah yeah slow right they didn't include it into Alice's like wait nothing's happy I","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3134s"},{"start_seconds":3143,"text":"should have received it into yeah let me let me push the money and operator like it yeah I mean it's here just I didn't","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3143s"},{"start_seconds":3151,"text":"included yeah right this is just like it's not it was malicious it's just slow yeah actually and look approach it has this thing that if it doesn't get included in the block","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3151s"},{"start_seconds":3159,"text":"you essentially gets dropped and you need to resubmit it with a target block yeah but it's the current way to mitigate this all you can added data","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3159s"},{"start_seconds":3168,"text":"availability challenge which is not exactly like the best approach in my opinion because you essentially essentially you say that you do a blind","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3168s"},{"start_seconds":3177,"text":"challenge you say operator do it's holding here and the operator has to reveal some data that does that prove that there is no more data being","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3177s"},{"start_seconds":3184,"text":"withheld but this doesn't really scale because you can you can keep challenging the operator and you can do what you said you can you out your competitor and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3184s"},{"start_seconds":3192,"text":"you start like Griffing them and how you do is if they don't respond you slash a massive deposit that they have but this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3192s"},{"start_seconds":3199,"text":"also imposed like capital lookup requirements for the operator which this design doesn't help yeah but on extent","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3199s"},{"start_seconds":3206,"text":"and to be clear these are all one-off attacks because if the operator does such an attack they can at most attack","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3206s"},{"start_seconds":3214,"text":"like one or like a few coins they cannot attack the whole chain and if they do it like everybody like I agree that it's","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3214s"},{"start_seconds":3221,"text":"kind of a weak assumption like from a security perspective but this is all you already paid you said that somebody will come watch and challenge and if people","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3221s"},{"start_seconds":3229,"text":"are already watching they notice this problem this becomes likely it has some social percentage if this type of happened so for the slaughter so let's","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3229s"},{"start_seconds":3238,"text":"say transactions do not include this the the target block if they write this attack is possible my question is rather the transaction also includes all the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3238s"},{"start_seconds":3247,"text":"proofs for all the blocks in the past right you say not no no but when you exit so the all the past transactions they do","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3247s"},{"start_seconds":3255,"text":"that's the chain it's only unhooked like so when I send you some funds I give you out-of-band all the trans all the proofs but when","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3255s"},{"start_seconds":3264,"text":"you exit you just show two proofs and certain extent when I'm sending money to Ilya there is sort of a a target block","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3264s"},{"start_seconds":3274,"text":"because I'm sending him the proof up to some block right oh yeah that's true but it's not inside the transaction so so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3274s"},{"start_seconds":3283,"text":"you're convinced that things up to here I'm good yeah so I guess the protocol will be I'm sending money to you yeah I mean isn't in the transaction I'm","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3283s"},{"start_seconds":3290,"text":"waiting from transaction to get into the blue yes and then I'm sending the proof of all day yes yeah yeah yeah of course of course the transaction the the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3290s"},{"start_seconds":3299,"text":"foolproof key story that you're sending is that you make the transaction the transaction gets included you get the witness data about the transaction and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3299s"},{"start_seconds":3306,"text":"then you send the whole thing I'm very happy to wait you wait for checkpoint on parent chain yes and for whatever six","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3306s"},{"start_seconds":3313,"text":"blocks or power of blocks before chain organization can happen in the parent chain and then you can actually send it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3313s"},{"start_seconds":3321,"text":"thanks right because otherwise yeah but do I need to send some all the proofs can can he get all they can get them directly from the open so if they open","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3321s"},{"start_seconds":3329,"text":"it or you need to send them ad hoc only if the operator is malicious if the operator is complicit like they can get them directly from the operator so there","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3329s"},{"start_seconds":3338,"text":"this is like you need to have like the word case but if operator is malicious I will not have the proc side there right because we receive them from the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3338s"},{"start_seconds":3347,"text":"previous guy but I don't know the proofs of exclusion from from from the block where I received it until the moment where I'm sending it yeah wait a sec so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3347s"},{"start_seconds":3356,"text":"so so the example so like this is the block where I received money so I'm Alex Ellis I received them work from","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3356s"},{"start_seconds":3363,"text":"somewhere in the past I have the proofs of exclusion or inclusion into the past but then you know something later I want","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3363s"},{"start_seconds":3370,"text":"to send it to Ilya I need to include proof of no they do not have those I need to request yeah but it's a small request right in","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3370s"},{"start_seconds":3379,"text":"essence yep from from the operator yeah that's true yeah you need to have like your client means to well I mean if it's you're talking you know it's not there but they need to send the proofs","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3379s"},{"start_seconds":3387,"text":"of and yeah yeah yeah so this is kind of like unfortunate that like you need to do this whole process so you said","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3387s"},{"start_seconds":3396,"text":"there's a way to yeah so assuming that you already have them I'm assuming that you already have the proofs you can either create a snart proof like where","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3396s"},{"start_seconds":3404,"text":"you just take like a bunch of blocks and you put them together so this has happened already like there is a proof of concept for this already all there is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3404s"},{"start_seconds":3412,"text":"a technique called the I'll just say accumulator which can be used for this which I'll show you now how but for the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3412s"},{"start_seconds":3421,"text":"snart proof I don't just have a snot proof but it's a similar snark it's simply it's not for a negative proof","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3421s"},{"start_seconds":3429,"text":"well if you want like for the whole thing oh that's what you said for the whole kiss forger yeah yeah yeah if you do it's not if you do the whole history yeah yeah so you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3429s"},{"start_seconds":3437,"text":"take like the whole history yeah take the previous part in all the transitions for the for the error say accumulator","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3437s"},{"start_seconds":3445,"text":"doing you the semiprime yes you do it cause it doesn't set up such a snark so it's not yeah so it's like semiprime is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3445s"},{"start_seconds":3453,"text":"slightly worse I guess no you you will generate the trait NPC so it's still like the same assumption","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3453s"},{"start_seconds":3463,"text":"right right so how would they all say emulator work currently the operator","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3463s"},{"start_seconds":3471,"text":"when you have like to change this is the panting this beside the plasma train the operator they commit like 32 bytes the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3471s"},{"start_seconds":3479,"text":"medical route which is like the you should take the tree you make a micro route with the RSA accumulator that they","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3479s"},{"start_seconds":3487,"text":"the operator they additionally commit one more thing the accumulator which is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3487s"},{"start_seconds":3492,"text":"2048 bits like 256 bytes not 256 256 yeah so they need to commit something","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3492s"},{"start_seconds":3501,"text":"additionally how does this work so that human later like long story short you start with a value G when you want to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3501s"},{"start_seconds":3509,"text":"accumulate an element to it you raise it to that power so you have like there LM very slot 3 the coin ID 3 you raise it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3509s"},{"start_seconds":3518,"text":"the third when you want to add another element you raise it to the let's say the coin might be five you raised the fifth you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3518s"},{"start_seconds":3526,"text":"can do you can include multiple elements that you move later by including their product so you do directly due to the fifteen right to prove inclusion to the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3526s"},{"start_seconds":3535,"text":"accumulator you reveal a cofactor so if I have G to the fifteen I need to reveal three and five like three is the element","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3535s"},{"start_seconds":3543,"text":"I'm proving five is the cofactor if this is like maybe G to the 105 like three five seven","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3543s"},{"start_seconds":3551,"text":"yeah that's it three oh three five seven you would reveal three and thirty five","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3551s"},{"start_seconds":3558,"text":"like I'm improving the inclusion of three with that without thirty five so how does this apply for the plasma in","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3558s"},{"start_seconds":3565,"text":"the exclusion proofs what you can do is that if you have multiple blobs and you have the accumulator at block one and","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3565s"},{"start_seconds":3572,"text":"block n you can create one proof for from just the accumulated one proof of an exclusion so let's say you have one","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3572s"},{"start_seconds":3580,"text":"block two blocks and then you have like a huge like gap and here so you have an","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3580s"},{"start_seconds":3586,"text":"accumulator look n and block n plus K do we have accumulator per Queen one no no","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3586s"},{"start_seconds":3594,"text":"no that you later it's like one it's yeah one yeah this coin is the coin ID is the value of being accumulated so you have both the metal three and the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3594s"},{"start_seconds":3602,"text":"accumulator is essentially per block which coins moved and which cones did not write the code rather the values what which were in it are the ones which","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3602s"},{"start_seconds":3610,"text":"were included so at this block let's say the value of the accumulator is G to the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3610s"},{"start_seconds":3616,"text":"three three five seven at this block and at this block it is G to the three","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3616s"},{"start_seconds":3624,"text":"square five seven this essentially means that in this block the only coin that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3624s"},{"start_seconds":3631,"text":"was spent was three right because it was only accumulated and whatever transaction route was committed before so what you can do is that you go to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3631s"},{"start_seconds":3640,"text":"like a bunch of blocks later and you have like some other accumulate some like whatever elements and you still","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3640s"},{"start_seconds":3647,"text":"have seven so if you have this you can be sure that by revealing this and this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3647s"},{"start_seconds":3654,"text":"the coin was not span in between but how they approved I mean if it was proved then by now it will be","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3654s"},{"start_seconds":3662,"text":"seven squared right no no it wasn't spent that's what I'm saying that's panin if it was granted most squared would be so they still seven as a as a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3662s"},{"start_seconds":3671,"text":"as a multiple here no no you're just proving deaf find improving options of seven squared how do you prove absence","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3671s"},{"start_seconds":3678,"text":"of I can prove that there is some factor I cannot prove the absence of a factor right you can you can prove absence of a factor yeah because then you can reveal","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3678s"},{"start_seconds":3687,"text":"the next state but you may think you can reveal the next state and you can show that it's not there can you can take the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3687s"},{"start_seconds":3693,"text":"current state in the latest state well you mean like if there is a seven square","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3693s"},{"start_seconds":3702,"text":"somewhere like where it's spent you only accumulate elements you do not remove elements so you cannot go from seven squared back to seven so formulas","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3702s"},{"start_seconds":3710,"text":"and so so if I have three five and seven so so each each particular coin has a prime number associated with it right","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3710s"},{"start_seconds":3717,"text":"only only because otherwise it's not safe yeah and three five seven means that coin T was spent once coin five was spent once and coin seven was spent once","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3717s"},{"start_seconds":3726,"text":"and then when coin seven is spent it becomes three five seven squared right okay so when I send so let's say n is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3726s"},{"start_seconds":3733,"text":"the block when I receive the coin and this is the block where I'm sending the coin to you right mm-hm or like rather I'll say this is where I sending so I want to prove that here up","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3733s"},{"start_seconds":3742,"text":"to here it was not it was not expelled I'm not proving you need to prove inclusion of seven and exclusion of any","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3742s"},{"start_seconds":3750,"text":"higher power the one before you just show that it's set and how they prove the exclusion over power is it is actually I don't know maybe it's","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3750s"},{"start_seconds":3758,"text":"possible like because this is like this is this is all work in progress to be clear like that stuff would have shown","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3758s"},{"start_seconds":3767,"text":"so far it's except what this is working produce so how to prove it like the accumulator is this one you reveal the three five seven and you want to prove","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3767s"},{"start_seconds":3776,"text":"exclusion of seven yes so I'm going to show you t x 5 bit x seven right","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3776s"},{"start_seconds":3788,"text":"I'm revealing to Yugi today but I think that's the entire point of the yeah that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3788s"},{"start_seconds":3795,"text":"there is no element twice because all right now saying that's the entire point that you cannot prove that that it is divisible by by G to the seventh like","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3795s"},{"start_seconds":3804,"text":"the entire point of their say accumulator right there's a good point or it is not the case actually don't","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3804s"},{"start_seconds":3812,"text":"know my mind is a bit rusty this mate I don't have something right now like of the dolls my head because because if you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3812s"},{"start_seconds":3820,"text":"can prove that it is divisible by due to the seventh and the problem is solved you like yeah this number you will say look it's divisible by two to the seventh you clearly trying to do you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3820s"},{"start_seconds":3829,"text":"cheating yeah yeah yeah so the question is the question is if we have like three five seven squared how can I prove that","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3829s"},{"start_seconds":3837,"text":"seven squared is not in the accumulator right because currently the only thing you can prove is that seven only well it's not a fact if it was possible","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3837s"},{"start_seconds":3845,"text":"to prove to easily show you if it's divisible by yeah but like you wouldn't","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3845s"},{"start_seconds":3854,"text":"you would not need to show the cofactor because people would just like that clearly you cannot right yeah that's a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3854s"},{"start_seconds":3865,"text":"good thought and by the way for Ziggy's snarfy already using snarks wouldn't be easier to just have like an account","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3865s"},{"start_seconds":3872,"text":"model yeah that's why I do not like if you get if you assume you can use snarks","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3872s"},{"start_seconds":3881,"text":"plasma soft yeah everything easier yeah starting us off today so yeah that's why","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3881s"},{"start_seconds":3889,"text":"yes they can do it right generally like this is like the history compaction it is that the biggest problem of the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3889s"},{"start_seconds":3897,"text":"plasma because they fungibility like do you want to like so okay we agree that this is like a bit shaky yeah but yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3897s"},{"start_seconds":3905,"text":"yeah it's it's an improvement on the kind of thing to make it like very feasible and note that you can avoid","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3905s"},{"start_seconds":3914,"text":"having to do this like this is another alternative that you can exit and redeposit if you want because you exit the coin","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3914s"},{"start_seconds":3921,"text":"that you have and you deposit it and sang all your history color all your history gets lost so you could even do this if you want like this would be an","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3921s"},{"start_seconds":3930,"text":"alternative so yeah like all you have to like maintain the history which is a history it grows large after like it","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3930s"},{"start_seconds":3938,"text":"becomes a gigabyte after two years of not have of not moving the coin maybe so this is not exactly the best solution for cold storage because you still like","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3938s"},{"start_seconds":3947,"text":"me to watch and everything but if you have like I know like maybe a tournament of a game or something or you're doing some gambling on a side chain this is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3947s"},{"start_seconds":3955,"text":"like good because you do not have like too long history right and this happens only when you commit this happens when","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3955s"},{"start_seconds":3963,"text":"you commit very often right so another approach would be that you also reduce the finality by committing less often","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3963s"},{"start_seconds":3971,"text":"and like naturally if you commit less often you have like smaller history will the following work so let's say that when I when I say when I send the coin","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3971s"},{"start_seconds":3979,"text":"to a theorem there's this prime I I know the prime and I and I do not reveal the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3979s"},{"start_seconds":3985,"text":"prime so I will need in some way to prove that so let's first go through it so let's say I'm sending G and so my prime is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3985s"},{"start_seconds":3995,"text":"seven okay so I'm sending G to the power of seven to the hundred or so seven multiply by 100 and I because I know","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=3995s"},{"start_seconds":4004,"text":"seven I know all the G's from from G to the seven to G to the 7.5 a 100 I know all hundred of them but I only review","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4004s"},{"start_seconds":4011,"text":"this one so you multiply 7 by a hundred yes and and I can erase G to that power and then I will tell you now 100 can be","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4011s"},{"start_seconds":4020,"text":"moved to any of the other numbers if there are more accumulated yes I mean 7 to the power of 100 oh ok","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4020s"},{"start_seconds":4029,"text":"so I revealed that number I need to prove somehow that this is actually I don't even need to like I mean I need to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4029s"},{"start_seconds":4039,"text":"prove that this is a prime number to some power I think that is yeah yes yes and so then what what I do is that if I want to send money to someone","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4039s"},{"start_seconds":4048,"text":"then I privately send them all the all the powers in between and then we replace G","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4048s"},{"start_seconds":4057,"text":"to the seventh one today so we really use the we'll use the power instead of increasing it how much you get so now to","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4057s"},{"start_seconds":4065,"text":"prove that that something wasn't spent I can just provide the cofactor to this number right and and if it was spent the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4065s"},{"start_seconds":4073,"text":"power goes down so I will be able to do that now and when I sent to the person all the all the all the powers and so they will be able to decrease it in the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4073s"},{"start_seconds":4081,"text":"future but nobody else will that's kind of reversed history and result like you say this is my maximum length of history","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4081s"},{"start_seconds":4087,"text":"and every time you send but it's also like you it's up fronting the history","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4087s"},{"start_seconds":4096,"text":"instead of history growing but yeah yeah okay let's move to fringe ability this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4096s"},{"start_seconds":4105,"text":"is like one of the I'm sold so the fungibility how you can solve it there's","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4105s"},{"start_seconds":4114,"text":"two approaches again you can either consider that a coin from like country","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4114s"},{"start_seconds":4123,"text":"we'll consider that the coin is like one solid value you can think that a coin is let's say I like this and out with a","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4123s"},{"start_seconds":4130,"text":"liquid like so this is one coin this is another coin and the coin has like some they wear ball has some maximum capacity","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4130s"},{"start_seconds":4138,"text":"this is the plasma debit which was proposed like a few months ago by Dan","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4138s"},{"start_seconds":4145,"text":"Robinson and so like the the maximum size of the coin is like what you deposited initially so if you deposit five with you get like maximum capacity","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4145s"},{"start_seconds":4153,"text":"five and if this is another coin that has like three like the its much capacity is three and what you can do is","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4153s"},{"start_seconds":4160,"text":"that essentially if a coin and if a coin has any and we consider that any coin can have a value in between mm-hmm so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4160s"},{"start_seconds":4167,"text":"the coin can be like like a liquid yeah it can be hopeful so maybe so here it's","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4167s"},{"start_seconds":4174,"text":"like a tail to five and what you can do is that essentially can create kind of fungible payments by atomically like in","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4174s"},{"start_seconds":4181,"text":"the same moment like reducing one coin and increasing another so going like from three to five like you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4181s"},{"start_seconds":4188,"text":"can essentially do go back to five to five and take this down to one out of","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4188s"},{"start_seconds":4193,"text":"three in that sense but this requires that two transactions get included in","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4193s"},{"start_seconds":4201,"text":"one block at the same time and you cannot assume this so currently there is no like clear atomic swap protocol like","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4201s"},{"start_seconds":4209,"text":"because you need to essentially force the operator to somehow include transaction both to this one end to this one all with sound","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4209s"},{"start_seconds":4217,"text":"buffer like within the next five or six blocks so but if you do this so let's say you have the atomic swap like you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4217s"},{"start_seconds":4225,"text":"can have like the fungible payments and the exit game it gets modified slightly because you can consider essentially","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4225s"},{"start_seconds":4233,"text":"that it's it's time you change this it's like it's like you almost have a channel a payment channel with the operator","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4233s"},{"start_seconds":4240,"text":"because the five out of five which means that you own the five and the operator on zero when you reduce it like you get","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4240s"},{"start_seconds":4247,"text":"three out of five the operator owns two but in addition the operator like like this goes down so the operator like so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4247s"},{"start_seconds":4255,"text":"you got three out of five so the operator owns two you increase it by two so now the operator on two less but you also decrease this one by two so the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4255s"},{"start_seconds":4263,"text":"operator is still always at zero so there is almost like this liquidity like a pretty pretty much takes two here and put it exactly exactly exactly which","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4263s"},{"start_seconds":4271,"text":"starts to look like an account model eventually where each coin is its own account Yeah right and essentially when you're doing this","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4271s"},{"start_seconds":4279,"text":"payments this gives you instant finality between blocks because you can essentially you sign you have messages with the operator that you sign and so I","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4279s"},{"start_seconds":4288,"text":"can be at 3 out of 5 then we have announced for example but you keep increasing so you go 302 5 out of 5 out","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4288s"},{"start_seconds":4296,"text":"of 5 then 5 then 4 to 5 then 3 out of 5 and essentially when you exit you also provide the notes and you will add an","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4296s"},{"start_seconds":4303,"text":"additional challenge which says provide them late at Norm's to stop my exit","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4303s"},{"start_seconds":4309,"text":"right and and yeah and they and then you need also another challenge too if you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4309s"},{"start_seconds":4318,"text":"include the transaction of an Tomek drop this can be challenged by revealing that there wasn't the corresponding transaction in the same","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4318s"},{"start_seconds":4326,"text":"block because if there wasn't like we essentially got some money for free while the other party did not yeah I cooperated took it exactly mesh exactly","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4326s"},{"start_seconds":4334,"text":"and there's no code for this like to be perfectly clear like the history compaction and the end this there's no","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4334s"},{"start_seconds":4341,"text":"code for this it's purely because they because the protocol is still not like completely defining yeah and yeah so","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4341s"},{"start_seconds":4348,"text":"there's this approach which is like essentially you do this so you can consider almost that each coin becomes a channel with the operator and the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4348s"},{"start_seconds":4356,"text":"operator becomes a hub and essentially like you do this up and down like rebalancing of coins which is nice and it also has the addition that when you","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4356s"},{"start_seconds":4364,"text":"make you can either do this type of transaction or you can transfer your going to somebody else so this gives the notion of transferable payment channels which Cantley does not","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4364s"},{"start_seconds":4373,"text":"exist like in anything else because if I have a payment channel with you we cannot somehow I cannot give give you the the channel somehow without giving","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4373s"},{"start_seconds":4382,"text":"you my private key so while I'm not sure about the use cases of this it's interesting like to Superman yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4382s"},{"start_seconds":4388,"text":"exactly so why why I mean if this is like already kind of moving into account model right why not just make this an","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4388s"},{"start_seconds":4396,"text":"account model like what why you have this limit pretty much right because if there is no limit you cannot enforce like how much can be exited because","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4396s"},{"start_seconds":4405,"text":"otherwise I just reveal that you know there is no yeah but gotta change like that like I haven't gone into this like","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4405s"},{"start_seconds":4413,"text":"very much in depth but the operator basically they can just like create an invalid state transition and if they withhold they can exit that mm-hm like it's always about the withholding","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4413s"},{"start_seconds":4421,"text":"attack that can happen so that they withhold when they try to exit the coin like it super large value and you cannot prove that it doesn't have this super","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4421s"},{"start_seconds":4430,"text":"large value you enforce this limit so that like they cannot play create any withdrawals but they like if it's at one","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4430s"},{"start_seconds":4437,"text":"third right now operator in principle can still no they cannot because you can reveal a challenge you will challenge because we have like a note goes back","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4437s"},{"start_seconds":4446,"text":"and forward so you if the operator tries to exit the coin or if you're if you allow it in the protocol rule","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4446s"},{"start_seconds":4453,"text":"in the first place to allow an operator to exit the coin because currently you can make it that I exit and simply one-third goes to me and 2/3 go to the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4453s"},{"start_seconds":4461,"text":"operator but if you allow the operator to exit the coin what will happen is that from three other three it would go back to one out of one I see that make","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4461s"},{"start_seconds":4469,"text":"sense yeah or you can additionally have the operator inject liquidity on the coin so from three out of three from one out of three they would make it one out of five","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4469s"},{"start_seconds":4477,"text":"for example but this already starts comes on very high key yeah in a sense because you have something and you start like making bigger smaller and depending","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4477s"},{"start_seconds":4486,"text":"on what you want so actually I have like an open pull request on the code base like that implements this but it doesn't","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4486s"},{"start_seconds":4493,"text":"implement the atomic swap and if you don't have the atomic swap like you cannot it's it's useful because you can do like one-way payment with the","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4493s"},{"start_seconds":4500,"text":"operator so with the operator is Netflix for example you do stuff with that but then it's just the payments a one-way payments I mean with another party","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4500s"},{"start_seconds":4508,"text":"mm-hmm like not interesting wait a centralized party with a sound alert idea but feel like it's another party","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4508s"},{"start_seconds":4516,"text":"like what I'm saying that it's just payments on this point right and we have","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4516s"},{"start_seconds":4524,"text":"time like for one more construction or if you're if the limit is there it's fine I think let's wrap it up here oh","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4524s"},{"start_seconds":4533,"text":"cool yeah yeah I think I think we've covered quite a bit over both material yeah cool cool okay thanks thanks a lot for stopping by","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4533s"},{"start_seconds":4541,"text":"yeah thanks for stopping by check out other videos upstairs Downstairs like etc yeah","url":"https://www.youtube.com/watch?v=EHqkA5wX5so&t=4541s"}],"youtube_url":"https://youtube.com/watch?v=EHqkA5wX5so","url":"https://near-pedia.xyz/videos/EHqkA5wX5so"}