59 karma · joined November 29, 2019
Urbit provides foundational primitives at the operating system layer, serving as a better platform for building networked, decentralized applications.
Show me any other platform that allows one to easily build, distribute, and run long-running p2p services that communicate strongly typed data over the wire, or any strong decentralized identity system that can even begin to go toe-to-toe with Urbit.
I think you’re right about making it concrete instead of metaphorical
A public key infrastructure (PKI) is a system for binding a set of keys to a name. Sometimes a small amount of metadata is included.
Existing PKIs include PGP-style "web of trust", SSL certificates, ZeroTier, Keybase, OpenID, Mozilla Persona, and Login with Google. These take unique approaches to the problem and have achieved some degree of success, but none provide globally consistent, permanent, and completely self-owned identities. Exhaustive exploration and categorization is unfortunately out of scope for this post, so we'll just describe Urbit's approach to achieving these properties in our PKI.
In Urbit, a "name" is often called a "ship" or an "address" because we use the metadata in the PKI to make names routable. The total data is two 256-bit asymmetric keys, a cryptographic suite number (to allow changing crypto algorithms), the revision number of the key, and the name of a ship that will route for it. This sums to less than 128 bytes of data.
Each PKI trades off various properties. We chose a tripartite system so that appropriate choices can be made for different use cases. Here, we explore the various properties we chose by following a series of binary choices -- the idea maze.