August 2023

Uqbar and the Urbit Ecosystem

arrow pointi

One of the most interesting and unique crypto-adjacent projects right now is Urbit. The project has a devout group of supporters that is unlike anything we have seen since the early days of Ethereum. Urbit is not itself a blockchain venture and the project pre-dates Bitcoin.

It is a peer-to-peer networking and operating system that aims to replace how the Internet operates. In July, the Digital Asset Funds invested in Uqbar, a blockchain network that is built on the Urbit operating system. Uqbar combines the power of blockchain computing with p2p networking to create a smart contract platform that offers developers unparalleled power, security, and flexibility. This month we are going to dive into all things Urbit and Uqbar. We will explain what Urbit is, why it is needed and how Uqbar is the missing piece of the Urbit ecosystem.

An Introduction to Urbit

Central to the philosophy of web3 is the idea that applications should be decentralized (no single point of failure) and permissionless (anyone with an Internet connection should be able to access). As an industry, we have so far failed to produce systems that deliver both. Today’s “decentralized” applications rely on servers run by large tech corporations like Amazon, Microsoft, and Google. These corporations govern access to our apps, services, and data. There is a need for an alternative.

At its core, Urbit is a personal server. More specifically, it is an operating system and peer-to-peer network that is owned by its users. The OS can run on any cloud server, most laptops, and many phones. If you have access to Unix and an internet connection, you can run a node and access the peer-to-peer web. Under the hood, the Urbit software stack is compact enough that an individual developer can understand and control it completely. It is a single integrated tool that developers can trust, control, and extend to their liking.

Today, blockchain developers must sort through a myriad of software, both centralized and decentralized, to build applications. Urbit provides a unified environment that abstracts all the pieces of a computer we require like authentication, networking, identity, database, software distribution and versioning. This all runs off-the-shelf as part of Urbit’s two components:

  • Urbit OS – A software stack that includes a virtual machine, programming language (Hoon) and kernel designed to run software for an individual. On Urbit, everyone has their own node (called an “urbit”). When you connect with others on Urbit, you do so directly with their node, rather than through a centralized service.

    At its core, Urbit OS is a new layer for personal computing in the cloud. Urbit OS attempts to individualize the web in the same way that PCs individualized computers. It was not until the 1980s that we all had our own computers; perhaps the 2020s will mark the beginning of self-hosted web applications.
  • Urbit ID – A username, network address and crypto wallet all in one. Urbit IDs are used to authenticate users as they log into Urbit OS. The Urbit IDs are cryptographic property (the Urbit ID registry is deployed to Ethereum). While the long-term plan is for the registry to be hosted by Urbit OS itself, Ethereum provides a working solution for the enforcement of address distribution and authentication.

Urbit IDs are distributed by a sponsorship tree which involves:

  • 28 (256) galaxies, which issue
  • 216 (65k) stars, which can then issue
  • 216 planets, making for 232 (4bn) planets
  • (Planets can also issue 232 moons that have limited functionality)

In this sponsorship tree, planets represent a user’s Urbit ID. The upper limit on planets (4bn) adds scarcity to the ecosystem which ensures a level of spam protection.

The State of Urbit

Urbit has been in development for many years and while Urbit OS and Urbit ID provide a great software stack for p2p computing, it is not easily accessible for all. This led to the development of Landscape, a browser-based interface to get started on Urbit, and Portal a discovery portal for applications.

The current developer community has already shipped dozens of applications though they only scratch the surface of Urbit’s potential. One interesting idea is a “self-hosted Uniswap.” dApps like Uniswap are meant to be decentralized and permissionless, yet the frontend UI and user interactions with the smart contracts rely on centralized servers. In response, Urbit developer AJ LaMarc (~larryx-woldyr) built a self-hosted Uniswap UI (in addition to UIs for Osmosis and Gnosis Safe). While a great start, it is only a UI as Urbit does not have a value transfer and execution layer. The self-hosted UI still relies on Ethereum and centralized peripheral components like MetaMask or other wallets.

For truly decentralized, self-hosted applications, Urbit needs its own value transfer and execution layer. This is what Uqbar is building.

Introducing Uqbar

Uqbar is a blockchain network built on the Urbit operating system. It is a hybrid zero knowledge (“zk”) optimistic rollup that settles to Ethereum. The network combines the power of blockchain computing with p2p networking to create a smart contract platform that offers developers unparalleled power, security, and flexibility.

Traditional blockchains have several limitations. Middleware solutions are fragmented, versioning is a challenge and networks are more censorable than we would like to think. Blockchains are incapable of reasoning about anything other than internal state. Middleware solutions like oracles are needed to allow blockchains to reason about events and data occurring off-chain. For developers, this means having to familiarize themselves with the oracle and other non-uniform middleware solutions to build in a secure manner. It makes for a messy developer experience. On Urbit, everything is unified. Urbit applications are subtrees of the state tree. As Uqbar lives on Urbit OS, it is also a part of Urbit’s state. This allows Uqbar, the blockchain, to have at its full disposal a full operating system stack. Hence, if there is a crypto price app on Urbit, a DEX on Uqbar can trustlessly and permissionlessly pull price data.

Blockchains need to achieve consensus to change what version nodes follow. All nodes must upgrade together to avoid forking the chain. Since Urbit is a p2p environment with built-in identity, versioning becomes less of an issue. Users can send and receive data with only one signature. This also means developers are easily able to ship different versions of applications and send the different versions to different IDs. There is no need for an expensive quorum.

In principle, blockchains are trustless, permissionless and censorship resistant. In practice, most users interact with the blockchain through nodes run on AWS or Infura. There is commonly a centralized third party that relays transactions from a user to the blockchain which opens the possibility for censorship. Urbit, as a truly p2p, self-hosted network, is uncensorable. Truly decentralized applications on Uqbar can fulfil one of blockchain’s most important goals.

Applications on Uqbar

Uqbar fuses the trusted settlement of Ethereum with the decentralization, security, and interoperability benefits of a full-scale p2p network. This opens a multitude of novel use cases such as:

  • DAO tooling – DAO members will be able to spawn Urbit desktops with pre-installed applications, specific to that DAO (like governance voting apps) or leverage crypto-integrated p2p chat and social networking (using Pongo, for example).
  • NFTs – Current NFTs live on blockchains alone. NFTs created on Uqbar can be used across the spectrum of Urbit applications wherever Urbit IDs can be authenticated. This enables possible opportunities for things like gated online shopping experiences.
  • Social media – DAOs and other communities that form on Uqbar can leverage Urbit’s ID system to communicate natively with each other in a decentralized manner.
  • Gaming – Game developers will be able to leverage off-chain NFTs and crypto-integrated p2p chat for unique gaming experiences.

The Uqbar team has also already released a few basic applications on testnet, including Pokur (a Texas Hold’em dApp), Pongo (a p2p chat client), Handshake (a QR dApp for events) and the Uqbar AMM – which is a classic automated market maker, similar to Uniswap.

The Uqbar team sees the real “killer app” being crypto-integrated p2p chat and social networking using Pongo. On Pongo, users can send cryptocurrency payments, play blockchain games and surf Urbit through a simple, unified interface using a single identity and login. As a result, the two primary use cases that Uqbar is targeting are gaming and DAOs.

Summary

Urbit is a solution to the limitations of the Internet. It has redesigned the web from the ground up in a way that makes it decentralized and permissionless. Every user stores their own data and runs their own instance of applications on their own “urbits”. By doing so, Urbit lays the foundation for p2p networked applications that can compete with services provided by the leading tech companies in the Web2 world. It is gaining traction and enthusiasm that resembles the early days of Ethereum.

Uqbar is a solution to the limitations of Urbit. The Uqbar team is made up of the best Urbit developers that understand the complexities of Urbit and how to ship Urbit applications. It is the most advanced crypto project on Urbit and at the same time is connected to the Ethereum ecosystem. It will enable novel use cases in DAOs, NFTs, social media and gaming, and is being backed by strong investors from the likes of CoinFund, Delphi Digital and Chorus One.

At CMCC Global, we are thrilled to be investors in Uqbar through our Digital Asset Funds. We anticipate increasing developer mindshare to be focused on the Urbit ecosystem, with Uqbar acting as a core piece of infrastructure for application builders. We look forward to supporting the team as they release unique applications and onboard new developers to the Urbit ecosystem. The next iteration of the Internet is coming and we are excited to have a front row seat in its creation.

blocks