Urbit is a personal server architecture, comprising of a novel virtual machine (VM), programming language, operating system, and an address namespace system governed as an ERC-721 non-fungible token (NFT).
Urbit seeks to offer an alternative to the client-server model of many Web2 services such as GMail or Dropbox, where user data resides on centralized company servers, or to the difficulty of running a personal Unix server. Instead, Urbit offers users interoperability with the emerging Web3 technology stack and full control of personal data. This includes a full virtual machine, a functional programming language, and an operating system known as Arvo; the P2P network of Arvo instances comprise the Urbit network. These features are minimalistic in design and emphasize ownership of web activity by sovereign individuals; a primer on the motivations of Urbit is found here.
The current web has disjoint namespace systems, like IP and email addresses, which permit spam and other bad actors through a low cost of creating a new identity. Urbit, in contrast, deliberately makes identities scarce so to mitigate such behavior. Urbit makes identity scarce by defining the network in a hierarchical order:
- Galaxies: top level network infrastructure with a governance role for the Urbit network
- Stars: network infrastructure such as DNS, packet routing, and software updates for related Planets, typically run on an AWS or GCP instance
- Planets: individual humans
- Moons: clients, bots, or devices connected to a Planet
- Comets: unattached entities such as bots
Azimuth is the name of the Urbit address space governing this distribution. Each unique ERC-721 token represents an address of one of these types. Each address type can create a finite number of the type below; ie, each Star can create 2^32 related Planets. Planets can be transferred to different Stars, which can be transferred to different Galaxies. Secondary markets for Azimuth points, which are directly converted to Urbit addresses, are facilitated by platforms such as OpenSea or transacted P2P. Azimuth addresses were distributed gradually through a series of airdrops, developer rewards, and token sales beginning in 2010; a 2016 token sale sold 1,020 Urbit Stars for $256 each. The distribution of address space upon Azimuth’s Ethereum launch in 2019 is found here. Users can interact with Azimuth points and the related Solidity contracts through the Bridge tool.
In late 2017, Urbit decided to utilize the Ethereum blockchain to manage all Azimuth name spaces, requiring Ethereum’s network security and general purpose scripting functionality for managing address dependencies. The sole role of Ethereum is to manage the address space and the network does not interact with any computation or storage performed by the Urbit virtual machine. Prior to the development of Ethereum, Urbit tracked address ownership through a text file on Github and Tlon internal records. Further, Urbit leaves open the possibility that the address system will be migrated to another existing blockchain or an Urbit-specific blockchain in the future, depending on network security considerations.
Urbit was founded by computer scientist and political activist Curtis Yarvin in 2002, raised a $1.3m seed round from Peter Thiel and Andreessen Horowitz in 2013 after releasing a beta implementation, and released Urbit addresses as ERC-721 tokens in November 2018. Curtis Yarvin left the project in early 2019, and protocol development is managed by the corporate vehicle Tlon, which owns roughly half of all address space. Broadly, Urbit is an exceedingly complex attempt to re-architect many aspects of Web2 and utilizes blockchain technology for one key aspect.