Urbit is a decentralized network and operating system (OS). It features a virtual machine (VM), compiler, operating system (OS), network, web server, and core apps. Further, the clean-slate software stack has a low barrier to entry, and the user owns 100% of it. Also, it provides users with a singular interface that streamlines multiple applications and web services. Moreover, the modular tool set is customizable and promotes productivity and collaboration. Plus, the platform puts users in control of their data. So, if you’d like to know more and are wondering, “what is Urbit?” – read on!

In this article, we’re going to explore the Urbit software stack and address the question, “what is Urbit?”. Also, we’ll discuss Urbit OS, Urbit ID, and the highly customizable user interface.

What is Urbit?

So, what is Urbit? Urbit is a peer-to-peer network, operating system (OS), a solid-state interpreter (SSI), and it also provides personal servers. Plus, it aims to democratize the internet by empowering those who build and use decentralized applications (dapps) to control them. Furthermore, Urbit features a clean-slate software stack that’s simple enough for most developers to have complete control over. Additionally, it boasts an integrated toolset that enhances the development experience.

Blog - What is Urbit?

Urbit’s ergonomic, modular, and customizable productivity tools facilitate collaboration between developers while providing “a calm noninvasive communication tool for friends and families”. Moreover, the project comprises two core technologies: Urbit OS and Urbit ID. Both of them are open-source and MIT-licensed.

According to the Urbit whitepaper, the platform is a “nonpreemptive OS (Arvo), written in a strict, typed functional language (Hoon) which compiles itself to a combinator VM (Nock), drives an encrypted packet network (Ames) and defines a global version-control system (Clay)“.

Personal Server

The platform acts as an alternative to using several developer-hosted web services on multiple centralized servers. Instead, users can self-host applications on one unified personal server. Moreover, it works on the principle that people don’t run their own servers because of usability challenges associated with the administration of a Unix box on the public internet.

UI of Urbit.

According to the Urbit whitepaper, the platform serves as a “clean-slate personal server, with its own encrypted packet overlay network” that allows users to bypass the “outdated” and overly-complex Unix/internet combination. Instead, servers run on Linux while sending packets over the “User Datagram Protocol” (UDP). Moreover, the platform serves as an HTTP client, a personal API aggregator for organizing multiple accounts, and an HTTP server for personal publishing and identity management.

Learn more than just Urbit - Explore the Ethereum Dapp Programming course at Moralis Academy!
If you want to learn how to build dapps, check out the Ethereum Dapp Programming course. Here, we teach students how to build an NFT marketplace using Web3.js, MetaMask, Truffle, and Ganache. After completion, you’ll have the necessary skills to create your own Ethereum dapps and start building your Web3 development portfolio.

History

Three organizations forming the Urbit community currently manages the project. These organizations comprise the core development team, infrastructure operators, and governance nodes. Tlon is the primary development team associated with Urbit OS and accounts for approximately half of all current ID addresses. Urbit.live was established in 2018 to assist in on-ramping and contribute to the core codebase. Urbit Foundation’s inception occurred in 2021 to oversee funding and grant programs. It’s also responsible for maintaining various aspects of the network.

Localhost server UI from Urbit.

The project began in 2002 as an “independent Ph.D. study” aiming to revolutionize computing using network-centric methodologies. In 2008, “Nock” became fully operational. Shortly after the Nock launch, the “Hoon” programming language was up and running, making it much easier to write code. Then, in 2013, the first Urbit network was established using the Urbit OS kernel. Following this, Tlon was founded in 2014 to assist in Urbit’s development.

The first iteration of the Urbit web interface went live in 2015, and the first Urbit ID sale took place in 2016, selling out in just four hours. Furthermore, 2017 is when the first testnet became operational. The following year, Urbit.live began producing and selling Urbit IDs. Then, 2019 marked the creation of Urbit Foundation and the first Urbit assembly hosting.

Do you have a hard time keeping up with the latest Web3 lingo? Save our “Crypto Terminology” article for later to expand your Web3 vocabulary!

Urbit OS

Urbit OS is a software stack that features a virtual machine (VM), a kernel for running software, and the “Hoon” programming language that compiles to the “Nock” virtual machine (VM). It can run on the majority of cloud servers and works on most devices with an internet connection. Also, in a similar fashion to WebAssembly (WASM) and the Java virtual machine (JVM), Urbit OS is sealed from its parent system.

When addressing "what is Urbit?", we must look at the Urbit OS.

Every UrbitOS user runs their own Urbit OS node, known as an “urbit”. Each urbit is secure and private. Whenever a user wants to connect with others in the network, they connect that user’s urbit instead of using a centralized service or intermediary. Plus, users are in full control of their urbit at all times.

Most of our online interactions involve connecting our phones or laptops to a centralized service while giving away our privacy, data ownership, and control. However, Urbit OS aims to address this issue by giving users control over their online interactions and providing an alternative to the tech monopolies that dictate our online experiences. Moreover, Urbit takes care of the server side of things so that individuals don’t have to rely on these central authorities.

Learn how to make a Web3 website with Moralis’ Web3 website template, or check out one of Moralis Academy’s latest articles!

Architecture

The platform uses an “overlay OS” called “Nock” – a virtual machine. It allows the OS to compile down to 33 lines of code. Plus, Nock makes it easy for nodes to communicate and share data throughout the network in a decentralized manner. Also, the state of any given Urbit OS is a pure function of its event history. This is made simple, as each OS state is auditable and repeatable.

The platform also simplifies the development process for decentralized applications (dapps), as all nodes compute in the same manner using Urbit OS. Plus, every element of the Urbit OS stack can be upgraded directly on the network. As such, users need to perform little system administration. Furthermore, the platform features a self-hosting functional programming language that sits on top of the Nock VM. Nock also features a suite of kernel modules, including a filesystem, build system, secret storage, web server, terminal driver, and more.

Protocol governance is overseen by “galaxies” at the top of the sponsorship tree. Galaxies are responsible for generating the first set of Urbit IDs in the tree and upgrading the logic of the ID system via on-chain voting. In the future, the community can vote on proposals to make changes to other aspects of the platform and its underlying code.

Urbit ID

The second core technology in the Urbit architecture is Urbit ID. Urbit ID is an identity and authentication service that works harmoniously with Urbit OS. It serves as a decentralized addressing and public key infrastructure using a network of functional NFTs. Each time an Urbit OS user boots their system or logs into the platform, they do so using Urbit ID. Every Urbit ID is made up of a memorable name that comprises a four-syllable username, crypto wallet address, and network.

Furthermore, users have complete control over their ID. Each ID is registered on the blockchain, and users own a master “passkey”. As a result, it is completely decentralized. Also, there are two types of IDs. “Planets” are personal IDs, whereas “stars” are for community infrastructure building. Both IDs work similarly to crypto wallets. Moreover, the limited supply of IDs comes with a price tag, giving each holder “skin in the game” to reduce spam. In the future, the project will also introduce a private key for sending cryptocurrency transactions from the Urbit ID.

Additionally, an Urbit ID enables users to encrypt data packets before broadcasting them to the network. Currently, the Urbit ID registry is on Ethereum. However, it may support other blockchain and layer-2 networks as the project matures. Nonetheless, the team intends to eventually host the ID registry on a proprietary chain.

Moreover, the Urbit ID registry keeps a record of all transactions and balances while upholding address distribution rules. The distribution process for IDs uses a sponsorship tree model. Each sponsor can create a set number of ID addresses, making the process completely decentralized. Also, the sponsorship tree model is passive and requires little interaction. Users can switch sponsors at any time. Plus, parent nodes can reject their “children” if they act maliciously toward the network.

The User Interface

The platform provides a convenient, unified interface for all kinds of software and applications, which is open for anyone to join. The platform aims to allow users to control their software via the source code without friction. Plus, it enables users to design bespoke digital environments that suit their specific needs.

Logo of Urbit.

The first iteration of Urbit OS, “Landscape”, facilitates group communication and features the first complete user interface. Future versions will include additional features such as payment channels, biometric data, documents, and other communication tools. Plus, users are free to use their own client or individual components of the software stack.

The software stack was created to allow users to create custom interfaces regardless of their experience using the software. Furthermore, “Landscape” is a simple browser-based interface facilitating pseudonymous communications. It aims to address many of the common pitfalls associated with cloud computing services, such as navigating and managing multiple apps, surveillance, and siloed data.

Moreover, Landscape features two “building blocks”: “groups” and “modules”. Modules work just like apps, except they have no data lock-in. Essentially, they enable users to complete tasks. On the other hand, groups are interfaces for one or more people. For example, family members can use groups for sharing photos, or design teams can use groups for collaborating and communicating ideas.

Did your crypto portfolio take a hit because of the recent market downswing? If so, save our “How to Invest During a Crypto Bear Market” article to learn how to make the most out of market downturns!

An Introduction to Urbit – Summary 

Urbit aims to advance the adoption of Web3 by enhancing developer experiences and removing intermediaries from personal computing. It provides a unified interface for cloud computing that is modular and customizable. Plus, users retain ownership of their data and avoid using a single point of failure. The team wants to build a suite of technologies that are less invasive and easier to use than what’s available today. In turn, this could help to spur the adoption of blockchain and Web3.

Moreover, Urbit Foundation’s grants program is helping to nurture the next generation of free-thinkers and Web3 developers. It is also the primary distribution method for address space for developers. Currently, there are three types of grants available: proposals, apprenticeships, and bounties.

Proposals are the most common avenues for accessing grants, and the project considers proposals of all kinds. Furthermore, apprenticeships allow up-and-coming developers to contribute to the platform’s development while honing their skills. What’s more, apprenticeships often result in full-time employment. Additionally, bounty contracts incentivize community members to optimize the technology and iron out any kinks in the underlying code.

There has never been a better time to learn a new skill in an emerging field. Blockchain developers are in extremely high demand sector-wide. Becoming a blockchain developer can open up all kinds of career opportunities. Plus, as a blockchain developer, you’re likely to earn a handsome salary!

If you want to become a blockchain developer, be sure to check out the JavaScript Programming 101 course at Moralis Academy. This course teaches students how to build a decentralized exchange (DEX) on Ethereum from scratch. Join our community of over 60,000 students and take your first steps towards a life-changing career in Web3 development with Moralis Academy! Also, see our blockchain guides and Web3 ebooks to further expand your Web3 knowledge!