In this article, we will talk about Urbit. A virtual person server to achieve digital sovereignty.
Table of Contents
What is Urbit?
In a nutshell, Urbit is a virtual city of cloud servers. These servers are sovereign digital space and computing for individuals.
In technical terms, Urbit is a global filesystem namespace where every directory is a Urbit server. It combines a programming language, OS, virtual machine, social network, and digital identity platform.
The Urbit project aims to solve the fragmented internet service architecture problem.
In todayโs world, users use multiple internet services (ex-, Gmail, Dropbox, Facebook, etc..). Jumping from one service to another, users lose control of their data.
Urbit solves this problem by providing a personal server that preserves your data in one place, allows you to interact, build general-purpose services, and integrate them with third-party internet services.
For exampleโโโCurrently, there are multiple places where people can publish content, such as Medium, Reddit, Facebook, Tumbler, etc. With Urbit, you can publish content through Urbitโs general-purpose publishing tool and then use 3rd party integration to publish those content on different platforms. This way, your original copy stored in your Urbit server, attached with your Urbit identity (Urbit ID).
Urbit does not have any coin or ICO, it only has Urbit IDs, which are simple NFT Tokens on Ethereum. In addition, Urbit also do not have a Blockchain.
History
Urbit has an interesting history. The idea of Urbit first conceived by Curtis Yarvin in 2002. He worked alone full-time on the project for the next 11 years, building a complete working POC 2013. Then, Yarvin co-founded a company named Tlon corporation in 2013 with Galen Wolfe-Pauly and John Burnham. Yarvin left the Urbit project in 2019.
Technical overview
Urbit is a new software stack designed to implement an encrypted P2P network of general-purpose personal servers. These personal servers are Unix-based deterministic machines called โUrbit.โ Much like a Docker or Kubernetes containers. Your personal server also called a Ship.
The current Urbit stack includes:
- Arvo: the Urbit OS, a functional operating system written in Hoon.
- Azimuth: the Urbit identity layer to enable the Urbit identity system, built on the Ethereum blockchain.
- Hoon: a strictly typed functional programming language whose standard library includes a Hoon-to-Nock compiler.
- Nock: a low-level combinator language whose formal specification fits readably on a t-shirt.
- Vere: a Nock interpreter and Unix-based virtual machine (Like JVM), which talks to the underlying Unix machine.
As Bitcoin keeps a log history of all the transactions you have done, Urbit keeps a log of every computation you ran on your Urbit OS. In every event, your personal Urbitโs state transitions to a new state. This is the Urbit transition function.
<input event, old state> -> <output actions, new state>
For example, if you type (mul 3 2)
; which is multiplying 3 and 2, it will return six and transition your OS to a new state because you ran a computation. This event will be saved into Urbitโs event log history.
If Bitcoin is Money, Urbit is the Land. Urbit created a general-purpose public-key infrastructure to maintain a public registry of Urbit identities(Urbit ID) to determine โwho owns whatโ. It uses Ethereum for this identity system, which is called Azimuth.
Urbit ID
Urbit OS is a standalone personal server. However, to create any network, we need some identity system. Urbit ID is your personal server id in Urbit global network (Ames). Using these IDs, people can interact with each other, form communities, create social networks, and enable different applications.
Each Urbit ID is just a number. From that number, it generates a pronounceable name and a visually identifiable sigil. ~nortex-ramnyd
is 3,395,880,614.
Like any other file system, Urbit is a hierarchical system. At the top of the hierarchy, there are ยฒโธ galaxies, where ~zod is the first galaxy with address 0.
Then there will be a total of 2ยนโถ possible stars under these galaxies. Check out the complete table below.
8 bits galaxy router ~syd
16 bits star router ~delsym
32 bits planet human ~mighex-forfem
64 bits moon device ~dabnev-nisseb-nomlec-sormug
128 bits comet bot ~satnet-rinsyr-silsec-navhut--bacnec-todmeb-harwen-fabtev
Urbit is completely is 100% pre-mined.
How to Run Urbit?
Now, letโs run Urbit in our local system. We will create a Comet, which is free identity space to use and access the Urbit network and apps.
If you want to buy Urbit planet or stars (Urbit IDs), check here or here. They are scarce and there will be only 2ยณยฒ (~4 Billion) Urbit IDs.
I am using a Ubuntu machine. If you are using any other operating system, you can follow the instructions here.
Install Urbit
Run the following commands to install and run Urbit.
curl -O https://bootstrap.urbit.org/urbit-v0.10.5-linux64.tgz
tar xzf urbit-v0.10.5-linux64.tgz
cd urbit-v0.10.5-linux64
$ ./urbit -c mycomet
It will download and install Urbit binaries and create a new Comet named mycomet
. Allow it some time to install and sync the network.
Once completed, open your browser and enter 127.0.0.1:8080
. It will open a login screen.
We need an access key, to get this access key type +code
in your Urbit server terminal. It will generate a key, enter that key in the login page, and press continue.
It will open current apps provided by the Urbit. Here you can chat with other users, publish content, and create a community like Reddit. Every event will be logged and saved in your Urbit server. Developers can build more apps and integrate them third party applications.
Wrapping Up
Urbit is a pretty interesting project aiming to provide digital sovereign spaces to individuals. As a developer, Urbit introduces you to multiple new technologies and programming languages. I also recommend you to checkout Urbitโs blog to learn about the philosophy and principles behind the project.ย
If you face any problem, hop on to Urbitโs discord. Itโs a small community so, people are nice.ย Also checkout Urbit Github and Urbit Twitter.