on master help sign in
Various fixes and improvements.
3473a3dC. Guy Yarvin
main/posts/address-space.md+91−67
@@ -4,7 +4,7 @@ type: post
4title: Address space
4title: Address space
5author: Galen Wolfe-Pauly + Curtis Yarvin
5author: Galen Wolfe-Pauly + Curtis Yarvin
6image: http://urbit.s3.amazonaws.com/16-3-10/blog-3.jpg
6image: http://urbit.s3.amazonaws.com/16-3-10/blog-3.jpg
7−preview: An overview of the Urbit address-space. Urbit address space is a new kind of cryptographic property, sort of like digital land.
7+preview: An overview of Urbit's cryptographic address space.
8layout: urbit,post
8layout: urbit,post
9navmode: navbar
9navmode: navbar
10navdpad: false
10navdpad: false
@@ -25,53 +25,68 @@ just read these simplified basics.
25An Urbit identity, or "ship," is a string like `~firbyr-napbes`. It
25An Urbit identity, or "ship," is a string like `~firbyr-napbes`. It
26means nothing, but it's easy to remember and say out loud.
26means nothing, but it's easy to remember and say out loud.
27`~firbyr-napbes` is actually just a 32-bit number, like an IP address.
27`~firbyr-napbes` is actually just a 32-bit number, like an IP address.
28−We turn this number into a string that sounds like a name in a foreign
28+We turn this number into a string that sounds like a name from some
29−language.
29+imaginary foreign country.
30
30
31Technically, a ship is a secure digital identity that you own and
31Technically, a ship is a secure digital identity that you own and
32control with a cryptographic key, like a Bitcoin wallet. As in
32control with a cryptographic key, like a Bitcoin wallet. As in
33Bitcoin, the supply of ships is mathematically limited. This keeps
33Bitcoin, the supply of ships is mathematically limited. This keeps
34the network friendly, by making spam and abuse expensive.
34the network friendly, by making spam and abuse expensive.
35
35
36−The only way to start a ship is with permission from a ‘parent’,
36+A ship name is just a number; smaller numbers make shorter names.
37−another ship on the network with a shorter name. A 32-bit ship is
37+Shorter names are easier to remember, so they're more valuable. So
38+ships are classified by the number of bits in their name. (A ship
39+name is just a scrambled base-256 representation of the number.)
40+
41+A 32-bit ship (like `~firbyr-napbes`) is called a "planet." A 16-bit
38−called a "planet." A 16-bit ship is a "star." An 8-bit ship is a
42+ship (like `~pollev)` is a "star." An 8-bit ship (like `~mun`) is a
39−"galaxy.
43+"galaxy." A planet is an identity for an independent, adult human.
40−
41−A planet is an identity for a human. Stars and galaxies are network
44+Stars and galaxies are network infrastructure.
42−infrastructure. A ship is independent after it's launched, but the
45+
43−right to launch belongs to its parent. So each star can create
46+Each planet or star is launched by its "parent," the star or galaxy
44−`65.535` planets; each galaxy can create `255` stars, or (indirectly)
47+whose number is its bottom half. So the planet `~firbyr-napbes`,
45−`16.776.960` planets.
48+`0xdeadbeef` or `3.735.928.559`, is the child of `~pollev`, `0xbeef`
46−
49+or `48.879`, whose parent is `~mun`, `0xef`, `239`. The parent of
47−Urbit is born as a centralized network whose address space is entirely
50+`~mun` and all galaxies is `~zod`, `0`.
48−owned by its creators, who own the root galaxy `~zod`. But this
51+
49−address space is worthless until distributed. And as it becomes
52+If Bitcoin is money, Urbit is land. Much as all real-estate titles in
50−decentralized, it becomes free and independent. The goal is a world
53+England trace back to William the Conqueror, all certificates in Urbit
51−completely unlike the one we live in today, where our digital
54+trace back to `~zod`.
52−identities are owned by giant corporations.
55+
53−
56+But this universe is worthless unless dispersed. It's already quite
54−Your Urbit ship is like a digital passport or social security number
57+well fragmented. And as it grows distributed, it grows decentralized.
55−for a virtual city in the cloud.
58+The endpoint is a virtual city of 4 billion (`2^32`) citizens, all
59+owners of their own independent digital identities. The stars and
60+galaxies continue as a federated governance and service network.
61+
62+This city is a social network, a peer-to-peer packet network, and a
63+public-key infrastructure (PKI). In the social layer, your ship is
64+your name. In the packet layer, your ship is your network address.
65+In the PKI, your ship is your cryptographic identity. Perhaps more
66+intuitively, a ship is a sort of pronounceable phone number.
67+
68+And once Urbit is built, no one owns it. No one can control it. It
69+does need governance; it governs itself, as a digital republic.
56
70
57## Details
71## Details
58
72
59−That should be sufficient to understand the high-level goals of the
73+As an Urbit user, these basics are all you need to know. As a
60−address space. If you want to dive a bit deeper, keep reading.
74+developer, a few more details might interest you. (An even more
75+comprehensive treatment is in the [CS paper]()).
61
76
62### Design goals
77### Design goals
63
78
64−If you know much about identity systems, you know the problem of
65−"Zooko's triangle." An identity system has three goals: a name wants
79+An identity system has three goals: a name wants to be secure,
66−to be secure, human-meaningful, and decentralized. Zooko’s triangle
80+human-meaningful, and decentralized. A principle called "Zooko’s
67−says that a practical identity system can achieve any two of these
81+triangle" says that a practical identity system can achieve any two of
68−goals.
82+these goals.
69
83
70−We attack an unsolvable problem of this type by making tradeoffs.
84+The art of OS design is the art of using strategic tradeoffs to almost
85+solve unsolvable problems. Urbit's goals are to be secure,
71−Urbit's goals: to be secure, human-memorable, and eventually
86+human-*memorable*, and *eventually* decentralized. We sacrifice
72−decentralized. We sacrifice meaning (Urbit is not competing with the
87+meaning (Urbit is not competing with the DNS), and postpone
73−DNS), and postpone decentralization. In turn, we get a simple system
88+decentralization. These tradeoffs buy us a simple system that can
74−that can actually be built.
89+actually be built.
75
90
76### Comparison to existing identity layers
91### Comparison to existing identity layers
77
92
@@ -83,16 +98,16 @@ addresses IP addresses (like `126.78.92.112`), domain names (like
83`foobar.com`), and user identities (like `galen@tlon.io` or
98`foobar.com`), and user identities (like `galen@tlon.io` or
84`@galenwp`).
99`@galenwp`).
85
100
86−Urbit (or more precisely, its Ames protocol) squashes all three of
101+Urbit (or more precisely, its Ames protocol) squeezes all three layers
87−these layers into one. At the network level, Urbit is a P2P overlay
102+into one. At the network level, Urbit is a P2P overlay network; your
88−network; your ship is your network address. It's also the name of
103+ship is your network address. It's also the name of your server.
89−your server, and your secure digital pseudonym.
104+Finally, it's your secure digital pseudonym. And we map your ship
105+name into the DNS, at `ship.urbit.org`.
90
106
91−One way to use Urbit is as an identity for the Internet, which doesn't
107+(One way to use Urbit is as an identity for the Internet, which
92−have a standard system of secure authentication. Urbit has a
108+doesn't have a standard system of secure authentication. Urbit has a
93single-signon API which lets any Web server accept Urbit logins, like
109single-signon API which lets any Web server accept Urbit logins, like
94−a normal social login -- but not captive to anyone's corporate
110+a normal social login -- but not captive to any central mainframe.)
95−mainframe.
96
111
97### Cryptographic ownership
112### Cryptographic ownership
98
113
@@ -108,6 +123,16 @@ high-frequency, zero-friction transfers. Real estate transfers are
108low frequency and high friction, so the "double spend" problem (which
123low frequency and high friction, so the "double spend" problem (which
109mining solves) is much less pressing.
124mining solves) is much less pressing.
110
125
126+Don't expect urbits to be tradeable on cryptocurrency exchanges. A
127+trade adds at least one signature to the ship's certificate, or two if
128+the parties don't trust each other and an intermediary is needed. A
129+bulky certificate isn't free, since it slows down new connections.
130+
131+This isn't a serious problem if urbits are treated like land. But it
132+prevents Urbit from being a competent currency. This is a feature,
133+not a bug. Urbit has no need to compete with Bitcoin or Ethereum,
134+and every reason not to.
135+
111## Moons and comets
136## Moons and comets
112
137
113In the general case, a ship is actually a 128-bit number. A full
138In the general case, a ship is actually a 128-bit number. A full
@@ -117,10 +142,8 @@ table of ship classes:
1178 bits galaxy router ~syd
1428 bits galaxy router ~syd
11816 bits star router ~delsym
14316 bits star router ~delsym
11932 bits planet human ~mighex-forfem
14432 bits planet human ~mighex-forfem
120−64 bits moon device
121−~dabnev-nisseb-nomlec-sormug
145+64 bits moon device ~dabnev-nisseb-nomlec-sormug
122−128 bits comet bot
123−~satnet-rinsyr-silsec-navhut--bacnec-todmeb-harwen-fabtev
146+128 bits comet bot ~satnet-rinsyr-silsec-navhut--bacnec-todmeb-harwen-fabtev
124```
147```
125
148
126Moons are for clients and connected devices: a laptop, a phone, a
149Moons are for clients and connected devices: a laptop, a phone, a
@@ -147,7 +170,7 @@ consequence of scarce, individually owned identities. We're not
147changing human nature, just creating the right economic incentives.
170changing human nature, just creating the right economic incentives.
148
171
149Most forms of network abuse are "Sybil attacks": they rely on an
172Most forms of network abuse are "Sybil attacks": they rely on an
150−infinite supply of new identities. Scarcity makes reputation work.
173+infinite supply of fresh identities. Scarcity makes reputation work.
151Spam is a business; if the cost of a new planet exceeds the amount of
174Spam is a business; if the cost of a new planet exceeds the amount of
152money you can make by spamming from that planet until its reputation
175money you can make by spamming from that planet until its reputation
153is trashed, there will be no spam.
176is trashed, there will be no spam.
@@ -166,12 +189,12 @@ But we can't build one until we need one.
166### Initial allocation and rationale
189### Initial allocation and rationale
167
190
168In cryptocurrency terms, Urbit is "100% premined." Why? Three
191In cryptocurrency terms, Urbit is "100% premined." Why? Three
169−reasons.
192+reasons.
170
193
171One, Urbit doesn't need mining. Two, Urbit is a much more ambitious
194One, Urbit doesn't need mining. Two, Urbit is a much more ambitious
172software project than Bitcoin or even Ethereum. To fund its own
195software project than Bitcoin or even Ethereum. To fund its own
173development, the project needs to capture the potential value of its
196development, the project needs to capture the potential value of its
174−own real estate.
197+own real estate.
175
198
176Three, most theories of property agree that anyone whoever creates or
199Three, most theories of property agree that anyone whoever creates or
177discovers new property starts out by owning it. Because galaxies are
200discovers new property starts out by owning it. Because galaxies are
@@ -182,17 +205,17 @@ One, the more decentralized Urbit is, the more Urbit is worth. Two,
182the only way for Urbit to fund its own development is to homestead its
205the only way for Urbit to fund its own development is to homestead its
183own real estate.
206own real estate.
184
207
185−Urbit was made by Curtis Yarvin, who has distributed the 256 galaxies
208+Urbit was created by Curtis Yarvin, who has distributed the 256
186−as follows (allocation as of June 1, 2016):
209+galaxies as follows (allocation as of June 1, 2016):
187
210
18895, to the [Tlon Corporation](company). 50, to urbit.org, the future
21195, to the [Tlon Corporation](company). 50, to urbit.org, the future
189community foundation. 40, to Tlon employees and their family members
212community foundation. 40, to Tlon employees and their family members
190(24 to Curtis, who started in 2002; 16 to everyone else, who started
213(24 to Curtis, who started in 2002; 16 to everyone else, who started
191in 2014). 34, to outside investors in Tlon. 37, to 33 other
214in 2014). 34, to outside investors in Tlon. 37, to 33 other
192−individuals, who donated to the project, contributed code, won a
215+individuals, who donated to the project, contributed code or services,
193−contest, or were otherwise in the right place at the right time.
216+won a contest, or were just in the right place at the right time.
194
217
195−What's important is that the whole system is unlikely to collapse back
218+What's critical is that the whole system is unlikely to collapse back
196into a single landlord. This is why we've intentionally scattered
219into a single landlord. This is why we've intentionally scattered
197Urbit's ownership across a diverse set of entities.
220Urbit's ownership across a diverse set of entities.
198
221
@@ -201,15 +224,14 @@ healthy ownership structure by punishing violators with reputation
201cost. Address blocks should only split, never merge; galaxies and
224cost. Address blocks should only split, never merge; galaxies and
202stars should be owned by different parties; galaxies should be owned
225stars should be owned by different parties; galaxies should be owned
203by true individuals, not corporations. Urbit does not live up to
226by true individuals, not corporations. Urbit does not live up to
204−these ideals at present, but must progress toward them rather than
227+these ideals at present, but must always progress toward them.
205−away.
206
228
207### Federated services, adoption and escape
229### Federated services, adoption and escape
208
230
209Urbit is a peer-to-peer network. Urbits that live behind a firewall
231Urbit is a peer-to-peer network. Urbits that live behind a firewall
210or on a home network need "supernodes" to help them route packets.
232or on a home network need "supernodes" to help them route packets.
211The supernode is the parent. So a parent's work isn't done once it's
233The supernode is the parent. So a parent's work isn't done once it's
212−launched all its children.
234+launched all its children.
213
235
214There's no way to enforce this responsibility. So a star or planet
236There's no way to enforce this responsibility. So a star or planet
215can be *adopted* by a new parent of the same class, letting it escape
237can be *adopted* by a new parent of the same class, letting it escape
@@ -224,18 +246,19 @@ these services are delivered by cooperating stars and galaxies. Bad
224actors at this level should be rare.
246actors at this level should be rare.
225
247
226Especially when Urbit is young, the level of trust that a child places
248Especially when Urbit is young, the level of trust that a child places
227−in its parent is extremely high. The trust implied by automatic
249+in its parent is high. The trust implied by automatic kernel updates
228−kernel updates is essentially infinite. (Ideally we will be able to
250+is almost infinite. You can disable updates, but that's nowhere near
229−freeze the Arvo kernel, like Nock, and turn off these totipotent
251+practical yet. (Ideally we will be able to freeze the Arvo kernel,
230−updates; but this will take years at least.)
252+like Nock, and turn off kernel updates; but this will take years at
253+least.)
231
254
232### Code is law: seeing like a pattern language of great cities
255### Code is law: seeing like a pattern language of great cities
233
256
234−Constitutional innovation is extremely dangerous. Our vision of
257+Constitutional innovation is dangerous. Our vision of digital
235−digital governance isn't ours, but is synthesized as best we can from
258+governance isn't ours, but is synthesized as best we can from the work
236−the work of four great 20th-century thinkers: the legal scholar
259+of four great 20th-century thinkers: the legal scholar Lawrence
237−Lawrence Lessig, the political scientist James C. Scott, the urbanist
260+Lessig, the political scientist James C. Scott, the urbanist Jane
238−Jane Jacobs and the architect Christopher Alexander.
261+Jacobs and the architect Christopher Alexander.
239
262
240All decentralized computation systems rely to some extent on Lessig's
263All decentralized computation systems rely to some extent on Lessig's
241principle: "code is law." Where law uses human interpretation to
264principle: "code is law." Where law uses human interpretation to
@@ -266,6 +289,7 @@ of larger states or countries.
266We adapt Alexander's vision to a digital republic as the pattern that
289We adapt Alexander's vision to a digital republic as the pattern that
267*authority is proportional to property*. This pattern already has a
290*authority is proportional to property*. This pattern already has a
268name in the cryptocurrency community, which calls it *proof of stake*.
291name in the cryptocurrency community, which calls it *proof of stake*.
292+Urbit's launch hierarchy is a sort of built-in proof of stake.
269
293
270Another governance pattern, a political cliche but no less valuable
294Another governance pattern, a political cliche but no less valuable
271for it, is the system of checks and balances. The address space of
295for it, is the system of checks and balances. The address space of