# What would it really mean to build a world computer?

- Channel: [ETHBerlin](https://streameth.org/ethberlin)
- Date: 2025-06-16
- Duration: 24:01
- Watch: https://streameth.org/watch/6852c1374ac43bf73d22588e

## Description

The original vision of Ethereum was — at least nominally — to build a ""world computer"". Before debating whether Ethereum has succeeded or failed in doing so, or even whether the attempt itself is worthy, we must ask ourselves the question: what is a world computer, and what would it really mean to build one?

## Transcript

And remember to scan the QR code. Good morning. Who here knows what a world computer is? Raise your hand. Well, if you already know what a world computer is, then I mean, I must confess that maybe you want to go to the other stage, like I don't know how much this talk is going to offer you. You're one step ahead of me. My name is Christopher. I work on a project called Anoma. A long time ago, I also worked on an early decentralized exchange protocol for Ethereum called Wyvern. Who's heard of Wyvern? Okay. Interesting. Just checking. So today I'm going to ask the question, what would it really mean to build a world computer? And I don't have a complete, total, mathematically formalized answer, but I've tried to do a little bit of reasoning. And that's what I want to share with you today. What am I going to talk about first? What is a world computer? The term reentered the Zeitgeist, at least the crypto Twitter Zeitgeist recently. And I did a little bit of historical digging with the help of Patrick from Anoma and also Gemini and all of human knowledge compressed into a large language model. So a lot of help and figured out a little bit of the history of this term, where it came from, when it was introduced, how it was used and what it meant. Then I want to talk about what it would mean to take this, and I think it's kind of the metaphor of a world computer, seriously. What kind of requirements on a distributed system, on a world computer, on something that purports to be a world computer, does this metaphor, does this understanding or presentation entail? Having attempted to clarify this, then I want to talk about how Ethereum could actually become a world computer, because as I'm going to argue, Ethereum isn't a world computer today, not as people understood the concept as it was proposed. I'll present one slightly opinionated path for getting there, but also present some other paths that you could consider. And I'll end with what I hope you might take away from this presentation. Where did the term world computer come from? I tried to do some historical bisection by examining a few documents. So if you remember, about 10 years ago, the Ethereum project got started, maybe a little bit more than that, and I looked through some of these early documents to figure out where this idea came from. I looked at the Ethereum launch video. Not there. I looked at the Ethereum, oh, sorry, I looked at the, oh, that first bullet is wrong. I looked at the Ethereum white paper. Not there. Looked at the Ethereum yellow paper. Not there either. But then the Ethereum launch video is titled Ethereum, the world computer. So this term was introduced somewhere in between. And thanks to the magic of modern technology, not around in 2015, I think we managed to identify exactly where it came from. Who listened to this podcast? It was episode 16 of the Future Thinkers podcast. This is like OG NFT material right here. Well, at timestamp five minutes and 22 seconds in episode 16 of the Future Thinkers podcast is at least the earliest mention on the internet of the term world computer that I was able to find. This podcast is an interview of Vitalik. And in it, he says, quote, originally it, referring to Ethereum, was just meant to be a decentralized platform for financial contracts. If you read, for example, the Bitcoin talk thread proposing Ethereum, that's what was discussed. But then he says, quote, one of our communications people, Vinay Gupta, describes it, Ethereum, as being, quote, the world computer. The idea is there exists this magic computer in the cloud and anyone can send programs to it, run programs on it. Those programs can talk to each other and you can trust that this computer will run the programs in the way that you specify them to run. Sounds great. They ran with that. The marketing worked pretty well. In the launch video, Ethereum pitched itself as Ethereum, colon, the world computer. And they talked about many things that Ethereum would be able to do, quote, how will the Internet work in the future? It will use Ethereum. Ethereum is a planetary scale computer powered by blockchain technology. Note this last sentence, because it doesn't say Ethereum, the blockchain is a world computer. It says Ethereum is a planetary scale computer powered by blockchain technology. This will become important later. Quote, Ethereum is the secure backbone for everything from e-commerce to the Internet of Things. Internet of Things, not really a popular dot that we think about these days in crypto. Maybe a little bit. Quote, Ethereum handles user authentication and secure payments for you, as well as messaging and even decentralized storage. This graphic is also a lovely picture, I think, of how people were thinking about this idea at that time. Unfortunately, I've never been able to find a super high resolution version, but many of you probably know it. So in this graphic, the blockchain is positioned at the center, but surrounding it are all of these kind of user interfaces to this system that includes swarm, whisper, storage, messaging, users sending messages to the EVM, some kind of local store, maybe caching things, et cetera, et cetera. Messages going all around the system. What do people want a world computer to do? Mostly, I think they want it to do the thing that Ethereum said it would do in the launch video. They want a magic computer in the cloud that can handle everything from e-commerce to the Internet of Things. In particular, there's a key aspect here of how this concept is described that I think maybe we have lost. That aspect is that a world computer is singular, not world computers, not 253 roll-ups. The launch video talks about one computer. Now, if we look at the discourse today, the term world computer is still there, but there's a kind of rhetorical sleight of hand that I think obscures this original truth. That is the following. In, say, crypto Twitter, when people say the world computer, what they kind of just mean now is the Ethereum blockchain, and maybe like some stuff associated with it, but it's vague what that is, and the whole system is not considered clearly from the perspective of a user. The problem is a blockchain isn't a magic computer in the cloud. It isn't the thing that was promised in this launch video. A blockchain is just a replicated state machine. It runs transactions. It verifies some proofs. It doesn't deal with any of the complex messaging of a distributed system. It's one replicated state machine. So saying that the blockchain is the world computer, it's a bit like saying that a single CPU core is a PC. You need a CPU to build a PC, but the CPU is not the PC. It's kind of like saying an engine is a car. You've lost sight of the whole system. And Ethereum understood this in 2015, but I think we've forgotten it. What happens if we take this metaphor seriously? We want exactly what was promised here. We want a magic cloud computer. Users should be able to send messages to and from it. It should be able to run arbitrary programs. Users should be able to trust, maybe asterisk what that means exactly, that those programs will run correctly in some way. And this magic cloud computer should be able to run everything from e-commerce to IoT, kind of unify it. So what we want to greatly simplify, I'm a big fan of diagrams with boxes and arrows, is some kind of abstraction that behaves like the circle at the center here as a magic world computer. And people can send messages to it, like Alice, Bob, Vitalik, Satoshi, wherever he, she, they, etc. are, can send messages to this magic world computer. And it behaves like something singular. Now, we also want to do a little bit of sleight of hand here, I would argue. But it's not a rhetorical sleight of hand, it's not marketing. It's a distributed system sleight of hand. Because this world computer doesn't physically exist in one physical location. If you pick a single location, you have to pick a single set of trust assumptions. You're always going to be limited by the fundamental physical physics constraint that you can only process so many messages in a single location. This doesn't work. The thing that we actually have is a big distributed system with a bunch of computers that are partially connected to one another. Like, maybe there's the WorldCoinSAR on HQ somewhere in San Francisco. There's that Hepster server that you forgot about, maybe in Munich. There's Vitalik's laptop. And then there's the poor BitcoinTalk.org server, which has really suffered over the years, but still there. Reality is messy. And we would like to abstract away that messiness. We want to make this distributed system behave as if it were a magical cloud computer. That's the real sleight of hand. So, again, to greatly simplify with some circles and lines, we want something that acts like a world computer, where the actual underlying system is really distributed. Not just consisting of many nodes replicating a single ledger, but consisting of many ledgers, peer-to-peer storage, all of these things that Ethereum talked about in 2015. But we want users to be able to behave users to be able to behave as if the system is one thing. As if it's this singular, logically unified, magic world computer. Even though it's actually this. So what do we need to make this mapping work? We need some kind of protocol, here in green. What makes this a real world computer? I would argue two fundamental things. First, logical centrality. That the user and developers can program and reason about it as if it were one machine. Second, that it actually abstracts the capabilities of the underlying distributed system correctly. That allows users, for example, to reason about the trust affirmations they're making, who they're disclosing information to, etc. And gives programmers and users power over this. That it abstracts the right things. So a few things that aren't world computers, under this definition. Motorola 6502, not a world computer. Ethereum Layer 1, itself, not a world computer. Doesn't give you the actual power over the distributed system that you want. Ethereum Layer 1 plus Rollups, there's a distributed system there, but there's no logical centrality. Users and developers can't treat it as if it were one thing. Solana, etc. Not world computers. How could Ethereum get there? I'm going to present two directions. The first is a slightly opinionated path, talking about Enoma, the project that I work on, because I know what that would mean for Ethereum. And I'm also going to talk about other paths. You don't have to take that path. So, I have a small confession to make. Enoma did not set out to build a world computer at all. In fact, I thought the term was just nonsense marketing until recently. We set out to build alternative economic systems and some kind of generalized intent protocol. And we stumbled into a set of abstractions that looks like a world computer, backwards and at least metaphorically, drunk. To me, what I take away from this is you do not find good abstractions, they find you. So, in the Enoma path, how Enoma could help Ethereum get to this world computer would be to gradually upgrade the Ethereum ecosystem to a new state architecture. In the Enoma state architecture, the basic unit of state is called a resource, kind of like an immutable object. And there are two things that are important about resources. The first thing is that they're distributed. They're distributed around many ledgers, not just on one ledger. The second thing is that they are small. Contrast, for example, to smart contracts. Smart contracts are really big. They have lots of state packaged with lots of code. Resources are really small. In Enoma, resources can be programmed with higher level objects and intents. And what we're trying to provide that we think may be interesting to Ethereum is for the state of an application to be distributed but for that application to behave as if it were a single object from the perspective of the user. What does this mean? Well, it means that we're trying to provide the thing that I described in the diagram before. That users can interact with an actual distributed system with lots of stuff, lots of state, lots of objects, lots of different trust assumptions distributed around in a complex way but they can model the interactions with their applications as if they were interacting with one thing. That's the sleight of hand that we want the protocol to give you. So, that sounds pretty abstract. Let's walk through a specific example and I'm going to use everyone's favorite or least favorite example of a fungible token which we sometimes call kudos. In this example, I'm going to simplify that fungible token down to its very essence with just two methods. One, you should be able to transfer tokens from an account to an account in some amount with a signature and two, you should be able to query your balance. And we want this to behave as if it were one object even when the state is actually distributed. We want an interface that looks like this. Somehow we want to map between these two things. We want the user to be able to interact with it as if it's a single object but the actual state, let's say here the yellow is the Ethereum layer one the blue is a roll-up like optimism or something the actual state of the application includes lots of resources which are distributed all around the place may not even share the same trust assumptions. So, how do we decompose this object interface into this kind of distributed state interaction? Let's look at the transfer command. So, we want the user to be able to send a message in some way. Sending a message here doesn't mean send a message to the blockchain exactly it means send a message translated through a set of abstractions which is going to turn it into many messages. So, when the user transfers how do we make this actual state behave as if it were all part of a single object? Well, first we need to go find a bunch of kudos resources. So, this is some kind of distributed query. For example, if we're transferring 8, I would go find the 5 resource, the 3 resource. If I'm transferring 14, I need to pick up resources from multiple different ledgers here, yellow and blue. Then we destroy these resources and create new resources for the recipient. This might involve multiple transactions. It's not actually atomic. But from the perspective of the user, because the user controls the state, you can send the message that some processing will happen if anything happens in between. Since you control the state, we can just roll it back. It has this, from the outside it behaves like a single object. How do we query balance so the application behaves as if it were one object? Well, we simply find all the kudos resources, some kind of distributed query, sum them up, and return the sum to the user. Now, there's no magic here. Different ledgers, different parts of the distributed system might not be available at the same time. The balanced query cannot query unavailable locations. You cannot atomically send more than you have in one place. You can aggregate with rollback, like I mentioned for a transfer, but there's a clear abstraction. The user only has to think about a very simple kind of application, a single object. In the design of Enoma, applications all live in this virtual world computer. They expose this kind of logically unified interface. Developers and compilers make some decisions about the actual distributed messaging, but we can check, including eventually mechanically, that this logically unified interface is preserved. So, well, Ethereum looks a little bit more like this right now. How can we get there? We plan to offer Enoma as an opt-in, quote, world computer upgrade to Ethereum. You can read a little bit more about this on ETH Research. This includes three components. One, protocol adapters, which is a smart contract that kind of virtualizes the Enoma state architecture on the Ethereum main chain and layer 2s. Two, Enoma nodes, which can be run as sidecars. And three, interoperation between the EVM and the resource machine. If you're interested in that, Michael is somewhere in the audience, and you can find him. So, that's the end of the opinionated bit of this presentation. Enoma makes some decisions you may or may not want to make. Many are reasonably waiting to see when we ever ship. Two other paths I want to present here. First, rework the EVM. Second, something else entirely. Rework the EVM. So, if you want to provide a single world computer interface to the whole Ethereum ecosystem, to the whole distributed system, you could try to upgrade, and it would be a big upgrade, the EVM. Maybe make EVM2, World Computer Edition. What would this need to do? Well, the fundamental unit of state in the EVM is the smart contract. So, you would need to add ways for smart contracts to control their movement, to control how they move around the system. You would need to add asynchronous message calls, which can be executed cross-chain. You would need to add historical access or some kind of sophisticated indexing to read-only functions, which would now be compiled to distributed queries. You know, kind of what I talked about in the examples in the previous slides, but with the EVM, I'm not an EVM expert. I haven't thought through this in great detail, so there's probably more things that you would need to do, but I think that it is possible. You could try to upgrade the EVM to work across this distributed system. It's kind of like, it's a little bit like heterogeneous trust sharding. Or you could do something else entirely. I hear RISC-V is popular these days. You could build a new layer that does these same kinds of distributed abstractions. You could hope a layer 2 does the work, then copy the tech or buy them out. You could just buy Vitalik a really, really, really beefy laptop and accept one trust assumption. You know, there are worse things. Takeaways. For me, the question is, is World Computer a marketing slogan, or is it a meaningful promise about a distributed system? That's up to you. That's up to Ethereum. And you don't have to use Anoma. Anoma makes some decisions you may or may not want to make, but if Ethereum wants to become a world computer, we must take this problem seriously. Thank you. Hello. Great. Thank you. I think that's interesting and very relevant to discuss. We do have three questions. I think we'll just do all of them. The first one, is Anoma's narrative distinctive enough? That's the question. Is Anoma's narrative distinctive enough? Don't ask me. Yeah, maybe not my area of expertise. I mean, we're interested in, I don't know, in some sense, helping fulfill the original vision of Ethereum. So, is that narrative distinctive enough? Yeah, that's up to you. Fair enough. All right. Next one, do you think Anoma is our best shot at this world computer? What do you potentially think of, like, alternatives such as DarkFi and Logos, who are also trying to do something similar, I think? Those are both awesome projects. I think there should be many more attempts. I do think that, like, taking the question of how exactly you provide logical centrality in this abstraction seriously is really important. Like, just building a more scalable blockchain doesn't solve this problem, in my opinion. So, there are some fine distinctions, but I hope that there are even more attempts. I think there are too few serious attempts. I would agree with that. Last one, what parts of this world computer do we actually have? CPU cores, what else do we need? Could we provide parallels with blockchain and computer internals, like memory for data availability? Yeah, yeah, yeah. That's a great question. I think some metaphors that are useful to investigate here, you know, CPUs kind of like blockchains, like cores, they provide ordering, do some computation. The metaphor is not exact, you know, but you also have computation happening elsewhere, but the central thing that a CPU core does is, you know, orders things. The central thing that a blockchain does is order things such that it behaves as if it were serializable, right? Then maybe data availability is kind of like memory, you know, something like Filecoin or Arweave, kind of like a hard drive, but you can also just have, you know, specific, you can trust specific nodes to store things. You don't necessarily need to, you know, a lot of these protocols try to completely abstract away the trust assumptions, and I think that this is, you know, yeah, not necessarily what you need. Another metaphor that I think Ethereum originally really took seriously, that we have forgotten a little bit, is the idea of a virtual desktop. Like, to your computer, you have a desktop, it gives you a view. If you've used multi-user systems, you know, different users have desktops. You know, Ethereum, like, missed years and years ago, with kind of an attempt at this, and I think we've sort of gotten a little bit lost, and every dApp is a separate website, right? Like, there isn't this unified user interface, so I'd love to see some investigation of that. Yeah, I agree. I think the idea of MIST going back, like, seeing if we can do it in a different way or a better way would be a very interesting project. I think we have time for the last two questions. I think I answered this one a little bit, but let's do it anyway. What is missing to run this world computer in a decentralized way? That was a little bit of what you just said. What is missing to run this world computer in a decentralized way? I would maybe quibble slightly with the terminology in that, to me, distributed is the most important abstraction here. Which parts of the world computer are more centralized or decentralized is just up to the configuration of the user. Like, of course, there are many nodes. That's, in some sense, decentralized, but for some applications, you know, if I'm, I don't know, trading small amounts of credits with my and we're paying for each other's lunches, I don't actually need a giant decentralized validator set to secure that. Just some local consensus would probably be fine. Mostly, I think, like, the right sets of abstractions, especially heterogeneous trust, peer-to-peer systems, those are really tricky, and frankly, just not a lot of effort is being devoted to investigating them at the moment. For sure. All right. Last one. How much does, I think it says, local first apps and P2P messaging becoming the norm playing to the world computer vision? I think it's essential for at least the kind of abstraction I'm talking about here. You know, we want a world computer that also works when you're not connected to the global internet, right? So if I'm, you know, just hanging out in, I don't know, say that we ran LAN purely for this conference, disconnected from the global internet, we should be able to pay each other, use our chat apps, do our other things, just send messages around P2P and Wi-Fi, you know, maybe some of those things get settled or later transferred to other parts of the world computer when we reconnect to it, but if there's a world computer that goes offline as soon as you're not connected to everyone else on the internet, this is not so useful, right? What we want is the abstraction, not for it literally to be the one world government in terms of power structures. For sure. All right. Thank you very much. It was amazing.
