App-Specific Rollups: more than just cheap transactions by Matt Katz
Ethereum Denver·Mon, Oct 9, 2023, 12:00 AM
App-Specific Rollups: more than just cheap transactions by Matt Katz You might think that all rollups are good for is scaling Ethereum. Think again. This talk will give you an overview of the ways that custom-built rollups can level up Ethereum applications. From improving UX via gas abstraction and account abstraction, to custom precompiles, this talk will be full of actionable suggestions that developers can keep in mind when building the next killer dapp. Matthew Katz CEO Constellation Matt Katz is the co-founder of Constellation, a startup that helps Web3 projects launch dedicated application-specific rollups. In the past, he worked at several fast-growing startups across web2 and web3, and spent a few quarters studying computer science at Stanford. matt@constellationlabs.xyz
Transcript
Okay, excellent. Uh, hey guys, I'm Matt. Sorry about the technical difficulties there. Uh, one of the many joys of running Linux on your personal machine is that your computer doesn't work with any of this sort of stuff, uh, by default. Um, I'm the founder of Caldera.
We are a project that helps people launch their own application specific roll-ups. Uh, but really this talk is not going to be about my company. Uh, it's just going to be about the roll-up space in general, all the possibilities that can be done with roll-ups. I think there's, you know, generally there's a common misconception that roll-ups are, you know, a way to scale Ethereum or they're a way to get Ethereum chains with cheap transactions. And that's all totally true, but there is so much more that can be done with app specific roll-ups, ecosystem specific roll-ups.
Um, so I thought I'd come here and talk about it. But first, uh, let's talk about the state of roll-ups. How did we actually, you know, get to this point? Um, and so because this is the, you know, Devtopia, as you guys are all devs, or presumably you are, I'm sure you know that Ethereum is super slow. And if you wanted to quantify the speed of Ethereum in terms of instructions per second, it's about as fast as the Altera 8800, which was launched in uh 1974, 1975.
It's like actually, you know, boomer technology. And unlike with the folks who were running programs on the Altter or the Atari 2600 way back when, you know, there might have been running like a single program on Ethereum, you have tens of thousands or hundreds of thousands of smart contracts that are all, you know, competing for these scarce computational resources. And that of course leads to Ethereum's reputation as being expensive, you know, especially during a bull. Um I guess this uh chart is cut off at around mid2021 which uh might be a little unfair but it does serve my point. Um you know when you know you have a fixed amount of supply for block space and computation and you have varying demand and so that means you know when demand is high when everybody wants to do things on chain things get really expensive right things get you know uh $20 per transaction $40 per transaction depending on what you're doing.
And so, you know, it was in this environment that the idea of roll-ups really came about, right? People were saying we need a faster, cheaper Ethereum that was aligned with Ethereum that wasn't a side chain or some Ethereum killer or, you know, uh, some project, some VC back project, you know, that was trying to draw users away from the core ecosystem. People were like, we need, you know, what is effectively a side chain or an alternative chain that is aligned with Ethereum and, you know, projects delivered. Uh not all of them are on here, but you know, Optimism, Arbitum, ZKSync, Starkware, um especially those first two, the optimistic roll-ups, they've really done a great job at growing the roll-up ecosystem. And today, you know, the rest is is history.
You know, we've we have a little over $6 billion locked up across roll-ups in the Ethereum ecosystem, most of which are in arbitrum or optimism. Um, and so these projects really executed well on this idea of a faster, cheaper Ethereum, right? They targeted EVM equivalents and they actually use GU, the, you know, standard Go Ethereum client implementation under the hood. Um, and they also use ETH as a gas token. So the promise of these roll-ups is, you know, you can bridge over your ETH and it's just like building on Ethereum back, you know, in like 2018, 2019 when things were really cheap.
And of course, you know, they've found amazing product market fit uh for these roll-up protocols. But, you know, that's not all there is to roll-ups. So, let's take a step back and think about what, you know, roll-ups actually are. You know, uh I stole this uh screenshot from Vitalik's blog, but essentially, you know, what a rollup is is it's a blockchain where the canonical state is uh determined by a contract on ETH mainet, right? So you have a state route which is basically like a succinct representation of the entire state of the chain my balance your balance smart contract code you know storage in smart contracts um and you have some sort of off-chain execution the rollup sequencer that updates this state route when transactions are submitted to it right so maybe I transfer you five ETH that you know will get added to a batch and then once those batches are processed a new state route is generated based on that new state um and then that is committed to the Ethereum chain um in the form of some storage slot in the roll-up contract or the set of roll-up contracts.
And so if we zoom out a little bit, this is optimism's architecture. You know, these are the roll-up contracts right here. And the sequencer/proposer is submitting those state routes. Um and so you know you have now the state located on Ethereum and the only other thing you need is a prover or a verifier to hold that sequencer to account to keep them honest and you know to enforce um that the the the sequencer is running those state transitions correctly. Um and so this is where a lot of the debates in the rollup world come from.
It's actually just this piece right here, right? This is where optimistic roll-ups versus ZK roll-ups, you know, it's the verification mechanism or the dispute mechanism. Um, what you might not notice uh here or what you might have noticed is that nothing in this diagram says you need to run the EVM, right? You're you have some state transition function. your proc you know some standard way of processing transactions agreeing upon a new state and then some way of verifying that that state has been you know transitioned correctly but that doesn't necessarily mean that you need to be tied into the EVM right so when people say like rollups are a cheaper Ethereum it's totally correct they they are many of which are I guess you know optimism arbitum etc but that's not the full picture and same thing with you know people saying rollups are Ethereum scaled or they're a scaling solution Right?
Ethereum, but a rollup's core value proper. You know, the better way or the more complete way to think about roll-ups are that, you know, they're performant chains that are secured by Ethereum and they could be any type of blockchain. You know, so that's it. And uh I wanted to add this quote from Vitalic again. um in his endgame blog post which is coming up on you know maybe a year and a half old he talked about a multi-rollup future for Ethereum you know basically roll-ups are the way that app chains get added to Ethereum and the Ethereum ecosystem and so it is somewhat you know complimentary or it's Ethereum's answer to the Cosmos chain vision of having multiple different execution layers that are you know designed for specific applications but unlike with Cosmos where you have you know every Cosmos chain is sort of siloed mode.
You obviously have some interoperability with IBC, but they each have their own validator set. Um, although of course Cosmos is changing that a little bit, you know, as well. Uh, roll-ups are app chains that are secured by Ethereum. So, you know, we need to open up our minds a little bit with, you know, the possibilities of roll-ups and what can actually be done on them. Um, so, uh, I wanted to give a brief overview of some things, uh, that are totally possible with roll-ups that I'm really excited for that I think we're going to be seeing in, you know, the next two, five, 10 years.
The first one is diverse VMs. So, most of the roll-ups that exist on Ethereum right now run the EVM. And if you look at the ZK, you know, ZK rollup world, actually, a lot of them are competing with how closely they can follow the EVM. you know, EVM equivalence versus EVM compatibility, you know, all of those debates. But that doesn't necessarily need to be the case.
And there might be cases where you don't want the EVM at all or you want to make modifications to the to the EVM. So, especially in the optimistic world where it's much easier to construct fraud proofs. It is totally totally possible to have a Salana VM which is running on Ethereum, interoperates with Ethereum, you know, you can bridge to and from it, but is running Salana programs. And the same thing with move and the same thing with, you know, any other virtual machine that comes out in the future and potentially even virtual machines that exist, you know, in the regular, you know, world. You might want to write smart contracts in WAM or, you know, potentially you could even compile some sort of Python interpreter down and write, you know, have a chain that allows people to write smart contracts in Python.
The possibilities are totally endless. Kind of in the same vein, uh, are custom pre-ompiles or, you know, what we like to call EVM plus. So of course you know most EVM chains the entire applications you know are written in solidity and this works for most things and I think most developers find solidity relatively ergonomic and useful but there are certain types of you know things you might want to do where solidity isn't good enough right you might want to have some custom logic for you know a certain type of elliptic curve cryptography or potentially you want to like natively verify some type of like zero knowledge proof on chain maybe you need some sort of like randomness oracle function uh that you you know would rather write in go or rust or web assembly or you know leverage the existing libraries in those uh languages or runtimes. What you could do if you created your own rollup was basically, you know, write those core, you know, pieces, you know, the the things that needed to be absolutely performant. You could write them in a lower level systems language and then add them as a pre-ompile and then call them from solidity from your smart contracts.
Uh, in kind of a different vein, there's also a lot of modes for revenue generation with roll-ups. um you know on the first order there's transaction fees and existing roll-up you know runners optimism arbitum already make millions in transaction fees but if you ran your own rollup you know you could you'd be the person who's taking those fees or you could try to undercut uh you know those those other roll-ups there are also many other ways you could end up trying to you know add different fees into the ecosystem to generate sustainable revenue. So you could make money on the bridge either both ways or if you wanted to encourage people to bridge into your chain. You could subsidize one way and then take a fee on the other. Maybe some interesting models there.
Um and as well you could run ME or you could have a sequencer auction aka people paying money to determine you know people bidding on who gets the right to sequence you know transactions and you can take that money and put it back in the project or use it to finance a DAO or an ecosystem fund or something like that. Another thing as well is early access to EIPs. When you control that base layer, you know, execution layer, you can merge in EIPs before ETH core devs do. Um, and so this is really powerful because you would be able to leverage a lot of these features before developers on Ethereum or developers on, you know, all these like strict EVM equivalent roll-ups could do. Uh, so you know, I posted uh ERC or EIP 4337, which is getting a lot of hype right now.
Account abstraction. You could totally, you know, find some implementation for this, merge this into your roll-ups L2 g and then get account abstraction out of the box. And I think the really exciting thing about this is that I think we're going to see a ton of uh roll-ups coming into existence that do kind of try to frontr run Ethereum and these types of improvements and they'll kind of be like amazing developer sandboxes that you know allow developers to play with these features before they get merged in to ETH mainet. Uh lastly also want to touch about gas customizability. Um with a rollup you know a lot of the existing rollups they charge gas fees in ETH.
That is an implementation detail. You could choose any gas token you wanted whether it's the gas token for your project or if you wanted to you know maximize user experience. You can make it a stable coin like USDC. Um or you could even offer free transactions or you know a certain amount of free transactions per user per day or something like that or per verified user. um you have you would have total you know freedom to mess around with the gas implementation and that can lead to some amazing UX improvements.
So uh those are a few things that I'm really excited about. Um also uh I was told I'm allowed to shill the company for a few minutes at the end. Um as I mentioned before I'm the founder of Caldera. We're working on making it as easy as possible for people to launch optimistic roll-ups and then eventually ZK roll-ups uh in a super customizable manner. Um, basically what we do is we allow people to pick their data availability layer where they're settling on whether they want to launch on Ethereum or if they want to be like an L3 on arbitr or optimism or if they want to launch on polygon, avalanche, whatever.
Um, they can add the infrastructure they need. They can make some of those customizations I just talked about. Um, and then we'll also help run the node infrastructure. So this is uh you know potentially very interesting if you're trying to build a project and you're finding you're running into a wall uh with the EVM or you expect to you know reach a high amount of scale or you want to potentially implement some of those customization details that I talked about earlier. Um yeah uh this our mission we are trying to make interesting novel web 3 applications possible.
Again our goal is to just reduce as many blockers uh as exist right now in the Ethereum ecosystem. So yeah, if that sounds interesting to you, um whether for your project or if you want to work with us, don't hesitate to contact me. Thanks. [Music]
Automatic transcript — names and jargon may be misspelled.