A Rollup Vision for Ethereum: Zk vs Optimistic - Panel
Ethereum Denver·Sun, Oct 9, 2022, 12:00 AM
A Rollup Vision for Ethereum: Zk vs Optimistic - Lane Rettig (mod), Ed Felten (Arbitrum), Ben Jones (Optimism), Zac Williamson (Aztec Protocol) and Angela Lu (Matter Labs)
Transcript
testing testing hey everybody uh all right yeah let's kick this off this is gonna be a death match panel uh zk roll ups versus optimistic roll up so we're gonna have some fun with this and uh the panel doesn't end until we declare a winner so we'll have to figure out how we do that um but let me let me kick off by introducing our panelists so to my right we have the uh the wonderful and one and only zach williamson from the aztec protocol give it up for zach next to zach is angela lou from matter labs give it up for angela next up we have ed felton from arbitram what's up ed and finally we have our resident musician ben jones from optimism i i heard rumors that we may have a musical performance in store all right uh i'm lane and uh let's kick off so let's do intros um zach you want to kick us off give us a 60-second intro about yourself and what you're working on hey there i'm zach i'm the sorry i'm gonna say this and i'm gonna say it again and again because it's so annoying um lollipop like hold the mic like right in front of your mouth or they can't hear you hello good that's perfect ah hey everyone i'm zach i'm the ceo and co-founder of aztec we are a uh privacy preserving layer too using zika snacks for private transactions and for scaling uh yeah that's that's that's our gig hello everyone i'm angela i do product at matter labs and we're building zk sync the first evm compatible zk roll up hi everybody i'm ed i'm ceo and co-founder at arbitram i'm chief scientist and co-founder excuse me i just promoted myself you heard it here first yes uh and we're building uh uh we're building the arbitram optimistic roll-up system what's up y'all oh i am ben aka weird yankovic uh founder and uh chief musician of optimism all right thank you for those intros so let's start with a kind of lightning round i want to breeze through some basic material not assume a ton of prior knowledge and then we can kind of get into some meteor questions um we'll kick it off here if that's cool what is a roll-up and why does it matter and how does it fit into the ethereum road map yeah a roll up as a way of scaling ethereum uh or other blockchains in general um the idea is that you take a very large number of transactions and you compress them down into a single ethereum transaction uh and and doing so make it very very cheap obviously then the problem is how do you make sure if you've compressed that transaction down you've lost a bunch of data uh how do you make sure that that transaction is the transactions are secure no one's cheated et cetera and that's where optimistic zk techniques come in anyone want to add anything to the basic what's a roll-up and kind of why it matters and how it fits into ethereum sure uh the key thing that roll-ups are doing is they're allowing correct execution of transactions while minimizing the l1 gas footprint of those transactions right by using a lot less l1 gas to do the same transactions we allow higher scale and and lower fees awesome yeah that's really helpful thank you so if you rewind a couple years um we weren't sure it was going to be roll ups right we were very excited about things like plasma on state channels still still excited about those things but but more excited about rollups right so what is it about rollups that have caused them to kind of like win and emerge as like the primary uh technology we're using to scale ethereum do you want to jump in ben yeah i mean i think the answer is pretty straightforward it's that it's the way to get ethereum style applications in ethereum style environments in a way that you expect so when you know before optimism i was with a group called plasma group then that was what became optimism and plasma got you more scale but when things started not becoming available you had problems with applications like uniswap so the censorship resistance the unstoppability the idea that you can always know the state of a roll-up because all of the data of the chain is available is ultimately what made this the thing so it's actually not the case that plasma and state channels are gone but it's the case that the uses that we're seeing on ethereum today need things like roll-ups to consistently behave in the way they expect sweet anyone else want to add anything yeah i'll add a little bit um this is kind of zk-rot specific but uh zkl looks like kind of cheat codes for blockchains the way i think of it uh because by the way we still haven't introduced what zeke roll ups and optimistic world star so feel free to just start what's the dk roll up so zk roll up is one where you construct a something called the zero knowledge proof which proves uh the correctness of uh a giant bachelor transactions the idea is you can slap a tiny amount of data on chain and go like this represents a thousand transactions and all their state updates and here is a tiny little zero knowledge proof that proves it's correct basically you take all of the work that ethereum nodes have to do to process transactions one by one blah blah blah and you delegate it to like a single third party that has a lot of computational power available to them they construct the zero knowledge proof of correctness and then all the blocks you need to verify is that proof so it removes all the gas costs of executing transactions on ethereum but you inherit ethereum's consensus because of the xero noise proof it's still a theory the ethereum knows if you're in smart contractors that act as the validators for your network and so you don't get weaker security assumptions you don't have additional trust assumptions other than the like some cryptographic ones uh and yeah so that's it allows it allows um ethereum to scale without uh additional uh trust or weak security cool uh yeah do you wanna introduce optimistic roll-ups sure um the key idea and optimistic roll-ups is again to move uh execution and storage off-chain the way that you ensure that transactions are settled back to ethereum trustlessly is by using a protocol where any party can make a claim about what correct the outcome is other parties can disagree if there's a disagreement there is an efficient protocol for resolving the disagreement figuring out who is right on the merits so the basic philosophy here is to drive down to a minimum the cost of executing transactions and the cost of doing fraud proofs sweet um so i think it'd be interesting because we have two of you working on optimistic roll-ups tv working on zk roll-ups maybe we'll continue down with you guys what are the key differences between optimism and arbitrage feel free to jump in whoa we're trying to stay we're trying to stay together you said there had to be a winner on zk versus oh are you man well we'll get there we'll get it's a death match so we're going to have uh what is it called it's a bracket right so two of you compete and one of you wins and then two of you compete and then we'll go ahead and final round okay i mean to us it's a few things one we have the best truly evm equivalent developer experience on the market today we have a extremely strong foundation being built out that will give the optimal cost that is possible on rollups fundamentally and we are incredibly focused on scaling ethereum both at the level of the technology and at the level of the values okay um i would say all the same things i think we have that much in common right it's about the developer experience it's about building the community scaling ethereum out in a way that feels familiar to users right and so um you know we're really proud of our community we're proud of the integrations that we have and really you know i think ben would say and i say too it's about building a community and working within the framework of ethereum here here community yeah so yeah let's move into the zk side go ahead so i actually think we were actually talking about this right before um how aztec is focusing mainly on privacy and we are focused on building a scalable like uh not not focused not so much focused on privacy but on scalability and um so that's fundamentally very different very different sectors and the there is a paradox when it comes to privacy and transparency and you sort of have zk sync for transparency and then you do all your private actions on aztec and zk roll ups are actually much more positive some in a multi-chain world because we can communicate very quickly and that will allow both protocols and users to have both privacy and like scalable um transparent protocols together yeah um sorry we might have done a bit of coordination before the panel we did not uh but yeah just echo that like the assets gig is privacy we want to make we want to effectively go beyond what ethereum delivers and and ensure that we use this new technology zero proofs to hide user identities so that all your on-chain activity doesn't reveal information about your financial lives and that explodes the potential applications that can use web3 and in my opinion is fundamentally required to make blockchain mainstream so i i'd like they were talking about privacy as well privacy is really important um so zero knowledge proofs can be used for scalability and privacy right uh would you mind taking a moment to explain like the difference kind of are we talking about this like the proof that you guys use can they achieve both or do you need kind of like different circuits to do these two different things yeah you need different it it's a similar technology but applied in a very different way so um the way you can get scalability is you just take you take a very large number of transactions and you effectively you compress them and then you construct the zero loss proof which basically says if i were to uncompress these transactions and um and then process them one by one then now they get you know the the expected outputs uh what we we use you can you can get privacy from that but it is it might be it's kind of harder and not trickier instead what you do is you uh instead of compressing your data you encrypt it and you basically construction allows proof cisco if i were to decrypt my data and then you know execute a transaction then and then re-encrypt it then i would get the the outputs expected uh the difference is if you want private transactions then you've got to construct that the user sending the transaction must construct a zero knowledge proof of its correctness with otherwise otherwise unique secrets and if you want to use uh ck proof of scaling then users send their transactions to some third-party coordinator and the coordinator constructs a massive zero-knowledge proof that proves that correct the correctness of all the transactions and if you want both then you've got the users got the constructed zero knowledge proof of their transaction and then send that to a coordinator and the coordinator constructs a zero knowledge proof that verifies a large number of individual users journals proofs which is which is a which is nuts and and yeah but yeah that's what we do but it comes with trade-offs excellent description thank you um to put things in perspective what sort of scale are we looking at here in terms of i don't know you could describe it however you want to transactions per second or a multiplier on top of the ethereum base layer what is kind of where where are we at today and what is the goal uh in terms of what we're targeting in terms of transactions per second jump in anybody if you want i okay i give this spiel a lot but i will say that tps is probably the most misused term in crypto period take that from someone who has a lot of incentive to say we've got a lot of tps right so it's extremely dependent on what those transactions are doing and what the property of those transactions are in general with rollups right the data must become available but it's not even the case for zk versus optimistic that that's the same data and in some cases it may actually be better for zk and in others it may be better for optimistic so it's tricky to answer that question in many ways um i think ultimately what it comes down to is basically just looking at the behavior of some particular set of transactions and modeling that out right and when we look at that we see something like you know 10 to 500 x right and that just within the edm that set of transactions you have that much variance so i hope it's not a cop-out but that's kind of where we're at and yeah so you know we also try to avoid doing hollywood accounting about tps um right we tend to think in terms of how many ethereums of capacity our chain has right and how we can drive that number up yeah so you know you're talking depending on what generation of the technology you're talking about depending on how many of the things in the pipeline you're looking at how far in the future you know that number is going to grow over time it's going to grow pretty rapidly i will say that we are we are all very far away from our limits and we can handle we can handle more 1 million tps thank you that is the right answer that's the answer i was looking for all right uh do you want to add more okay so 2 million tps 3 million why have 1 million tps when you could have 1 billion tps okay so with the introductory stuff out of the way let's let's move into some slightly deeper questions um we all like decentralization that's kind of why we're here um however the reality of a lot of kind of roll-up technology today is that things like the sequencers which you mentioned earlier are actually quite centralized so how do we move towards decentralizing the layer two anyone jump in feel free sure um here's here's how we think about this our protocol was designed from day one to support full decentralization but as we've been rolling it out we're rolling it out in a careful and responsible way and that means we have some centralized training wheels right and as over time we're taking those off and we have labeled our deployment as mainnet beta and we promise to keep that beta moniker on until it's fully decentralized so we have a roadmap for that we're talking to our community about that but we we believe believed and believed that the most responsible way to decentralization was to do it somewhat progressively but to have the plan and the protocol for it built in from day one yeah i can i can add some stuff too um yeah like you know like arbitrary we've got the training wheels on too i think we all do really uh i don't think anyone here would claim that our protocols are thoroughly decentralized yet um and that's yeah about a function of the fact that we are um building out the tech focusing on deploying it getting user feedback on how it works and the idea is we're going to decentralize later but later is coming coming coming up like a freight train and we need to prepare for decentralization pretty damn soon and i think good it is going to be um introduce some some unique challenges that uh other like their ones don't necessarily have particularly on the zk side um because you have problems with uh xeron's fruit construction is really expensive so not many people not many entities are going to be performing this role and uh you have a problem of infrastructure centralization where if they're all using the same cloud service provider then uh say well hey if this is a genuinely permissionless decentralized network that you can't control some people are going to do or politically awkward things on it and um you know this could violate the terms and services of cloud service providers these incentives don't really align and so i think one of the key goals for the zk um part of the industry is to work on like how do we decentralize provers so we're not reliant on web 2 infrastructure because that's quite a dangerous road to go down uh we do have like a plan for for this uh effectively kind of um taking these very very expensive and then splitting them up into like a thousand little sub components that can be um handled by small approvers but uh this is it's not going to be quick to develop and implement because uh well because we're we're trading you ground here where you're kind of adding this very complicated um uh role this proof constructor into like a decentralized network and you need to hit scaling and throughput targets um yeah i mean i i guess i would say i wouldn't be surprised if it's a while before everything is like genuinely fully decentralized as in you know governments cannot turn the tap off even if they tried but we're getting there okay if tps is the most overused or misused warden crypto i don't know if number two is decentralization but it is up there right and there's a a lot of different aspects just like aspects of transactions per second there's a lot of aspects of decentralization so yes everyone on the stage has training wheels upgrade keys blah blah i think another interesting thing to look to is even when those that roadmap is fulfilled what are the other components of centralization right and what's fascinating is that when we talk about scalability when we talk about pumping a lot of transactions in some through a system that opens more opportunity for centralization in some ways at an incentive level right look at what happened to bitcoin mining right at first you could have done it on your laptop then you needed a gaming rig then you needed an asic that was a little usb stick now you need a warehouse and a you know under the table handshake with a power plant whatever you know but so i think the same thing was at the early stages of seeing in layer twos and in scalability and honestly i think it's too early to say in some aspects right there's elements in the zk world where the long-term you know aspects of proving and that cost will play a factor on the roll-up side there's the elements of block production and whether we want to parallelize things and how we're going to go about doing that um so i don't know it's just a ramble but be wary of decentralization as a term too let me just urge you if you're really interested in this issue come and talk about holding my class hold the mic a little bit closer oh yeah let me just urge you for those who are really interested in the nuts and bolts of this issue come and talk to all the teams and ask about the details about what their plan is for decentralization are you know will i be able to run a node in a year and all those sorts of questions right and just dig into it because as ben said it is a complicated issue great advice any final thoughts on decentralization oh no we're good let's we'll move on to another topic so one of the wonderful things about ethereum l1 as a base layer is composability of applications right the fact that you can build applications on top of other applications permissionlessly combine things do very creative things um touch a bunch of underlying smart contracts in a single transaction and one of the challenges of l2 of course is that to some extent it breaks composability things become more asynchronous i'm wondering how you guys all approach composability what your thoughts are on this jump into anybody uh yeah okay i'll go off um yes i think why why is ethereum become so popular why has it become like the the dominant blockchain where so much liquidity is is pooled and it's composability composability composability you can build a smart contract that connects to other smart contracts in a permissionless way and build up a modular framework of applica of of defy apps uh and you know all sorts of insane kind of uh creativity that you just can't get in a system that does not have this ability to just to use other people's protocols as building blocks and one of the problems with layer twos uh and you know maybe i'm maybe i'm uh like uh shouldn't say this but one of the problems let's use is you break composability because if you yes because if you migrate a protocol to a layer two then that might work for the protocol that you're that you're talking about but then all the other protocols on layer one that depend like that depend on a chain of smart contracts right they can't just they can't easily migrate import their sector layer too and so you have this enormous stack of dependent applications where migrating any like with migrating anything except the entire sum of some of them all will break them and that that sucks um and this is where i'm gonna i'm gonna shield zika rollups uh and and one of the core strengths of zk roblox is instant finality because you have because on chain you're verifying a zero-loss proof of correctness you don't need to wait for a large printable of time for a floor proof to go through before you can withdraw and that means that what you can do is you can have your layer two talk directly to layer one uh in in an atomic fashion so the i so um you can you know from layer two you can emit transactions saying talk to layer one talk to unit swap do a trade that's where they get executed at the next roll up block and the proceeds get kicked back into the layer two and that can happen atomically uh and so this is one of the ways that we're tackling composability we're trying to leave as much of the of the d5 protocols of the amms etc on layer 1 and using default pooling basically batching user aggregations together on our layer 2 to make the costs cheaper but we keep liquidity on layer 1 and it doesn't break composability so i think the most important thing about composability considerations between l2 and l1 or but across different l2s is that you have you can have a form of composability but in all of these cases it's a different kind of composability than you can have with ethereum because zk provers run asynchronously from the l1 ethereum chain optimistic validators run asynchronously from the underlying l1 chain and so you can have composability but it's asynchronous composability and that is a different model right so in the ethereum community you have a in the ethereum community you have a whole set of practices and programming methods that have developed around using synchronous composability and i think the same thing is going to happen around asynchronous composability just like the difference between local programming in sort of web 2 versus programming in a across a network where things are inherently asynchronous right and that's the environment you're going to be in and i think we're all in the same boat as far as that goes i disagree sorry but i do um your approver runs synchronously with the l1 miners there is it is there is a difference between 10 minute asynchronicity and seven day is you're gonna see and like we have to be just like acknowledge that you know um with a with a with a full transaction throughput the azure network you can produce a block every ten minutes uh with you know with great attraction there's no reason why we can't paralyze that down and get thing and get it down to say five minutes or even two minutes and so but it is a synchronous yes yes but you're talking about a very very small time delay yes that means that some highly latency sensitive applications won't work but then but then again if you're going to call that asynchronous then the ethereum blockchain connects because you've got to wait 10 seconds for a block to be produced before you send a transaction so i don't think the termini synchronous here is particularly useful what we need to consider is the time taken between your transaction being constructed and achieving finality on layer one and but the fact that it can pick out it that zika rewards can make it extremely small means that we can interact in a composable manner with layer one smart contracts in a way that optimistic rolex simply cannot okay i kind of have a hot take here which is almost that i disagree with both in some sense i agree with parts of what both of you are saying and i disagree i one of the most fascinating things to me as the roll-up centric ethereum road map has sort of emerged has been a loss of a narrative that was present in eth2 phase two which stated that we are not going to lose cross-shard composability and yes it is going to be cheaper in these systems to send asynchronous calls and people are going to desire that and clearly i definitely agree those programming paradigms will emerge but i also think that it's the case that synchronous composability will have an economic value in these systems and we see that in things like mev and block production and a lot of what we're spending our time doing now is now that we've built the evm roll up we need to shard the evm roll up i will show the talk that i just gave uh yesterday which talks a little bit about this i would also show the vitalik end game post which talks a lot about this and fundamentally what i think we will all need to do is develop asymmetries between block production and block verification because large synchronous block verification will have fundamental economic advantages that come from the synchronous kind of composability so i definitely agree asynchronous is going to be cheaper we'll have it we'll have a lot of paradigms but i also think that there's going to be economic value there that we can't ignore here uh we're almost out of time i would like to give angela a final word um anything any final thoughts on any of the topics we talked about or anything else any of the topics anything you want to talk about we have two minutes um i want to talk a little bit about the the amount of scalability that we will all be able to achieve and i think that something that is not said is that um fundamentally well actually actually maybe i should start with um the actual i shall start with this because it's more simpler um the fact that zk rollups are able to separate transaction validity and data availability and that allows us to create to sort of really quickly bypass the the most expensive resource on ethereum right now which is called data and get side chain like fees immediately and from the using the exact same architecture that we use for ck roll up it's you everything is the same you just publish data availability on a spectrum of data availability solutions you can either keep it keep it yourself you can rely on proof of stake networks to keep it you can rely on data availability focus change such as celestia and um yeah and you can actually there are very cool designs where you can actually create one system across a spectrum of data availability and i think that's really powerful to combine chain users finally in the same system and as the whales and we can all be put on the same platform and put and participate in the same the same system i think that's really important for fairness very good point thank you modular blockchains are really interesting i've been super into this recently uh we have two more minutes i guess so actually any other final thoughts we can kind of do you want to do any final thoughts the optimistic folk speaker anything i'm sorry no i'm just saying uh because is there anything anything you you fix whatever i feel it'll be a bit be a bit unfair if i followed angela sure i mean i think at the end of the day all of us are pushing to scale ethereum we're going to find out over time who has the which technology configuration can drive up scalability drive down cost most effectively over time right this and these questions interact with questions of how ethereum will evolve what is the underlying cost structure going to be um you know our thinking has always been aimed sort of at the long run and trying to get to the point where we believe the long run lowest cost highest scalability will live will live i mean uh some some folks up here probably disagree with that but you know that's been our north star in thinking about our our architecture over time cool don't you have any final thoughts yeah i think my final thoughts would be that i i agree with what ed is saying is that we're all pushing scalability forward and i think that one of the most uh narrow sighted things or short-sighted things that we can do today uh is think about these systems as homogeneous so i think there are actually i do think there are some ways like the composability thing where we don't think of them as homogeneous enough where we want to go but i think fundamentally the demand and what blockchain applications are going to be doing and what they need from scalability as a result will be different so i think we're at time all right did you do you want to jump in with anything before we end uh just something very briefly yeah i mean yeah i think we're all we're all kind of on the same like even it's fun it's fun to debate but we're all the same really have the same goals here same team scale ethereum like break effectively break the blockchain trilemma at the layer 2 level and make sure that users can enjoy cheap transactions without compromising on security and we all have very very different ideas on how to achieve that and time will turn will tell what works or if any of us are right amazing totally agree so we'll see you guys back here next year for a new update of where roll-ups are at that point in time and i'm sure there'll be way more progress to report thank you very much to the past guys thanks everybody
Automatic transcript — names and jargon may be misspelled.