World is the “framework” part of MUD. It is a specific pattern for writing on-chain applications that bundle together:
When using the World framework, all the state and logic of the application is centralized in a single contract — the World contract. The World takes care of mediating writes to the Store depending on who requests them, and routes function-calls to their respective systems which then read and write to the Store on the World.
In its role as a router and as a centralized storage for state, the World is similar to a Diamond or a Proxy. The main difference between these patterns and the World framework is that the World allows for permissionlessly registering new logic and tables (=state) on the World. This is in contrast with Diamond and Proxy that require an admin in order to permission adding and upgrading logic.
Given Worlds have storage access management for Store, they can relax that requirement and let anyone add new logic and new tables to the application without introducing security risks.
This makes it possible for multiple actors — that do not necessarily trust each other — to build on the same Store and allow for interoperability across their tables and systems.
Of course this could have been done across multiple contracts, just like DeFi contract A can transfer an ERC-20 balance of DeFi contract B if it has been approved. However, by centralizing the state under a single contract and enforcing a standardized access control mechanism, the World framework makes it possible to build much better tools and frontend libraries to know about the entire state of the World.
Worlds are decentralized, truly permissionless, and extensible on-chain environments built on top of an Ethereum blockchain. They allow multiple participants, including developers and users, to collaborate and build applications with shared logic and state while maintaining a high level of interoperability and modularity. Worlds remove the distinction between first party and third party developer.
The concept of a community computer is inspired by the idea of a shared computing environment where users can contribute and access resources. In the case of the World framework, these resources are the shared Store, Systems, and Modules that form the basis of a on-chain application. In a way, Worlds are on-chain community computers.
Key aspects of the World as a community computer include: