{"id":"oahaMa3XB0k","title":"Whiteboard Series with NEAR | Ep: 35 Ben Jones from Optimism","description":"Optimism Co-Founder Ben Jones (  / @optimismpbc  ) and NEAR Co-Founder & CTO, Alex Skidanov (  / alexskidanov  ) do a deep dive on Optimistic Rollups and scaling Ethereum smart contracts.\n\nOptimistic Rollup is the design that the Plasma Group created during its research and development stage. But how does this achieve Layer-2 scaling on Ethereum? Ben Jones explains in the 35th episode of the Whiteboard Series.\n\n------ About Whiteboard Series --------\n\nThe Whiteboard Series with NEAR is a set of video interviews with Founders who are building scalable solutions for Blockchain.  We deep dive into their story, what they're developing and how it is helping the ecosystem. \n\nFollow the latest from NEAR Protocol on, \n\nWebsite: https://near.org\nDiscord: https://near.chat\nTwitter:   / nearprotocol  \nGitHub: https://github.com/nearprotocol\n\n#WhiteboardSeries #Blockchain #FutureIsNEAR","channel_name":"NEAR Protocol","published_at":"2020-06-10T00:00:00.000Z","thumbnail_url":"https://img.youtube.com/vi/oahaMa3XB0k/hqdefault.jpg","transcript_text":"hi everyone this is Alex from near with me today is Ben Jones from optimism hi Ben everyone yeah very good and today we're going to be talking about optimistic roll-ups Ben was previously on whiteboard sessions maybe a year ago we were talking about plasma cash flow and which was another layer to solution but since then optimistic roll-up started a starting started getting popular so let's talk about them so Ben would you like to I guess introduce yourself again in case people didn't watch the previous episode and talk a little bit about what optimistic roll-up are what the what problems they're trying to solve and how they work sure thing sure thing and that's right yes I am here back to back I guess now back at the near whiteboard talking about more stuff yeah so I'm Ben I work at a team called optimism and we're building a product called optimistic aetherium and it's a scaling solution that like Alex said uses at its backbone a tech called optimistic roll-up and the goal is to scale aetherium and particularly our goal is to scale aetherium smart contracts so Alex when we were when we were last chat chatting on the on the you know near channel we were talking about something related to plasma and plasma was a really cool really awesome technology but it didn't have the properties that we wanted to get true like aetherium style rich state sort of persistent adapts and so that is what optimistic roll-up sort of gives us very uniquely and so it is a layer to scaling solution this means that it makes an assumption that in the happy case a lot of things won't have to go on chain and then only in the sad case do they have to go on chain and so that allows you to scale up in the number of disputes and this gives you some scale cool lets Naveen sweet okay so where would you like me to start in terms of framing like I could go way back and talk about layered like optimistic execution I could talk about like you know a bit of history of plasma I could dive in this particular solution trying to think of what is the best route to take us yeah definitely let's talk about opportunistic execution in general and yeah sure okay so you know we have a class of technologies right let me let me just like start using this this lovely whiteboard here because I got to get I got to get some practice or my handwriting is gonna be horrible so we have this thing called layer 2 right what a weird way to write layer 2 layer 2 refers to a suite of designs and applications that you know arguably started with payment channels even not as early as Bitcoin and they utilize something called optimistic execution this is one way to frame what they do right so let's just let's just write that of course I am biased towards this particular choice of words since I work at a company with an M at the end of optimist so you know I like this word a lot but like what is optimistic execution right well we have this this blockchain thing right we'll assume the readers are familiar with that and the idea is you know these these black chains have it limited throughput right so you know if we have some chain you know argue with me about whether I'm pointing my arrow is the right way right there's this thing at the end of the day this this consensus system is still a computer and you know this from this state machine you know and it's replicated and the way that we replicate it and achieve a consensus on it right basically like restricts us so you know we we can't like just like pump infinite things into this blockchain right it won't work so what do we do in the naive model of black chains we can think of the blockchain as like a ledger you know accounts or whatever we want to call it right so this is this is one model to think of a blockchain and so you do your payment's and you put them on the ledger and it updates who has what based on how much you know Alice is ping Bob or whatever so optimistic execution is the idea that unfortunately this ledger is very limited so instead of making it a ledger of accounts what if we could make it a ledger of disputes and really you might you might even say settlement in a general case but it's interesting to think of this as just disputes so the idea is you know perhaps instead of Alice paying Bob five dollars by submitting a transaction to the ledger of accounts and saying hey decrease my account by five dollars increase Bob's account by five dollars maybe there's a scheme in which Alice can just simply say here's a little update and here's what Alice has now and here's what bob has now and you don't have to actually check me on this but if anyone disagrees then they can trigger an event and check it and so you know this is an efficiency boost that allows you to pump more transactions through the consensus right and one way to think about it is you don't go to court to cash a check right in the real world you go to court if the check bounces and so we want the ability to cash a bunch of checks in a way that doesn't go through the ledger of accounts and we use this court system that this strong property of trust that black chains provide only when there's some sort of problem a dispute so does that make sense that sort of optimistic execution you know maybe at a high level yep that makes sense cool cool okay so I guess the next thing to talk about it would be to talk about maybe some specific examples of options to execution schemes and I'll talk about quickly I'll talk about them very briefly okay cool so one of them is called the State Channel as I mentioned this is one of the earliest ones and in a state channel Alice and Bob commit some money into an escrow and they sign off chained messages so so you know it's hard yeah it's hard to figure out the best way to draw this but Alice and Bob are going to submit some money into an escrow right so there's Alice there's Bob right they put some money into an escrow there we go there's some money symbol uh-huh and then they do some off chain actions and basically basically what happens is that's what occurs on Shane can you see that by the way did I just move it for you I'm moving I'm moving up through so I'm trying were you dropped fantastic oh thanks thanks so much so let's say that Alice and Bob put some money into an escrow right this is sort of the part that occurs on Shane and then we can do some things that are off chain right so if we say off chain over here so off chain basically Alice and Bob can do these cryptographic io u--'s right they send back and forth some io u--'s right Alice says okay I'm gonna pay you a dollar now and then Bob says okay I'll pay you three dollars at a different time right and so on and so forth and the property is that even if there's a lot of iU I'll use pass back and forth at most even if there's a large number of these only one of them ever has to go back into the escrow contract right so here let's do I love colors so let's try to get some colors in here only one right so in a state channel this ESCO contract only needs the most recent two sort of IOU state right the most recent set of affairs to be able to resolve how much money at a later point in time Alice and Bob get out right and so hence we have done some scaling right because Alice and Bob transacted several times and the ledger did not make an update on the order of the number of those transactions it made enough on the order of you know to a deposit and a withdrawal right so that's how we get scaling and I think this is at state channels are a great example of why things like transactions per second right our little misleading in the in the crypto sphere I would say like one of the most overused words and all of crypto is transactions per second and it's really not that meaningful because right here in a system that was designed for Bitcoin right forget all these other crazy scaling solutions with just you know small little four mega byte blocks we can theoretically do an infinite number of transactions per second right like Alice and Bob's ability to pass these io u--'s back and forth is only bounded by you know things like their computational power and network latency but they can just send one sent transactions back and forth all day long right it wouldn't be a very meaningful scaling solution but it would be very high number of transactions per second right yeah yeah that's right also we have a very good episode episode 13 where we dive very deeply into in the channels in the payment channels yeah nice nice nice yep so payment channels are so really cool and if you even get a little crazy you know you don't have to just do a payment on this channel you can do things like playing a chess game or some you know turn-based application or a poker game things of that nature so unfortunately the problem with payment channels is that Alice and this escrow contract right where Alice and Bob put money into right was only al it was only Alice and Bob putting money into this X escrow and so like this participant set is limited right only Alice and Bob can trust in the payments that they're making in this channel right yeah so what we really like in the etherium world is this crazy ability to have these money Legos right where we could deploy all of these crazy smart contracts and they can talk to each other in weird ways and do crazy awesome things right and the problem with this is that the set of features that you can do with such a limited participant that is you know similarly limited right so for example an auction you know doesn't really work with a payment channel right not at least in the same with the same properties that a l1 auction would have so like auction it doesn't really work right it doesn't really work with it with a peanut channel so we need something more so optimistic roll-up right is a scaling solution that allows you to scale up in the you know in the number of disputes not in the number of in the amount of computation and it allows you to do so with pretty much identical properties to aetherium itself and so that's what's super exciting about it and particularly the property is that the data availability so let's let's just let's just make it quick a quick thing here oh are you the data availability right so the the you know maybe a so data availability is like I think you know occasionally and overused words I guess what I would say is like transaction size you know transaction data size right this is limited by l1 mm-hmm and what basically the reason for that is that to send a transaction into into roll-up right and get it finalized you send it to l1 just like you would any other transaction the difference is that TX computation size is not right so this is uh nathie reom your gas not you know limited and so this is the property that optimistic roll-up has and yeah I mean we can we can you know sketch out a very very naive sort of optimistic roll-up chain maybe as a starting point so let's scroll up okay so here's like the simplest possible possible way like you know like you know MV oru Minimum Viable or you and in fact this I will hide a particular detail here which involves a sort of the stateless execution nature so there's stateless clients and you get a lot of performance benefits by doing that but actually the the minimum sort of viable version of this and all described here was actually I think we can lend credit to but Alec in 2014 he called this a shadow chain which is a you know honestly in some ways a cooler name then then or are you I cut it I kind of dig shadow chain but I also like are you especially since optimism is the name of my my team okay so here's a simple optimistic roll-up contractor shadow chain right so let's define a data structure which is called the transition okay and a transition is a is a tuple of TX and a state right so a transition is a transitions a tuple of TX and state now the simplest way to have a roll-up chain is you have a array of transitions and anyone can call propose new trend this is you know extremely simplified but it'll get the basic idea across propose new transition right and this will you know obviously accept a you know TX state right it'll accept this transition object right and this will and this will append to a so this will append to a list of transitions right so I'll I'll called T 0 it kind of sounds like time but we'll say how about TR 0 transition 0 transition 1 transition to but this has a problem right if I proposed a transition and while my transition is being proposed someone else proposes transition my state will be incorrect right that is correct yeah that's a totally good point so this is like very very naive implementation so you're absolutely right in the scenario in which anybody can call propose new transition this would be a very unfortunate roll up scheme because you would have this race condition and you would probably end up with the property that like only one person would be able to sort of make a valid thing you know admission proposal per block and it would just happen to be the the you know the person who paid the most gas right the person who wins the prior to gas auction so you're absolutely right so one simple way to remedy that is to imagine that a single party is allowed to propose these new transitions right and that would be a simple way to resolve this that single party knows do you know the exact ordering and the states that are coming down and they can propose it right of course that would have a problem that would have that person went offline right and then and then that person would disappear so a better way to so a better way to do things you know I mean well maybe maybe just to finish this this analogy very quickly right there would be one other function here which would be prove fraud right and this function would take in and index right and it would you know step one of proving fraud would be check you know very so we have a we have a state transition function that also hasn't defined here but you know execute TX is what we'll call that state transition function right execute TX which takes in a TX and the state and it outputs a new state right so what the last thing to do after we've started putting you know this this array of transitions on chain is would be to prove that a transition is fraudulent right so how would you do that you would check that you know for index I right okay let's just let's just use I for the simplicity of writing so you would check that TR I minus one oh sorry actually let me rewrite that so we would prove that I'll scroll down a little bit nice so the first thing that you would do right is you would take the state at the previous index right and you would apply the the IEEE transaction to it and see if you got the correct output right so here's what we would do we would say we would say check that execute TX of T our I minus 1 dot state comma T our I dot T X is not equal to TR I dot state right so there would be the basis of a frog proof you'd say hey this person lied they put down a a transition and they said if you apply this TX to the head state then you will get this new head state right and so we can prove that this is not the case right and maybe we'll even maybe even we'll go we'll get a little color color get up in here oh yeah oh yeah there now we're talking now we're using we're going digital okay and then and then the second thing that you do right would be step two you know delete you know delete transition I threw you know the end of you know you know the max delete the rest of them right okay so that's a super super super simple optimistic roller chain right so so I guess one problem here is that with every transaction we have to submit the whole state right which is going to on this exactly right exactly right exactly right so that that is that is definitely the case is that this state is going to get very very big over time and and notably right notably the the array of transitions that we're storing here is being stored on chain and so if we said that would be like storing instead of the difference in this you know we maybe you could improve by storing the difference in the state right but you're still storing them in the night this super naive imitation the entire state right and so that's totally right that's a no-go but it would fail because the a storage costs are vastly vastly vastly you know greater yeah absolutely right and so as we as we optimizing so so it so one thing is to remove the state from the from the chain data right I'm sorry from the from the etherium state is also is they're also go to remove transactions from the from the from the state there is a that is correct and actually that is where the term roll-up comes from so which actually came from ZK roll-up so you do there there are basically two things you you what you end up with is a hash of the transaction and a hash of the the state and in fact and in fact of course you can do it as an accumulator so it doesn't have to be you know a linear number of hashes you can have it be a logarithmic you know on chain accumulator mm-hmm awesome and that's exactly right and so the way that like the way that we get rid of so maybe maybe just to note this so I'll keep going down here I'm whoops oh man color-changing stuff there we go so like yeah like you know so like to remove the you know TX size right what we do is we store hash of the transactions right instead of storing the instead of storing the transactions themselves and of course the and this this sort of hashing process right really in fact is what happens it's a large number of transactions are submitted all at once and you store a miracle root of them because you might you might have 100 transactions but you only need one particular transaction that where things were fraudulent so you store Merkle groups and this is colloquially known as roll-up right and so this is what's done on CK roll-up this is what's done in optimistic grow up and the idea is that even though we only store the hash of the transaction on chain it only the hashes in the state within the chain history is the entire transaction right because anyone who wants to come to the chain later on and verify needs to be able to get this transaction in the first place to verify that the hash is correct right otherwise it wouldn't know if the the if it should reject the block or not and so even though we've removed the transaction from the state it is still there in the history all the full nodes had it and the source worth mentioning right that the the price to store something in the history over theorem is we we cheaper them right exactly right exactly right all data is is way way way cheaper and and the the ending to and a further intuition that's kind of nice there in general sometimes people hear roll-ups and they think and they they hear oh well you still have to put the transaction data on chain that doesn't sound scalable to me right there's sort of two reasons to think that that's scalable one is exactly what you said is that it's much cheaper to store a piece of data in the chains history than it is to store it in the actual head state of the machine the other reason is that Moore's Law has continued following bandwidth where it's beginning to drop on execution so this is a this is actually what's nice on computation rather so this is kind of a nice property is that it seems like Moore's law is continuing for bandwidth which is the only cost factor that goes into the this this property you know the cost whereas execution is falling off so we keep the execution off chain but we keep the bandwidth on chain we can keep following Moore's law right all right and so here so let me quickly I don't know if you were going to talk about it next but I'm trying to see how these signatures of this methods will change once we do not have the entire list of transitions right but rather they have hashes so if I'm proposing new transition my transitional contains the immortal route of the states right that will be the result of applying the transaction right that is correct that is correct and so therefore there are proof fraud will have to contain the states themselves right so that we we can actually apply the transactions well or I guess a subset of state which is sufficient with the witness right exactly right a subset with the witness and one thing one important note there is is that concept people often when people are learning about that concept there's a point a moment time which is that concept really clicks which is that this is very very similar to what's called the stateless client in aetherium and maybe a little bit more broadly in crypto now right so the stateless client is the idea that nodes don't store any of the change state even of l1 other than an accumulation of it and when you apply a transaction you provide a witness to any parts of the state that you're accessing mm-hmm okay so I'm drawing a little go ahead the only other thing I would say it's funny enough in Bitcoin this has been called you tree EXO and it's it works almost the exact same way but for bitcoins ug EXO model yeah I see okay so I'm doing at the bottom right so that they have the full understanding so assuming I can submit at least a set of transactions right so now my method what was it called above let me see it was called XCX proposed right yeah yeah yeah proposed okay so so so now my proposed will take a effectively a list of transactions right and the statute that I at the time that I claim will become the rule will be the route of the of the state after applying these transactions right so internally internally this method will compute will in into the list of the transitions right it will append the a lot of house of transactions right maybe more color it may be something else you can and the state route I guess it's a it's a tuple yeah and so effectively so no transactions well I'm not I'm not that that that familiar with the theorem but my understanding that just by calling this method the transactions already in the history right because this some sort of a cold data right exactly right it's in the correlator but only but only the half of the transactions ends up in the in the state right exam and and so this part that maybe change a color now and so the the part that is blue that can also be optimized to contain just the just a sort of accumulator so that on itself can be some sort of work exactly right mmm-hmm I see so so so the state that were surprised very little and so now the method that is proof fraud yeah now it takes index but it also takes now so in the knife way that would be stayed before right yes state after we don't really need because we will get the state after and we can hash it and so from here so that is already sufficient well it's not quite sufficient also need the transaction itself right and because we only have the hash of them that's greater submit index TX and the state route and so that on itself should already be sufficient well we also need some sort of witness that proves that the action corresponds to this half of transactions right that's right that's right you know we need some because that prove that and and if this is the accumulator and then you also need some witness that proves that so yeah so some number sufficient witnesses to show the transaction case comes with the cash and so the next optimization is that if we have let's see so for example if this is the state right and so let's say my transaction read from disk several places yeah and then it wrote to these couple places right then I'm not submitting the entire state I'm submitting these parts of state that I changed right exactly and and more two proofs that they correspond to the states would write exactly and and so that would be or rather what I wanna be submitting it for the data if it's right but for the data right they still need to provide moral witness so that they can see so they can recompute the the updated cash right that's right yeah exactly cool okay so so how far are we from from like having not that minimum viable optimistic roll-up with all this oh we're pretty close we're pretty close so I mean we we did a we did a the first public demo of roll-up Caldwell optimistic roll-up called unipeg we did that at Def Con last year there's a very separate conversation to be had about what it takes to build so there's like a big there's a big separate question here which is this this function executes TX right what does it look like because to really take advantage of this solution the applications built on top of it have to fit within this execute TX function right and so you know in our case where we're building this as a layer on top of a cerium it becomes a very interesting problem well how do you design and execute TX function that is like application developer friendly right because the cool thing about this system is that because you know you basically have three properties right one property is that you have the avail an available head state right and the reason for this is because all of the transaction data is available for in the chain history and so anyone who wants to can compute the head state from the available transaction data we have another nice property which is which is that that it is live at least you know as live as the l1 and we have a property that it's valid because we know that we can go and submit fraud if it's invalid and correct it so that it is and those three those three properties are basically exactly the properties of a smart contract system right and now again that was how I started this was by saying what payment channels are good for one thing but we need another one so a lot of the work that we've put in over the past I know how many months has it been now five months is building this thing called the ovm which is a EVM contained container so it allows you to run evey and EVM transaction as your execute T X function which turns out to be a separate very hard problem so we've had roll-ups without that for a while and EVM roll-ups are coming very soon it's very exciting and some of the ones so there all of you have to be what sort of what sort of personal mission they they running I actually don't know if there are any optimistic roll-ups running in production today I don't think there are but although all the ones the majority of work has been done interpreting things like a state channel I mean a payment system right and so you build a very simple payment machine we did a demo with with it which used the unit swap functionality and we simply hard-coded and you know swap transition function that we had to write mm-hmm and so is there so so the ovm that the Latia is proposing doesn't interpret EVM in EVM or is it somehow legend put underlying VM to doesn't of course make sense it was the latter I see this as efficiently as the underlying medium that's right I mean it's there's maybe there's maybe a 10% efficiency loss that comes with the way that the implementation works but it's it's very close to as efficient yes nice and so does my eatest oh yeah it's not as naive as Oh a theorem is incomplete so we implement the EVM in a theory oh yeah that turns out to be you know a very difficult task yeah yeah so the ovm work just a little bit differently it instead it just adds a container contract which sort of enforces that another contract is running in a sandboxed environment I see cool and so and so that works with with a partial state with their weaknesses that's right yep yep it has a that container has an interface which is called the state manager which is pretty much identical to like how guess or pie etherium implement implement their clients and that can be stateless or staple depending on whether you're on or off chain nice awesome yeah cool so it's also there's another topic which was sort of skipped I guess before which is how do we how do we solve the problem that there's only like maybe it only works with a single block entity which can that's a great one yeah so let's go to the bottom at bottom and talking about that yes so I'll talk about to two iterations that you can build on this system the simplest way to remedy the problems let me just draw a line and I'll start drawing below there so the simplest way to remedy this problem of well who has the responsibility to submit these to submit these transactions and why should we trust them to not halt our coins or censor our transactions right the simplest way is to split the function the proposal function into two functions so you have proposed T X right where you you know you send you know maybe a batch of transaction things right and then you say propose you know state route right SR and that would be and that would be a batch of you know of state routes or maybe just one maybe you append them one at a time and that that is how that is like at its core the way that you the way that you enable this right so simply by taking these two proposal functions and splitting them up and saying okay either you propose a transaction and that transaction is just added in whatever order that layer one added it or you propose a state route and that state route is a result of the transactions right and so this is sort of what allows you to break it up does that make sense go on step two so proposals are is the idea here that there's again only one entity which does that or or shall it accept index at which you are claiming the state route yeah so there's there's a few different there's a lot of different models that you can go by generally state route proposal because it costs gas to prove fraud state route proposal should be bonded right so there should be some money associated with state route proposal and so maybe you say the person who made that bond you can make the bond to be at the time that you propose the state route you can even have a state route proposer that is the person with the highest bond right and so that's you know that's one note associated with state route proposal in principle though it can be anyone and anyone who proposes an invalid state can be can be penalized and so one one important note here right is that an invalid state route does not affect the chain the the the liveness properties of the chain right so let's say like here let's say we have like these two chains and the top chain is a chain of texas right so we have like TX 0 right you know then you can like add a new one right and then we can add another one and another one gets added on right well let's say over here like State Route is proposed here and then State Route is proposed here and then State Route is proposed here and it's like it's red we don't we it's a bad state route proposal right everyone who's honest who's watching the transactions knows that it's invalid and knows what the real state is going to end up being resolved to so you can continue to add on here without any without any concern for the fact that this State Route proposal was wrong as long as this thing gets cancelled in time it does not affect the be like latency of the system you're still just following along the transactions and the transactions you know are doing their thing right yeah I guess my question was also around the fact that if proposals are doesn't take the index right it could happen again that I'm proposing the correct state route but someone else proposed the state route for the same time stamp and so mice truth is a pendant for thee right so you could you could add an index to it okay I think the sir I think in in practice there's a few practical considerations here so one of the practical considerations is that the ability to have a lie can party that aggregates many transactions and submits them all at once is like a very useful service provider and it also affords some gas benefits because it can amortize some of the gas costs as well as as well as there's other crazy things so in the long term what you'll be able to do is use BLS signature aggregation and you'll be able to aggregate a bunch of users transactions to have only one signature and so then in roll-up gets really cheap because you you amortize the cost of you know what would normally be a 65 byte you know ECS a signature so this service provider and kind of needs to be there and it's very useful so pragmatically speaking usually will have the that person be just one that'd be just one person with the property you know with the property that they go away after some amount of time anyone can propose for example yeah that makes sense oh so so so one thing I wanted to discuss briefly was it was like slightly orthogonal to everything we discussed before I was I was I wanted to discuss sort of the future with multiple optimistic roles but if there's something else fundamental we didn't discuss yet we should probably do that first sure yeah I'll talk about well there's a couple other other interesting things so one one one interesting note and is that if we stay here and you know look at these state routes right these state routes have a have a they have a cost right there are 32 byte hashes of call data and so there are more complex there are more complex dispute games that you can build that basically allow you to optimistically skip state routes in the middle so for example imagine that none of these statements were proposed at once and instead we proposed a state route every one two three four or five six transactions right this does not require you to execute execute all six transactions to prove that that from here to here is invalid one thing that you can do is you can initialize like a true bit style dispute game that does a bisection game that says okay we disagree you disagree about the state route here we both disagree about the state route here let's see if we disagree about the state route in the middle and then we both say what we what we think it's going to be in the middle and we say okay we agree about the middle one so it must be one of these two guys so what do you think for this one and you eventually find exactly where the source of the dispute really is so that's one that's one other interesting optimization but then becomes interactive read because you would have every state route and the misfit non-interactive it does it has become interactive yeah and so there's like it's definitely very nice to have a system that is not interactive but it is something you can do another property that I will shout out that is unique that is somewhat tangential although we find it conceptually easier to think about it at the at the add the at the roll-up level but really you can think of it you could implement it on the application level is one really nice feature about having a single sort of person who is going to roll up these transactions is that that person has strong private knowledge about what the state is going to be and it has knowledge of that you know in in like basically an instant latency right as soon as it makes the decision of how it's going to post some transactions it knows what the future state of the system will be mm-hmm and so this is a nice property because if you trust that person or and especially in some applications it's especially useful if you that you can believe that this person will you know makes me be sign a tribute Abul promise that they will include your transaction and they'll go do it and this gives you some really nice user experience of course it comes with the problem of it comes with the problem of censorship that we talked about where how do you prevent this party from for instance not including your transactions and then you're unable to withdraw and so what you can do is you can have a slow q u-- e and egg-like canonical transaction chain so this is this is what we do at our implementation and basically anyone can in a permissionless way upend transactions to this slow queue right so so smoke you in fact when it happens to be under layer one it's on the layer one exactly right exactly right and we're building up and you know maybe let's say we're building up this canonical TX chain here now what you do is you you implement a small time delay between the time at which the a transaction was put into the slow queue right and then it must be and then after this time elapses it must be moved into the canonical transaction chain there's no other valid action other than moving it into the canonical transaction Shane but in the meantime in the meantime you know in this short period of time in which it sits in the queue you can have one party which we call the sequencer and that sequencer can insert transactions in front ha and this allows and this allows the sequencer to continuously provide instant promises and have private knowledge of exactly what the state will be while still maintaining the censorship resistance properties via this sort of escape hatch slow queue mechanism right so you can get crazy with these sorts of designs so in fact a sequencer in the worst case I'm sorry in the in the worst case they will be able to to force someone to pay on chain transaction fee for their transaction that's right that's right and and of course they pay a non change it's still a rollup transaction right so they other than this like amortization cost that we were talking about those costs are very very those cost will be very very similar so yeah in the worst case they can they can push them into the other chain yeah and that gives you some really nice UX for a lot of applications yeah and so I guess another question they have is because all the transactions still end up on the etherium blockchain right I think there are two interesting aspects to it so one of them says that while the first optimistic crough which comes the theorem will scale quite a lot right you can note you cannot scale it so effectively all the optimistic hopes combined collectively will of the scale be the same we're the same fact that has a single optimist to crawl up right because they all share the the capacity of the etherium blocks and that is the bottleneck for them right yes I say it again I think it does but I want to know it precisely what the question also the time to say is that with the so for example with the state channels right you mentioned at the beginning that it is in theory it can scale infinitely right so if we open 1 million state channels it will be one half times more more transactions per second right then a single state state channel while with the optimistic roll-ups no matter how many optimistic roll ups turn from from different entities potentially right operate on the theorem they collectively have the same throughput as a single optimistic roll-up would have on the theorem right yeah yeah so the that's correct and I try to live to this earlier by saying that we should be optimal like what are the bounds of that of that what what aren't what are those limits right there's limits aren't very large right like if we look at like high powered data availability you know sort of engines like you know ease to right as an example well I you know the last time we did the numbers you know you get like 100 100k TPS pretty easily right and I hate the word TPS but you know as an approximation and so those those numbers like will go very large and in general roll ups scale linearly with the number of shards okay so as as the layer 1 sharding improves right the the role of throughput improves and the other thing that we continue to see continue to see why you might like the the Moore's Law the Moore's law for bandwidth has continued going up so you know we can we like can be more confident that like the bandwidth of these Bachchan's will be increasing at a more rapid pace than the execution and someone you're saying it scales linearly with number of shirts affect you all you care about is how much data the shorts can store right you don't you don't really need execution from the shorts right correct correct they're they're they're the yeah and and that's why again it is tricky like TPS is so tricky like you know one thing for example that you have to prevent in this scheme is you still have to have an ocean of gas right so for example like it's not sufficient to use l1 as the anti-ddos for this system because you might for instance submit a transaction that you know calls while true right and then we'll just like you know never halts so yeah I forgot exactly where I was going with that but you but but you do do gas metering and and so you know you know instead of doing well true if you have for you know you know a for loop that iterates over a bajillion cycles you know you can you can do that and you know get a lot more throughput that is quote nonlinear in some sense but that can be that's that should be handled on v4 VM levels right correct exactly right yeah yeah and again we're lucky enough to be able to borrow that gas metering so and another interesting thing is so assuming that for a while up to mystic ropes are going to run even the thin one point all right if we do like very quick computation it seems that so let's say majority of computation most optimistic roll-up then a theorem block size will increase dramatically right so today when everything is like 20 kilobytes right and then it would become the content kilobytes or 200 kilobytes per block so so do you have any insight into how that can affect the chain like we have higher uncle rates or anything like that right so I mean currently currently like aetherium is lobbying to bring to like so I don't know how many months ago was now could have even been closer to a year than then measuring in months ago now but recently actually lowered the cost of called data way down particularly to support roll-ups because because it was it was considered and it seemed like call data was overpriced and that we weren't gonna kill the uncle rate if we do this I see ok so some smart people get think about it smart smart people didn't think about it and there's even proposals to lower it further another and like another and other obvious step that you can take is you can basically add a you know a new opcode to the EVM or like a new pre-compile however you want to think about that allows you to simply check the availability of data and that's all that you can do and you know maybe it automatically you know Merck Eliza's it and so that would allow you to not not have like the VM be any part of the constraint at all and it's just pure bandwidth yeah so so is there anything else important we didn't discuss about optimistic roll-ups um let me think let me think I think we I think we hit the big points so there's one interesting topic which many many proponents of ZK roll-ups bring up right that if you have quite a quite a bit of assets in the optimistic crawl up it might become reasonable for for the miners to get involved and stop censoring the disputes right for sufficiently long until until there is a until the dispute period ends right so so is it is it a valid concern and are there any ways to get around it definitely a valid concern so this is like we often call this internally like the parasitic l2 arguments which is fun the the answer is for in optimistic execution schemes you can't really get around that so you have to be careful because and and maybe a better way to phrase it is that layer two systems are an intrinsic source of MeV of miner extractable value and and and even to the extent that like you said you can do something called a time bandit attack where miners Shack the value can be retro actively stolen by another by another miner who 51% attacks the chain and moves forward I see there's there's not there's not a ton you can do about this particularly on each one now outside of like you know governance concerns so like you know if I if I miss food period is gonna end up being a week if the Assyrian chain was 51% attack or censorship attacked for a week would there you know would there be a governance saying where you know people decide to fork who knows you know hard to say in in East 2.0 like user you know user you know soft Forks for you know for like sort of subjective realizations of censoring or is going to be a part of the part of the protocol and the you know social consensus around what Paul so we're helped there with having said I'm a huge fan of zero knowledge groups like if there was a zero knowledge EDM that I thought was a short-term Bible I would be jumping all over that like our goal is to be very very pragmatic we're not tied to optimistic roll-up because it is the scaling solution we're tied to it because it gives a reasonable set of properties that we think are worthwhile and it does it today so if you know when ziran windsor knowledge proofs start going crazy and are way easier to develop on and so on and so forth um we totally should have more zero knowledge groups you know I'm a huge fan huge fan awesome and the last question I have is certainty in terms of optimistic roll-ups appearing in production the other thing is going to be more like a single chemist acrylic which has multiple contracts which interact with each other within a single state right within a single VM or like I don't know how to like with a single container right or do you envision it more like multiple optimistic ropes that have a way to communicate between them and if the latter then how the communication will happen it's a really good question and there are limitations after which you know verifier costs are going to get so large that if users aren't willing to accept those verifier costs or they're not willing to accept that there exists out there one you know honest verifier then you they and you may need to to to spread them out so especially in like you know super quadratically crazy sharded systems where the amount of available data is just insane and that computation is insane then you're going to need multiple roll-up chains in the short term we have pre have put a strong emphasis on making a rollup chain that supports contract deployment and supports the sort of money lego features that we see on a cerium the only other thing I was going to say is those like tools like I actually think you guys at near are doing a great job of like I think you guys have an async await for cross shard communication or whatever like asynchronous communication between apps in the decentralized context is going to be super important but it's not there yet I don't think so I would say that one other one one thing that has less whiteboard II to call out is that this this screen that we have right here actually with this sequencer is related to a really cool sort of economic construction that we're working on called neva minor extractable value auctions mm-hmm and basically the idea is that this purpose sequencers ability to order transactions the that privileged position in addition to enabling you to give out these sort of low latency promises of what you're going to decide the state is that prioritized position is like very valuable and more normally that value goes to minors and frontrunners and we're super excited that in layer two you have a nice clean way to actually be able to basically you know sell that that right off and repurpose that to do something that's much more useful like public looks Goods funding right or or you know I know you guys are doing cool stuff with like giving out you know rewards to people based on the gas that their contracts used so we think that being able to sell off the right to be a sequencer is an awesome way to like monetize get rid of something that users see is a downside by turning into a good thing so that's um I guess the only other thing I'd mention yeah cool okay cool great so so thanks a lot for explaining the opportunity to crops that was I guess a great episode and absolutely well yeah hopefully not the last time we were talking in this format awesome thanks so yeah once we have shining we'll have a third one you know it's","transcript_synced_at":"2026-11-04T04:25:25.831Z","segments":[{"start_seconds":3,"text":"hi everyone this is Alex from near with me today is Ben Jones from optimism hi","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3s"},{"start_seconds":11,"text":"Ben everyone yeah very good and today we're going to be talking","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=11s"},{"start_seconds":18,"text":"about optimistic roll-ups Ben was previously on whiteboard sessions maybe a year ago we were talking about plasma","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=18s"},{"start_seconds":26,"text":"cash flow and which was another layer to solution but since then optimistic","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=26s"},{"start_seconds":33,"text":"roll-up started a starting started getting popular so let's talk about them so Ben would you like to I guess introduce yourself again in case people","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=33s"},{"start_seconds":41,"text":"didn't watch the previous episode and talk a little bit about what optimistic roll-up are what the what problems they're trying to solve and how they work sure thing sure thing","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=41s"},{"start_seconds":49,"text":"and that's right yes I am here back to back I guess now back at the near whiteboard talking about more stuff yeah","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=49s"},{"start_seconds":57,"text":"so I'm Ben I work at a team called optimism and we're building a product called optimistic aetherium and it's a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=57s"},{"start_seconds":65,"text":"scaling solution that like Alex said uses at its backbone a tech called optimistic roll-up and the goal is to","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=65s"},{"start_seconds":74,"text":"scale aetherium and particularly our goal is to scale aetherium smart contracts so Alex when we were when we","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=74s"},{"start_seconds":81,"text":"were last chat chatting on the on the you know near channel we were talking about something related to plasma and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=81s"},{"start_seconds":88,"text":"plasma was a really cool really awesome technology but it didn't have the properties that we wanted to get true","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=88s"},{"start_seconds":95,"text":"like aetherium style rich state sort of persistent adapts and so that is what","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=95s"},{"start_seconds":104,"text":"optimistic roll-up sort of gives us very uniquely and so it is a layer to scaling solution this means that it makes an","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=104s"},{"start_seconds":113,"text":"assumption that in the happy case a lot of things won't have to go on chain and then only in the sad case do they have to go on chain and so that allows you to","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=113s"},{"start_seconds":120,"text":"scale up in the number of disputes and this gives you some scale cool lets Naveen","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=120s"},{"start_seconds":128,"text":"sweet okay so where would you like me to start in terms of framing like I could go way back and talk about layered like","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=128s"},{"start_seconds":137,"text":"optimistic execution I could talk about like you know a bit of history of plasma I could dive in this particular solution","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=137s"},{"start_seconds":146,"text":"trying to think of what is the best route to take us yeah definitely let's talk about opportunistic execution in general and yeah sure okay so you know","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=146s"},{"start_seconds":157,"text":"we have a class of technologies right let me let me just like start using this this lovely whiteboard here because I","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=157s"},{"start_seconds":164,"text":"got to get I got to get some practice or my handwriting is gonna be horrible so we have this thing called layer 2 right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=164s"},{"start_seconds":171,"text":"what a weird way to write layer 2 layer 2 refers to a suite of designs and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=171s"},{"start_seconds":179,"text":"applications that you know arguably started with payment channels even not as early as Bitcoin and they utilize","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=179s"},{"start_seconds":188,"text":"something called optimistic execution this is one way to frame what they do right so let's just let's just write that of course I am biased towards this","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=188s"},{"start_seconds":197,"text":"particular choice of words since I work at a company with an M at the end of optimist so you know I like this word a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=197s"},{"start_seconds":207,"text":"lot but like what is optimistic execution right well we have this this blockchain thing right we'll assume the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=207s"},{"start_seconds":215,"text":"readers are familiar with that and the idea is you know these these black chains have it limited throughput right so you know if we have some chain you","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=215s"},{"start_seconds":224,"text":"know argue with me about whether I'm pointing my arrow is the right way right there's this thing at the end of the day this this consensus system is still a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=224s"},{"start_seconds":232,"text":"computer and you know this from this state machine you know and it's replicated and the way that we replicate","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=232s"},{"start_seconds":239,"text":"it and achieve a consensus on it right basically like restricts us so you know we we can't like just like pump infinite","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=239s"},{"start_seconds":246,"text":"things into this blockchain right it won't work so what do we do in the naive model of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=246s"},{"start_seconds":255,"text":"black chains we can think of the blockchain as like a ledger","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=255s"},{"start_seconds":262,"text":"you know accounts or whatever we want to call it right so this is this is one model to think of a blockchain and so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=262s"},{"start_seconds":271,"text":"you do your payment's and you put them on the ledger and it updates who has what based on how much you know Alice is ping Bob or whatever so optimistic","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=271s"},{"start_seconds":281,"text":"execution is the idea that unfortunately this ledger is very limited so instead of making it a ledger of accounts what","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=281s"},{"start_seconds":290,"text":"if we could make it a ledger of disputes and really you might you might even say","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=290s"},{"start_seconds":298,"text":"settlement in a general case but it's interesting to think of this as just disputes so the idea is you know perhaps instead of Alice paying Bob five dollars","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=298s"},{"start_seconds":308,"text":"by submitting a transaction to the ledger of accounts and saying hey decrease my account by five dollars increase Bob's account by five dollars","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=308s"},{"start_seconds":316,"text":"maybe there's a scheme in which Alice can just simply say here's a little update and here's what Alice has now and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=316s"},{"start_seconds":324,"text":"here's what bob has now and you don't have to actually check me on this but if anyone disagrees then they can trigger","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=324s"},{"start_seconds":330,"text":"an event and check it and so you know this is an efficiency boost that allows you to pump more transactions through","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=330s"},{"start_seconds":338,"text":"the consensus right and one way to think about it is you don't go to court to cash a check right in the real world you","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=338s"},{"start_seconds":346,"text":"go to court if the check bounces and so we want the ability to cash a bunch of checks in a way that doesn't go through","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=346s"},{"start_seconds":353,"text":"the ledger of accounts and we use this court system that this strong property of trust that black chains provide only when there's some sort of problem a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=353s"},{"start_seconds":362,"text":"dispute so does that make sense that sort of optimistic execution you know maybe at a high level yep that makes","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=362s"},{"start_seconds":369,"text":"sense cool cool okay so I guess the next","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=369s"},{"start_seconds":376,"text":"thing to talk about it would be to talk about maybe some specific examples of options to execution schemes and I'll","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=376s"},{"start_seconds":383,"text":"talk about quickly I'll talk about them very briefly okay cool so one of them is called the State Channel as I mentioned","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=383s"},{"start_seconds":390,"text":"this is one of the earliest ones and in a state channel Alice and Bob commit some money into an","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=390s"},{"start_seconds":397,"text":"escrow and they sign off chained messages so so you know it's hard yeah","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=397s"},{"start_seconds":406,"text":"it's hard to figure out the best way to draw this but Alice and Bob are going to submit some money into an escrow right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=406s"},{"start_seconds":414,"text":"so there's Alice there's Bob right they put some money into an escrow there we","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=414s"},{"start_seconds":423,"text":"go there's some money symbol uh-huh and then they do some off chain actions and basically basically what happens is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=423s"},{"start_seconds":431,"text":"that's what occurs on Shane can you see that by the way did I just move it for you I'm moving I'm moving up through so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=431s"},{"start_seconds":438,"text":"I'm trying were you dropped fantastic oh thanks thanks so much so let's say that Alice and Bob put some money into an","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=438s"},{"start_seconds":446,"text":"escrow right this is sort of the part that occurs on Shane and then we can do some things that are off chain right so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=446s"},{"start_seconds":455,"text":"if we say off chain over here so off chain basically Alice and Bob can do","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=455s"},{"start_seconds":463,"text":"these cryptographic io u--'s right they send back and forth some io u--'s right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=463s"},{"start_seconds":470,"text":"Alice says okay I'm gonna pay you a dollar now and then Bob says okay I'll pay you three dollars at a different","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=470s"},{"start_seconds":477,"text":"time right and so on and so forth and the property is that even if there's a lot of iU I'll use pass back and forth","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=477s"},{"start_seconds":484,"text":"at most even if there's a large number of these only one of them ever has to go","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=484s"},{"start_seconds":492,"text":"back into the escrow contract right so here let's do I love colors so let's try to get some colors in here only one","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=492s"},{"start_seconds":500,"text":"right so in a state channel this ESCO contract only needs the most recent two","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=500s"},{"start_seconds":508,"text":"sort of IOU state right the most recent set of affairs to be able to resolve how much money at a later point in time","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=508s"},{"start_seconds":515,"text":"Alice and Bob get out right and so hence we have done some scaling right because","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=515s"},{"start_seconds":522,"text":"Alice and Bob transacted several times and the ledger did not make an update on the order of the number of those transactions it made enough","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=522s"},{"start_seconds":529,"text":"on the order of you know to a deposit and a withdrawal right so that's how we get scaling and I think this is at state","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=529s"},{"start_seconds":538,"text":"channels are a great example of why things like transactions per second right our little misleading in the in the crypto sphere I would say like one","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=538s"},{"start_seconds":546,"text":"of the most overused words and all of crypto is transactions per second and it's really not that meaningful because right here in a system that was designed","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=546s"},{"start_seconds":554,"text":"for Bitcoin right forget all these other crazy scaling solutions with just you know small little four mega byte blocks we can theoretically do an infinite","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=554s"},{"start_seconds":562,"text":"number of transactions per second right like Alice and Bob's ability to pass these io u--'s back and forth is only bounded by you know things like their","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=562s"},{"start_seconds":570,"text":"computational power and network latency but they can just send one sent transactions back and forth all day long right it wouldn't be a very meaningful","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=570s"},{"start_seconds":577,"text":"scaling solution but it would be very high number of transactions per second right yeah yeah that's right also we have a very good episode episode","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=577s"},{"start_seconds":586,"text":"13 where we dive very deeply into in the channels in the payment channels yeah nice nice nice yep so payment channels","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=586s"},{"start_seconds":594,"text":"are so really cool and if you even get a little crazy you know you don't have to just do a payment on this channel you can do things like playing a chess game","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=594s"},{"start_seconds":603,"text":"or some you know turn-based application or a poker game things of that nature so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=603s"},{"start_seconds":610,"text":"unfortunately the problem with payment channels is that Alice and this escrow","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=610s"},{"start_seconds":617,"text":"contract right where Alice and Bob put money into right was only al it was only","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=617s"},{"start_seconds":625,"text":"Alice and Bob putting money into this X escrow and so like this participant set is limited right only Alice and Bob can","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=625s"},{"start_seconds":635,"text":"trust in the payments that they're making in this channel right yeah","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=635s"},{"start_seconds":643,"text":"so what we really like in the etherium world is this crazy ability to have these money Legos right where we could deploy all of these crazy smart","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=643s"},{"start_seconds":651,"text":"contracts and they can talk to each other in weird ways and do crazy awesome things right and the problem with this","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=651s"},{"start_seconds":658,"text":"is that the set of features that you can do with such a limited participant that is you know similarly limited right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=658s"},{"start_seconds":666,"text":"so for example an auction you know doesn't really work with a payment channel right not at least in the same","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=666s"},{"start_seconds":673,"text":"with the same properties that a l1 auction would have so like auction it doesn't really work right it doesn't really work with it with a peanut","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=673s"},{"start_seconds":682,"text":"channel so we need something more so optimistic roll-up right is a scaling","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=682s"},{"start_seconds":691,"text":"solution that allows you to scale up in the you know in the number of disputes not in the number of in the amount of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=691s"},{"start_seconds":698,"text":"computation and it allows you to do so with pretty much identical properties to aetherium itself and so that's what's","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=698s"},{"start_seconds":706,"text":"super exciting about it and particularly the property is that the data","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=706s"},{"start_seconds":714,"text":"availability so let's let's just let's just make it quick a quick thing here oh are you the data availability right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=714s"},{"start_seconds":722,"text":"so the the you know maybe a so data availability is like I think you know occasionally and overused words I guess what I would say is like transaction","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=722s"},{"start_seconds":731,"text":"size you know transaction data size","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=731s"},{"start_seconds":738,"text":"right this is limited by l1 mm-hmm and what basically the reason for that is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=738s"},{"start_seconds":746,"text":"that to send a transaction into into roll-up right and get it finalized you send it to l1 just like you would any","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=746s"},{"start_seconds":753,"text":"other transaction the difference is that TX computation size is not right so this","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=753s"},{"start_seconds":765,"text":"is uh nathie reom your gas not you know limited and so this is the property that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=765s"},{"start_seconds":773,"text":"optimistic roll-up has and yeah I mean we can we can you know sketch out a very","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=773s"},{"start_seconds":781,"text":"very naive sort of optimistic roll-up chain maybe as a starting point so let's scroll up okay so here's like the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=781s"},{"start_seconds":788,"text":"simplest possible possible way like you know like you know MV oru Minimum Viable or you","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=788s"},{"start_seconds":797,"text":"and in fact this I will hide a particular detail here which involves a sort of the stateless execution nature","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=797s"},{"start_seconds":804,"text":"so there's stateless clients and you get a lot of performance benefits by doing that but actually the the minimum sort","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=804s"},{"start_seconds":812,"text":"of viable version of this and all described here was actually I think we can lend credit to but Alec in 2014 he called this a shadow chain","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=812s"},{"start_seconds":820,"text":"which is a you know honestly in some ways a cooler name then then or are you I cut it I kind of dig shadow chain but","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=820s"},{"start_seconds":830,"text":"I also like are you especially since optimism is the name of my my team okay so here's a simple optimistic roll-up","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=830s"},{"start_seconds":838,"text":"contractor shadow chain right so let's define a data structure which is called","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=838s"},{"start_seconds":844,"text":"the transition okay and a transition is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=844s"},{"start_seconds":850,"text":"a is a tuple of TX and a state right so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=850s"},{"start_seconds":864,"text":"a transition is a transitions a tuple of TX and state now the simplest way to","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=864s"},{"start_seconds":871,"text":"have a roll-up chain is you have a array of transitions and anyone can call","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=871s"},{"start_seconds":878,"text":"propose new trend this is you know extremely simplified but it'll get the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=878s"},{"start_seconds":884,"text":"basic idea across propose new transition right and this will you know obviously","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=884s"},{"start_seconds":892,"text":"accept a you know TX state right it'll accept this transition object right and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=892s"},{"start_seconds":898,"text":"this will and this will append to a so this will append to a list of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=898s"},{"start_seconds":906,"text":"transitions right so I'll I'll called T 0 it kind of sounds like time but we'll say how about TR 0 transition 0","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=906s"},{"start_seconds":915,"text":"transition 1 transition to but this has a problem right if I proposed a transition and while my transition is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=915s"},{"start_seconds":923,"text":"being proposed someone else proposes transition my state will be incorrect right that is correct yeah that's a totally good point so this is like","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=923s"},{"start_seconds":930,"text":"very very naive implementation so you're absolutely right in the scenario in which anybody can call propose new","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=930s"},{"start_seconds":939,"text":"transition this would be a very unfortunate roll up scheme because you would have this race condition and you would probably end up with the property","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=939s"},{"start_seconds":946,"text":"that like only one person would be able to sort of make a valid thing you know admission proposal per block and it","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=946s"},{"start_seconds":954,"text":"would just happen to be the the you know the person who paid the most gas right the person who wins the prior to gas","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=954s"},{"start_seconds":961,"text":"auction so you're absolutely right so one simple way to remedy that is to imagine that a single party is allowed","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=961s"},{"start_seconds":970,"text":"to propose these new transitions right and that would be a simple way to resolve this that single party knows do you know the exact ordering and the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=970s"},{"start_seconds":978,"text":"states that are coming down and they can propose it right of course that would have a problem that would have that person went offline right and then and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=978s"},{"start_seconds":986,"text":"then that person would disappear so a better way to so a better way to do things you know I mean well maybe maybe just to finish this this analogy very","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=986s"},{"start_seconds":996,"text":"quickly right there would be one other function here which would be prove fraud","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=996s"},{"start_seconds":1003,"text":"right and this function would take in and index right and it would you know step one of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1003s"},{"start_seconds":1013,"text":"proving fraud would be check you know very so we have a we have a state transition function that also hasn't","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1013s"},{"start_seconds":1021,"text":"defined here but you know execute TX is what we'll call that state transition function right execute TX which takes in","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1021s"},{"start_seconds":1029,"text":"a TX and the state and it outputs a new","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1029s"},{"start_seconds":1036,"text":"state right so what the last thing to do","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1036s"},{"start_seconds":1044,"text":"after we've started putting you know this this array of transitions on chain is would be to prove that a transition is fraudulent right so how would you do","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1044s"},{"start_seconds":1053,"text":"that you would check that you know for index I right okay let's just let's just use I for the simplicity of writing so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1053s"},{"start_seconds":1061,"text":"you would check that TR I minus one oh sorry actually let me rewrite that so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1061s"},{"start_seconds":1071,"text":"we would prove that I'll scroll down a little bit nice so the first thing that you would do right is you would take the state at","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1071s"},{"start_seconds":1080,"text":"the previous index right and you would apply the the IEEE transaction to it and see if you got the correct output right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1080s"},{"start_seconds":1087,"text":"so here's what we would do we would say we would say check that execute TX of T","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1087s"},{"start_seconds":1098,"text":"our I minus 1 dot state comma T our I","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1098s"},{"start_seconds":1107,"text":"dot T X is not equal to TR I dot state","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1107s"},{"start_seconds":1115,"text":"right so there would be the basis of a frog proof you'd say hey this person lied","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1115s"},{"start_seconds":1122,"text":"they put down a a transition and they said if you apply this TX to the head","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1122s"},{"start_seconds":1128,"text":"state then you will get this new head state right and so we can prove that this is not the case right and maybe","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1128s"},{"start_seconds":1137,"text":"we'll even maybe even we'll go we'll get a little color color get up in here oh yeah oh yeah there now we're talking now we're using we're","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1137s"},{"start_seconds":1145,"text":"going digital okay and then and then the second thing that you do right would be step two you know","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1145s"},{"start_seconds":1152,"text":"delete you know delete transition I","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1152s"},{"start_seconds":1158,"text":"threw you know the end of you know you know the max delete the rest of them right okay so that's a super super super","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1158s"},{"start_seconds":1168,"text":"simple optimistic roller chain right so so I guess one problem here is that with every transaction we have to submit the whole state right which is going to on","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1168s"},{"start_seconds":1177,"text":"this exactly right exactly right exactly right so that that is that is definitely the case is that this state is going to","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1177s"},{"start_seconds":1185,"text":"get very very big over time and and notably right notably the the array of transitions that we're storing here is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1185s"},{"start_seconds":1192,"text":"being stored on chain and so if we said that would be like storing instead of the difference in this you know we maybe","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1192s"},{"start_seconds":1200,"text":"you could improve by storing the difference in the state right but you're still storing them in the night this super naive imitation the entire state","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1200s"},{"start_seconds":1207,"text":"right and so that's totally right that's a no-go but it would fail because the a storage costs are vastly vastly vastly you know greater yeah absolutely right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1207s"},{"start_seconds":1216,"text":"and so as we as we optimizing so so it so one thing is to remove the state from the from the chain data right I'm sorry","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1216s"},{"start_seconds":1223,"text":"from the from the etherium state is also is they're also go to remove transactions from the from the from the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1223s"},{"start_seconds":1231,"text":"state there is a that is correct and actually that is where the term roll-up comes from so which actually","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1231s"},{"start_seconds":1239,"text":"came from ZK roll-up so you do there there are basically two things you you what you end up with is a hash of the transaction and a hash of the the state","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1239s"},{"start_seconds":1248,"text":"and in fact and in fact of course you can do it as an accumulator so it doesn't have to be you know a linear","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1248s"},{"start_seconds":1255,"text":"number of hashes you can have it be a logarithmic you know on chain accumulator mm-hmm awesome and that's","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1255s"},{"start_seconds":1263,"text":"exactly right and so the way that like the way that we get rid of so maybe maybe just to note this so I'll keep","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1263s"},{"start_seconds":1269,"text":"going down here I'm whoops oh man color-changing stuff there we go so like","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1269s"},{"start_seconds":1276,"text":"yeah like you know so like to remove the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1276s"},{"start_seconds":1282,"text":"you know TX size right what we do is we","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1282s"},{"start_seconds":1289,"text":"store hash of the transactions right instead of storing the instead of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1289s"},{"start_seconds":1297,"text":"storing the transactions themselves and of course the and this this sort of hashing process right really in fact is what happens it's a large number of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1297s"},{"start_seconds":1306,"text":"transactions are submitted all at once and you store a miracle root of them because you might you might have 100 transactions but you only need one","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1306s"},{"start_seconds":1314,"text":"particular transaction that where things were fraudulent so you store Merkle groups and this is colloquially known as","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1314s"},{"start_seconds":1322,"text":"roll-up right and so this is what's done on CK roll-up this is what's done in optimistic grow up and the idea is that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1322s"},{"start_seconds":1329,"text":"even though we only store the hash of the transaction on chain it only the hashes in the state within the chain history is the entire transaction right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1329s"},{"start_seconds":1338,"text":"because anyone who wants to come to the chain later on and verify needs to be able to get this transaction in the first place to verify that the hash is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1338s"},{"start_seconds":1347,"text":"correct right otherwise it wouldn't know if the the if it should reject the block or not and so even though we've removed","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1347s"},{"start_seconds":1354,"text":"the transaction from the state it is still there in the history all the full nodes had it and the source worth","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1354s"},{"start_seconds":1360,"text":"mentioning right that the the price to store something in the history over theorem is we we cheaper them right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1360s"},{"start_seconds":1370,"text":"exactly right exactly right all data is is way way way cheaper and and the the ending to and a further intuition that's","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1370s"},{"start_seconds":1378,"text":"kind of nice there in general sometimes people hear roll-ups and they think and they they hear oh well you still have to put the transaction data on chain that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1378s"},{"start_seconds":1387,"text":"doesn't sound scalable to me right there's sort of two reasons to think that that's scalable one is exactly what you said is that it's much cheaper to store a piece of data in the chains","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1387s"},{"start_seconds":1396,"text":"history than it is to store it in the actual head state of the machine the other reason is that Moore's Law has","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1396s"},{"start_seconds":1405,"text":"continued following bandwidth where it's beginning to drop on execution so this is a this is actually what's nice on computation rather so this is kind of a nice","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1405s"},{"start_seconds":1413,"text":"property is that it seems like Moore's law is continuing for bandwidth which is the only cost factor that goes into the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1413s"},{"start_seconds":1421,"text":"this this property you know the cost whereas execution is falling off so we keep the execution off chain but we keep","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1421s"},{"start_seconds":1428,"text":"the bandwidth on chain we can keep following Moore's law right all right and so here so let me quickly I don't know if you were going to talk about it","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1428s"},{"start_seconds":1437,"text":"next but I'm trying to see how these signatures of this methods will change once we do not have the entire list of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1437s"},{"start_seconds":1446,"text":"transitions right but rather they have hashes so if I'm proposing new transition my transitional contains the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1446s"},{"start_seconds":1453,"text":"immortal route of the states right that will be the result of applying the transaction right that is correct that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1453s"},{"start_seconds":1462,"text":"is correct and so therefore there are proof fraud will have to contain the states themselves right so that we we can actually apply the transactions well","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1462s"},{"start_seconds":1471,"text":"or I guess a subset of state which is sufficient with the witness right exactly right a subset with the witness","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1471s"},{"start_seconds":1479,"text":"and one thing one important note there is is that concept people often when","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1479s"},{"start_seconds":1487,"text":"people are learning about that concept there's a point a moment time which is that concept really clicks which is that this is very very similar to what's","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1487s"},{"start_seconds":1494,"text":"called the stateless client in aetherium and maybe a little bit more broadly in crypto now right so the stateless client is the idea that nodes don't store any","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1494s"},{"start_seconds":1503,"text":"of the change state even of l1 other than an accumulation of it and when you apply a transaction you provide a witness to any parts of the state that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1503s"},{"start_seconds":1512,"text":"you're accessing mm-hmm okay so I'm drawing a little go ahead the only other thing I would say it's funny enough in","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1512s"},{"start_seconds":1520,"text":"Bitcoin this has been called you tree EXO and it's it works almost the exact same way but for bitcoins ug EXO model","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1520s"},{"start_seconds":1527,"text":"yeah I see okay so I'm doing at the bottom right so that they have the full understanding so assuming I can submit at least a set","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1527s"},{"start_seconds":1535,"text":"of transactions right so now my method what was it called above let me see","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1535s"},{"start_seconds":1541,"text":"it was called XCX proposed right yeah yeah yeah proposed okay so so so now my","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1541s"},{"start_seconds":1547,"text":"proposed will take a effectively a list of transactions right and the statute","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1547s"},{"start_seconds":1555,"text":"that I at the time that I claim will become the rule will be the route of the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1555s"},{"start_seconds":1562,"text":"of the state after applying these transactions right so internally internally this method will compute will","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1562s"},{"start_seconds":1572,"text":"in into the list of the transitions right it will append the a lot of house of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1572s"},{"start_seconds":1579,"text":"transactions right maybe more color it may be something else you can and the state route I guess it's a it's a tuple","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1579s"},{"start_seconds":1589,"text":"yeah and so effectively so no transactions well I'm not I'm not that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1589s"},{"start_seconds":1597,"text":"that that familiar with the theorem but my understanding that just by calling this method the transactions already in the history right because this some sort","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1597s"},{"start_seconds":1604,"text":"of a cold data right exactly right it's in the correlator but only but only the half of the transactions ends up in the in the state","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1604s"},{"start_seconds":1612,"text":"right exam and and so this part that maybe change a color now and so the the part that is blue that can also be","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1612s"},{"start_seconds":1621,"text":"optimized to contain just the just a sort of accumulator so that on itself can be some sort of work exactly right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1621s"},{"start_seconds":1628,"text":"mmm-hmm I see so so so the state that were surprised very little and so now","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1628s"},{"start_seconds":1633,"text":"the method that is proof fraud yeah now","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1633s"},{"start_seconds":1640,"text":"it takes index but it also takes now so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1640s"},{"start_seconds":1647,"text":"in the knife way that would be stayed before right yes state after we don't really need because we will get the state after and we can hash it and so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1647s"},{"start_seconds":1657,"text":"from here so that is already sufficient well it's not quite sufficient also need the transaction itself right and because we only have the hash of them that's","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1657s"},{"start_seconds":1665,"text":"greater submit index TX and the state route and so that on itself should already be sufficient well we also need","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1665s"},{"start_seconds":1673,"text":"some sort of witness that proves that the action corresponds to this half of transactions right that's right that's right you know we need some because that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1673s"},{"start_seconds":1681,"text":"prove that and and if this is the accumulator and then you also need some witness that proves that so yeah so some number sufficient witnesses to show the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1681s"},{"start_seconds":1688,"text":"transaction case comes with the cash and so the next optimization is that if we have let's see so for example if this is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1688s"},{"start_seconds":1698,"text":"the state right and so let's say my transaction read from disk several","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1698s"},{"start_seconds":1705,"text":"places yeah and then it wrote to these couple places right then I'm not submitting the entire state I'm","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1705s"},{"start_seconds":1714,"text":"submitting these parts of state that I changed right exactly and and more two","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1714s"},{"start_seconds":1721,"text":"proofs that they correspond to the states would write exactly and and so that would be or rather what I wanna be","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1721s"},{"start_seconds":1729,"text":"submitting it for the data if it's right but for the data right they still need to provide moral witness so that they can see so they can recompute the the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1729s"},{"start_seconds":1737,"text":"updated cash right that's right yeah exactly cool okay so so how far are we from from like having not that minimum viable","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1737s"},{"start_seconds":1744,"text":"optimistic roll-up with all this oh we're pretty close we're pretty close so I mean we we did a we did a the first","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1744s"},{"start_seconds":1754,"text":"public demo of roll-up Caldwell optimistic roll-up called unipeg we did that at Def Con last year there's a very","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1754s"},{"start_seconds":1763,"text":"separate conversation to be had about what it takes to build so there's like a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1763s"},{"start_seconds":1770,"text":"big there's a big separate question here which is this this function executes TX right what does it look like because to","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1770s"},{"start_seconds":1778,"text":"really take advantage of this solution the applications built on top of it have to fit within this execute TX function","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1778s"},{"start_seconds":1787,"text":"right and so you know in our case where we're building this as a layer on top of a cerium it becomes a very interesting problem well how do you design and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1787s"},{"start_seconds":1795,"text":"execute TX function that is like application developer friendly right because the cool thing about this system","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1795s"},{"start_seconds":1804,"text":"is that because you know you basically have three properties right one property is that you have the avail an available head state right and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1804s"},{"start_seconds":1812,"text":"the reason for this is because all of the transaction data is available for in the chain history and so anyone who wants to can compute the head state from","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1812s"},{"start_seconds":1821,"text":"the available transaction data we have another nice property which is which is that that it is live at least you know","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1821s"},{"start_seconds":1830,"text":"as live as the l1 and we have a property that it's valid because we know that we can go and submit fraud if it's invalid","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1830s"},{"start_seconds":1838,"text":"and correct it so that it is and those three those three properties are basically exactly the properties of a smart contract system right and now","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1838s"},{"start_seconds":1847,"text":"again that was how I started this was by saying what payment channels are good for one thing but we need another one so a lot of the work that we've put in over","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1847s"},{"start_seconds":1855,"text":"the past I know how many months has it been now five months is building this","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1855s"},{"start_seconds":1860,"text":"thing called the ovm which is a EVM contained container so it allows you to","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1860s"},{"start_seconds":1868,"text":"run evey and EVM transaction as your execute T X function which turns out to be a separate very hard problem so we've","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1868s"},{"start_seconds":1874,"text":"had roll-ups without that for a while and EVM roll-ups are coming very soon it's very exciting and some of the ones","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1874s"},{"start_seconds":1882,"text":"so there all of you have to be what sort of what sort of personal mission they they running I actually don't know if there are any optimistic roll-ups","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1882s"},{"start_seconds":1890,"text":"running in production today I don't think there are but although all the ones the majority of work has been done interpreting things like a state channel","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1890s"},{"start_seconds":1898,"text":"I mean a payment system right and so you build a very simple payment machine we did a demo with with it which used the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1898s"},{"start_seconds":1905,"text":"unit swap functionality and we simply hard-coded and you know swap transition function that we had to write mm-hmm and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1905s"},{"start_seconds":1911,"text":"so is there so so the ovm that the Latia is proposing doesn't interpret EVM in","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1911s"},{"start_seconds":1920,"text":"EVM or is it somehow legend put underlying VM to doesn't of course make sense it was the latter I see this as","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1920s"},{"start_seconds":1930,"text":"efficiently as the underlying medium that's right I mean it's there's maybe there's maybe a 10% efficiency loss that comes with the way that the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1930s"},{"start_seconds":1937,"text":"implementation works but it's it's very close to as efficient yes nice and so does my eatest oh yeah it's not","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1937s"},{"start_seconds":1945,"text":"as naive as Oh a theorem is incomplete so we implement the EVM in a theory oh yeah that turns out to be you know a very difficult task yeah yeah so the ovm","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1945s"},{"start_seconds":1954,"text":"work just a little bit differently it instead it just adds a container contract which sort of enforces that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1954s"},{"start_seconds":1962,"text":"another contract is running in a sandboxed environment I see cool and so and so that works with with a partial state with their","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1962s"},{"start_seconds":1968,"text":"weaknesses that's right yep yep it has a that container has an interface which is called the state manager which is pretty","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1968s"},{"start_seconds":1976,"text":"much identical to like how guess or pie etherium implement implement their clients and that can be stateless or staple depending on whether you're on or","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1976s"},{"start_seconds":1983,"text":"off chain nice awesome yeah cool so it's also there's another topic which was sort of skipped I guess before which is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1983s"},{"start_seconds":1991,"text":"how do we how do we solve the problem that there's only like maybe it only works with a single block entity which","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=1991s"},{"start_seconds":2000,"text":"can that's a great one yeah so let's go to the bottom at bottom and talking about that yes so I'll talk about to two","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2000s"},{"start_seconds":2008,"text":"iterations that you can build on this system the simplest way to remedy the problems let me just draw a line and I'll start drawing below there so the simplest way to remedy this problem of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2008s"},{"start_seconds":2016,"text":"well who has the responsibility to submit these to submit these transactions and why should we trust them to not halt our coins or censor our","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2016s"},{"start_seconds":2025,"text":"transactions right the simplest way is to split the function the proposal function into two functions so you have","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2025s"},{"start_seconds":2032,"text":"proposed T X right where you you know you send you know maybe a batch of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2032s"},{"start_seconds":2039,"text":"transaction things right and then you say propose you know state route right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2039s"},{"start_seconds":2050,"text":"SR and that would be and that would be a batch of you know of state routes or maybe just one maybe you append them one","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2050s"},{"start_seconds":2056,"text":"at a time and that that is how that is like at its core the way that you the way that you enable this right so simply","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2056s"},{"start_seconds":2065,"text":"by taking these two proposal functions and splitting them up and saying okay either you propose a transaction and that transaction is just added in","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2065s"},{"start_seconds":2073,"text":"whatever order that layer one added it or you propose a state route and that state route is a result of the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2073s"},{"start_seconds":2080,"text":"transactions right and so this is sort of what allows you to break it up does that make sense go on step two so proposals are is the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2080s"},{"start_seconds":2088,"text":"idea here that there's again only one entity which does that or or shall it accept index at which you are claiming the state route yeah so there's there's","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2088s"},{"start_seconds":2096,"text":"a few different there's a lot of different models that you can go by generally state route proposal because it costs gas to prove fraud state route","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2096s"},{"start_seconds":2106,"text":"proposal should be bonded right so there should be some money associated with state route proposal and so maybe you say the person who made that bond you","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2106s"},{"start_seconds":2115,"text":"can make the bond to be at the time that you propose the state route you can even have a state route proposer that is the person with the highest bond right and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2115s"},{"start_seconds":2123,"text":"so that's you know that's one note associated with state route proposal in principle though it can be anyone and anyone who proposes an invalid state can","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2123s"},{"start_seconds":2131,"text":"be can be penalized and so one one important note here right is that an invalid state route does not affect the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2131s"},{"start_seconds":2137,"text":"chain the the the liveness properties of the chain right so let's say like here let's say we have like these two chains and the top chain is a chain of texas","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2137s"},{"start_seconds":2146,"text":"right so we have like TX 0 right you know then you can like add a new one right and then we can add another one","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2146s"},{"start_seconds":2153,"text":"and another one gets added on right well let's say over here like State Route is proposed here and then State Route is proposed here and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2153s"},{"start_seconds":2162,"text":"then State Route is proposed here and it's like it's red we don't we it's a bad state route proposal right everyone","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2162s"},{"start_seconds":2171,"text":"who's honest who's watching the transactions knows that it's invalid and knows what the real state is going to end up being resolved to so you can","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2171s"},{"start_seconds":2179,"text":"continue to add on here without any without any concern for the fact that this State Route proposal was wrong as long as this thing gets cancelled in","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2179s"},{"start_seconds":2187,"text":"time it does not affect the be like latency of the system you're still just following along the transactions and the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2187s"},{"start_seconds":2194,"text":"transactions you know are doing their thing right yeah I guess my question was also around the fact that if proposals are doesn't take the index right it","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2194s"},{"start_seconds":2203,"text":"could happen again that I'm proposing the correct state route but someone else proposed the state route for the same time stamp and so mice","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2203s"},{"start_seconds":2210,"text":"truth is a pendant for thee right so you could you could add an index to it okay I think the sir I think in in practice","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2210s"},{"start_seconds":2217,"text":"there's a few practical considerations here so one of the practical considerations is that the ability to have a lie can party that aggregates","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2217s"},{"start_seconds":2226,"text":"many transactions and submits them all at once is like a very useful service provider and it also affords some gas benefits because it can amortize some of","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2226s"},{"start_seconds":2235,"text":"the gas costs as well as as well as there's other crazy things so in the long term what you'll be able to do is use BLS signature aggregation and you'll","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2235s"},{"start_seconds":2243,"text":"be able to aggregate a bunch of users transactions to have only one signature and so then in roll-up gets really cheap because you you amortize the cost of you","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2243s"},{"start_seconds":2251,"text":"know what would normally be a 65 byte you know ECS a signature so this service provider and kind of needs to be there","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2251s"},{"start_seconds":2259,"text":"and it's very useful so pragmatically speaking usually will have the that person be just one that'd be just one","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2259s"},{"start_seconds":2266,"text":"person with the property you know with the property that they go away after some amount of time anyone can propose for example yeah that makes sense","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2266s"},{"start_seconds":2274,"text":"oh so so so one thing I wanted to discuss briefly was it was like slightly orthogonal to everything we discussed before I was I was I wanted to discuss","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2274s"},{"start_seconds":2283,"text":"sort of the future with multiple optimistic roles but if there's something else fundamental we didn't discuss yet we should probably do that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2283s"},{"start_seconds":2290,"text":"first sure yeah I'll talk about well there's a couple other other interesting things so one one one interesting note","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2290s"},{"start_seconds":2300,"text":"and is that if we stay here and you know look at these state routes right these state routes have a have a they have a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2300s"},{"start_seconds":2308,"text":"cost right there are 32 byte hashes of call data and so there are more complex there are more complex dispute games that you can build that basically allow","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2308s"},{"start_seconds":2316,"text":"you to optimistically skip state routes in the middle so for example imagine that none of these statements were proposed at once and instead we proposed a state route every one two three four","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2316s"},{"start_seconds":2324,"text":"or five six transactions right this does not require you to execute execute all","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2324s"},{"start_seconds":2332,"text":"six transactions to prove that that from here to here is invalid one thing that you can do is you can initialize like a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2332s"},{"start_seconds":2339,"text":"true bit style dispute game that does a bisection game that says okay we disagree you","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2339s"},{"start_seconds":2347,"text":"disagree about the state route here we both disagree about the state route here let's see if we disagree about the state route in the middle and then we both say","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2347s"},{"start_seconds":2355,"text":"what we what we think it's going to be in the middle and we say okay we agree about the middle one so it must be one of these two guys so what do you think for this one and you eventually find","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2355s"},{"start_seconds":2362,"text":"exactly where the source of the dispute really is so that's one that's one other interesting optimization but then becomes interactive read because you","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2362s"},{"start_seconds":2370,"text":"would have every state route and the misfit non-interactive it does it has become interactive yeah and so there's like it's definitely very nice to have a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2370s"},{"start_seconds":2379,"text":"system that is not interactive but it is something you can do another property that I will shout out that is unique","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2379s"},{"start_seconds":2386,"text":"that is somewhat tangential although we find it conceptually easier to think about it at the at the add the at the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2386s"},{"start_seconds":2395,"text":"roll-up level but really you can think of it you could implement it on the application level is one really nice","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2395s"},{"start_seconds":2402,"text":"feature about having a single sort of person who is going to roll up these transactions is that that person has","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2402s"},{"start_seconds":2410,"text":"strong private knowledge about what the state is going to be and it has knowledge of that you know in in like","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2410s"},{"start_seconds":2418,"text":"basically an instant latency right as soon as it makes the decision of how it's going to post some transactions it knows what the future state of the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2418s"},{"start_seconds":2425,"text":"system will be mm-hmm and so this is a nice property because if you trust that person or and especially in some","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2425s"},{"start_seconds":2433,"text":"applications it's especially useful if you that you can believe that this person will you know makes me be sign a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2433s"},{"start_seconds":2440,"text":"tribute Abul promise that they will include your transaction and they'll go do it and this gives you some really nice user experience of course it comes","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2440s"},{"start_seconds":2448,"text":"with the problem of it comes with the problem of censorship that we talked about where how do you prevent this party from for instance not including","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2448s"},{"start_seconds":2456,"text":"your transactions and then you're unable to withdraw and so what you can do is you can have a slow q u-- e and egg-like","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2456s"},{"start_seconds":2467,"text":"canonical transaction chain so this is this is what we do at our implementation and basically anyone can in a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2467s"},{"start_seconds":2477,"text":"permissionless way upend transactions to this slow queue right so so smoke you in fact when it","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2477s"},{"start_seconds":2484,"text":"happens to be under layer one it's on the layer one exactly right exactly right and we're building up and you know maybe let's say we're building up this","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2484s"},{"start_seconds":2492,"text":"canonical TX chain here now what you do is you you implement a small time delay","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2492s"},{"start_seconds":2498,"text":"between the time at which the a transaction was put into the slow queue","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2498s"},{"start_seconds":2506,"text":"right and then it must be and then after this time elapses it must be moved into the canonical transaction chain there's no other valid action other than moving","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2506s"},{"start_seconds":2515,"text":"it into the canonical transaction Shane but in the meantime in the meantime you know in this short period of time in which it sits in the queue you can have","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2515s"},{"start_seconds":2524,"text":"one party which we call the sequencer and that sequencer can insert transactions in front ha and this allows","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2524s"},{"start_seconds":2533,"text":"and this allows the sequencer to continuously provide instant promises and have private knowledge of exactly what the state will be while still","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2533s"},{"start_seconds":2542,"text":"maintaining the censorship resistance properties via this sort of escape hatch slow queue mechanism right so you can","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2542s"},{"start_seconds":2548,"text":"get crazy with these sorts of designs so in fact a sequencer in the worst case I'm sorry in the in the worst case they","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2548s"},{"start_seconds":2556,"text":"will be able to to force someone to pay on chain transaction fee for their","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2556s"},{"start_seconds":2563,"text":"transaction that's right that's right and and of course they pay a non change it's still a rollup transaction right so they other than this like amortization","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2563s"},{"start_seconds":2571,"text":"cost that we were talking about those costs are very very those cost will be very very similar so yeah in the worst case they can they","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2571s"},{"start_seconds":2579,"text":"can push them into the other chain yeah and that gives you some really nice UX for a lot of applications yeah and so","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2579s"},{"start_seconds":2589,"text":"I guess another question they have is because all the transactions still end up on the etherium blockchain right I","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2589s"},{"start_seconds":2596,"text":"think there are two interesting aspects to it so one of them says that while the first optimistic crough which comes the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2596s"},{"start_seconds":2603,"text":"theorem will scale quite a lot right you can note you cannot scale it so effectively all the optimistic hopes","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2603s"},{"start_seconds":2611,"text":"combined collectively will of the scale be the same we're the same fact that has a single optimist to crawl up right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2611s"},{"start_seconds":2617,"text":"because they all share the the capacity of the etherium blocks and that is the bottleneck for them right yes I say it again I think it does but I","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2617s"},{"start_seconds":2626,"text":"want to know it precisely what the question also the time to say is that with the so for example with the state channels right you mentioned at the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2626s"},{"start_seconds":2633,"text":"beginning that it is in theory it can scale infinitely right so if we open 1 million state channels it will be one half times more more transactions per","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2633s"},{"start_seconds":2641,"text":"second right then a single state state channel while with the optimistic roll-ups no matter how many optimistic","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2641s"},{"start_seconds":2648,"text":"roll ups turn from from different entities potentially right operate on the theorem they collectively have the same throughput as a single optimistic","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2648s"},{"start_seconds":2656,"text":"roll-up would have on the theorem right yeah yeah so the that's correct and I try to live to this earlier by saying","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2656s"},{"start_seconds":2664,"text":"that we should be optimal like what are the bounds of that of that what what aren't what are those limits right","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2664s"},{"start_seconds":2672,"text":"there's limits aren't very large right like if we look at like high powered data availability you know sort of engines like you know ease to right as","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2672s"},{"start_seconds":2681,"text":"an example well I you know the last time we did the numbers you know you get like 100 100k TPS pretty easily right and I","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2681s"},{"start_seconds":2688,"text":"hate the word TPS but you know as an approximation and so those those numbers","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2688s"},{"start_seconds":2695,"text":"like will go very large and in general roll ups scale linearly with the number of shards okay so as as the layer 1 sharding","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2695s"},{"start_seconds":2703,"text":"improves right the the role of throughput improves and the other thing","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2703s"},{"start_seconds":2709,"text":"that we continue to see continue to see why you might like the the Moore's Law","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2709s"},{"start_seconds":2718,"text":"the Moore's law for bandwidth has continued going up so you know we can we like can be more confident that like the bandwidth of these Bachchan's will be","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2718s"},{"start_seconds":2725,"text":"increasing at a more rapid pace than the execution and someone you're saying it scales linearly with number of shirts affect you all you care about is how","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2725s"},{"start_seconds":2734,"text":"much data the shorts can store right you don't you don't really need execution from the shorts right correct correct","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2734s"},{"start_seconds":2741,"text":"they're they're they're the yeah and and that's why again it is tricky like TPS is so tricky like you","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2741s"},{"start_seconds":2749,"text":"know one thing for example that you have to prevent in this scheme is you still have to have an ocean of gas right so for example like it's not sufficient to","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2749s"},{"start_seconds":2757,"text":"use l1 as the anti-ddos for this system because you might for instance submit a transaction that you know calls while","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2757s"},{"start_seconds":2765,"text":"true right and then we'll just like you know never halts so yeah I forgot exactly where I was going with that but","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2765s"},{"start_seconds":2773,"text":"you but but you do do gas metering and and so you know you know instead of doing well true if you have for you know you know a for loop that iterates over a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2773s"},{"start_seconds":2782,"text":"bajillion cycles you know you can you can do that and you know get a lot more throughput that is quote nonlinear in","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2782s"},{"start_seconds":2788,"text":"some sense but that can be that's that should be handled on v4 VM levels right correct exactly right yeah yeah and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2788s"},{"start_seconds":2798,"text":"again we're lucky enough to be able to borrow that gas metering so and another interesting thing is so assuming that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2798s"},{"start_seconds":2806,"text":"for a while up to mystic ropes are going to run even the thin one point all right if we do like very quick computation","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2806s"},{"start_seconds":2816,"text":"it seems that so let's say majority of computation most optimistic roll-up then a theorem block size will increase dramatically right so today when","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2816s"},{"start_seconds":2823,"text":"everything is like 20 kilobytes right and then it would become the content kilobytes or 200 kilobytes per block so so do you have any insight into how that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2823s"},{"start_seconds":2833,"text":"can affect the chain like we have higher uncle rates or anything like that right so I mean currently currently like","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2833s"},{"start_seconds":2840,"text":"aetherium is lobbying to bring to like so I don't know how many months ago was now could have even been closer to a","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2840s"},{"start_seconds":2848,"text":"year than then measuring in months ago now but recently actually lowered the cost of called data way down particularly to support roll-ups because","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2848s"},{"start_seconds":2856,"text":"because it was it was considered and it seemed like call data was overpriced and that we weren't gonna kill the uncle rate if we do this I see ok so some","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2856s"},{"start_seconds":2864,"text":"smart people get think about it smart smart people didn't think about it and there's even proposals to lower it further another and like another and","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2864s"},{"start_seconds":2872,"text":"other obvious step that you can take is you can basically add a you know a new opcode to the EVM or like a new pre-compile however you want to think about","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2872s"},{"start_seconds":2880,"text":"that allows you to simply check the availability of data and that's all that you can do and you know maybe it automatically you know Merck Eliza's it","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2880s"},{"start_seconds":2888,"text":"and so that would allow you to not not have like the VM be any part of the constraint at all and it's just pure bandwidth yeah so so is there anything","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2888s"},{"start_seconds":2896,"text":"else important we didn't discuss about optimistic roll-ups um let me think let me think I think we I think we hit the","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2896s"},{"start_seconds":2903,"text":"big points so there's one interesting topic which many many proponents of ZK","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2903s"},{"start_seconds":2911,"text":"roll-ups bring up right that if you have quite a quite a bit of assets in the optimistic crawl up it might become","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2911s"},{"start_seconds":2919,"text":"reasonable for for the miners to get involved and stop censoring the disputes","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2919s"},{"start_seconds":2924,"text":"right for sufficiently long until until there is a until the dispute period ends","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2924s"},{"start_seconds":2933,"text":"right so so is it is it a valid concern and are there any ways to get around it definitely a valid concern so this is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2933s"},{"start_seconds":2942,"text":"like we often call this internally like the parasitic l2 arguments which is fun the the answer is for in optimistic","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2942s"},{"start_seconds":2952,"text":"execution schemes you can't really get around that so you have to be careful because and and maybe a better way to phrase it is that layer two systems are","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2952s"},{"start_seconds":2959,"text":"an intrinsic source of MeV of miner extractable value and and and even to","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2959s"},{"start_seconds":2968,"text":"the extent that like you said you can do something called a time bandit attack where miners Shack the value can be retro actively stolen by another by","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2968s"},{"start_seconds":2976,"text":"another miner who 51% attacks the chain and moves forward I see there's there's not there's not a ton you can do about this particularly","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2976s"},{"start_seconds":2984,"text":"on each one now outside of like you know governance concerns so like you know if I if I miss food period is gonna end up being a week if the Assyrian chain was","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2984s"},{"start_seconds":2992,"text":"51% attack or censorship attacked for a week would there you know would there be a governance saying where you know people decide to fork who knows you know","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=2992s"},{"start_seconds":3001,"text":"hard to say in in East 2.0 like user you know user you know soft Forks for you","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3001s"},{"start_seconds":3010,"text":"know for like sort of subjective realizations of censoring or is going to be a part of the part of the protocol and the you know social","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3010s"},{"start_seconds":3019,"text":"consensus around what Paul so we're helped there with having said I'm a huge fan of zero knowledge groups like if there was a zero knowledge EDM","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3019s"},{"start_seconds":3027,"text":"that I thought was a short-term Bible I would be jumping all over that like our goal is to be very very pragmatic we're","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3027s"},{"start_seconds":3035,"text":"not tied to optimistic roll-up because it is the scaling solution we're tied to it because it gives a reasonable set of properties that we think are worthwhile","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3035s"},{"start_seconds":3043,"text":"and it does it today so if you know when ziran windsor knowledge proofs start going crazy and are way easier to develop on and so on and so forth um we","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3043s"},{"start_seconds":3052,"text":"totally should have more zero knowledge groups you know I'm a huge fan huge fan awesome and the last question I have is","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3052s"},{"start_seconds":3060,"text":"certainty in terms of optimistic roll-ups appearing in production the other thing is going to be more like a single chemist acrylic which has","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3060s"},{"start_seconds":3069,"text":"multiple contracts which interact with each other within a single state right within a single VM or like I don't know how to like with a single container right or do you envision it more like","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3069s"},{"start_seconds":3078,"text":"multiple optimistic ropes that have a way to communicate between them and if the latter then how the communication will happen it's a really good question","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3078s"},{"start_seconds":3085,"text":"and there are limitations after which you know verifier costs are going to get so large that if users aren't willing to accept those verifier costs or they're","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3085s"},{"start_seconds":3094,"text":"not willing to accept that there exists out there one you know honest verifier then you they and you may need to to to","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3094s"},{"start_seconds":3102,"text":"spread them out so especially in like you know super quadratically crazy sharded systems where the amount of available data is just insane and that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3102s"},{"start_seconds":3109,"text":"computation is insane then you're going to need multiple roll-up chains in the short term we have pre have put a strong","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3109s"},{"start_seconds":3117,"text":"emphasis on making a rollup chain that supports contract deployment and supports the sort of money lego features that we see on a cerium the only other","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3117s"},{"start_seconds":3125,"text":"thing I was going to say is those like tools like I actually think you guys at near are doing a great job of like I think you guys have an async await for","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3125s"},{"start_seconds":3132,"text":"cross shard communication or whatever like asynchronous communication between apps in the decentralized context is going to be super important but it's not","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3132s"},{"start_seconds":3141,"text":"there yet I don't think so I would say that one other one one thing that has less whiteboard II to call out is that this this screen that we have","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3141s"},{"start_seconds":3150,"text":"right here actually with this sequencer is related to a really cool sort of economic construction that we're working on called neva minor extractable value","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3150s"},{"start_seconds":3159,"text":"auctions mm-hmm and basically the idea is that this purpose sequencers ability to order transactions the that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3159s"},{"start_seconds":3168,"text":"privileged position in addition to enabling you to give out these sort of low latency promises of what you're","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3168s"},{"start_seconds":3174,"text":"going to decide the state is that prioritized position is like very valuable and more normally that value","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3174s"},{"start_seconds":3183,"text":"goes to minors and frontrunners and we're super excited that in layer two you have a nice clean way to actually be","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3183s"},{"start_seconds":3191,"text":"able to basically you know sell that that right off and repurpose that to do something that's much more useful like","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3191s"},{"start_seconds":3199,"text":"public looks Goods funding right or or you know I know you guys are doing cool stuff with like giving out you know rewards to people based on the gas that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3199s"},{"start_seconds":3207,"text":"their contracts used so we think that being able to sell off the right to be a sequencer is an awesome way to like","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3207s"},{"start_seconds":3213,"text":"monetize get rid of something that users see is a downside by turning into a good thing so that's um I guess the only","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3213s"},{"start_seconds":3220,"text":"other thing I'd mention yeah cool okay cool great so so thanks a lot for explaining the opportunity to crops that","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3220s"},{"start_seconds":3230,"text":"was I guess a great episode and absolutely well yeah hopefully not the last time we were talking in this format","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3230s"},{"start_seconds":3237,"text":"awesome thanks so yeah once we have shining we'll have a third one you know it's","url":"https://www.youtube.com/watch?v=oahaMa3XB0k&t=3237s"}],"youtube_url":"https://youtube.com/watch?v=oahaMa3XB0k","url":"https://near-pedia.xyz/videos/oahaMa3XB0k"}