How to Improve Urbit With Federated Side-Chains
I have recently become very interested in a project that seems geeky and niche enough today but may become widespread in the future if successful. Urbit is now what Bitcoin was in 2009-2012: obscure, nerdy, cultish.
At first, I dismissed the project entirely based on their non-binding relationship with that other blockchain. When I looked at it another time, after some of my bitcoin friends had urged me to do so, I saw that the people behind Urbit had picked what they thought was the best option available to them at the time for a specific component of the system that did not affect its core functionality. In short, it can and, most likely, will be redone.
In this article, I would like to explore how my familiarity with some second-layer bitcoin technologies and the current understanding of Urbit itself may benefit the project. I would like to point out that I am more technical than an average user but a lot less so than an actual software engineer. Apologies in advance for any misuse of terms.
But first, what is Urbit?
A Sovereign Computer
Let us refer to the official website.
"Urbit is a new OS and peer-to-peer network that’s simple by design, built to last forever, and 100% owned by its users. Under the hood, Urbit is a clean-slate software stack compact enough that an individual developer can understand and control it completely."—Understanding Urbit
In short, Urbit is an attempt to reimagine computing as we know it, an operating system built from scratch down to the base layer. To the end user, it is a personal cloud computer that can be run on a local machine or a virtual private server (VPS). Its unique selling propositions are:
- Completely open-source, driven by a community and emerging for-profit entities
- You have 100% control over your data
- Decentralized architecture
There have been multiple attempts at redesigning the Internet. Urbit, however, aims to achieve more than that. Starting as a collaboration tool and growing into community-building software, its main purpose is to reshape our thinking when it comes to our interactions with others.
When you own your digital ID and have full control over who has access to your data, as opposed to the current centralized Internet model that benefits corporate service providers, your online behaviour starts to change. Suddenly, you understand the power that such control gives you. Like holding the private key to your bitcoin provides you with unprecedented financial liberty, owning your Urbit ID and data outright liberates your online activities from the ever-reaching tentacles of State and Megacorp power.
It will take some time to really understand Urbit, and I am still educating myself, but your learning can be greatly facilitated by the official website. Go through all the introductory posts and then the blog posts—you will not regret.
Why did I dismiss the project at first?
The Challenges of the Sovereign Identity
My knee-jerk reaction to dismiss Urbit was due to one of its components being attached to another blockchain that supposedly competes with bitcoin. It is not my place to discuss the false promises of bitcoin "competitors" as it has been done many times before. But my involvement in the industry made me wonder whether there is a better solution to the problem. What is the problem?
Like Bitcoin, Urbit uses public key cryptography to secure access to data. But if in the former your private key allows you to spend money, in the latter it unlocks all your digital life. It is called Urbit ID, your sovereign identity and a "universal passport" in the Urbit universe.
"Urbit ID is a decentralized addressing and public key infrastructure designed for Urbit OS."—Understanding Urbit
Each Urbit ID is unique and can be owned only by one person or entity. Besides bitcoin, Urbit is the only promising project that attempts to create another type of digitally scarce good: the number of IDs is limited from the beginning.
"Urbit IDs are distributed by a sponsorship tree. At the top of the tree are 28 (256) galaxies. Each galaxy issues 28 stars, making a total of 216 (65K). Stars then each can issue 216 planets, making for 232 (~4B). As you might expect, each planet issues 232 moons."—Understanding Urbit
I will not be defending or challenging the economics of this system here. Time will tell whether it is a feasible approach or whether bitcoin is the only asset that can enjoy digital scarcity. The following, however, can be said: at the top of the hierarchy tree are 256 galaxies. These galaxies (rather, the entities that control them) represent the voting power in a federation-style network. To me, this number is large enough to make the network sufficiently decentralized. Right now, they are concentrated in a few hands (the founders and early investors), but the goal and incentive is to distribute the galaxies far and wide. Moreover, as the project is completely open-source, it can always be forked into a separate instance, or some galaxies may decide to secede from the network should nefarious elements attempt a hostile takeover. With these checks and balances, a federation is a quite an acceptable form of governance.
The issue lies in Urbit ID using a blockchain that is neither bitcoin itself, nor something under the control of the network. The choice was understandable at the time: the uniqueness of each ID required an ability to issue distinctive cryptographic tokens that users could hold on to forever. The technical term is non-fungible tokens or NFTs. The blockchain in question was the only one dealing with such novelty, although in a somewhat retarded use-case. Joined by many, I do not believe in the slightest in the long-term success of this "bitcoin killer" nor do I think it was launched to do so. Rather, it is a clever marketing ruse for technically illiterate people to give up their precious bitcoins in exchange for useless tokens. Such things, as known, may last for decades. Therein lies the problem: the Urbit namespace is attached to a scam.
However, what inspired me was this:
"...someday we’d like it [Urbit ID] to be hosted by Urbit OS itself."—Understanding Urbit
If 1) things at Urbit are not set in stone, and 2) there exists a solution designed specifically for federation-style networks, is there a way for the former to use the elements of the latter? Pun intended as you will see shortly.
Merging the Elements
Those familiar with my professional work, know that I am involved in popularizing the Liquid network, a side-chain of bitcoin that aims to increase efficiency and privacy in a business-to-business setting. In Liquid: The Digital Galt's Gulch, I laid out what Liquid is, its advantages, my reservations and the way I see it develop long-term.
The focus of this article, however, is Elements, the side-chain technology stack behind Liquid. You see, the Liquid network is the first successful implementation of the Elements project which already runs in production and is integrated by leading bitcoin businesses. However, anybody can start their own bitcoin side-chain should they find a unique use-case for it. If Urbit were looking for a system to migrate their namespace and integrate additional functionality, I believe Elements would fit the bill.
Below, I will describe Elements' major components and the way they may serve Urbit.
The Federation
The governance structure of the first implementation of the Elements project, Liquid, is a federation. Because of the current limitations of the bitcoin multi-signature technology the number of members with real power (that is, the power of approving or blocking transactions on the network) is currently fifteen. These are called functionaries. To make things more secure, Blockstream, the company behind Elements, supplied the functionaries with hardware secure modules (HSMs) that are essentially computers that process transactions and enforce network rules. These nodes are dispersed geographically hosted by the fifteen independent bitcoin businesses. Additionally, there exist so-called pseudo-functionaries that are other members of the Liquid network. They do not run HSMs but are still able to perform certain functions that regular users cannot. Particularly, they can peg out bitcoin from the network to the main chain as well as apply for board seats in the Liquid Federation, the governing body of the network.
As I argued in my article on Liquid, I do not believe that fifteen members are enough to make the Federation sufficiently resilient. However, a technical solution is coming to Elements. It is called Dynamic Federations, or DynaFed. DynaFed will allow to increase the number of Federation members with real power dramatically as well as make such membership more dynamic (right now, changing this structure requires a hard-fork).
Urbit itself is a federation. The senate-like governing body is represented by 256 galaxies run by independent entities.
"Third, governance: galaxies (the top of the sponsorship tree) form a senate that can upgrade the logic of the Urbit ID system by majority vote. We think Urbit ID will last for quite a long time, but if it ever needs to be updated, the galaxies can vote to approve, reject, or propose changes to the contracts. Code may be law, but ultimately we acknowledge that human judgment can’t be factored out."—Understanding Urbit
The similarity here is quite obvious. If each galaxy acted as a functionary by running an Elements node (HSM or not), forked and modified for its purposes, then Urbit would have its own bitcoin side-chain under the control of the Federation. The dependence on a slow and clunky blockchain centrally run by shady individuals will cease, and the project will have its own network pegged directly to bitcoin. With that, come ready the features that the Urbit digital country will surely find useful.
The Namespace
Urbit ID is the main reason the project had to pick another blockchain, as mentioned above. Its namespace consists of unique IDs represented by NFTs. It is quite convenient, therefore, that Elements comes with an ability to issue tokens out of the box. No complex smart contracts, no coding required. A simple command allows users to issue both fungible and non-fungible native tokens. The whole Urbit ID namespace can be run on the network that is completely under the control of the Urbit Federation.
Bitcoin
An Elements network can be run as a standalone blockchain or as a bitcoin side-chain as is the case with Liquid.
By running its own bitcoin side-chain, Urbit can take advantage of the following features:
- Fast transfers: One-minute block times allow for bitcoin pegged to the side-chain (let us call it Urbit BTC or U-BTC) to be transacted in a fast and efficient way. No need to wait for slow confirmations on the main chain.
- Lower fees: While the side-chain does not have miners, it also imposes transaction fees to prevent spam on the network. Those fees, however, are more affordable. In a recent update, minimum transaction fees have been reduced to 0.1 sat/vbyte. And this can be done again, if economically viable. Transaction fees can also be an additional source of revenue for the federation or the foundation.
- Confidential transactions: By default, all transfers within the side-chain hide the amounts sent. This provides privacy benefits to urbiters as no outside observer will be able to tell how much U-BTC is being moved on the network on a daily basis.
An intra-urbit economy can thus form backed by the hardest money on earth—bitcoin.
Business
Urbit-only businesses may take advantage of another native feature of Elements: asset issuance. As mentioned, with a simple command, one can issue tokens that may represent anything.
The lowest-hanging fruit is, of course, equity. If Urbit is a digital country, does it not deserve "national" companies able to issue their stock that can be acquired by citizens? Tlon itself, Urbit's infrastructure development enterprise, might one day become a publicly-traded company with urbiters owning some of its equity.
Other company-specific use-cases, such as digital gift cards, may become popular, too. Of course, one cannot escape abuse of such a system by fraudsters. This is why the problem of reputation is an important one within the Urbit community, which Urbit ID is designed to solve.
Extras
Besides the features that pertain to Elements, there are projects that are built for the Liquid network specifically. These pieces of software are operational today and are open-source. Just like the side-chain technology itself, they can be forked and adapted to the Urbit use-case.
- Green wallet: An actively developed wallet by Blockstream that supports both bitcoin onchain and the Liquid network. Swap Liquid for the Urbit side-chain, and you get a fully functional ready-to-go wallet that can send and receive U-BTC and issued assets. Urbiters can have their own bitcoin wallet today!
- The Liquid Swap Tool: The swap tool is a utility that allows two parties to exchange Liquid-based assets in a trustless manner via atomic swaps. Again, fork it, adapt to Urbit, and you have software that allows for an exciting over-the-counter market for bitcoin, forex and securities—all natively in Urbitland!
Summary
In this article, I have described a way to not only move Urbit's namespace system to the Federation's control but also acquire a set of additional features as a result of such a transition.
I must admit that, while excited about such prospects, I lack the necessary knowledge to understand whether such an integration is technically feasible. Thus, I leave the in-depth technical discussion, should one arise, to the Urbit development community.
Bitcoin is the sound money of our digital world. The side-chain technology allows for the creation of federated networks on top of (or rather adjacent to) bitcoin. Urbit is reinventing the way we interact with computers and the Internet. The potential of the three combined already blows my mind. And I have only scratched the surface. The vast societal changes that these technologies are poised to unleash may reshape the way we live on this planet for many centuries to come. Watching them in their nascency and taking part in their establishment is an enormous privilege that makes me happy to have been born exactly in this age and time.
Fire up your bitcoin node, launch your Urbit ship and enjoy the trip to the moon and beyond!