on master help sign in
trivial
commit892aded0afd4be5d2798947dab114804deb2f6ea authorGalen Wolfe-Pauly <mailroom@office-for.com> dateMon 16 May 2016, 22:16 (10 years ago) parent1f265189fd6e9f
10 files changed+1358−183
main.md+15−14 main/posts/address-space.md+277 main/posts/company.md+71 main/posts/constitution.md+152 main/posts/magic.md+207 main/posts/namespace.md−59 main/posts/overview.md+198−55 main/posts/principles.md+44−25 main/posts/roadmap.md+252 main/posts/vision.md+142−30
main.md+15−14
@@ -11,16 +11,17 @@ navmode: navbar
1111 <h1><div class="logo"></div>Urbit</h1>
1212 </div>
1313 </div>
14− <imagepanel src="http://urbit.s3.amazonaws.com/16-3-10/DSCF8655.jpg" />
14+ <imagepanel src="http://urbit.s3.amazonaws.com/16-3-10/DSCF8664.jpg" />
1515</div>
1616<!-- -->
1717<div class="container stack">
1818 <div class="col-md-offset-1 col-md-10 slide-1">
1919 <p>Urbit is an open source, decentralized, personal cloud computing platform.</p>
20− <p>Your Urbit is a personal server: a general-purpose computer in the cloud which stores all your data, runs all your apps, and manages your connected devices. Each Urbit is part of a global, decentralized, peer-to-peer network that runs on top of the internet.</p>
20+ <p>Your Urbit is a personal server: a general-purpose computer in the cloud which stores all your data, runs all your apps, and manages your connected devices. </p>
21+ <p class="last">Each Urbit is part of a global, decentralized, peer-to-peer network that runs on top of the internet.</p>
2122 <a class="btn black" href="#learn">Learn more</a>
22− <a class="btn black" href="/docs">Read code</a>
23− <email submit="Subscribe to updates"></email>
23+ <a class="btn black" href="/docs">Tech docs</a>
24+ <email submit="Get updates"></email>
2425 </div>
2526</div>
2627<!-- -->
@@ -28,7 +29,7 @@ navmode: navbar
2829 <div class="text-container">
2930 <div class="text">
3031 <div class="rect no-header">
31− <p>Our mission is to found a virtual city in the cloud.</p>
32+ <p>Our mission is to create a virtual city of personal servers in the cloud.</p>
3233 </div>
3334 </div>
3435 </div>
@@ -43,7 +44,7 @@ navmode: navbar
4344 <h1>Digital freedom for everyone</h1>
4445 <p>We believe controlling your own data, code and identity is the definition of digital freedom. We believe the only path to this freedom is a general-purpose computer designed for human beings.</p>
4546 <p>Your Urbit is your cryptographic identity, permanent personal archive, general-purpose computing platform and secure network of devices. The convenience of cloud computing is fantastic, but it need not come at the cost of our security, control and creativity.</p>
46− <p>Read more in our <a href="./blog/2016-2-29">overview post</a>&#32; and <a href="./blog/2016-3-8">core principles</a>.</p>
47+ <p>Read more in our <a href="./posts/overview">overview post</a>&#32; and <a href="./posts/principles">core principles</a>.</p>
4748 </div>
4849 <!-- -->
4950 <div class="slide">
@@ -53,7 +54,7 @@ navmode: navbar
5354 <div>
5455 <p>In Urbit, network address space is cryptographic property, like Bitcoin. If Bitcoin is money and Ether is law, Urbit is land.</p>
5556 <p>The Urbit network is designed to grow into a digital republic: a network where each node is individually owned with no central point of control. We think of the Urbit network as a city: decentralized but connected, safe but free.</p>
56− <p>Read more in our <a href="blog/2016-3-9">address space post</a>.</p>
57+ <p>Read more in our <a href="posts/address-space">address space post</a>.</p>
5758 </div>
5859 </div>
5960 </div>
@@ -64,7 +65,7 @@ navmode: navbar
6465 <div class="image left"><img src="http://urbit.s3.amazonaws.com/16-3-10/atom.png"/></div>
6566 <div>
6667 <p>Imagine that you could simply install a new interface for Facebook, or fork the business logic of Reddit. We're working to build a world where you run whatever software you want, never lose data and can switch with no cost.</p>
67− <p>Read more in our <a href="blog/2016-3-7">product post</a>.</p>
68+ <p>Read more in our <a href="posts/vision">product post</a>.</p>
6869 </div>
6970 </div>
7071 </div>
@@ -94,12 +95,12 @@ navmode: navbar
9495<div class="container stack last">
9596 <div class="col-md-4 col-md-offset-1">
9697 <h2>Keep reading</h2>
97− <a href="blog/~2016.3.2">Overview</a>
98− <a href="blog/~2016.3.2">Mission statement</a>
99− <a href="blog/~2016.3.2">Namespace</a>
100− <a href="blog/~2016.3.2">Product</a>
101− <a href="blog/~2016.3.2">Roadmap</a>
102− <a href="blog/~2016.3.2">Company</a>
98+ <a href="posts/overview">Overview</a>
99+ <a href="posts/principles">Beliefs and principles</a>
100+ <a href="posts/address-space">Address space</a>
101+ <a href="posts/vision">Product</a>
102+ <a href="posts/roadmap">Roadmap</a>
103+ <a href="posts/company">Company + Team</a>
103104 </div>
104105 <div class="col-md-4">
105106 <h2>Start an Urbit</h2>
main/posts/address-space.mdnew file+277
@@ -0,0 +1,277 @@
1+---
2+sort: 3
3+type: post
4+title: Address space
5+author: Galen Wolfe-Pauly + Curtis Yarvin
6+image: 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.
8+layout: urbit,post
9+navmode: navbar
10+navdpad: false
11+navselect: posts
12+navpath: /
13+navhome: /
14+navclass: urbit
15+---
16+
17+# The Urbit address space and identity model
18+
19+## Basics
20+
21+Urbit contains a lot of new technology. As an ordinary user, all you
22+need to understand is Urbit's identity model. If you're in a hurry,
23+just read these simplified basics.
24+
25+An Urbit identity, or "ship," is a string like `~firbyr-napbes`. It
26+means 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.
28+We turn this number into a string that sounds like a name in a foreign
29+language.
30+
31+Technically, a ship is a secure digital identity that you own and
32+control with a cryptographic key, like a Bitcoin wallet. As in
33+Bitcoin, the supply of ships is mathematically limited. This keeps
34+the network friendly, by making spam and abuse expensive.
35+
36+The only way to start a ship is with permission from a ‘parent’,
37+another ship on the network with a shorter name. A 32-bit ship is
38+called a "planet." A 16-bit ship is a "star." An 8-bit ship is a
39+"galaxy.
40+
41+A planet is an identity for a human. Stars and galaxies are network
42+infrastructure. A ship is independent after it's launched, but the
43+right to launch belongs to its parent. So each star can create
44+`65.535` planets; each galaxy can create `255` stars, or (indirectly)
45+`16.776.960` planets.
46+
47+Urbit is born as a centralized network whose address space is entirely
48+owned by its creators, who own the root galaxy `~zod`. But this
49+address space is worthless until distributed. And as it becomes
50+decentralized, it becomes free and independent. The goal is a world
51+completely unlike the one we live in today, where our digital
52+identities are owned by giant corporations.
53+
54+Your Urbit ship is like a digital passport or social security number
55+for a virtual city in the cloud.
56+
57+## Details
58+
59+That should be sufficient to understand the high-level goals of the
60+address space. If you want to dive a bit deeper, keep reading.
61+
62+### Design goals
63+
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
66+to be secure, human-meaningful, and decentralized. Zooko’s triangle
67+says that a practical identity system can achieve any two of these
68+goals.
69+
70+We attack an unsolvable problem of this type by making tradeoffs.
71+Urbit's goals: to be secure, human-memorable, and eventually
72+decentralized. We sacrifice meaning (Urbit is not competing with the
73+DNS), and postpone decentralization. In turn, we get a simple system
74+that can actually be built.
75+
76+### Comparison to existing identity layers
77+
78+The Internet doesn't have anything like Urbit ships, so you may need
79+to stretch your brain a little here.
80+
81+There are three levels of naming on the Internet: raw, numeric IP
82+addresses IP addresses (like `126.78.92.112`), domain names (like
83+`foobar.com`), and user identities (like `galen@tlon.io` or
84+`@galenwp`).
85+
86+Urbit (or more precisely, its Ames protocol) squashes all three of
87+these layers into one. At the network level, Urbit is a P2P overlay
88+network; your ship is your network address. It's also the name of
89+your server, and your secure digital pseudonym.
90+
91+One way to use Urbit is as an identity for the Internet, which doesn't
92+have a standard system of secure authentication. Urbit has a
93+single-signon API which lets any Web server accept Urbit logins, like
94+a normal social login -- but not captive to anyone's corporate
95+mainframe.
96+
97+### Cryptographic ownership
98+
99+You own an Urbit ship cryptographically, like a Bitcoin wallet. But
100+Urbit doesn't use a blockchain or mining.
101+
102+You transfer a ship by signing a new public key with the old private
103+key, then broadcasting the signature. Any urbit that receives this
104+new certificate will no longer trust the old key.
105+
106+Urbit is digital land, not digital money. A currency needs to support
107+high-frequency, zero-friction transfers. Real estate transfers are
108+low frequency and high friction, so the "double spend" problem (which
109+mining solves) is much less pressing.
110+
111+## Moons and comets
112+
113+In the general case, a ship is actually a 128-bit number. A full
114+table of ship classes:
115+
116+```
117+8 bits galaxy router ~syd
118+16 bits star router ~delsym
119+32 bits planet human ~mighex-forfem
120+64 bits moon device
121+~dabnev-nisseb-nomlec-sormug
122+128 bits comet bot
123+~satnet-rinsyr-silsec-navhut--bacnec-todmeb-harwen-fabtev
124+```
125+
126+Moons are for clients and connected devices: a laptop, a phone, a
127+digital thermostat. A moon is not independent; its parent planet has
128+to sign its key updates. (We don't want rogue clients floating
129+randomly around the universe.)
130+
131+A comet's address is the hash of its initial public key. Anyone can
132+launch a comet. Nothing stops you from using a comet as your
133+identity, except that the name is a mouthful and everyone will assume
134+you're a bot.
135+
136+### Scarcity, reputation, friendliness and trust
137+
138+A crucial difference between Urbit and other networks is that planets
139+are scarce. Even when the network is fully populated, there are only
140+4 billion. Early in Urbit's life, most stars and galaxies are not yet
141+operating, so far fewer are available. No one will ever be able to
142+get planets trivially and for free.
143+
144+Urbit is a *friendly network*: a network on which you can assume that
145+a stranger is nice until proven nasty. Friendliness is a direct
146+consequence of scarce, individually owned identities. We're not
147+changing human nature, just creating the right economic incentives.
148+
149+Most forms of network abuse are "Sybil attacks": they rely on an
150+infinite supply of new identities. Scarcity makes reputation work.
151+Spam is a business; if the cost of a new planet exceeds the amount of
152+money you can make by spamming from that planet until its reputation
153+is trashed, there will be no spam.
154+
155+Shady stars and galaxies that sell blocks of planets to spammers will
156+also develop reputations as "bad neighborhoods," damaging the value of
157+the whole block. Abuse at any level is designed to be
158+counterproductive and economically self-terminating.
159+
160+Urbit has no reputation system at all at the moment, simply because
161+we're so small that friendliness is automatic. The clear and rigorous
162+structure of the address space is not a reputation system; it is a
163+platform on which any number of such systems can and should be built.
164+But we can't build one until we need one.
165+
166+### Initial allocation and rationale
167+
168+In cryptocurrency terms, Urbit is "100% premined." Why? Three
169+reasons.
170+
171+One, Urbit doesn't need mining. Two, Urbit is a much more ambitious
172+software project than Bitcoin or even Ethereum. To fund its own
173+development, the project needs to capture the potential value of its
174+own real estate.
175+
176+Three, most theories of property agree that anyone whoever creates or
177+discovers new property starts out by owning it. Because galaxies are
178+premined, Urbit starts as a centralized system. But it has two strong
179+motivations to decentralize.
180+
181+One, the more decentralized Urbit is, the more Urbit is worth. Two,
182+the only way for Urbit to fund its own development is to homestead its
183+own real estate.
184+
185+Urbit was made by Curtis Yarvin, who has distributed the 256 galaxies
186+as follows (allocation as of June 1, 2016):
187+
188+95, to the [Tlon Corporation](company). 50, to urbit.org, the future
189+community foundation. 40, to Tlon employees and their family members
190+(24 to Curtis, who started in 2002; 16 to everyone else, who started
191+in 2014). 34, to outside investors in Tlon. 37, to 33 other
192+individuals, who donated to the project, contributed code, won a
193+contest, or were otherwise in the right place at the right time.
194+
195+What's important is that the whole system is unlikely to collapse back
196+into a single landlord. This is why we've intentionally scattered
197+Urbit's ownership across a diverse set of entities.
198+
199+Furthermore, we've defined informal conventions designed to motivate a
200+healthy ownership structure by punishing violators with reputation
201+cost. Address blocks should only split, never merge; galaxies and
202+stars should be owned by different parties; galaxies should be owned
203+by true individuals, not corporations. Urbit does not live up to
204+these ideals at present, but must progress toward them rather than
205+away.
206+
207+### Federated services, adoption and escape
208+
209+Urbit is a peer-to-peer network. Urbits that live behind a firewall
210+or on a home network need "supernodes" to help them route packets.
211+The supernode is the parent. So a parent's work isn't done once it's
212+launched all its children.
213+
214+There's no way to enforce this responsibility. So a star or planet
215+can be *adopted* by a new parent of the same class, letting it escape
216+from a bad default parent. If your parent stops serving you, and no
217+other parent is willing to adopt you, you're probably a bad actor.
218+
219+Supernode routing is just one example of why you need a parent. A
220+mature Urbit will naturally develop all kinds of other *federated
221+services* -- from technical standardization and update approval, to
222+certificate update broadcast, to reputation and friend lookup. All
223+these services are delivered by cooperating stars and galaxies. Bad
224+actors at this level should be rare.
225+
226+Especially when Urbit is young, the level of trust that a child places
227+in its parent is extremely high. The trust implied by automatic
228+kernel updates is essentially infinite. (Ideally we will be able to
229+freeze the Arvo kernel, like Nock, and turn off these totipotent
230+updates; but this will take years at least.)
231+
232+### Code is law: seeing like a pattern language of great cities
233+
234+Constitutional innovation is extremely dangerous. Our vision of
235+digital governance isn't ours, but is synthesized as best we can from
236+the work of four great 20th-century thinkers: the legal scholar
237+Lawrence Lessig, the political scientist James C. Scott, the urbanist
238+Jane Jacobs and the architect Christopher Alexander.
239+
240+All decentralized computation systems rely to some extent on Lessig's
241+principle: "code is law." Where law uses human interpretation to
242+determine an outcome, code uses mathematics. It is code, not law,
243+that decides who owns a Bitcoin wallet.
244+
245+But all these systems, including Bitcoin, need governance. They need
246+as little as possible, but not none. In the digital world as in the
247+real world, *laissez-faire* is always necessary, never sufficient.
248+Governance is a human universal.
249+
250+That's why we call Urbit a "virtual city." And as a city, it can't be
251+a corporate gated community. It might start as that, but it has to
252+grow up into a true city-state: a self-governing digital republic.
253+This pattern is not just blind clinging to Anglo-American tradition;
254+like every prudent constitution, it fits the actual virtues and vices
255+of its target population.
256+
257+Urbit's galactic hierarchy resembles the natural patterns we find in
258+many existing human political systems. As Alexander wrote:
259+
260+> Wherever possible, work toward the evolution of independent regions
261+in the world, each with its own natural and geographic boundaries;
262+each with its own economy; each one autonomous and self-governing;
263+each with a seat in a world government, without the intervening power
264+of larger states or countries.
265+
266+We adapt Alexander's vision to a digital republic as the pattern that
267+*authority is proportional to property*. This pattern already has a
268+name in the cryptocurrency community, which calls it *proof of stake*.
269+
270+Another governance pattern, a political cliche but no less valuable
271+for it, is the system of checks and balances. The address space of
272+Urbit is covered by three independent tiers, galaxies, stars and
273+planets; which should govern? The obvious design is a three-chambered
274+legislature balanced against itself.
275+
276+For more on Urbit's governance design, see our [beliefs and
277+principles]() and our [interim constitution]().
main/posts/company.mdnew file+71
@@ -0,0 +1,71 @@
1+---
2+sort: 8
3+type: post
4+title: Company + Team
5+author: Tlon
6+image: http://urbit.s3.amazonaws.com/16-3-10/blog-6.jpg
7+preview: A bit about who we are and how our company, Tlon, relates to Urbit the open-source project.
8+layout: urbit,post
9+navmode: navbar
10+navdpad: false
11+navselect: posts
12+navpath: /
13+navhome: /
14+navclass: urbit
15+---
16+
17+## History
18+
19+In 2002 Curtis went down to his garage with a question in mind: can
20+you build a computer whose state is just a number, and whose updates
21+are a single simple function? In 2008 Nock worked pretty well, in
22+2012 Hoon compiled itself to Nock and in 2014 we raised a little
23+funding with the first prototype of Arvo.
24+
25+## Tlon
26+
27+Urbit is completely, 100% open source, and always will be. We started
28+a company, Tlon, to support the development of the platform. Tlon
29+owns roughly half of the Urbit address space, and operates with a
30+simple business model: use the value of Urbit address space to
31+bootstrap the development of the Urbit platform. The name Tlon is a
32+reference to a Borges story.
33+
34+## Team
35+
36+We’re a small team based in San Francisco that values open,
37+independent thinking and spirited debate. We try to foster an
38+environment where thoughtful criticism can quickly turn into better
39+design and better code. If you think you could be a good fit [send us
40+an email](urbit@urbit.org).
41+
42+**Galen Wolfe-Pauly** <br />
43+Founder, CEO<br />
44+Recommended reading: Samuel Beckett, Christopher Alexander
45+
46+**Curtis Yarvin** <br />
47+Founder, CTO<br />
48+Recommended reading: James C Scott, Ernst Junger
49+
50+**Anton Dyudin** <br />
51+Engineer<br />
52+Recommended reading: Asmiov
53+
54+**Philip Monk** <br />
55+Engineer<br />
56+Recommended reading: G.K. Chesterton
57+
58+**Henry Ault** <br />
59+Business / Engineer<br />
60+Recommended reading: Joseph Heller
61+
62+## Investors
63+
64+We’re glad to have the support of some fantastic investors:
65+
66+**Andreessen Horowitz** <br />
67+**FF Angel** <br />
68+**Tim Draper** <br />
69+**Jan Talinn** <br />
70+**Ben Davenport** <br />
71+**Zhen Fund**
main/posts/constitution.mdnew file+152
@@ -0,0 +1,152 @@
1+---
2+sort: 7
3+type: post
4+title: Interim Constution
5+author: Tlon
6+image: http://urbit.s3.amazonaws.com/16-3-10/blog-7.jpg
7+preview: The governing rules for the early days of the Urbit network.
8+layout: urbit,post
9+navmode: navbar
10+navdpad: false
11+navselect: blog
12+navpath: /
13+navhome: /
14+navclass: urbit
15+---
16+
17+## Motivation
18+
19+Our governance roadmap is this simple interim constitution.
20+
21+Urbit must eventually write its own constitution. But to write a
22+real, durable constitution, a legitimate convention is required.
23+Some proto-constitution is required to confirm that legitimacy.
24+
25+Like most new constitutions, this structure is a mix of Roman and
26+Anglo-American traditions. It is as simple as possible and not
27+optimized for scale or durability.
28+
29+## Urbit and this document
30+
31+Urbit is a new network created and owned by the Tlon Corporation.
32+Tlon's goal is to surrender governance of Urbit to its users, as
33+soon as this community is collectively ready to receive it.
34+
35+This constitution (which is not a legal contract, just a
36+description of our intent) describes our governance process
37+during this interim period.
38+
39+## Structure
40+
41+This governance structure is designed for maximum efficiency in a
42+young network. Its most important task is to replace itself when
43+it is ready to grow. It must also name itself.
44+
45+## Validity
46+
47+This constitution takes effect as soon as the initial public
48+presale of Urbit address space is complete.
49+
50+## Assets
51+
52+The 50 galaxies marked "urbit.org" in the galaxy table belong to
53+the republic, and will be used only in the interests of the
54+republic and Urbit as a whole.
55+
56+Once this republic acquires a legal identity, Tlon will also
57+grant this entity control over: the `urbit.org` domain; the
58+Github `urbit` account; and the first galaxy `~zod`.
59+
60+## Galaxy table
61+
62+Of the 256 galaxies, 95 are assigned to Tlon Corporation; 50 are
63+assigned to urbit.org; 40 are assigned to Tlon employees and
64+their family members; 34 are assigned directly to unrelated
65+investors in Tlon; and 37 are assigned to random individuals for
66+random reasons. Some of these "randos" donated money or
67+services; others were just in the right place at the right time.
68+
69+## Governance structures
70+
71+The interim republic has three branches: an executive consulate,
72+a passive senate, and an advisory assembly.
73+
74+The consulate has full authority, but must consult with the
75+assembly and keep it informed. The assembly is a legislative
76+branch which is learning its trade. The senate is a reserved
77+power with no role in governance.
78+
79+### Consuls
80+
81+A consulate is a two-person executive. If the consuls disagree
82+on a decision, and cannot agree on how to agree, they must flip a
83+coin.
84+
85+Consuls serve in pairs for a year. The first consuls are Galen
86+Wolfe-Pauly (a Tlon employee) and Raymond Pasco (a Tlon
87+contractor). A consul must be a senator; see below.
88+
89+### Senate
90+
91+The senate is the set of all galaxy holders, voting by galaxy.
92+The senate does not (at present) perform any real function,
93+except for one: it must ratify Urbit's next constitution.
94+
95+A role for the senate would be superfluous because, initially,
96+the will of the senate is the will of Tlon, and the consluls
97+
98+This is because, in practice, the will of the Senate is the will
99+of Tlon.
100+
101+<<<discussion of galaxy table here; need galaxy table!>>>
102+
103+To avoid growing the network too quickly, galaxies are activated
104+gradually. Initially, only one galaxy is active, the root `~zod`
105+(galaxy 0).
106+
107+Galactic certificates start with a hardcoded fingerprint in the
108+Ames source. If you have a keypair whose public key matches this
109+hash, you are a senator for all cryptographic purposes. If the
110+fingerprint is zero, a real-world identity is shown; if this is
111+your identity, we'll check in a fingerprint for you at any time.
112+
113+But `~zod` has the routing power to choose whether its network,
114+which is the whole network, routes to other galaxies. So the
115+consuls, who control `~zod`, have the power to decide whether
116+and/or when other galaxies can launch usable stars. There are
117+many reasons to keep the live network from containing vast
118+deserts of usable, but unused, address space.
119+
120+Except for Tlon galaxies, galaxy activation is at random. Tlon
121+can activate its galaxies whenever (because it needs to be able
122+to keep its lights on).
123+
124+### Assembly
125+
126+The *assembly* is the *set of all independent stars*. An
127+independent star is any star *not* owned by anyone who is also a
128+senator, or has a family or employment connection with a senator.
129+
130+In the long run, the mission of the assembly is to govern Urbit
131+with the consent of the senate. The vague idea of the
132+proto-constitution is that the assembly's power should increase
133+over time; at first, the consulate polls it; later, it gets a
134+veto; still later, it can propose its own measures; finally, it
135+elects the consuls.
136+
137+Since the consuls must still be senators, there is always a
138+balance of authority between consulate, assembly and senate.
139+This whole design is ripped off from ancient Rome, which after
140+all did pretty well with it. But again, it's just an idea;
141+Urbit will write its own constitution.
142+
143+### The next constitution
144+
145+Urbit's next constitution will be written by the assembly, under
146+the moderation of the consuls, for the approval of the senate.
147+This will happen when the consuls think it's ready to happen.
148+
149+Ideally, Urbit's constitution will be written in two languages:
150+English, and a smart-contract language such as Ethereum. Of
151+course, Ethereum can't enforce decisions; but it can count the
152+votes. And there's no excuse for not using it this way.
main/posts/magic.mdnew file+207
@@ -0,0 +1,207 @@
1+---
2+sort: 5
3+type: post
4+title: Magic
5+author: Curtis Yarvin
6+image: http://urbit.s3.amazonaws.com/16-3-10/blog-8.jpg
7+preview: A thought-experiment for understanding what the world with Urbit could look like.
8+layout: urbit,post
9+navmode: navbar
10+navdpad: false
11+navselect: posts
12+navpath: /
13+navhome: /
14+navclass: urbit
15+---
16+
17+It's easy to get too obsessed with Urbit's alien technology. We
18+didn't build Urbit for its tech. We built it for people to use.
19+
20+It's also hard to understand the power of Urbit, because it's
21+still quite immature. Unless you understand it already, it's
22+just a weird OS that doesn't work all that well.
23+
24+And this OS is supposedly designed as a new kind of product: a
25+personal server. What is a personal server? If you had one,
26+you'd know. Since you don't, you don't. So both your problem
27+and our solution are totally unclear.
28+
29+One way to understand Urbit is to forget the technology totally.
30+Instead, let's build the same product out of magic. Technology
31+is hard and imperfect and slow. Magic is easy and perfect and
32+fast. Why not use it? At least for a demo?
33+
34+## Magic step one: total integration.
35+
36+Make a list of all the cloud apps which have your personal data.
37+OK, just imagine making a list. OK, use magic.
38+
39+By magic, we make some giant company buy all these apps. It
40+could be any of them, but let's say it's Facebook. Facebook buys
41+*all the apps*. As of now, *all your cloud computing happens in
42+your Facebook profile*.
43+
44+Your Facebook is now your Dropbox and your Evernote and your
45+Wordpress and your Gmail. And it's not just Web apps; all your
46+servers move to Facebook. Your Nest talks to a Facebook server.
47+Your iPhone talks to Facebook instead of iCloud. Your Fitbit
48+records your heart rate in a Facebook log. Your Facebook
49+manages your finances and pays your bills. Got bitcoin?
50+Facebook is your wallet. Shop online? Check out the Facebook
51+Store -- it sells everything!
52+
53+In short, you can just lock your browser to `facebook.com`. The
54+Web is dead. Or more precisely, it's an obsolete protocol which
55+you use to log in to Facebook.
56+
57+Does this sound creepy? Sure. It's incredibly creepy. But look
58+on the bright side: it's also incredibly convenient. (And
59+incredibly secure, at least with a 2-factor key.)
60+
61+For the first time ever, *all your data is in one place*. For
62+example, the engineers at Facebook, who are awesome, would never
63+leave Dropbox, Instagram and iCloud as three separate things.
64+You don't need an "integration" between them. Your profile is
65+one thing: you. Your entire digital life.
66+
67+(In fact, if you're a geek and have Unix boxes, your Facebook is
68+magically integrated with Unix. You can just open your laptop
69+and type `ls /photos/2016/May/` -- as if your digital life was a
70+chip in a box in your backpack, not redundant servers in multiple
71+secure data centers.)
72+
73+Imagine we all lived in hotels, all the time, even in just one
74+city. Imagine you don't even have one room with a long-term
75+lease. You sleep in one pod Mondays, another on Tuesdays...
76+then, someone offers you a home. Your own house. With your own
77+furniture, your own books in your own bookcases...
78+
79+## Magic step two: free your data.
80+
81+The good news is, you get your own house. The bad news is, it's
82+in North Korea.
83+
84+Having your whole life owned by Facebook is still creepy. Or so
85+most people would think. It's not actually clear that it's more
86+creepy to be owned by one corporation, than nine corporations.
87+But it *feels* creepier.
88+
89+By magic, Facebook cares. So it decides to free you. Actually,
90+Facebook's business is owning you. So freedom will destroy its
91+business. But magically, Facebook doesn't mind.
92+
93+Right now, the software behind your Facebook experience is a
94+million lines of Facebook goo. It solves your problems and shows
95+your ads and does whatever the heck it wants with your data.
96+(Not that it's "your" data. It's Facebook's data, about you.)
97+
98+Without changing the functionality of your Facebook experience,
99+Facebook replaces every component of this goo with an "agent."
100+(You have about as many agents as you used to have apps.) If you
101+don't care about being free, you won't notice the change. If you
102+do care, everything changes.
103+
104+One, you don't have to run Facebook's agents. You can replace
105+them with anyone else's software, free or paid. Agents upgrade
106+themselves automatically, but you are never locked in; you can
107+always switch agents and/or vendors without damaging your data.
108+
109+Don't like your email UI? Change it. Don't like to see ads?
110+You no longer see any ads -- why would someone use an agent that
111+showed them ads? Ick. Unless it's something ridiculously
112+specialized, an agent is either free software or costs $3.99.
113+
114+Two, agents *act as you*. Facebook is no longer the Panopticon.
115+It is not a giant mainframe where all the code can access all the
116+data. An agent can use as much of your own data as you give it;
117+it cannot use anyone else's data. At least not without asking.
118+
119+When anyone can write an agent, only code can be law. Privacy is
120+no longer enforced by the informal decisions of Facebook product
121+managers. It must be enforced by formal security policies.
122+
123+This might constrict the services Facebook can offer, but only a
124+little. Since privacy is a human universal, apps that don't
125+respect it (for instance, image face tagging) feel weird. A
126+service like this can't be broken up into personal agents; it
127+still requires a Big Data mainframe somewhere. But it's okay;
128+the agents can still talk to it.
129+
130+For the most part, Big Data (everyone's) has become little data
131+(yours). You no longer have a Facebook profile -- a fancy UI
132+backed by a million lines of Facebook goo on one big mainframe.
133+Now what you have is a Facebook *server*: a real computer. Or at
134+least, a virtual computer (which is much more reliable than any
135+one physical computer).
136+
137+Is this computer hard to manage? You have the same basic job as
138+someone who owns an iPhone: deciding what software to run. If
139+you skip this job, your iPhone or your Facebook is still pretty
140+useful. You also need to decide what data to keep. An iPhone
141+has finite, free storage; the cloud has infinite, non-free
142+storage. You still want a warning when your server gets fat.
143+But at least it keeps working.
144+
145+## Magic step three: free your server.
146+
147+This agent-oriented Facebook can't show you ads. But this is not
148+actually a huge business problem. Since Facebook owns everyone's
149+life, it has the mother of all monopoly lockins. It can just
150+bill you $9.99 a month for running your Facebook server. This is
151+a great deal, for you and for Facebook.
152+
153+But you're still a slave, Neo. A Facebook server still isn't a
154+personal server. Monopolies suck.
155+
156+Magic works, so Facebook feels guilty. It goes all the way
157+toward freeing you, and ruins its own business.
158+
159+Now, your server is just a big file whose format is precisely
160+defined. You can move it to any hosting service, or even run it
161+on a home PC. Since hosting is now a commodity, it costs almost
162+nothing and has zero profit margin. It may even come bundled
163+with your Internet service.
164+
165+Every data center is owned by the local government. If you have
166+data to hide from the authorities, compute at home. Most people
167+don't have anything to hide and should run in the cloud, because
168+the cloud works better. But using the *same platform* as those
169+who do have something to hide creates "herd immunity". You don't
170+have to choose between a secure platform with no network effect,
171+and a non-secure platform that everyone else uses.
172+
173+## Magic step four: free your name.
174+
175+Freeing your server also means freeing your identity. It's no
176+longer true that Facebook decides who you are. Facebook just
177+wrote the algorithm. Your server contains cryptographic secrets
178+that control your identity. If your identity was a bitcoin, your
179+server would be a giant bitcoin wallet.
180+
181+The bad news: lose the file, lose the identity. The good news:
182+your server is genuinely personal now. It's yours in every way.
183+It's so personal that if you destroy it, it's gone.
184+
185+Facebook doesn't even keep its power to create new servers. The
186+"real name" policy has done great things to control spam, because
187+spam always depends on disposable accounts. But it implies a
188+central authority.
189+
190+Instead, Facebook borrows an idea from bitcoin and just limits
191+the number of identities. If you need one, you have to buy one.
192+They don't cost that much; just enough to deter spammers.
193+
194+(Is your real name still linked to your identity? Maybe, maybe
195+not. There's a role for name validation, but not everyone needs
196+to have a real name, and not everyone else needs to know it. A
197+dissident, or anyone who wants to speak out and let the words
198+speak for themselves, might want a second anonymous identity.
199+But sock puppets remain evil -- two names for the same person
200+should not interact in the same place.)
201+
202+## Magic step five: call it Urbit.
203+
204+And, with magic, we've succeeded in turning Facebook into Urbit.
205+Technically, Urbit is pretty close to magic, but there is no way
206+it's going to happen this way. See the [roadmap] for how it
207+actually happens.
main/posts/namespace.mddeleted−59
@@ -1,59 +0,0 @@
1−---
2−sort: 3
3−type: post
4−title: Address space
5−author: Galen Wolfe-Pauly
6−image: http://urbit.s3.amazonaws.com/16-3-10/blog-3.jpg
7−preview: Urbit address space is like digital land.
8−layout: urbit,post
9−navmode: navbar
10−navdpad: false
11−navselect: blog
12−navpath: /
13−navhome: /
14−navclass: urbit
15−---
16−
17−Urbit addresses are like a combination of an IP address, a domain name and a username. Your Urbit name looks something like `~talsur-todres`, which is an address you can route packets to, use as an authentication token and quickly commit to memory.
18−
19−Urbit addresses are cryptographic property. You own them like bitcoin or ethereum. Addresses are issued by having a parent node sign your initial key. Urbit does not use a blockchain — address space is digital land, not digital money. Child nodes are independent after their initial key is signed. The goal of the address space architecture is to incentivize the network to grow continuously towards decentralization over time.
20−
21−The IP + DNS identity scheme on the internet worked well in the early days, on a small network. Today we rely on cloud services to store our identities. The network layer is both too complicated and full of spam to be usable by ordinary people. The result is that we have separate accounts, with separate passwords, on each of our services. We don’t own these identities in any meaningful way, and we certainly don’t own the reputation data that’s associated with them.
22−
23−The Urbit design emphasizes the separation between identity and reputation. Your Urbit address functions as a universal identity infrastructure. Your Urbit can hold the keys to your services and authenticate with them, as well as provide the platform for reputation systems to be built on top.
24−
25−Your Urbit address is your home on the network. A fixed point in cyberspace to anchor your identity.
26−
27−## Design
28−
29−“Wherever possible, work toward the evolution of independent regions in the world [...] each with its own natural and geographic boundaries; each with its own economy; each one autonomous and self-governing; each with a seat in a world government, without the intervening power of larger states or countries.” [0]
30−
31−The Urbit address space is designed to evolve towards a decentralization harmoniously. In spirit this design is like the design for a city prior to its existence. All of the contingencies haven’t been accounted for, but the general structure is in place. As a city grows so do its regulations, but they can’t be anticipated at the outset. Our main goal is building a network that balances cultural trust and technical specificity. If the early internet required extremely high trust between participants and bitcoin requires almost no trust Urbit falls squarely in the middle. This is intentional.
32−
33−The design of the Urbit address space uses two pressures to ensure that the address remains spam-free and high trust: scarcity and the distribution of responsibility.
34−
35−For any digital identity primitive to work it must be scarce. Any network where addresses are disposable quickly succumbs to sybil attacks. When there’s no cost imposed on bad actors they proliferate quickly. An Urbit address should cost more than one would make sending spam from it. Since Urbit addresses are permanent they’re easy to blacklist. Bad actors are easily punished.
36−
37−In a young network scarcity isn’t sufficient, since an Urbit address is initially worth nothing. A young network is populated by pioneers and homesteaders. At first individual addresses aren’t valuable, but blocks are. Since our goal is a completely decentralized mature network we distribute address space in blocks at the beginning. This begins the process of decentralization by spreading responsibility among early adopters while preserving scarcity.
38−
39−## Implementation
40−
41−The Urbit address blocks are nested into one another. The top 2^8 (256) ‘galaxies’ are written into the kernel. Each galaxy can issue 2^16 ‘stars’, each star can issue 2^16 ‘planets’ and each planet can issue 2^32 ‘moons’. The 2^128 ‘Comets’ sign their own certificates and are presumed to be disposable.
42−
43−```
44−8 bits galaxy infrastructure ~syd
45−16 bits star infrastructure ~delsym
46−32 bits planet human ~mighex-forfem
47−64 bits moon device ~dabnev-nisseb-nomlec-sormug
48−128 bits comet robot ~satnet-rinsyr-silsec-navhut--bacnec-todmeb-sars
49−```
50−
51−Galaxies and stars provide routing infrastructure for the network. Planets are assumed to be for humans and moons for their devices. Galaxies, stars and planets are all independent once issued. They sign their own key updates and aren’t dependent on a specific parent. The hierarchy exists solely as a system for ensuring fair distribution. The owner of a galaxy can independently distribute 2^16 stars, and so on down the chain.
52−
53−## Relationship to BTC, Ethereum and the blockchain
54−
55−Blockchain systems are great for formalizing exchange of value. The blockchain is like a trust superconductor: able to safely carry assets with low overhead. Urbit address space isn’t intended to be traded or used as a currency. The Urbit address space requires trust to exist between parties making an exchange. This is intentional. As the foundation for a civilization we want engaged parties to communicate and cooperate. When the transaction is finished, however, your Urbit address is as much yours as your Bitcoin wallet.
56−
57−Blockchain systems still suffer from centralization at the fringes. Where do you keep your keys safely on the network? Are there other reliable means of data transfer that don’t have a cost? Urbit’s simple computing model makes it a great decentralized communication layer. Being able to seamlessly switch bands to the blockchain would make these two systems complimentary in the way they should be.
58−
59−Your Urbit is your home on the network. It isn’t built to enforce contracts or to send money, but it gives you a safe place that’s universally available on the network to do those things from.
main/posts/overview.md+198−55
@@ -4,66 +4,209 @@ type: post
44title: Urbit overview
55author: Galen Wolfe-Pauly
66image: http://urbit.s3.amazonaws.com/16-3-10/blog-0.jpg
7−preview: A simple system is easier to maintain, easier to develop for, and easier to understand.
7+preview: A high-level overview of Urbit. How the pieces fit together and what we think the future will look like as Urbit grows up.
88layout: urbit,post
99navmode: navbar
1010navdpad: false
11−navselect: blog
11+navselect: posts
1212navpath: /
1313navhome: /
1414navclass: urbit
1515---
1616
17−Urbit is a personal cloud computing platform. You can install Urbit on any Unix-based system to turn it into a self-hosted node on a new decentralized network.
18−
19−We have a computer on our desks or our laps, and a smaller one in our pockets, but our computing is actually spread across the cloud services we depend on. These services all look pretty similar. They each keep track of your identity, store your data and provide some interface to compute with. Your Urbit is designed to provide these same features — but on a single server that you own and control, running on a secure decentralized network.
20−
21−When centered around the individual a computer can be a vehicle for invention and exploration; a tool for one to discover what’s possible. A computer should be an open-ended device for the advancement of our thought, our relationships and in turn, our society.
22−
23−Urbit is designed to be such a computer, intended to restore the possibility of general-purpose computing for our cloud-permanent future. We look forward to a world where each person has a single place where they store their data and decide what software to run, on a platform they cryptographically own, and can both program and control.
24−
25−Your Urbit is your digital identity, permanent personal archive, general-purpose computing platform and secure network of devices. The convenience of cloud computing is fantastic, but it need not come at the cost of our privacy, control and, most importantly, creativity.
26−
27−## Platform as product
28−
29−At its core Urbit is a system for others to invent on top of — to reimagine what a computer should be. Urbit is a general-purpose personal computing platform for the cloud designed to make computing on the network simple enough for an ordinary user.
30−
31−The first thing Urbit is good for is taking control of your existing cloud services. Your Urbit allows you to program and control your cloud services as if they were all part of a single system. Sort of like IFTTT if it were a piece of systems software. A simple stateful tool that can `ls` your GMail, or send a tweet when a GitHub issue gets closed. We're working to make the Urbit programming environment treat web APIs like I/O.
32−
33−Urbit is also currently a simple self-hosted publishing and communication tool. Your Urbit hosts your static content in a way that’s flexible. It's quick to create a blog o website just by creating a tree of markdown files. Today we all create a variety of different kinds of content, but find it permanently tethered to the service we created it with. As a publishing tool Urbit is designed to bring our content together into a single customizable system.
34−
35−These first steps are just the beginning. At first, your Urbit is a transparent layer to the things you already have. Next it’s a reliable archive all your data. Over time your Urbit grows into a world all its own. One in which you have a single digital identity, never lose data, can run any software you like — without any cost of switching — and don’t have to worry about privacy or security. We go into more detail about this in a longer post on [product futures](../2016-3-7).
36−
37−## Approach
38−
39−The foundation of the cloud is a Unix box with an internet connection — a pair dating back to the 1970s. In the 70s there was no universally available broadband, no global layer of 99.99999% uptime data centers, nor any concept of social networking. We have outgrown the original architecture of the internet as we have discovered and invented what the web is useful for. The tools for building apps and services are quite mature, but they’re designed for a centralized model. Anyone who wants to run their own computer in the cloud has to learn to use a bare unix server, which is full-time job.
40−
41−Our approach is to provide the same suite of services that we have come to expect from the server side, but for an individual to own and control independently. Urbit bridges the gap between Unix and the application layer with a single simple system instead of a toolbox of interlocking parts (aka 'the stack'). Each Urbit is a self-contained system that's independently controlled, but seamlessly a part of a global network.
42−
43−Urbit treats the cloud like the internet treated the phone system. Our system runs on any Unix box with an internet connection, providing a clean and simple platform for individuals to independently compute in the cloud on top.
44−
45−## The system
46−
47−Urbit’s design is a bit like a mechanical device: simple, pared down and optimized for flexibility and durability.
48−
49−Practically Urbit has three layers: Arvo, our operating environment; Hoon, our programming language and Nock, our virtual machine. Arvo is composed of kernel modules familiar from the web stack: a global, immutable revision-controlled filesystem, a build system, a web server, a typed networking protocol and an application model. Hoon is a strict, typed functional language similar to Haskell but without the math. Nock is a simple combinator that’s the Urbit equivalent of the lambda calculus. The entire system fits in about 20K lines of code and can be understood in its entirety by a determined engineer.
50−
51−Just a few of our techncial wins:
52−- Deterministic computing. Your Urbit's state is a fixed function of its event history. Need to replay a few million events? No problem. We arrive at the same byte-for-byte state every time.
53−- Single-level store. Urbit makes no distinction between memory and disk. Your program state lives forever since the entire system acts like a database.
54−- Typed, exactly-once networking. Urbit networking is designed to make calling remote functions the same as doing local computation.
55−- Typed, global, immutable revision-control. The entire Urbit network shares a single filesystem.
56−
57−Urbit today is a proof of concept. It runs, works pretty well, and will happily entertain any interested developer. There’s lots to work on and lots to explore. To learn more and get set up head over to [the docs](/docs).
58−
59−## Address space
60−
61−The foundation of Urbit is the address space. The Urbit network / PKI is a decentralized, finite, global address space where each address is a piece of cryptographic property. If bitcoin is money and ether is law, Urbit is land. An Urbit address is a short, memorable name that you can route packets to. It's kind of like a username, IP address and domain name all rolled into one name that you keep forever. Since there's a finite number of them, all of which can only be transferred a limited number of times, addresses cost money. How much? More than you’d make spamming and abusing the network.
62−
63−At first that cost is nearly zero. The network is young and unpopulated. Urbit solves this problem by dividing address space into blocks. The first 2^8 can invite the following 2^16 who can invite the remaining 2^32. Early blocks are designed to be nodes of trust. They perform routing tasks (p2p discovery) for their children, and also sign the keys for new nodes. Child nodes are free to change parents, but will always need to find a parent who will take them on.
64−
65−For us, this is a feature. To build a sane network we think the right approach is to create multiple decentralized bottlenecks for entrance. In this design authority never resides in one place, and accountability between nodes is preserved. The network is inescapably driven towards decentralization since individual nodes are incentivized to give away their invitations.
66−
67−The address space is intended to become what a network ought to be: reputation infrastructure. A network where addresses represent actual humans would be a fantastic achievement. Identity is a basic primitive completely unsolved by the web today. We have centralized systems of identity authority (Facebook, Twitter, Google) — but they’re hardly digital passports. An Urbit is a secure, verifiable digital identity system with no central point of control.
68−
69−Learn more about the address space in [the network architecture doc](2016-3-9).
17+## What Urbit is
18+
19+Urbit is a virtual city of general-purpose personal servers.
20+
21+## Your old personal server
22+
23+What's a personal server? In a sense, you already have one. Your
24+personal server is the combination of all the cloud services you use
25+now.
26+
27+This "server" is a mess. It's broken into 17 different fragments
28+which are scattered all over the planet. You have no control at all
29+over any of the pieces. The more we depend on Web services, the more
30+we realize how unsustainable this situation is.
31+
32+Can you remember all the services you have accounts for? How about
33+the username and password for each? Some of them will let you pull
34+your data out somehow, some won’t. Sometimes you can move your data
35+between them, sometimes you can’t. But they're all good at
36+showing you ads.
37+
38+## Your new personal server
39+
40+Your urbit is your own general-purpose server. It holds your
41+data; runs your apps; wrangles your connected devices; and
42+defines your secure identity. If you still need your old
43+services, it drives them with APIs.
44+
45+Your urbit presents your whole digital life as a single web
46+service. And since it's yours, open source and patent-free, it
47+never shows you ads. Or loses your data. Or updates without
48+your consent.
49+
50+Technically, Urbit is a new kind of OS that has a precise formal
51+definition. (Urbit is actually a [single mathematical function](CS
52+paper).) One advantage of a math-based OS is that Urbit is perfectly
53+portable. It can't tell whether it's in a cloud data center or on
54+your home PC.
55+
56+Concerned about mass surveillance? Download your urbit and restart it
57+on your laptop, or move to a new host in Iceland. Urbit's formal
58+simplicity makes managing it as easy as managing an iPhone: all you
59+have to decide is what apps to add.
60+
61+Each urbit is a node on an global, encrypted P2P network. Your Urbit
62+name, a generated pseudonym like `~talsur-todres`, is also your network
63+address. Like Bitcoin, Urbit address space is a cryptographic asset
64+with a limited supply.
65+
66+By keeping addresses scarce, we make spam and abuse expensive. Urbit
67+is a "friendly network," like the Internet in 1986, where a stranger
68+is nice until proven nasty. As it matures, Urbit will grow into a
69+decentralized, self-governing virtual city both safe and free.
70+
71+## The Urbit future
72+
73+In an Urbit world, your data is no longer trapped in a jumble of
74+proprietary servers. Your urbit is a permanent, versioned, typed
75+archive the size of your digital life. Even before you move your data
76+from a Web service to a local Urbit app, your urbit can drive your
77+account with an API or scraper.
78+
79+And within Urbit, data is never locked inside apps. Imagine if you
80+could painlessly switch between Facebook and Google+, Asana and
81+Trello, Tumblr and WordPress. Not only does your urbit upgrade itself
82+and its apps automatically, you can "sidegrade" a running app to
83+another vendor without losing data.
84+
85+Your urbit is also your digital identity. Along with your data
86+lifestream of media, messages and documents, it has the keys and
87+tokens to manage all your legacy Web services. It holds the keys
88+for your cryptocurrency wallets, so it can buy and sell for you.
89+(With one personal server to secure, not 17 different accounts,
90+you actually have the bandwidth to take security seriously.)
91+
92+You still use network services. But instead of interacting with
93+the service provider's HTML UI, which phones home using
94+proprietary HTTP APIs, you interact with a third-party app on
95+your urbit, which talks to multiple service providers using
96+public, typed Urbit protocols. For example, your urbit runs a
97+single shopping app, which downloads catalogs and uploads orders.
98+This app is one store which sells everything in the world, with a
99+salesman who's 100% on your side and always has the best price.
100+Every computing experience is different when the UI is working
101+exclusively for the user.
102+
103+Finally, your urbit is the hub for your network of connected
104+devices. Your smart thermostat, your wristband, your phone and
105+tablet, all run satellite urbits which talk securely to your main
106+urbit in the cloud.
107+
108+## A chance for digital freedom
109+
110+The promise of the personal server isn't just convenience.
111+General-purpose computing is magic. This magic must be in the
112+hands of all, not just those who can master Unix. The computer
113+is a bicycle for the mind. It's an open vehicle for exploration
114+and discovery. It’s not a way to optimize ad delivery.
115+
116+Urbit, as virtual city, is a platform that brings together all our
117+datastreams -- from emails to heartbeats -- in a way that we ourselves
118+control. Can we work together to match faces in photos, without
119+submitting to some panopticon in Mountain View? While the first step
120+in freedom is the right to be left alone, the second is the power to
121+form new intentional communities, to create and evolve a voluntary
122+definition of public space. We have no idea at all what people will
123+do with this power.
124+
125+General-purpose computing is digital freedom. And today, a cloud data
126+center is the technically optimal locus of computation. The cloud is
127+always on, always available, never loses data. Hosts are sometimes
128+attacked; but they never intentionally tamper with their virtual
129+computers. The cloud can never be secure against a global adversary;
130+but most people don't have a global adversary. A single portable
131+platform provides "herd immunity" for the few who do need direct
132+physical control over their main computers.
133+
134+Though even laptops are atrophying into mere browsers, mass-market,
135+general-purpose computing on the client side remains an endangered
136+species that must be protected. But on the server side, this species
137+has never even *existed*. There has never been anything like a
138+mass-market personal server. Why not?
139+
140+## Freedom is an engineering problem
141+
142+Urbit is not a difficult idea. Urbit is like a flying car: the idea
143+is not the hard part. Almost everyone we talk to about Urbit turns
144+out to have had pretty much the same idea themselves. The problem is
145+building it.
146+
147+A server is a computer. It's running some operating system. This OS
148+is a flavor of Unix. There are no alternatives. It's connected to
149+some network. This network is the Internet. It has no competitors.
150+You can have a personal server, if it's a Unix server on the Internet.
151+
152+Almost no one thinks being a Unix system administrator is fun. Not
153+even Unix system administrators think running an Internet server is
154+fun. So the personal Unix/Internet server is like the personal
155+bulldozer. This is not a consumer product. Any number of engineers
156+can't turn a bulldozer into a bicycle.
157+
158+How did we build the personal bulldozer? We didn't. We started
159+from scratch. (The people who built the first PCs didn't start
160+with a mainframe OS, either.) We created a new platform: Urbit.
161+
162+Urbit doesn't compete with Unix and the Internet. It's a new,
163+opaque layer on top of them. Your browser runs on a native OS,
164+but it doesn't give Web apps any way to talk to the native OS.
165+Urbit is like a browser for the server side: code within Urbit is
166+formally isolated from the platform it runs on top of.
167+
168+Your urbit is a Unix process, in a data center or your PC. It sends
169+UDP packets over the Internet. It can both load and serve web pages
170+over HTTP. Except for character sets and crypto, nothing in Urbit
171+reuses or depends on any 20th-century code.
172+
173+Urbit is a complete, clean-slate system software stack: a
174+non-lambda interpreter (Nock), a functional language (Hoon), and
175+an event-driven OS (Arvo), with its own encrypted protocol
176+(Ames), typed revision control (Clay), reactive web server (Eyre)
177+and functional build system (Ford). The full system, including
178+basic apps, is only 30,000 lines of Hoon.
179+
180+The first end-to-end prototype of Urbit took one engineer eleven
181+years. The current beta took three more years, with about three
182+engineers on average. We think we've solved all the real CS
183+problems. But it will take more than our small team to deliver a
184+polished, user-friendly Urbit that can actually challenge the
185+modern web.
186+
187+## Where we are, what we're doing
188+
189+Urbit is in feature freeze. It's a minimum viable product in
190+early beta. It still needs quite a bit of fit-and-finish work.
191+We certainly don't recommend it for end users or consider it in
192+any way secure. But it's fun to play with, if you're a nerd.
193+
194+This summer, we're making the switch to an open and transparent
195+development and specification process. A system as unusual as
196+Urbit can't be invented in public. But it has to be finished and
197+maintained in public.
198+
199+Addionally, we're creating an open political and economic process,
200+with a small, fixed-price public presale of Urbit address space. Join
201+us and help make this future actually happen.
202+
203+To keep reading, learn more about [Urbit's address
204+space](../address-space); share our vision of the Urbit user
205+experience, from the [top down](../vision) or the [bottom
206+up](../magic); check out the [development roadmap](../roadmap);
207+evaluate Urbit's [beliefs and principles](../principles) or its
208+[interim constitution](../constitution); or learn [who we
209+are](../company).
210+
211+(For technical readers, check out our [developer documentation](/docs) or
212+the [CS paper](#)).
main/posts/principles.md+44−25
@@ -1,39 +1,58 @@
11---
22sort: 2
33type: post
4−title: Mission statement
5−author: Galen Wolfe-Pauly
4+title: Beliefs + Principles
5+author: Galen Wolfe-Pauly + Curtis Yarvin
66image: http://urbit.s3.amazonaws.com/16-3-10/blog-2.jpg
7−preview: To build human-centered, general-purpose tools for making, thinking and communicating.
7+preview: Where the motivation for building Urbit comes from and what guides its forward progress.
88layout: urbit,post
99navmode: navbar
1010navdpad: false
11−navselect: blog
11+navselect: posts
1212navpath: /
13−navhome:
13+navhome: /
1414navclass: urbit
1515---
1616
17−# Beliefs
18−
19−We believe strongly in the value of individual creativity. To maximize our individual creative potential we believe that general-purpose tools are an essential resource. Cloud computing has become an inexorable part of human life, and yet the individual toolset for putting it to work is in decline. We believe that general-purpose computing ought to be a human right, and that it is sorely underserved by the web today.
20−
21−Urbit is built to reconcile this dilemma: to provide a general-purpose computing platform for individuals to use in the cloud. We believe that individuals shouldn’t need to pay any cost in terms of usability, accessibility or reliability in exchange for ownership, privacy or control.
22−
23−We believe that Code is Law, that the technical constraints of the systems we use to communicate and coordinate act as the governing framework of our digital lives. We believe that the discussion of how our software should work needs to be inclusive and expansive. We welcome debate and criticism in our development process. Urbit is open source and always will be.
24−
25−We believe in free speech and we believe in personal accountability. Today we live on a network where harassment pays no cost and censorship can be unilateral. The Urbit network is designed to combat both these problems. Urbit addresses are finite, have a cost, and more importantly are designed to be permanent. Harassment, abuse or spam are all easily combated at the network layer. The Urbit network is para-decentralized, meaning you have to get an address from someone already on the network and you rely on someone for p2p discovery. You’re not tied to any single parent, but you’re accountable to someone for maintaining your network services. While others can’t censor you, someone must support you.
26−
27−We believe that a healthy network is one with diverse well-defined communities and clear, user-controlled, boundaries between public and private. We believe that to achieve this state the network must be designed to become inescapably more decentralized over time. That if a distribution of power enforced at the systems level is absolutely necessary.
28−
29−Lastly we believe that no software system can replace human trust and communication. Urbit has been carefully designed with this in mind. Discourse and dialogue are an important part of communities of all scales. Code and law can successfully reduce conflict only to a point, when too far reaching they become oppressive.
30−
31−We hope you can join us in building a new platform to satisfy these goals. Critique is as valuable as commits. Our hope is simply that we can preserve the promise of general-purpose computing since its positive effect on humankind is so deeply significant.
32−
33−# Principles
34−
35−A constitution must proceed from a position of general agreement
36−on basic principles. Those
17+## Beliefs
18+
19+We believe strongly in the value of individual creativity. To
20+maximize our individual creative potential we believe that
21+general-purpose tools are an essential resource. Cloud computing has
22+become an inexorable part of human life, and yet the individual
23+toolset for putting it to work is in decline. We believe that
24+general-purpose computing ought to be a human right, and that it is
25+sorely underserved by the web today.
26+
27+Urbit is built to reconcile this dilemma: to provide a general-purpose
28+computing platform for individuals to use in the cloud. We believe
29+that individuals shouldn’t need to pay any cost in terms of usability,
30+accessibility or reliability in exchange for ownership, privacy or
31+control.
32+
33+We believe that that the technical constraints of the
34+systems we use to communicate and coordinate act as the governing
35+framework of our digital lives. We believe that the discussion of how
36+our software should work needs to be inclusive and expansive. We
37+welcome debate and criticism in our development process. Urbit is
38+open source and always will be.
39+
40+We believe in free speech and we believe in individual accountability.
41+We believe that a healthy network is one with diverse well-defined
42+communities and clear, user-controlled, boundaries between public and
43+private. We believe that to achieve this state the network must be
44+designed to become inescapably more decentralized over time. That
45+a distribution of power ought to be coded into our systems software.
46+
47+Lastly we believe that no software system can replace human trust and
48+communication. Discourse and dialogue are an important part of communities
49+of all scales. Code and law can successfully reduce conflict only to a
50+point, when too far reaching they become oppressive.
51+
52+We aim to preserve the promise of general-purpose computing since its
53+positive effect on humankind is so deeply significant.
54+
55+## Principles
3756
3857Here are some principles of Urbit. Where principles conflict,
3958the first stated takes precedence.
main/posts/roadmap.mdnew file+252
@@ -0,0 +1,252 @@
1+---
2+sort: 6
3+type: post
4+title: Roadmap
5+author: Curtis Yarvin
6+image: http://urbit.s3.amazonaws.com/16-3-10/blog-5.jpg
7+preview: Our near-term goals for the Urbit community, documentation, maturity, utility and governance.
8+layout: urbit,post
9+navmode: navbar
10+navdpad: false
11+navselect: posts
12+navpath: /
13+navhome: /
14+navclass: urbit
15+---
16+
17+# Urbit roadmap 2016
18+
19+Urbit is in early beta. It works. It doesn't work well enough to be
20+particularly useful, though it's not that far away.
21+
22+It's important to understand that the present Hoon codebase was
23+developed almost entirely by three full-time engineers (Curtis,
24+Philip, Anton). We are good, but not superhuman.
25+
26+We have four separate problems to attack in 2016: community, maturity,
27+utility, and governance.
28+
29+## Community
30+
31+Working on Urbit is incredibly fun. We've kind of bogarted that fun.
32+We're sorry -- no, we're not actually sorry -- but we're going to
33+change that.
34+
35+Since 2013, the community status of Urbit has been that it's open
36+source and you can mess with it if you want, but we don't really do
37+much to encourage you. Or to put it differently: open source,
38+secretly wishing it was still stealth.
39+
40+The sad truth is that we've been doing research, and research doesn't
41+scale. This is one of the reasons why open-source projects are
42+notoriously focused on copying proprietary products. Open source is
43+great for incremental maintenance and development -- almost nothing in
44+software is as mature as a mature open-source project, because "with
45+enough eyeballs, all bugs are shallow." But it's terrible for
46+creative research, because the smallest decisions invite the notorious
47+"bikeshedding" syndrome.
48+
49+Now that Urbit does all the things we want it to do, in (pretty much)
50+the way we want it to do them, our focus is changing. All we really
51+care about going forward is maturity and traction. Also, it's a lot
52+harder to argue about what color the bikeshed should be painted, if
53+the bikeshed is already painted.
54+
55+So, working on Urbit is incredibly fun. If only because it's the
56+programmer's equivalent of astrobiology. But not only because --
57+Urbit is very far from being a mere esoteric curiosity.
58+
59+The first challenge we face is making sure Urbit is properly
60+documented. (See below.) We'll also be:
61+
62+- holding weekly public meetings / office hours maintaining public
63+- developer blogs (probably) running open contests with address-space
64+- prizes
65+
66+## Maturity
67+
68+At the systems layer, Urbit has enough features for right now. What
69+it needs is maturity.
70+
71+Aside from mere bugs and issues, maturity comes in five flavors:
72+documentation, dogfooding, optimization, security, and testing.
73+
74+### Documentation
75+
76+Anyone outside the core team who's done any serious work in Urbit has
77+earned their scout badge in Reverse Engineering. The number of people
78+who have done this is impressive, but also slightly embarrassing.
79+Since Urbit is so technically unusual, we have no excuse for leaving
80+any part of it undocumented.
81+
82+Documenting Urbit is not just a matter of writing down specifications
83+for the code as it exists. That would be easy if the code was
84+perfect. It's not perfect.
85+
86+One truism of CS is Knuth's observation that "premature optimization
87+is the root of all evil." Yes, but premature documentation is at
88+least the trunk of all evil. "Documenting into existence" -- making
89+something that doesn't exist exist, by describing it -- is the trap of
90+all vaporware projects.
91+
92+On the other hand, Urbit does exist. It doesn't need to be documented
93+into existence. It does needs to be documented into completion. This
94+doesn't mean simply describing the codebase.
95+
96+Documenting to completion is a two-way process. It always produces a
97+nontrivial set of technical revisions. Large design questions are not
98+open for discussion, but small ones are. This makes documenting to
99+completion a fun and fascinating community process, which neither
100+reduces to mere stenography, nor descends into endless bikeshedding.
101+
102+Nock is completely done, and completely documented. Hoon still has a
103+few small rough spots; its reference documentation is decent but not
104+perfect; its tutorial documentation needs more work, but is reasonably
105+adequate.
106+
107+The real target of documentation into completion is Arvo (including
108+the Hoon library). The ideal point at which to prepare stable
109+documentation is the point Arvo is at now: basically working, but
110+largely undocumented.
111+
112+Since Hoon is a programming language for Arvo, not for Unix, Hoon
113+documentation without Arvo documentation remains mostly useless -- so
114+we've got a strong incentive to get this done. But not without
115+actually getting it right.
116+
117+### Dogfooding
118+
119+Urbit has no alternative but to dogfood itself into maturity. If the
120+Urbit team itself doesn't solve some problem with Urbit, who else can
121+be expected to? Any use of any external tool in the Urbit development
122+process is a damaging energy leak.
123+
124+We already use Urbit to publish documents about Urbit, to chat about
125+Urbit, and of course to deliver Urbit updates. With this release,
126+we're adding a public chat stream and public comments.
127+
128+The next dogfooding steps: using Github as a backup to Clay, not Clay
129+as downstream from Github; our own internal issue tracker; and
130+replacing internal email with long-form `:talk` messages.
131+
132+### Optimization
133+
134+You'll notice that some aspects of Urbit are slower than you might
135+expect. This is because of our approach to optimization, which is to
136+throw some elbow grease at it when it gets annoying.
137+
138+Death by unsolvable slowness is a common cause of mortality in
139+language-oriented projects like Urbit. But Urbit actually has two big
140+advantages in optimization.
141+
142+First, our profiler is simple, but quite effective, because it's
143+integrated with the language and runtime at a level usually not found
144+in profilers. Second, anything that's slow can be jetted; as long as
145+there's an inner loop, that inner loop is vulnerable to anyone who can
146+write C. And there's always an inner loop.
147+
148+### Testing
149+
150+There is plenty of design work to be done in even figuring out how to
151+systematically test Urbit.
152+
153+We've done appallingly little systematic testing. We've mostly relied
154+on simplicity and elbow grease to get the system to the reliability
155+level it's at now. `~zod` has been up for a few months and has a 22GB
156+event log. There's no reason to think that if we replayed that log,
157+we'd end up with any different bits.
158+
159+Simplicity buys a lot. Urbit is not always as simple as we want it to
160+be, though. There are plenty of known bugs; and we're nowhere ready
161+to declare Urbit ready for mission-critical data.
162+
163+### Security
164+
165+Urbit is not yet secure at all. We don't even think it's secure. And
166+this is just the first step in making it secure. After that comes an
167+independent audit and penetration testing.
168+
169+## Utility
170+
171+However much we want Urbit to succeed because we're geeks and love
172+functional programming, it can only go somewhere by being useful -- to
173+people who don't care about the technology. Moreover, even for geeks,
174+the amount of fun in working on something that's permanently un-useful
175+is quite limited.
176+
177+What is Urbit? Urbit is a general-purpose personal server whose
178+long-term goal is to replace the whole web-service ecosystem. The
179+long term takes a long time by definition and is always preceded by
180+the short term.
181+
182+Fortunately, Urbit isn't that far from being useful in the short term.
183+Three directions we're pushing in: APIs, publishing, and distributed
184+chat. Urbit is a general-purpose system, of course, and it's very
185+hard for us to know what "killer app" will catch on first. It might
186+not even be any of these.
187+
188+### API aggregation
189+
190+It takes a long time to replace Facebook -- or any other mature Web
191+service. But most of these services have APIs. Early in its life,
192+your general-purpose personal server puts most of its energy into
193+controlling special-purpose personal servers.
194+
195+The use case seems a little trivial, but Urbit is actually a great API
196+client. An API client is stateful; it has keys and tokens to manage.
197+And APIs are notoriously unstable, which requires over-the-air
198+hotpatches, which Urbit is quite good at.
199+
200+Also, having your own personal API token on your own personal server
201+is enormously empowering. Most services make it quite easy to
202+register yourself as an "app." Unlike a third-party startup, this "me
203+app" doesn't have to obey any TOS constraints on user experience.
204+
205+For example, if you build an API-driven web service that shows an
206+integrated Facebook and Twitter feed, your API key will be revoked.
207+If you write an Urbit app that delivers the same experience, so long
208+as users bring their own API keys ("BYOK"), nothing bad will happen.
209+It's good for adoption when Urbit can present a user experience that
210+nothing else can.
211+
212+Another area we're focusing on is using Urbit as a shim to put your
213+Unix box in control of your API-driven services. With Urbit and FUSE,
214+you can actually mount remote services in your filesystem. Our first
215+prototypes of this are quite exciting, though they could use some
216+optimization.
217+
218+API drivers are also a great area for people to contribute code to
219+Urbit. There's an almost infinite number of drivers to write, each of
220+them is slightly different from the others,
221+
222+### Personal publishing
223+
224+If you put it behind nginx, Urbit already works quite well as a
225+personal publishing tool. You can copy a tree of Markdown files into
226+a directory and have a website or a blog. There's no reason why a
227+well-cached functional publishing system shouldn't replace a static
228+site generator.
229+
230+Key features we need for Urbit publishing: Let's Encrypt support for
231+people who need their own secure domains, and a DNS server in stars so
232+that `planet.urbit.org` doesn't have to be proxied.
233+
234+### Decentralized chat
235+
236+A lot of people want an encrypted, decentralized, persistent chat
237+network. Urbit already is this, though its human interface is nowhere
238+near as refined as a marvelous product like Slack.
239+
240+Urbit needs chat because it needs to talk about itself. But the most
241+mature parts of Urbit will always be the ones we dogfood, and chat is
242+central to this list.
243+
244+Can Urbit gain traction as a messaging platform alone? It's certainly
245+conceivable. It's difficult, to put it mildly, to understand what
246+makes one messaging network more popular than another. Ideally,
247+someone who cares deeply about decentralized messaging would take this
248+ball and run with it.
249+
250+## Governance
251+
252+See the [interim constitution](./constitution).
main/posts/vision.md+142−30
@@ -4,84 +4,196 @@ type: post
44title: What is Urbit for?
55author: Galen Wolfe-Pauly
66image: http://urbit.s3.amazonaws.com/16-3-10/blog-1.jpg
7−preview: Urbit is a general-purpose platform, but we know where to start.
7+preview: We didn't build Urbit just because it's fun to work on. We built Urbit because we think it can unlock new potential products. Here we take a tour through some of these possibilities.
88layout: urbit,post
99navmode: navbar
1010navdpad: false
11−navselect: blog
11+navselect: posts
1212navpath: /
1313navhome: /
1414navclass: urbit
1515---
1616
17−Open platforms don’t beat closed systems just because they’re open. They win because you can do more exciting things with them. We believe we’re overdue for new infrastructure not purely on principle: but because we think you can build better products on top. Urbit will always be a platform for others to invent on top of. We hope to drive much of that momentum ourselves.
17+Open platforms don’t beat closed systems just because they’re open.
18+They win because you can do more exciting things with them. We
19+believe we’re overdue for new infrastructure not purely on principle:
20+but because we think you can build better products on top. Urbit will
21+always be a platform for others to invent on top of. We hope to drive
22+much of that momentum ourselves.
1823
19−We look forward to a future where your fleet of Urbits run throughout your house, keep your biometric data in sync with the data center and keep your medical and financial data secure. Today Urbit is just a proof of concept — but we see a road from here to there.
24+We look forward to a future where your fleet of Urbits run throughout
25+your house, keep your biometric data in sync with the data center and
26+keep your medical and financial data secure. Today Urbit is just a
27+proof of concept — but we see a road from here to there.
2028
2129## Today
2230
23−These are things that work but are under development today. We expect them to improve and stabilize in the coming months.
31+These are things that work but are under development today. We expect
32+them to improve and stabilize in the coming months.
2433
2534### Making the web programmable
2635
27−The first thing your Urbit can do is act as a transparent layer to your existing services. We’d like urbit to be usable as a self-hosted IFTTT for geeks. Your urbit can hold your keys, store data, run programs and seamlessly connect to your existing services. Plus, with a global revision controlled filesystem it’s easy to share API connectors and keep them up to date.
36+The first thing your Urbit can do is act as a transparent layer to
37+your existing services. We’d like urbit to be usable as a self-hosted
38+IFTTT for geeks. Your urbit can hold your keys, store data, run
39+programs and seamlessly connect to your existing services. Plus, with
40+a global revision controlled filesystem it’s easy to share API
41+connectors and keep them up to date.
2842
29−With an Urbit running on your machine you can `ls` your Gmail from Unix. Write a short script to poll Twitter on a keyword and deliver the results to your email or into a Slack channel. Send an SMS when an HTTP request doesn’t resolve. These are just a few examples. Your Urbit is designed to make data trapped in your existing services feel like an extension of your local programming environment.
43+With an Urbit running on your machine you can `ls` your Gmail from
44+Unix. Write a short script to poll Twitter on a keyword and deliver
45+the results to your email or into a Slack channel. Send an SMS when
46+an HTTP request doesn’t resolve. These are just a few examples. Your
47+Urbit is designed to make data trapped in your existing services feel
48+like an extension of your local programming environment.
3049
3150### Self-hosted publishing and communication
3251
33−Additionally your Urbit is a flexible platform for publishing data to the web and communicating with others. Sort of like a self-hosted Slack, WordPress and Wiki in one. It’s more common to use many tools for sharing our content and communicating. Urbit is designed to bring those tools together; giving the individual control over their creative output.
52+Additionally your Urbit is a flexible platform for publishing data to
53+the web and communicating with others. Sort of like a self-hosted
54+Slack, WordPress and Wiki in one. It’s more common to use many tools
55+for sharing our content and communicating. Urbit is designed to bring
56+those tools together; giving the individual control over their
57+creative output.
3458
35−Simply write markdown in your favorite editor and have an Urbit sync them to the cloud. Use React components to control your layout and extend our toolset. Host your own discussion channels and comment threads. On a computer you own and control, whose source is 100% open.
59+Simply write markdown in your favorite editor and have an Urbit sync
60+them to the cloud. Use React components to control your layout and
61+extend our toolset. Host your own discussion channels and comment
62+threads. On a computer you own and control, whose source is 100%
63+open.
3664
3765### Cryptographic identity
3866
39−Your Urbit is your digital identity, cryptographically secured but not controlled by any central authority. The Urbit PKI fills a gap that remains unsolved on the web. We can send encrypted messages, securely exchange digital currency, but how do I know who anyone is?
67+Your Urbit is your digital identity, cryptographically secured but not
68+controlled by any central authority. The Urbit PKI fills a gap that
69+remains unsolved on the web. We can send encrypted messages, securely
70+exchange digital currency, but how do I know who anyone is?
4071
41−Your Urbit can post public proof to your third party services and its validity is easily auditable. Using Urbit as an identity scheme for new services would be a great decentralized alternative to ‘Sign in with [company x]’.
72+Your Urbit can post public proof to your third party services and its
73+validity is easily auditable. Using Urbit as an identity scheme for
74+new services would be a great decentralized alternative to ‘Sign in
75+with [company x]’.
4276
4377## Tomorrow
4478
45−Urbit’s crypto isn’t tested, the network still gets rebooted from time to time. The next milestone comes when Urbit matures to the point that it’s as reliable as its SaaS counterparts.
79+Urbit’s crypto isn’t tested, the network still gets rebooted from time
80+to time. The next milestone comes when Urbit matures to the point
81+that it’s as reliable as its SaaS counterparts.
4682
4783### Lifestreams, finally
4884
49−The combination of great API tools and great publishing tools means we can finally build an integrated interface for today’s social networks. The web is full of streams of data. For the user there’s not much utility in bouncing from service to service. Instead, it’d be great to have general-purpose tools for consuming and publishing data. Imagine a Medium-quality interface that makes no distinction between Facebook and Twitter; SMS and Skype.
85+The combination of great API tools and great publishing tools means we
86+can finally build an integrated interface for today’s social networks.
87+The web is full of streams of data. For the user there’s not much
88+utility in bouncing from service to service. Instead, it’d be great
89+to have general-purpose tools for consuming and publishing data.
90+Imagine a Medium-quality interface that makes no distinction between
91+Facebook and Twitter; SMS and Skype.
5092
5193### Secret storage, web3
5294
53−Bitcoin and Ethereum are both part of a new era of decentralized infrastructure that’s just beginning. For the blockchain to realize its potential individuals need ought to have a way to host their own nodes. At the very least, individuals need a reliable place to keep their secrets. What’s more, the blockchain isn’t designed for computation. It’s great for contracts and currency, but too slow for practical computing.
54−
55−Urbit is a great compliment to the blockchain. Your Urbit can safely store your keys, providing an always-available keychain on the network. Even better, your Urbit can hold your blockchain assets and provide an off-chain computation layer. Urbit’s computation doesn’t provide any kind of distributed consensus, but our computation model is very simple and lends itself well to auditing. This makes it a very blockchain-friendly platform.
95+Bitcoin and Ethereum are both part of a new era of decentralized
96+infrastructure that’s just beginning. For the blockchain to realize
97+its potential individuals need ought to have a way to host their own
98+nodes. At the very least, individuals need a reliable place to keep
99+their secrets. What’s more, the blockchain isn’t designed for
100+computation. It’s great for contracts and currency, but too slow for
101+practical computing.
102+
103+Urbit is a great compliment to the blockchain. Your Urbit can safely
104+store your keys, providing an always-available keychain on the
105+network. Even better, your Urbit can hold your blockchain assets and
106+provide an off-chain computation layer. Urbit’s computation doesn’t
107+provide any kind of distributed consensus, but our computation model
108+is very simple and lends itself well to auditing. This makes it a
109+very blockchain-friendly platform.
56110
57111(Could add something about IPFS here)
58112
59113## Over the horizon
60114
61−If there’s one thing we know from the history of personal computers it’s that computers are always expanding into more and more of our lives. The more *personal* our computers get the more they need to reflect our thinking and our relationships. We don’t know exactly what this will look like, but we can certainly speculate on the areas that deserve the most attention.
115+If there’s one thing we know from the history of personal computers
116+it’s that computers are always expanding into more and more of our
117+lives. The more *personal* our computers get the more they need to
118+reflect our thinking and our relationships. We don’t know exactly
119+what this will look like, but we can certainly speculate on the areas
120+that deserve the most attention.
62121
63122### Data permanence and software competition
64123
65−Right now applications and data are practically the same thing. There’s no practical way for the user to separate them. Apps come and go, either by falling out of fashion or actually shutting down. In both cases our data becomes orphaned. There’s no practical way for us to get it back. The raw data from your LiveJournal is as good as a floppy disk from the 80s. Computers hold the records of our lives. Losing the history of the world to bitrot is a preventable problem.
66−
67−Since each person owns their own Urbit there’s no way to separate the user from their data. When you run software on your Urbit you *actually run it* and your programs manipulate data that *you own*. The individual has permanent access to their data by design. Ensuring its durability is a technical problem, not a license agreement problem.
68−
69−When individuals are running their own software it’s no longer possible to lock them in by controlling their data. Instead, software has to actually compete on utility. If one could trivially replace the interface for Evernote with one from another developer for $10 wouldn’t it be worth it? Even more so with Urbit, since after installing software you’re not dependent on the developer staying alive. You’re running a local copy. This model puts pressure on applications to interoperate better and become more modular.
124+Right now applications and data are practically the same thing.
125+There’s no practical way for the user to separate them. Apps come and
126+go, either by falling out of fashion or actually shutting down. In
127+both cases our data becomes orphaned. There’s no practical way for us
128+to get it back. The raw data from your LiveJournal is as good as a
129+floppy disk from the 80s. Computers hold the records of our lives.
130+Losing the history of the world to bitrot is a preventable problem.
131+
132+Since each person owns their own Urbit there’s no way to separate the
133+user from their data. When you run software on your Urbit you
134+*actually run it* and your programs manipulate data that *you own*.
135+The individual has permanent access to their data by design. Ensuring
136+its durability is a technical problem, not a license agreement
137+problem.
138+
139+When individuals are running their own software it’s no longer
140+possible to lock them in by controlling their data. Instead, software
141+has to actually compete on utility. If one could trivially replace
142+the interface for Evernote with one from another developer for $10
143+wouldn’t it be worth it? Even more so with Urbit, since after
144+installing software you’re not dependent on the developer staying
145+alive. You’re running a local copy. This model puts pressure on
146+applications to interoperate better and become more modular.
70147
71148### Reputation
72149
73−With a working identity system it’s possible to build up contextual reputation systems that aren’t held hostage by their applications. Just like the marriage of applications and data, reputation is permanently tethered to and jealously guarded by the services we use.
74−
75−For example, today we have karma systems on a per-site basis, like Reddit. Is there any reason that individuals shouldn’t have karma scores per-topic? An individual’s authority on a certain topic could be verified by other experts while still denied by detractors. It’s easy to extend this to services like Yelp. With a strong identity system it’s possible for pseudonymous reviews to be counted with real value. We’d no longer need a central authority for deciding on the reputation of a restaurant, but just a way to pseudonymously aggregate individual opinions. There’s a broad swath of territory ripe for exploration here.
150+With a working identity system it’s possible to build up contextual
151+reputation systems that aren’t held hostage by their applications.
152+Just like the marriage of applications and data, reputation is
153+permanently tethered to and jealously guarded by the services we use.
154+
155+For example, today we have karma systems on a per-site basis, like
156+Reddit. Is there any reason that individuals shouldn’t have karma
157+scores per-topic? An individual’s authority on a certain topic could
158+be verified by other experts while still denied by detractors. It’s
159+easy to extend this to services like Yelp. With a strong identity
160+system it’s possible for pseudonymous reviews to be counted with real
161+value. We’d no longer need a central authority for deciding on the
162+reputation of a restaurant, but just a way to pseudonymously aggregate
163+individual opinions. There’s a broad swath of territory ripe for
164+exploration here.
76165
77166### Privacy
78167
79−With a reliably secure place to store your data on the network, wouldn’t you want to store even more personal information yourself? Why is it that we don’t store our own medical records, biometric data or financial data? In a world where we have a safe place to keep them we wouldn’t require anyone else to keep them for us.
168+With a reliably secure place to store your data on the network,
169+wouldn’t you want to store even more personal information yourself?
170+Why is it that we don’t store our own medical records, biometric data
171+or financial data? In a world where we have a safe place to keep them
172+we wouldn’t require anyone else to keep them for us.
80173
81−Furthermore, we’d be able to share them pseudonymously. One could imagine medical research or census-like polling being done without compromising the privacy of those involved. This also lowers the barrier to entry for fintech and medical software developers. If I can run my own personal health and finance software that can reliably access my own transactions and medical records, what would developers come up with?
174+Furthermore, we’d be able to share them pseudonymously. One could
175+imagine medical research or census-like polling being done without
176+compromising the privacy of those involved. This also lowers the
177+barrier to entry for fintech and medical software developers. If I
178+can run my own personal health and finance software that can reliably
179+access my own transactions and medical records, what would developers
180+come up with?
82181
83182### IoT
84183
85−What needs a network *and* computation? Devices. Turning a unix box into a usable platform for hardware isn’t something that any individual manufacturer is incentivized to do. For the internet of things to actually work we need a platform for devices to interoperate simply and securely. Urbit is up to the task. Your Urbit isn’t just a single instance, it can sign the keys for a whole network of Urbits intended to be used for your devices, sensors, appliances, machines, robots, VR helmet, etc.
86−
87−The future of the individual’s computing experience may very likely be among many different devices. Bret Victor’s ‘Seeing Spaces’ is a great exploration of what this future may look like. For the industrial enterprise there’s a whole other set of parallel problems: tracking inventory, controlling a vast array of machines, and managing logistics. In both cases we need a decentralized network and computing platform. Urbit is up to the task.
184+What needs a network *and* computation? Devices. Turning a unix box
185+into a usable platform for hardware isn’t something that any
186+individual manufacturer is incentivized to do. For the internet of
187+things to actually work we need a platform for devices to interoperate
188+simply and securely. Urbit is up to the task. Your Urbit isn’t just
189+a single instance, it can sign the keys for a whole network of Urbits
190+intended to be used for your devices, sensors, appliances, machines,
191+robots, VR helmet, etc.
192+
193+The future of the individual’s computing experience may very likely be
194+among many different devices. Bret Victor’s ‘Seeing Spaces’ is a
195+great exploration of what this future may look like. For the
196+industrial enterprise there’s a whole other set of parallel problems:
197+tracking inventory, controlling a vast array of machines, and managing
198+logistics. In both cases we need a decentralized network and
199+computing platform. Urbit is up to the task.