> The defining characteristic of distributed systems is failure.
The Urbit network is a distributed system whose points of failure are individuals. I think this is good (thread). https://twitter.com/Meaningness/status/1248670310867451910
The Urbit network is a distributed system whose points of failure are individuals. I think this is good (thread). https://twitter.com/Meaningness/status/1248670310867451910
Since I'm responsible for my own ship, this aligns with self-interest. I have motivation to run my own ship a reliable way. Other people's failures can only do limited damage to me.
A single failure is like losing a friend. Only my interactions with that one person have failed; the network goes on. Now that we can do personal continuity breaches, as long as you do decent key custody, your identity can even survive catastrophic data loss.
Infrastructure nodes (stars, galaxies) cause more damage when they fail, but they're fungible, so loosely coupled to personal nodes. If my star sinks, it's easy to find a new star. This should be an automatic failover.
It's economically wise for them to do more replication, too.
It's economically wise for them to do more replication, too.
No authority needed to enforce consistency. Urbit's root nodes, the least fungible part of any network, consist of 256 independent nodes, owned by different people, in different places, portable across machines -- resilient against technical, political, and personal failures.
Urbit is a *personal* server. Compare other "social" software: Google's servers run the "Borg" system, in which a "Borgmaster" node reigns supreme, with your personal data sharded in many ways across hundreds of thousands of "Borglet" nodes. Impressive, but not exactly personal.
When you write a social app in Urbit, you are in fact building a distributed system. But it doesn't feel much like one, because of Urbit OS's guarantees (built-in secure auth, safe ser/des, exactly-once messaging), and because failures are tied to individuals.
[End thread]
[End thread]