Crypto Twitter is Wrong: This is How Rollups *Really* Work
Devcon 7 SEA·Tue, Nov 12, 2024, 08:29 AM · 21:51
Speaker
It's 2024, L2s are a critical part of the Ethereum scaling roadmap, and everyone *still* gets Rollups completely wrong. If you think that Optimistic Rollups and ZK Rollups are real things, that Rollups need sequencers to create blocks, or that Rollups need proofs to be secure, you've been completely and utterly bamboozled by the Crypto Twitter intelligentsia. It's time we take back the truth - this is How Rollups *Really* Work.
Transcript
Tanya Cushman Reviewer:"Petey Desai", Where are we? There we go. Oh, wait, that's it. Alright, so I've been kind of ill the last couple of days, sitting on the toilet, so if I seem defeated and disheveled, that's why. But this isn't the first time I was getting ill on this trip.
I've been in Bangkok for about a month, or in Thailand. And the last time I was doing this, I started tweeting and getting really mad at people on the internet. And I realized that I'm not the only one that needs to get their shit together. We better start agreeing on stuff where Ethereum is cooked. So, that's the new talk.
together, we better start agreeing on stuff where Ethereum is cooked. So that's the new talk. I'm going to start this talk by telling you a little story. It's December 11, 1998. It's a mild day, Cape Canaveral, Florida.
And some NASA, smart cookies at NASA are going to send an orbiter over to Mars, right? So they throw that thing on the rocket and send it off. Wow, yeah, neat, right? Great. They throw that thing on the rocket and send it off.
Wow, yeah, neat. Great. It's a long, tense journey to Mars. This whole thing takes nine months, $500 million, a bunch of people's entire lives built into this thing. It goes all the way to Mars and it's finally time for orbital insertion.
This is what's supposed to happen. Rocket goes like this. Oh, look, it orbits Mars. That's what we expect. Yeah, that's what we want.
But what actually happens is this. Oh, oh, oh, no, it's way too low. And then bam, you know, the whole thing falls apart. The whole thing slams into Mars' atmosphere, falls to pieces. So why?
What happened? What happened to this thing? Well, the smart cookies at NASA went over to Lockheed and said, hey, Lockheed, you know what? Can you pass me that meter stick? And Lockheed is like, yeah.
And Lockheed gives the meter stick to NASA. And NASA is like, hey, Lockheed, what? This is a bleeping yardstick. It turns out that Lockheed the whole time was building instruments that were returning data in US customary units. Why?
Everyone uses metric. But the moral of this story, right, oopsies, sorry, the moral of this story is that shared definitions make or break projects. If you don't agree on the words that we're saying, you're never going to get anywhere. And today, while Ethereum is facing more competition than ever, we're wasting so much time talking past each other. We're all saying the same things with different words, and everyone hates each other.
So I asked the internet on Twitter what they think an L2 is, and here are some of the responses I got. An L2 is a chain that settles to an L1. An L2 is a cultural extension of Ethereum. Like cutlery, a layer 2 is a function description, not a specific design or form. And I give up on the other definition.
Let's just stop saying L2. It's a nightmare. The reality is that we can't build the future of Ethereum if we keep using these differing definitions. We can't do it unless we have shared clear definitions. Shared clear definitions allow us to see the whole picture, right?
And you can fill in the gaps. If you're building a puzzle, what do you do? You build the frame first, and then you fill in the gaps. Right now, we're building Ethereum by just putting puzzles in random pieces. And so we better start writing a dictionary, or we're going to end up like the Mars orbiter.
So call it whatever you want, but I think we need to build this. I think we need to build the encyclopedia of theory and I think we need to get on it now. Like any good dictionary, the first word in any encyclopedia is aardvark. That's right. And Arthur is an aardvark.
I don't know why. It doesn't look like an aardvark. It looks like a bear. I don't think they should have called them an aardvark. The next word is rollup.
Why rollup? When I asked people on Twitter what an L2 is, nobody could agree. When I asked people what a rollup was, I got surprisingly coherent answers. The average that I got was this. A rollup is just a normal blockchain that uses another blockchain for ordering and data availability.
All right. That's that. So let's kind of walk through it. Let's explain this, right? Blockchain 101.
What even is a blockchain, right? Let's crack open Ethereum. What is a blockchain? Well, it's composed of three main parts. We have state.
That's what the world of the blockchain looks like. We have state. That's what the world of the blockchain looks like. We have transactions. That's how people change the blockchain.
And we have the state transition function, which is the rules by which a transaction actually modifies the state. We have two properties that are really important for any blockchain. We have ordering, right? Now, let's say that Wizard Hat sends one ETH to Timmy, and Timmy sends one ETH to Pretty Hat Person, right? Now, let's say that Wizard Hat sends one ETH to Timmy, and Timmy sends one ETH to Pretty Hat person, right?
That's fine. We know that. That works. But if we swap the ordering, and we say that the first transaction happened second and vice versa, and Timmy tries to send one ETH to Pretty Hat person, well, if we look at the initial state, we know that Timmy didn't have any ETH, and so this doesn't work, right? So ordering is really important.
No ordering, no blockchain. Data availability is critical, right? What is that? Well, it's really just a fancy way to say that you can actually download the transactions. If you can't download the transactions and they fade away, then the whole blockchain fades away, right?
If you can't execute the transactions because you don't have them in the first place, you can't compute the state. No transactions, no blockchain. All right. So blockchains use consensus mechanisms to establish ordering and data availability, and there's an asterisk there, but don't worry about it. But it basically works.
So, you know, we know what a consensus mechanism is. We have Bitcoin, right? So whoever has the most money and lights it on fire wins. That's proof of work. We have Ethereum.
Whoever has the most money wins. That's great. Very human. Love that. It's not plutocratic at all.
So these futuristic systems are complicated and costly. And the reality is that they're very difficult and expensive to build in the first place. I mean, you try to build Ethereum's proof of stake from scratch, good luck. Then they're also challenging to maintain. So even if you didn't build them in the first place, just to run them is really hard.
And I think this is underappreciated, but usually you need a token to reward participants, right? Bitcoin has Bitcoin. ETH has ETH. And the reality is that a lot of people for a lot of reasons don't want to make tokens. Cool.
So rollups solve this problem by outsourcing consensus to another blockchain, right? This is all that a rollup really does. Let's explain how a rollup works by just giving an example. So Timmy wants to send a transaction. What does Timmy do?
He sticks the transaction into the mempool on the rollup, just like you would in Ethereum. And then the validator or sometimes the block producer, we call it the sequencer sometimes, takes that transaction and shoves it into a block with lots of other transactions. And then it puts on its little Timmy hat and it grabs that block. And it goes over to the Ethereum mempool where it tosses the block into an Ethereum transaction. Puts the block into the Ethereum mempool.
Gets picked up by an Ethereum block producer. Puts it into a block. This is a bridge, but it gives you the basic idea. Validators come in. They say, okay, sign off, looks good.
Take the block, shove it into the Ethereum blockchain. Now if you open that transaction, back up, there you go, there's your rollup block. And now there might be older transactions that have older rollup blocks and older transactions that have older rollup blocks. And because all of these blocks and the block data is just being shoved into Ethereum transactions, you get all of the guarantees from Ethereum about ordering and data availability about Ethereum transactions, right? If you know that Ethereum transactions are going to be ordered, then you know that if you put a rollup block into an Ethereum transaction, it will be ordered too.
So to kind of recap that, a rollup is just a normal blockchain that uses another blockchain for ordering and data availability. Right? Okay. So if you've watched this talk and you kind of have some idea of what a rollup is, then you might be asking where does the ZK or optimistic bit come in? Because we always talk about ZK rollups and optimistic rollups.
I never mention ZK or optimistic stuff at all in that description. In order to understand this, we first have to talk about bridges. What are bridges? Well, you've probably used one before. We kind of know what they do.
They're applications. They let you send tokens and data and stuff between different blockchains. How do they actually work? All bridges basically work the same way. You have two chains and you stick two smart contracts, one on each chain.
These are two independent chains. And someone comes by, Timmy comes by and puts an ETH or whatever into the smart contract on the first chain. And then Timmy goes to the smart contract on the other chain and says, money, please. And now the smart contract on the first chain needs to think, well, how am I actually going to verify what happened on OP main net? The problem is that this is a smart contract.
I mean, if you were going to do this, you would probably just run an OP mainnet node. And it would love to do this as well. You could just run a full OP mainnet node inside of the smart contract. But it's a smart contract. It can't do that.
It's a resource constrained environment and we're not able to actually verify the full chain explicitly like this. So instead, the smart contract asks for a proof. It asks for a succinct way to verify the state on the other chain. And then Timmy comes up with a proof, gives it to the bridge smart contract. And the bridge smart contract takes a look at that proof, verifies it according to some rules, and then poops out some ETH on the other side.
So Timmy walks off and now you've completed your bridge transaction. This is generally the way that all bridges work. Whether it's a multisig proof or an optimistic proof or a ZK proof, each time what's happening is the smart contract is using some abridged metric to decide what's going on on the foreign chain. So what I want you to get out of this is that proofs are things that bridges use. Roll-ups don't use proofs.
Bridges use proofs, right? And this has some really weird implications. I really want to have you internalize this. Because it sort of means that this word that we've been throwing around, And this has some really weird implications. I really want to have you internalize this.
Because it sort of means that this word that we've been throwing around, ZK rollup or optimistic rollup, doesn't make a lot of sense. Because rollups use proofs. Or rollups, sorry, rollups don't use proofs. Bridges use proofs, right? So if it's the bridge, if ZK or optimistic is a descriptor of the bridge, then why are we applying that descriptor to the rollup?
Where does this come from? I think there's a lot of historical context. The answer is basically rollups think that bridges are useful. This is because it's useful to be able to pull economic activity from one chain to another. And so rollup teams build these official bridges.
And these bridges, because of the special relationship between a rollup and its parent chain, can be these kind of special bridges that are more secure than bridges between two arbitrary chains. The fact that it's the rollup teams that build these bridges is just a coincidence of the fact that the rollup teams know the most about the thing. There's nothing really stopping any arbitrary person from building that bridge. Because it's official and because it is the branding of the chain, it becomes naturally popular. And when people put more and more assets into that bridge, it gets more and more influence over the social consensus of the L2.
If the L2 wants to fork, the bridge has to agree, right? Or all of those assets on the bridge are not going to be worth anything on the forked chain. And then, of course, at the end of the day, the official bridge has some sort of proof system, and the result is that the rollup gets its name from that official bridge. All right. So really to hammer it home one last time, proofs are things that bridges use.
Rollups don't use proofs. Bridges do. So what? What's the point of all this? Well, I'm glad I'm disheveled because I can look really crazy when I'm saying this.
But essentially, all this stuff about ZK rollups and optimistic rollups and there being a war and fighting between all these teams is kind of fake news and we're just creating this tension between teams for no good reason. Right? And the other thing is that ZK and optimistic rollup is just really terribly limiting. If you think this way, you can't imagine new things. Like what if there's a chain with two massive bridges at the same time and one is a ZK and one is an optimistic bridge.
What is it, a ZK rollup or an optimistic rollup? Who knows? What if it's a chain with no bridge at all and someone puts a bridge on that chain but the person who does that is just a random person? What if there's a chain that posts blocks to two other blockchains? Or if there's a bridge with more than one proof system?
All of these things are things that you can imagine if you're not constrained in this way. Again, at the end of the day, Wittgenstein, good quote, limits of my language are the limits of my world. The reality is that our language just doesn't leave any room for novel constructions. When people want to build something new, they can't. Because they don't have the language to do it.
So you're stuck with two really bad options. You can see this. Option number one is you make up a completely new term. You get L1, L2, L3, optimistic rollup, plasma, valletium, sovereign rollup. No one knows what any of this stuff is.
If I quizzed half of you, you would all be wrong. No one knows what this stuff is. How am I supposed to convince a user to use my product if nobody knows what it is? And the other option, which if you have less scruples, you just do this. You just co-opt an existing term.
You take a term that other people like, like EVM equivalence or roll-up or L2 or whatever, and you just decide that your chain is going to have that too. And because we don't have good definitions, everyone loses, right? Every single person loses. Teams lose. users lose.
The reality is that everyone's confused. And so our language just isn't flexible enough for people to be able to build these things. The end result of all this is that no one's working together. You know how many times I've heard that quote? The fact that there's an I think in front of that is insane.
What do you mean I think we're all building the same thing? We should know if we're all building the same thing. It doesn't make any sense. Why are we doing this to ourselves? And we're doing it because we don't have good shared definitions.
So I was trying to figure out a couple of weeks ago, I'm scaffolding these slides, I'm trying to figure out how to end this talk. And then this thing happens and it kind of fits perfectly with the rest of the talk. . Booster coming in hot for booster touch. Booster FTS is saved.
. And I have 13 of those Raptor engines and this view is incredible right now. I can't wait for us to hear the sonic boom. We can see those chopsticks now. This is absolutely insane!
It's the first ever attempt we have successfully caught a super heavy booster. The villa has caught the booster. Ship avionics power plant phenomenal. Starship has entered the atmosphere. Those people share definitions.
All of them. They all agree on the same thing. And if you're Ethereum today, you can't do that. Ethereum can't land that. And I know every single person wants to experience what those people experience, but the reality is Ethereum today can't do it.
But we could, right? We could catch boosters. We could do it. Whatever. But we have to start working together to create shared definitions.
If we don't do this, it's never going to happen. So please join me. Try to help write the encyclopedia theory. We've got two definitions. We've got rollup and aardvark.
That's a really good start. And thank you. Please help formalize stuff. Scan the QR code. There's an empty GitHub repo.
I'll add aardvark to this later on. And I'll take any and all questions. Thank you very much. Much appreciated. .
. . That was a great talk, Calvin. Thanks. All right.
So we have some great questions over here. Let's go through the first one. Wow, very interesting. Is lasagna a layer, too? I mean, if your lasagna a layer, too?
I mean, if your lasagna has two layers, I don't think it's very good lasagna. Let's put it that way. Is a croissant a roll-up? Yeah, why not? I mean, might as well be.
You could ask someone on Twitter. They'd say, yeah. Can we see the rocket launch again? I feel like it might take up too much time, but I'll send you the video afterwards if you come to me. All right.
So I'm going to mark this as answered. What about croissant? Is that a rollup? Because we do have one vote over here. Which one?
Is a croissant a rollup? Yes. A croissant is a rollup. Yeah. What are some other terms and concepts that need defining?
That's a really good question. I think L2 is a hopeless term. So let's not bother with that one at first. But things like bridge is a really easy thing to define. The stages for rollups, right?
Stage 0, stage 1, stage 2. I think those things can be defined very, very well, and that would help a lot of people. And kind of just, I mean, honestly, at the end of the day, more than defining new terms, I'd like for the ecosystem to start throwing away terms and redefining things like sovereign roll-up or validium or whatever in terms of these simpler things that we can all agree on. Cool. And these questions, guys.
When will I be bleaching my hair again? I don't know. I mean, today, I guess. Why not? Great.
I'll bleach my hair today and I'll whatever. Why not? What are some other terms and concepts? We talked about that. Rollups don't use proofs.
Bridges use proofs. But rollups use bridges, right? Without a bridge, what distinguishes a rollup from a foreign chain? Well, all chains use bridges, right? The fact that we have bridges is not unique to rollups.
The unique thing about rollups is that it allows you to build a special type of bridge that has better security properties than if you just had two completely unrelated chains. But the fact that that's true doesn't mean that that bridge has to be built by the same people that built the rollup and it doesn't mean that you can only have one of these. You don't even have to have any of them if you don't want. Since rollups outsource consensus, does it mean that decentralizing the rollup doesn't make sense? This is kind of a contentious topic.
I would say that the correct answer here is that decentralizing the rollup means a different thing than it would on the layer one, because you have most of your security properties, even if you have a centralized block producer or a centralized sequencer, you don't lose liveness, right? Because you can do this special thing between the rollup and the parent chain, and you don't lose safety. And so this is generally why doing stuff like decentralizing the sequencer has been relatively low on the priority list of a lot of rollup teams, because you have very good security properties and you don't really lose much, except for this kind of short-term liveness. Now eventually short-term liveness will become the most critical part. But usually focusing time and effort on the bridges and making those bridges robust takes up more time for people.
All right. I guess we have a few more minutes for one more question. How does sharding fit into this? It's what I do on the toilet all day. How does sharding fit into this?
I don't know. This is such a confusing question. I could spend a whole minute working on it. I'm going to skip that one. Perfect.
All right, we can leave it there. Yeah, great. All right. Great. Thank you, Kevin.
Thank you, Kevin. Thank you.
Automatic transcript — names and jargon may be misspelled.