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

Loading player…

Intro to Level 2 solutions - 0xPoland S01E04

ETH WarsawThu, Oct 7, 2021, 12:00 AM

👨‍🏫 Bartek Kiepuszewski, Blockchain Architect at Maker Foundation: Intro to Level 2 solutions. #0xPoland​ is an initiative to build an active community of blockchain developers. If you want to improve your coding skills, make sure to join our monthly meetups, workshops and a hackathon in May 2020! ➡️ Sign up for our events here: https://www.meetup.com/0xpoland​ ➡️ Follow us on Twitter: https://twitter.com/0xpoland

Transcript

hello everyone welcome on the fourth meeting of xerox poland i'm super excited today uh we're gonna do some really exciting things so without further ado let's let's see what's gonna happen so uh first of all i wanna give a shout out to our organizer if works and maker thanks to whom it's all possible and uh i want to thank say thanks to our media partners crypto dev that tv and resumes bitcoin who help us promote xerox poland and help us in our mission to bring more software developers to blockchain and ethereum space and i want to remind everyone who don't remember yet that we have a student workshops coming any week now so please subscribe you go to student.student.0xpoland.dev let's see if we can if we can see the address in the bottom corner and if you're a student or if you're a fresh graduate or you know how to code and you want to learn how to code ethereum make sure to subscribe make sure to sign up and join the workshops uh and finally i want to remind you there is a hackathon coming in may know the ch the date has dates has changed a little bit since the last time we talked so it's two weeks hackathon starting on may may 14th we're gonna announce the sponsors and we're gonna announce the speakers pretty soon any week now so make sure you follow us on twitter make sure you follow us um on different channels uh to see where the when the announcement gonna be but i can today confirm that we have forty thousand dollars in awards so you can see already it's gonna be pretty high profile thing and so join the discord follow us on twitter make sure you stay tuned to make sure you know what's going on and for today i'm super excited to announce our today speakers and i i think i'm especially proud we get to this moment this first three meetings were kind of laying out the basics explaining the blockchain expecting it explaining ethereum solidity defy a lot of basic things and today we're finally getting to the point we're getting to the edge we're getting to the verge we're getting to where the things are happening on the blockchain now and the topic for today is layer two solutions or level two solutions and we have two amazing guests one is bartok kepushevsky from maker who is cor with whom we're co-organizing the whole band and bartek is a um well legendary person in polish blockchain space and beyond he work on tons of very important parts in the maker dao ecosystem and he gonna do today an introduction to level two solutions uh on the blockchain and as a second guess we're gonna have alex buchovsky alex is the ceo of zk sync which is a leading zero knowledge based scalability solution a layer to solution for ethereum that is completely over uh completely over open source and it's getting a lot of traction right now and there is a lot of very interesting things going on uh in this space and alex just announced some very interesting things a few days ago so he gonna talk about about the compatibility between the casing and ethereum and solidity so we're gonna talk about all of that today yeah without further ado really really excited and um i let bardek take over so bardek is joining us pardeck i think you need to share your screen and when you do we're gonna we're gonna switch yeah i'm leaving you with bartek right uh thanks uh mark so much uh super excited to be here um my name is bartek uh keepers have scammed with maker for the last three years and um this is really the intro uh to uh some of the more uh much more advanced topics uh i guess and and i kind of decided that uh whenever i talk about roll-ups or different scaling solutions i think it's actually quite important to understand what is the reason why it's so hard to actually scale blockchains while retaining the permissionless nature of permissionless blockchains so so treat it as a bit of a background uh info uh as an intro to a much more advanced talk that will uh my understanding is that that's gonna follow mine uh so i'm super excited i hope that i can learn a lot from the subsequent talk as well uh but going back to the basics let's see uh why blockchain validation is actually so important and why this is foundational to how we actually architect scaling solutions so back to the basics um essentially um ethereum uh similarly to bitcoin you can think about ethereum as a blockchain that uh down uh at the database level consists of blocks and uh these blocks need need to propagate uh across the network and all these blocks they contain transactions and they are propagated in in a gossip network between the different blockchain nodes right so this is more or less how it happens uh there are some mining nodes they are trying to find a new block uh each block contains transactions and uh whenever the miner announces that the new block is found they will actually uh propagate this block across the network and that that actually takes some time but eventually all the nodes participating in the network they should receive the same block i'm kind of ignoring you know sync problems i'm ignoring the problem of two different miners finding uh different blocks in more or less the same time so uh just for the sake of simplicity let's just simply assume that after a while uh we're gonna end up uh every single node will eventually end up with a block that's been created by one of the miners now what's inside the blog and i think this is actually something that's uh interesting uh so that we understand wow the scalability problems each block contains a bunch of transactions and all these transactions they somewhat change the blockchain state so as much as the state can represent anything we will sort of consider you know a simple scenario where the state is simply the list of balances of some token in this particular case it's mkr token and let's just have a look at this simple example right this is the initial state uh both with 1000 mkr alice with 200 and charlie with zero and there's a list of transactions that should be processed uh from the top to the bottom and uh the question is what should be the uh the post state uh so i'm gonna pause for a second uh for you to think how many uh tokens alice will have once this block is actually processed so it should be a very easy question i guess and uh all of you that uh and the top with uh 500 they're right whoever came with a different number you know they have to sort of uh consider the fact that the last transaction from bob will fail because he doesn't have 600 mkrs even though you know he tried to send ld 609k that final transaction uh will fail and any nodes that actually validates in transaction will simply uh ignore it and the final state from alice is 500 mkr so obviously you know we should be very uh uh interested in making sure that we do understand the final state because you know if we are mistaken uh what is the balance of uh alice or whoever that can result in double spending that can result in all sorts of problems right so blockchain um at its core it's really a state machine it's just sort of takes a pre-state uh a bunch of transactions and it computes the post state the thing is that on the technical level uh we do not store the state inside the block it's impossible it's just too much right an ethereum state is huge uh it's right now i think uh it's over 60 gigabytes maybe more and instead of storing the whole state we actually compress it into one hash using you know some more or less advanced uh crypto techniques uh um but the point is that you know at the end of the day uh all we store inside the blockchain is what we call a state commitment it's a hash that is computed from the whole state right so just by looking at the block uh we do not know uh how many mkr tokens alice has but we can actually compute it ourselves knowing the pre-state the sequence of transactions and the post state actually the preset is not needed because the preset is the post state of the previous block but but i'm sure that you get the point right so again how does it look like from the user's perspective well verse minor finding a new block first user that learns about the new block and now in most circumstances the user will be interested in actually knowing what is the current state right so what are the options for the user uh they can actually ask the miner right they can ask the miner what is the state and the miner can reply um and maybe this is good for the user but but frankly even though the miner has computed the block uh and they claim that this is the post state uh well there's no way to know so really without doing anything else we're back to trusting the miner right and the miner can lie for whatever reason uh so the easy way to actually find out if the miner is not lying is to simply validate the state uh ourselves right so this way we do not have to trust the miner we do not have to compute this we do not have to get this info from the miner all we need to do is to look at the blockchain look at the list of transactions and we can actually compute the state ourselves and this is literally how the bitcoin work and how the ethereum works and this is how people running so-called full nodes um uh participating network and this is crucial right because being able to validate the blockchain actually allows us to not trust the minus right allows us to sort of look at minus as entities uh doing some service for us but at the end of the day there is no trust relationship with the miners right so once we verify we can be sure that bob has 400 mkr and we can do whatever we want to do with this information now if you look at the full network uh you'll see that there are different participants right there are people that are mining blocks there are full nodes that are verifying these blocks but to verify the block you actually need to run the full node you need to have a computer that does that so obviously not everybody will do it there will be users relying on some extra uh providers and they will be sort of relying on on other full nodes to provide them with uh whatever information they want right and they will establish some sort of a trust relationship with these nodes so um so let's see uh what happens when something goes wrong right the miner mines a block they claim that this is the post state and upon verification um i mean and we need to be able to actually verify this right uh so as you may be aware on ethereum network uh every single new block uh is added to the blockchain every 15 seconds and as long as i can keep up with the blockchain as long as i can verify that block in this uh time window i should be okay i don't need to trust them either but what if instead of uh 15 seconds and let's say 300 transactions uh suddenly now um there's like a super computer right on the mining site and they actually put a lot of transactions inside the block like 20 000 transactions uh how am i supposed to verify that you know i may not be able to keep up so because i can't keep up and i cannot validate that block myself well i need to right now i mean i'm at the mercy of the miner right i cannot verify all these blocks my computer is just not fast enough and i need to ask the supercomputer about the state so really um running a validating node on a consumer-grade laptop is actually necessary if we don't want to trust miners and at the bottom of all the scalability problems for blockchains lies the problem of the speed of validation right and this is real scalability bottleneck and this is actually confusing for a lot of people because they kind of assume that it's okay for miners to actually have all these super-fast computers well actually it's not right there's literally nothing right now on ethereum uh stopping us from increasing the block size and from reducing the other time between blocks but if we did that then the the network uh we won't be able actually to validate independent network and same with bitcoin right it's even uh the trust assumptions uh on bitcoin network are even lower so that the uh the time between blocks is even longer and the blocks are smaller so it takes actually less time to validate blocks it makes it much easier for anyone uh to run the full node um so what would happen if everybody like colludes and everybody was evil right so the miner actually mines a fraudulent block and uh they actually include a fraudulent transaction inside the block well everybody's lying on the network however uh there is this one guy right just one full node in the whole network that is not colluding right so we call it one honest node uh security assumption and if there is just one guy that doesn't trust everybody else and they are able to independently verify the network they can raise an alarm right and because they raise an alarm uh we kind of hope that other users that are relying on other nodes which again they are lying right and they don't know that but they hear the alarm from this one honest validator um they will sort of propagate this alarm and and now some sort of a chaos will spread across the network and maybe other users will uh launch or will spin off their own uh nodes and they will actually verify that indeed the rest of the network is colluding right and uh and and we will be able to literally reject uh that network that's actually fraudulent and i think it's important to understand that all it takes for this to happen is one honest validator right so this one on this value assumption uh this is not like 51 attack or anything like that i mean it takes one full node to validate the blockchain as long as of course we can actually do it right um so to sum up um it's other miners that actually validate other miners full node users they also validate miners and as a result on public bitcoin and ethereum network uh miners just simply don't cheat right i mean bitcoin is um on for the last over ten years ethereum last six years or so and i've never heard about uh any single incident of any single miner including uh non valid transaction inside the block which is interesting because there's literally nothing stopping them to do so however no miners the best of my knowledge has ever done that um so as you can see um it is possible that miners can include the invalid transactions they just simply don't do it right because they would be immediately caught uh cheating and the rest of the network uh will uh reject them and all it takes is the one honest full note for this to happen and this is why we insist that it should be possible on the public blockchain for anybody with decent computing power and not a you know huge data center or supercomputer to actually be able to validate independently from the rest of network um the state of the blockchain so this is this is the uh the the foundation right now let me introduce uh another concept because everything that i said so far uh is actually uh around what we call uh optimistic verification right so the miner uh which we will call uh subsequently an optimistic miner uh they will not provide any kind of a proof that the state uh is actually correct if you look if you go to the ether scan and if you look at the transactions you will see in if i scan a block and you will see the state commitment you have to just trust there is no proof that this is the correct state right you can verify it yourself independently but you have to trust it and remember that uh for this to work uh the state cannot be huge and we put uh artificial constraints on the size of the block right and this is why we can only put so many transactions inside the blockchain now there's another technique and you will learn about the details of this technique in the subsequent presentation and that is that the miner not just uh tells us the uh post state but also uh they provide the cryptographic proof which we call a zero knowledge proof that the state is indeed correct um so so this is the proof that's literally proved that the miner is not lying and this is the cryptographic proof that this post state is actually a valid post state after uh processing all these transactions that are inside the block so uh you can see immediately that now i do not have to verify anything really because i can be certain that this post state is correct and now suddenly i can think about scaling it much more right because the the i can imagine that there's this zero knowledge super fast miner that actually puts a big bunch of transactions and all i need to do is to look at the proof and if i see the proof is actually correct and i can do it on even my phone then i'm certain that the prosthesis is correct right so it sort of looks as if well zero knowledge proofs you know they actually solved a scalability problem right all we need to do is to include zero knowledge proof and we can make uh blocks as big as we want and the scalability issue is gone well there's just one more problem unfortunately and that is that even though i know that the postdate is correct all i can see on the blockchain is the state commitment i still don't know what is the uh the actual state it's just a commitment right so i'm back to the question of finding out what is actually a state what is bob's balance if that's what i'm interested in and well i can ask the miner miner can actually give me a state and what they can give me is so called inclusion proof and i can check if indeed that state is part of that commitment i can verify independently that miner is not lying so i don't need to trust miner however even though i don't need to trust my now i need to get this answer from minor and that inclusion proof if the miner for whatever reason refuses uh to give me this answer uh like for example i mean they're happy to to give me the uh the answer for bob but for whatever reason they don't want to give me the answer for alice well then i do have a problem because i just don't know right and and we will maybe talk about this a little bit later and uh but but again uh this is actually something that is a long problem uh in uh in all scalability solutions uh if i don't get the answer from the miner i need to recompute the state myself and if that state is huge then i will need a lot of computing power to actually do so it's not impossible to do but uh um kind of back to uh the scalability problem um one way or the other all right so so that was sort of the other foundational background so let's have a look at the uh the actual roll-ups what is the roll-up because i mean everything that i said up to that point uh is kind of independent from the actual uh l2 what is l2 and how does that relate to l1 well it's actually super simple when you think about it uh it's a way to sort of pack uh one blockchain inside of another by simply uh putting a block of the uh what we call an l2 like layer 2 blockchains uh as a one transaction instead inside of l1 blockchain right so again on the left you have the your l1 blockchain like ethereum and you've got all uh transactions that you put inside the block and we can imagine that there's one uh transaction that contains a state commitment from another blockchain from another block right so it's almost like a like a recursive structure uh so inside this one state commitment we can pack uh the whole block with its own post state uh as just one transaction so you can clearly see that you know by doing this we can pack a lot of transactions inside uh the l1 block and we can do it recursively you can imagine having all three blockchain l4 blockchains and so on and uh and you'll end up with literally unlimited scalability if you actually chose uh to do so and again uh two different options optimistic uh roll up miner we call it the roll up this second layer solution and uh zero knowledge miner that will not only they will need to provide the uh the post state but they will also need to provide the zero knowledge proof uh so that uh anybody uh who's actually observing l1 and l2 they uh are certain that this poster is correct with the optimistic roll-up uh again we're back to this verification game we need to sort of look at all these transactions from l2 and uh and we need to independently verify the post state and again all it needs for this construction to work is the one on this validator assumption now why this is called a rollup it's called a rollup because not only state is posted to l1 but also all these transactions are packed and they are kind of included uh not as a state of l1 but they are let's say transferred uh to l2 when this transaction is included right so we can reconstruct the state of l2 just by looking at the l1 and that's why it's called a rollup because i mean the state and all the transactions of l2 are sort of uh packed inside this big package and it's actually included inside l1 so let's just look at the the details again uh we've got the uh zk uh miner they provide the zika proof um and well uh with and and we are certain that uh this uh new block on l2 is correct because there's a proof right i mean they cannot cheat uh well with the optimistic miner it's a little bit different situation uh and they can cheat uh we need to trust them uh so it is possible in theory at least that that this on one honest value data they actually uh find that this state commitment uh is actually wrong uh so they need to raise an alarm right and the way it actually works is that uh if anyone uh verifies the the block and they find that the state commitment is wrong uh they can submit uh what's called the fraud proof 2l1 to a smart contract on l1 and once the fraud proof is verified this new state will be rejected by l1 right and of course you know there must be some sort of a crypto economic mechanism to punish in the minor but uh but this is sort of uh aside uh at the bottom of the whole construction is the uh the ability for anyone to verify uh the state commitment and uh to be able to submit the throat proof and because it takes some time and because you know people or these nodes may be offline well every single uh roll-up construction optimistic construction they actually include what we call a fraud proof window which is literally the time that the honest value data have to uh submit the throat proof and typically it's uh it's about a week or maybe even two weeks depending on the other actual uh roll-up and after that time you just simply assume that the state is correct right and again if we're interested in actual state like the question what is bob's senko balance on l2 we run into the same problem we will literally either run full node or trust somebody who does run the full node so this problem of actually computing the state is very very same as on l1 we either trust somebody who does that or we are able to compute the state ourselves um so this whole construction sort of brings us to what is probably the most contentious issue uh when we compare optimistic roll-ups and zika roll-ups and that is the other the withdrawal problem so-called withdrawal problems so imagine now that l2 uh blockchain is like a casino uh you enter a casino you you buy uh casino chips uh and you play all sets of games uh inside the casinos and these are all the transactions that are happening on the l2 blockchains and then after a while you actually want to go back so you probably want to uh exchange your chips back to cash right and and then typically when you exit the casino i mean there are places to do that right so the happy path uh is kind of simple the users uh they are asking the l to minor whether they can withdraw tokens from l2 and the happy path is that the miner verifies this transaction and um with the optimistic roll-up uh because the miner can uh cheat uh we actually have to wait uh through this throttle proof window and this is probably one of the uh the biggest drawbacks of the optimistic roll-up construction um we have to make sure that uh the the minus uh state that's committed to another one uh this is actually correct uh so the miners are cheating for zika roll-ups this is not the problem because miners i cannot cheat but uh but that's uh only one miners actually uh respond right what happens when the mine is down uh and this is a bad scenario right because i mean this is literally imagine yourself trying to get out of the casino trying to exchange your chips but there is nobody there right it's just closed so all you have is your chips but you want real cash right and and you wait and you wait and then you know suddenly you learn that maybe the casino is bankrupt and uh they just simply don't have any cash right and you're left with those plastic chips um which is probably not what you wanted when you were playing the games in casino so this is a sad scenario the down operator uh the new blocks are not produced and we need to actually make sure that there's some sort of a way for end users to withdraw these mkrs or these tokens from l2 even though the l2 miner is down right uh so this is normally possible uh for any roll-up construction or at least it should be possible for any roll-up construction but it needs to be kind of remembered that for this to actually be possible you need to be able to produce a state so you need to make sure that you can actually compute state and validated state right so again we're back to this state validation issue that i talked about earlier and i guess probably the most tricky scenario is when the uh the miner is actually censoring particular users so maybe when alice wants to withdraw tokens the miners will respond but when the bob wants to withdraw tokens the miners sort of pretend that they haven't heard bob's request so so this is hard because it's impossible to prove whether indeed the miner is censoring or whether bob is cheating and you know he's actually telling everybody that uh he's being censored but in fact you know they never uh bob uh they never sent uh the withdrawal requests right so this is a known problem in computer science and and this is a very tricky and interesting issue and again there must be sort of some kind of a anti-censoring uh protection for end users and if indeed bob feels like they are censored there must be a way for them to to circumvent the miner uh so i would normally expect from an envelope solution to actually provide end users with a solution to this problem all right so um the takeaways um let's compare these two uh uh setup the optimistic roll-ups and seeker roll-ups well uh because the assumption for optimistic roll-ups that everybody should be able to validate uh the optimistic roll-up and there should be this one honest value data a lot of people are regarding optimistic roll-ups as what we call a sharding solution and they won't scale as much uh especially if everybody jumps on the same roll-up or the same shot because uh the validation of this optimistic rollup will be this kind of constrained by by the same problems as validating uh ethereum blockchains right so we'll literally move all the traffic to one from all l1 to one roll up on l2 that's not going to solve uh a lot on the other hand zika roll-ups are true scaling solutions and external validators are typically not required and i say typically because uh in a happy scenario that's indeed true uh the there must be some solution to not that happy scenario when all the uh nodes on the zika roll up chain are down for whatever reason right then optimistic roll-ups uh are actually easier they don't rely on any uh sophisticated math and sophisticated uh cryptographic assumptions they are probably much easier to verify and reason about uh but they do rely on on on certain cryptoeconomic assumptions right we do need to have at least one honest valley data and we need we need to have some sort of incentives or incentive structure to make sure that the miners do not cheat uh similarly to bitcoin or ethereum i mean miners are actually um incentivize not to cheat on the other hand zika roll-ups they do rely on cryptographic assumptions uh it's much more difficult to prove the correctness and support for general smart contracts is also much harder and this is why uh it is likely that we will see optimistic generalized optimistic roll-ups a little bit sooner um and they will probably provide a short to medium term term relief to the current ethereum congestion problem uh on the other hand uh i believe that zikarellups eventually uh will provide us with solution to build generalized smart contracts and once uh everybody will be like uh certain that uh this is correct and uh and the crypto behind them uh is sound um they will very likely provide uh the final solution to to scalability right [Music] and the withdrawal time again uh one week or two week withdrawal time from optimistic rollups that can be super problematic for a lot of use cases however i think it's worth uh to understand that there's already some interesting designs in the works that will solve the problem for many use cases so make a dial for example he's working on one such uh design uh for withdrawal of die uh tokens the stable coin that anybody can meant using make a dial system on the other hand zika rollups they don't suffer from this problem however when provers and miners on zika roll ups they go dark then can be very problematic as well for the end users um very unlikely scenario but again i think we should really especially in blockchains which are adversarial environments we should always sort of focus on the worst case scenario and ask hard questions and yeah this is pretty much uh this pretty much sums up the foundations so i think we've got like maybe 10 minutes for questions and and yeah so let's go to q hey welcome back uh let's wait it probably gonna take a few minutes to take questions i propose to take not too many questions yet let's do maybe two or three questions now and then let's do a longer q a after our alex presentation uh yeah so babtec thank you very much for your presentation in the meantime it's uh super happy to have you here and um yeah i hope i i hope we finally get a little bit cloudy foggy with terrain of layer 2 solutions gets a little bit more understandable if it's not yet fully understandable understandable don't worry take your time it is a lot of information a lot of it feels very natural for me right now but i remember back in the days it was all very confusing with zero knowledge with optimism and all that stuff with rollouts and so on and here we have a first question how the validator detects a badly working miner anybody uh should be able to validate a block by simply taking all the transactions taking the pre-state and uh looking at the post state and seeing if it matches uh with what was actually advertised by the miner right so this is literally like how ethereum and bitcoin work on the base layer and this is how you should be able to do it on a l2 layer as well right so so it's it's the same technique i take a pre-state i execute all the transaction uh all the transactions in the sequence and i should be able to compute what we call a post state and so no difference really uh on the on the roll-up or l2 from from basic l1 i think the difference is what do you do once you detect it and on the main app yes yeah what do you do yeah what do you do on the main net that's a very good question what do you do if it detects you know the invalid block on the main net right i mean normally people don't think about it because they kind of assume that all the vlogs are correct but what do they not what do you do like i said in my presentation i mean normally you should be able to raise an alarm and you should be able to reject such a block and not propagate it further in a gossip network for the optimistic roll up uh what do you do when you actually uh detect a bad block like i said before you submit the fraud proof and this fraud proof is actually submitted to a smart contract on l1 and the smart contract will verify the fraud proof and it will reject um the block awesome i think we have at least one more question let's see you can get it what are these let me read the question and i'll let you answer what are the time frames of these solutions anything will be deployed this year good news coming back yeah so a lot of solutions are already out there uh for zika roll-ups first loop ring of diversify um immutable for nfts uh they are from what i'm hearing quite uh close to be ready uh but these are all and of course dk sync and and alex will tell you much more about zk sync so all these solutions are for zika roll-ups already out there however to the best of my knowledge they not general computation solutions there are specific solutions for specific transaction types in the optimistic space the again uh there's arbitrarium versus optimism and probably a few others and optimistic rollup from optimus for example is announced to be launched uh quite soon uh i believe in march uh so it's coming it's it's actually very very uh soon really feels like it just around the block so uh we have a lot of more questions so let's pick one then we have an alex talk and uh then we go to questions about thank you would you be available to questions after alex talk yeah yeah sure yeah i'll be hanging around for sure um awesome so the last question before the next presentation what is the incentive to prove the fraud fraud when you're not a direct participant of a robot i believe it's the same incentive as for anyone to run a full node on the blockchain like what is the incentive for anyone to run a full node uh so think about uh an exchange uh that swaps tokens from one blockchain to another or swaps tokens from uh a blockchain to to to fiat this is what exchanges do and uh given you know the uh the huge uh uh um amounts at stake if you like uh they probably shouldn't trust any minus right because if the miners collude um they could double spend the tokens and the exchange will take huge loss so every single centralized exchange that i know they all run full nodes right they all are independently verifying blockchains and what is the incentive here uh it will be very very similar if you for whatever reason if you are interested in making sure that as soon as the new block on l2 is published on l1 if you want to make sure that this block is correct and the state commitment is correct you probably should run the full node on l2 whatever your reasoning is behind it right so one interesting use case is somebody trying to make fast withdrawals possible right they can look at the l2 state they can verify that state and if they are certain that the state is correct they don't have to wait through this uh one week or two week window because they are certain now that there will be no fraud proof right because the state is correct the fraud proof is only possible if the state is wrong but if i'm sure that the state is correct that i can be certain that the state is correct right mark can ask me if i'm running a full node i can tell marek well look marek i mean trust me the state is correct but then of course you know marek needs to trust me so maybe he doesn't trust me so maybe he can run the full note himself right and just verify himself so i guess the incentive is for anyone that does not want to wait uh two weeks it's a good one okay i didn't thought about this last last last part uh with waiting that's it's a nice detail i was not realizing about optimistic rollout if you run a full node you don't need to wait you

Automatic transcript — names and jargon may be misspelled.