Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Galen Wolfe-Pauly: Urbit – A Digital Republic Reinventing the Internet
Episode Date: October 18, 2017Galen Wolfe-Pauly, CEO of Tlon, the company behind Urbit, joined us to discuss one of the most radical and curious projects to come on the podcast. In development for 15 years already, Urbit aims to u...nravel the cloud computing paradigm that led to the creation of internet monopolies like Google and Facebook. Instead, in Urbit, each person has a personal server, a kind of digital sovereign entity, where applications are run, which leaves control and data in the hands of users. Galen joined us to discuss what the philosophy and ideas driving Urbit, how a radically different internet could look like and what our path is to get there. Topics covered in this episode: The 15 year long history and evolution of Urbit Understanding Urbit through the metaphors of a personal server, a personal blockchain, a republic or an operating function The main Urbit components Nock, Hoon and Arvo How Galaxies, Stars and Planets create Urbit’s hierarchy The Urbit namespace and why it has value How Urbit aims to radically reengineer how the internet works Episode links: Urbit - Website Urbit - An Overview Urbit - Beliefs and Principles Urbit - Interim Constitution Urbit and the Blockchain Wars This episode is hosted by Brian Fabian Crain and Meher Roy. Show notes and listening options: epicenter.tv/205
Transcript
Discussion (0)
This is Epicenter, Episode 205 with guest Galen Wolf-Poly.
Welcome to Epicenter, the show which talks about the technologies, projects, and startup driving decentralization
and the global blockchain revolution. My name is Brian Fabian Crane.
I'm Meheroy. Today we'll talk to Galen Wolf-Poly, co-founder of Orbit.
Orbit is like a very interesting project that's somehow trying to build a system that allows people
to have their own personal servers. We walk through the history of the Erbit.
project, what it's trying to do, its vision, and how the project will move forward.
Galen, welcome to the show.
Hey, guys.
Thanks for having me.
Tell us a bit about your background.
How did you come to be involved in orbit?
Sure, yeah.
So I have an architecture degree, which is kind of the most weird and notable thing about my
background.
I have, but I grew up in the Bay Area of building software.
So I'm really interested in designing systems, designing.
tools and I'm really interested in how software works and how we could use software to kind of
build tools that shape the way that people think. So the short answer to how I got involved in
Erbit was that I had spent a lot of time working on sort of building the full stack for different
web projects and I had done enough of that that I knew that I hated that stack so deeply. I just
wanted it to go away and I wanted to get back to what I remembered from being a child, which was that
you know, you ran your own computer on a network and other people ran their own computers.
And it was sort of a delightfully open-ended and fun experience. So when I saw Erbit, I thought,
okay, this is it. This is like, this is the thing that can potentially get us back to that world.
And that was in kind of late 2013, so kind of a while ago.
Can you share a bit about the history of Erbit? Because Erbit is a crazy old project.
Maybe it's the oldest projects that he ever had on the show.
Yeah, Erbit is an old.
old project, that's for sure. Its crypto system is actually pre-Bitcoin. We can talk about that a little bit
later. But yeah, so Curtis is the original sort of Erbit author, and he started working on
Erbit after he had written the kernel to the open wave WAP browser, which was like if you ever
had a cell phone, like a black and white cell phone with a web browser, that was probably a WAP
browser. So he always says that they shipped about a billion units of which like 100,000 never
got used. But I think he took a little bit of extra cash from that or like after that was over,
had the resources to work on an independent project. So I actually think the kind of the right
way to understand the urban stack is to just know the like the sequence in which it was built.
So at first I think Curtis started out thinking, okay, I want to rethink, you know, the foundations
of computing. I want to think about what's the right way to compute. Can I build the sort of
perfect virtual machine? And so the first four years are what are probably, or probably, or
perhaps maybe the slowest lines of code ever written.
So four years we're spent building NOC, which is our virtual machine.
That's 32 kilobytes.
I think it's like probably 30 lines of code about.
It fits on a T-shirt.
It's a sort of micro VM that defines kind of like the very foundation of orbit, right?
Like the way that the computer actually functions.
The following two or three years are spent building Houn, the orbit programming language.
Yeah, go ahead.
Just a second on that.
So he spent four years.
writing 30 lines of clothes.
That is insane.
I know.
It's important.
I think there's a lot of surfing in there, a lot of like, you know, this was not like
a full-time job, right?
It is pretty insane, though.
But it's, I mean, they're almost like math equations, right?
It's like a, it's almost like a theoretical math project to come up with, I think,
the foundation for how you might.
So I think the fundamental thinking, actually Curtis's old boss once told me this,
that he used to talk about this when working at Open Wave,
that the idea is basically could you have a computer whose state is just a number,
and every time something happens to it, that number changes.
So NOC just computes the transition from state A to state B, right?
So the sort of foundation of Erbit is a computer who just simply goes from state A to state B to state C,
depending on the input events that come into it.
And so what you get from that is that you can update everything,
if you had a network of computers that ran that way,
you can update everything above that virtual machine over the air.
You can update it over the network.
So I think that was certainly in mind in those initial years.
It feels a bit like a smart contract.
Yeah, right.
Right.
Lately we've been one way to explain Erbit to people who are deeply in the blockchain world
is that Erbit's kind of like a personal blockchain,
that it has the same, you know, it's a determinist to computer, right?
It's just that you own your orbit with a private key and it's private to you.
It's not a public ledger.
But we can get into that later.
So knock is basically like assembly.
You don't want to write knock, although you can.
And we have some contributors who actually love writing knock.
It's kind of a fun challenge.
But of course, once you've got knockdown, you want to write a language that makes it reasonably easy to compile directly to knock.
So that's Hoon.
Hune. You should think of Hoon like C for assembly.
or like as C is to assembly, Houn is to knock, right?
It's kind of a thin layer over knock.
So Houn works after a couple of years, and that's great.
But, you know, now you have this thing that should be a networked computer
and it doesn't have any of the functionality of the network computer.
So Arvo is, I think that Arvo, the operating system just answers the question,
like, what are the key pieces of functionality that you would want from a computer that, like,
lives permanently on the network?
So file system, build system, web server, networking protocol.
secret storage and something I always forget, which is probably really important.
I mean, those are the key pieces.
So it's similar to the web stack in a way and kind of services what you would imagine,
like what you might need to basically run applications, communicate over a network,
and like manage other nodes in that network.
So that's kind of, that handles, I guess, project history and, like, what the project is.
And I encountered the project when Arvo, the OS,
was basically a prototype.
Just barely booted, barely worked.
And it was clear to me at that point
that this had a lot of potential or had the potential
to do what I thought, sort of like nothing else
was really tackling.
So one question that comes to mind is,
you're building like computing from the ground up, right?
Like virtual machine, functional language, OS,
and then networking between these.
personal server. So why reinvent everything from the ground up?
That's a good question and it's a question we get a lot. I think the basic answer is if you
look at the amount of complexity in the existing stack, it's very difficult to
somehow make it simpler with those existing components. And then if
you look sort of historically at say like how do we end up with PCs we ended up with PCs because
people just rebuilt everything instead of taking like a PDP 10 or like a room size server you know
like a room size workstation that everyone shared in 1978 and figuring out how to reduce it in size
people just built simpler computers so all of Erbit fits in about 30,000 lines of code it's a
you know, I mean, it's about the size of a web app. And I think if you're going to actually,
if your thesis is I want to make this entire stack simpler, it's almost easier to just build it
from scratch. There's no kind of, there's no way to like retrofit the existing set of tools
towards that end. I also think like personal, you know, a personal networked computer is like
not really something that's ever, it's not really, it's never really existed. You know,
Unix is like a piece of industrial machinery. Um, so if you want to build,
that it's hard to kind of shimp like Mongo is also a piece of industrial machinery, right?
Most of the stack that we're familiar with today is built for a situation where one person
runs the server and people connect to it. So Erbit's built for a different purpose. And I think,
you know, the combination of those things are what kind of give us the license to do that. But
we're not saying it's not crazy. Like it's certainly a nutty thing to try and do.
So when he joined Erbitt, was it just a critic?
How did you find the project?
How did you end up making the choice to say, like,
okay, this guy who's been working on this for seven years,
like hacking away and this, like, weird thing?
Like, why did you think this was a good idea?
So, you know, in 2013, there weren't a lot of things that were,
you know, this is pre-Etherium.
This is pre, I mean, Bitcoin was around and doing it okay,
but it was about to enter into that kind of bearish period.
So blockchains weren't a fad, right?
And they weren't kind of the default answer.
to how do you decentralize or sort of re-decentralize the world. And so the competitive projects
were kind of things like Camel Store, which you guys may or may not remember, which is sort of like
a generalized get for data. And Erbett's ambition, I guess, struck me as maybe its greatest asset.
Like it seemed like if you were actually going to fix this problem, like if you were going to
give people general purpose computers again, that this, it just seemed to me like this is the only
possible practical way to do it.
And it worked. I think the main
thing is that it worked. I mean, and I still think that's
actually people,
I guess some of our contributors
kind of remind me of that. Like, Erbit is still young,
but the fact that, you know, it runs its own overlay
network, you can actually use this thing.
And, you know, when you go to irbite.org,
it actually computes a knock function
to deliver you that website. And
that's pretty amazing.
I think that on its own is really what convinced me.
Now, there are a lot of different ways of describing orbit and looking at it.
So maybe you can just run through a whole bunch of them and you can give sort of, you know,
what does it look like in this way?
One is maybe the first one to start with is the one that I think you guys use the most,
which is this idea of a general purpose personal server.
What is that?
Good question.
So the simplest way that I,
have found to explain that is basically through the lens of we chat and not everyone's super
familiar with we chat because it's not as popular in the west but what's incredible about
we chat is that it provides a single unified UI that you can use to interact with all kinds of
different services so a doctor's office may have basically provide data through some API
that WeChat then turns into a UI.
So I think that what you would want a personal server to be
is the one place that you go to interface with all of the things
that you want to do in the world, whether it be messaging and documents,
whether it be making transactions or booking appointments,
booking reservations, so on and so forth.
And you want that sort of servant server-like thing of yours
to be private to you, to be something you own with a private key.
So in terms of a very broad strokes, big vision kind of thing,
I think that Erbit is positioned to provide that in a way that is hard for me to imagine anything else really providing.
Is this like personal server running on one piece of individual piece of hardware,
or could it be like itself distributed?
So your Erbit event log should be,
committed to many different, you know, in an ideal world, your orbit event log is sort of
rafted across many different data centers. But your orbit is designed to just live on top of any
Unix box. Erbit sort of layers over Unix box with an internet connection. So that could be your
laptop. That could be a server in data center somewhere. But certainly in a mature system,
the way to get kind of same reliability that you get out of like S3,
to basically back it up to S3, back it up to Glacier,
that your event log lives in multiple places.
So you get really lots of nines of reliability
or of certainty that you're not going to lose data.
Does that make sense?
Yeah, it makes sense.
So basically, like, it's...
My orbit is my own abstract, like, personal server
that could be running on different pieces of hardware.
That's going to store all of my data.
and
yeah
like serve applications to me
that are using that
using that data in some way
right
and the idea would be like all of us
would have these personal servers
and they would connect to each other in a network
that's right we kind of skipped over
the networking aspect but that
Erbit runs its own network
over UDP and we treat
address space as
cryptographic property. So you own your urbit with a private key, and your orbit, when we say
your urbit, it is a virtual machine, but it's also a network address. And network addresses
in orbit are short, pronounceable names, such as Marzod or Rabmel-Rop-Dile, and those names are
just a direct function from some number, which is like an IP address, to a pronounceable name.
And we take that address, that address space is finite, so you can think of it,
like there are 4 billion addresses and we divide it up into blocks.
So at the top there are 2 to the 8th, there are 256 galaxies that sign the keys for 2 to the 16th or 65,000 stars that sign the keys for 4 billion or 2 to the 32nd planets.
The idea is that your parent just signs your initial key and then you're free.
You can change parents.
You can communicate directly peer to peer with others on the network.
but dividing it into blocks allows us to kind of decentralize the decentralization problem,
which is a confusing sentence that I think does actually accurately describe it,
meaning that basically I can sell you a star and you then can now go and issue 65,000 planets.
So now it's I can no longer control who you issue those planets to,
but because those planets have a cost, they are not something you want to throw away, right?
They're not something that you want to spam from.
So it's not up to us to decide who gets on this network.
It's up to the collective of people who own address space.
And then you hope that that collective can kind of help keep the network, a network of real humans.
This is fascinating.
Let's come back to this in a second, but I just wanted to run through some of these other ways of looking at urban.
So one was that you being an architect, right, like I think you look at it also through that kind of architectural perspective.
Can you describe that?
Sure.
So there are a few different ways of looking at that
or kind of thinking about it from a design thinking kind of standpoint.
I think in a way, the reason that I wanted to work on something like this
was very much motivated by a desire to build better interfaces,
better tools.
And I think if you look at,
if you look sort of long-term historically
at the kinds of tools that people use,
so I'm holding matches in my hand, right?
We all know how matches work.
They're very, like, it's very intuitive.
I own this little weird brass thing of matches.
I know what it does.
It's clear to me because I own it in my hand.
There is such a big kind of tactile difference
between an object that I own
and my Facebook account.
And I think that we rely so heavily on software to govern the way that we communicate
and the way that we store the records of our lives.
As a designer, it felt impossible to deliver to people really nicely designed things
that worked on their behalf if I was building centralized systems.
So I think one of the sort of biggest advantages of Erbit or something like Erbit are really
decentralized platforms in general is that the incentives of the developer are aligned with the
incentives of the user. You're kind of, you want to build things that people can actually use and
appreciate. So that's, I guess, really the foundational appeal of like why an individual would
want something like this to exist, right? We build tools for you to actually use rather than
building tools to get you to look at more ads. And maybe lastly, the idea of orbit being a republic
In which way is that true?
I guess it is kind of good that we digress a little bit into the network.
If you're going to run a network where individuals run their own nodes,
you also want those individuals to have,
you want the network to have kind of built-in systems of accountability
that kind of flow in both directions.
So Urban is a republic in that people who own an issue address space
are also incentivized to provide good service.
to those who they issue address based to because those people can potentially exit and go
work with different nodes. So I think the network is sort of Republican in design in that you don't
want anyone in the network to be it to be possible for them to accumulate too much power.
So we can get into the mechanics of that, but I think that's the basic idea that like the network
itself, the rules of the network should be somewhat sort of egalitarian by design, that they
should balance the interests of like, you know who's in power and why, and those who, like,
and the rest of the network and kind of hold those people accountable by moving to, by changing
who does their routing. So, like, kind of stated differently, each, each orbit, so my orbit
is like my personal server. It has a public key and it has an address. So that those are the two
identifiers. It has public key address and that address translated into a human
readable name. So that's that's my orbit. And so that my orbit is also called a
planet. It doesn't understand it. And each of us can have our own planets,
basically our own orbits. And in the beginning it might be that like 65,000 planets,
like 65,000 of us have one administrative controlling star, is it?
So the set of these 65,000 personal orbits is sort of administered by a higher level authority,
which is a star.
And then you can have like many stars, so many constellations of these planets,
many stars, like 65,000 of these stars are then administered by a galaxy, and then there are many
galaxies.
But close enough, like the numbers are like slightly off.
But the idea is sort of, I mean, to put it in more specific sort of Republican, and I mean
that in the Roman Republican sense, like 256 galaxies, we think of those in a way like
the Senate, they actually distribute the kernel, they ship soft.
updates. So they're kind of like the most important governing body. But 256 people, that's a pretty
good size governing body, right? It's like, you know, you're going to have a lot of difference
of opinion to negotiate there. Then you think of the stars to the 16th, 65,000 stars. Think of them
like the Congress. They have to actually approve those updates to ship them to their children, right?
But then their children, these four billion planets, they can all move. So,
they depend on a parent to do peer discovery and do some of their routing.
So, for example, if you and I have planets and we want to talk to each other,
it's sort of DNS style.
I ask my star to ask their galaxy, to find you, goes back down the chain.
And then with my first message comes my IP, and then we communicate directly.
So they're just doing pure discovery.
They're not really, their administrative role is somewhat limited.
But if for any reason they're censoring your peer discovery or interrupting it or interrupting it
not providing good service or they're not distributing network updates or they're just
genuinely or generally being a pain in the ass for whatever reason you can move but the other
thing you know that moves the other that that that flows the other direction too so you have if
you're a star and you have a child who's you know distributing illegal content or you don't want
to you feel like you don't no longer want to host them or route for them you can stop routing
for them so you want to kind of have this balance of interest but of course you stop routing
for them, you know, they can move to a star that's hosted in a different jurisdiction or whatever.
You want there to be kind of like a, you want there to emerge, ideally, a real, like, genuine,
diversity of, of, like, of, of options for routing.
Cool. And are there incentives to be a, be a star on galaxy and provide these services to the
planets? You would expect there'd be some rent-seeking involved.
So you first, you are able to, you know, you're distributing real estate, you're distributing address space.
So as a star, I can issue 65,000 planets, which you'd expect that someone may sell or, I don't know, provide incentives for how someone might acquire them.
And then to exist as a child of my star, I might charge you some nominal fee per month to, you know, provide your routing services.
And you can certainly imagine that, you know, you'd like your orbit to be hosted somewhere.
So the idea that larger pieces of urban infrastructure may also provide hosting and related services, I think, is pretty realistic.
Cool. So, yeah, I think this is a really nice vision. Like the orbit as, as, the network as like a republic.
Personally, I think the analogy that sort of seems to fit for me is like, like, we have globally, we have 180 nations.
similarly like orbit has 256 galaxies right then each nation might have like like in geography it might
have the parliament so each galaxy will have like 65 so I don't know the US might have 300 parliament
members no bit like each galaxy has 65,000 stars each galaxy has 256 stars so it's actually
closer to what you're on the right track 256 stars and then each star
which is like a parliament member of a nation it has like a constituency of 65,000
people and here is like 65,000 planets and the lower you are in the hierarchy
the more you depend on peers above you in the hierarchy to do routing and some
basic functions but the Republic feature comes in because you have this way to exit
So if you are a planet and you don't like the administrative functions provided by your star, then you can move to another star.
That's right.
So it's a very dynamic network in which the threat of exit makes elements in the top of the hierarchy behave.
That's the idea, yeah.
And exit, to be clear, is designed to be very fluid.
like it's not like you need to go get another passport somewhere kind of thing.
That's super important.
But yeah, you got it.
So finally, there was this other way of describing orbit,
which is orbit is an operating function.
So explain to us what this perspective of looking at urban.
So I think we touched on this just briefly earlier.
but the idea being
I mean that's
Erbit is full of all of these kind of cutesy turns of phrase
so that's just in some ways that's just a
you know we made that up right but
your orbit is an operating function
in the sense that it's a deterministic computer
like that it's your orbit state
is a permanent fixed function of its entire event history
so you can
erbit functions like a database
like it has a checkpoint and its entire event law
right? And we have and do regularly, like, delete that checkpoint and have your orbit actually
re-compute it state from the entire event log. And, I mean, we've done this with millions of events.
I mean, in cases where replaying the event log has taken many hours, and you always end up
at the exact bit-for-bit state that you did when you started. Right. And this is also, I think
this might have been actually to your point about, like, why, how did I get involved with this?
One thing that I find really, I still find amazing about Erbit is that you, for example,
like if you type a few keys in your console and then kill nine the process, like just kill it
and reboot it.
Like those key presses are still in your console, right?
It feels like maybe it's just a trick.
But the idea is that your orbit is in fact, like, yeah, your orbit is an operating function.
Like it's an operating system who at the foundation is just a pure function that's computing
a new state every time you send some input to it, whether that be.
keyboard input or network input or whatever.
Let's say you create a smart contract address, right?
The smart contract address has basically a piece of code,
and let's assume that once it begins, it doesn't have any data.
Now, like when people send transactions to that smart contract,
the code processes that transaction, maybe add some data,
and then the next transaction
comes in that is processed and then some data is added then the next transaction
comes in and so on so if you have any smart contract just by like looking at
all of the transactions you can get to the current sort of state of the smart
contract right so if you just give me the list of transactions that that
contract processed and the and the code I'm going to be able to compute what
the smart contract ought to look like currently.
So similarly, like orbit seems to be that instead of these transactions you have these events.
So the event might be an input like your keystroke might be an input that is an event.
And so in orbit you have these series of events.
They are like these transactions.
And like the code of the smart contract is like this operating function.
that just determines how that personal server should sort of integrate these events into a state of the machine.
So if you have this code, this operating function and the list of events that happened,
then you can, just as you can calculate the final state of a smart contract,
I should be able to calculate the final state of my personal orbit or server.
That's right.
Yeah.
And that, the sort of, you know, the kind of thing, I guess, like, value proposition of that
is that that underlying function is very concise.
So under, like, what flows from that is that Erbit is a trusted computing platform
in a somewhat formal sense.
Like, you can, you can verify that your Erbit is, in fact, kind of, you know, doing what
you intended it to do.
You can understand its security much more deeply, certainly than you would, like,
a you know a Unix machine.
So I want to come back to this example of Vechat or maybe maybe a social network,
let's say it's something like Facebook, right?
So today we have these gigantic internet companies like Facebook, right?
So they have their servers, they're collecting all this data that's running on their servers.
So they have a huge amount of private information.
Amazing to run all kinds of AI stuff on it.
They provide the application, right, the computing environment kind of on their server and
maybe to some extent in my browser.
Now, if I imagine this orbit world where I have this personal server and all of a sudden,
the data, my data is on my server, on my own private server, right?
And the UI kind of like runs on my own private server.
So that also may mean, right, that I use a different UI than Meijer maybe, right?
Like, what does that look like?
What would a, how could one build a big company or would they even exist?
Or how do business model change?
It seems such a radically different world from where we are today that I really struggle to imagine it.
Well, we used to live in this world much more, right?
I mean, people used to build and sell software.
It's not like that far.
I think it's not that different of a vision in some ways from the idea that, you know, the user has a machine that stores their data, that stores their kind of like personal archive.
And they decide what software to run on top of that data.
And it's not required that the software that I use be the same software that you use.
We're just sending data back and forth.
And I think that, like, I mean, the kind of lock-in that's required from our current, like,
you know, current cloud service providers like Facebook or WeChat or WhatsApp or Slack or whatever.
I mean, if you just take messaging alone, the only reason for a lock-in there is because the business model doesn't allow anything else to exist.
And so messaging as far as I, I mean, messaging in Erbit is, you know, I guess it could be faster, but it certainly works.
And I think that what you would hope is that people want to extend and build.
on top of that protocol because it's fun.
Like, I think that in some ways
what also has driven me to work
on something like this is that as a developer,
like it's not that hard.
So like what's the difference between Twitter and Instagram?
Right.
It's not that big of a difference.
Like if there was a universal messaging protocol,
building each one of them,
it should be like a weekend project.
It should be super easy and super fun.
And so I think that like what in a way,
what were the audience that we're building for
is the audience of not so much developers in this kind of professional sense, but it's more like
hobbyists. It's like if you had all of the web stack as infrastructure running on a global
network, building things on top of it would be, it would be a much more, it would be a fun thing
to do. It wouldn't be like a job. So let's think of how like a simple chat application would
work, right? Let's sort of reference Twitter. We'll try to imagine how an orbit Twitter would
work. Now, so in Twitter, you have this, you have this notion of like an account in orbit
that's logically my address and my name, the name of my planet. So I enter a message in my own
personal server and now I want these messages, this message to be displayed by all of the
people that are sort of following me.
So there are other planets in the world that are like following my planet in this chat application.
How does the message go from my server to them and how do they find out that I have created a message?
So we built a very simplistic Twitter clone in maybe 200 lines of JavaScript.
And the way that that works is that there's a message bus that we call talk.
That's an extensible message bus.
You can just define a message type.
And talk kind of handles all of what you're talking about in terms of subscription handling.
So you can create channels that you publish messages to and other people subscribe to those
channels.
It's just general purpose piece of infrastructure.
And so in a way, building Twitter is just a matter of saying messages are only this long.
I'm going to post a feed.
I'm going to create a channel that is a feed.
and I'm going to create a channel, which is sort of my home stream or whatever,
and I'm going to subscribe other feeds into that home stream.
And so, yeah, you get identity for free,
you get networking for free,
and you get basically subscriptions and updates for free.
Search is a slightly more difficult problem as it is in any decentralized system.
And, you know, it's an interesting, we can dive into that.
But it's kind of a differently shaped problem, I think.
I guess from a very high level, I guess I'm like, Twitter is a bit of a war zone, right?
So I think that the constraint of a decentralized system does better with kind of like smaller,
like sort of less connected graphs, right?
Like I have just my click of people that I talk to and you have your click of,
rather than me trying to browse like the entire network.
I actually kind of my feeling is that that's more akin to how people want to connect with other people on a network
that kind of living all your whole life in public is not really the right way the internet should work.
But that's kind of a separate conversation.
So the point of how do you build Twitter, the point is that it's potentially just a friend and application.
And yes, all of the infrastructure is handled by orbit itself.
Now today, right, one of the huge technological trends is,
is AI, right? And it's just like analyzing data. And of course, there's kind of two sides of that,
right? So on the one hand, we have these huge companies like Google, Facebook, Amazon, that are
accumulating all this data. So we're concerned, right? I think there's legitimate concerns about
the power and the information that is accumulating there. But at the same time, right,
there's tremendous progress, tremendous innovation that's possible because of that. In this
urban vision how would that work like how would you be able to do any kind of large scale machine
learning data analysis AI that's a great question um i think we a lot of us would agree that yeah there
there are sort of portions of that um quote-quote research or whatever right that data mining um
that we perhaps would not want to consent to and so the example that i think of is um like population
scale genetic research. So 23 and me aside, I don't personally really want to put my genome on
anybody else's server, right? That's the kind of thing that I very much would like to keep private
to myself. I'd love to store it in something like Erbit. I'd also be more than happy to let people
do research on the contents of my genome, even relative to, you know, like data about my life, right?
And the way that Urban handles that is it's just like, okay, great, you keep that data private to you,
and the researcher sends you a program that you run and you compute a result and send it back.
And so I think that my feeling is that there's a whole universe of sort of more private data
that you could probably learn interesting things from, especially in the realm of sort of scientific or medical research,
that are very difficult to,
it's very difficult to collect that data
in the existing systems.
And what you need to move to
is a model where the user owns the data
and the researcher or the company
either pays that user
or just simply gets permission from that user
to run, the user runs the computation
and returns the result.
Cool. No, that's a great answer.
And I just wanted to kind of share
two more like personal things
that kind of fit in this,
urban vision. So first of all is the question of Facebook, right? So I deleted my Facebook account,
I think about a year ago. And the reason was just that I felt the motive and the incentives of Facebook
was so opposed to my own motives that I just didn't make any sense to me. So, you know, they
obviously have this huge interest in keeping people on the site, constantly engaging, spending
at a time there, which is certainly not what I want to do. And they're very good at doing this,
right? And they have all this technology to do that. And at some level, it would be great to have
a kind of a social network, but it would be great if I could give it, like, you know, what is the
thing that I want to optimize, right? Maybe I would be like, I don't want to spend more than 15
minutes on this per day. And I want to like get this kind of things on there. And it would be
wonderful, right? If then
user interface and a whole lot of
other stuff could be optimized around that.
And that's totally not possible
with Facebook, but I could see that kind of
thing being possible with Urban.
And
kind of related to that is I remember
with a bunch of blockchain people at a dinner in Berlin
a while ago and then
this issue of brain
somebody mentioned this term brain defense,
which I thought was really interesting.
So, but I think it kind of
ties into the same thing, right?
Where we have all these technologies that are basically trying to like, you know, capture your
attention and, and they're going to get better and better and better.
And I think attention and concentration and having ideas and is becoming harder in this
environment.
And so I think to protect kind of this own mental space and the environment and to defend
against all these intrusions and advertisement and manipulations is going to be so extremely crucial.
And again, that's something that I think is very hard to imagine in today's web.
But when I see orbit, right, and I'm like, okay, that's perfect for that.
So I really like the vision for like those two things.
I'm like, oh, this is really directions.
It's wonderful.
Yeah, you're getting it exactly right.
I mean, it's surprisingly, almost frustratingly, all the sort of understandable is.
It's hard to pitch that because people think, I think people really think it's not possible
to basically kind of help people stay focused, basically, and sort of like build humane connections with each other.
but to me that's absolutely like the promise of and I think the potential like the potential for a decentralized social network
hopefully with something like Erbit or with Erbit itself is that it can allow people to build relationships on a network
that are really fully under their control it's under their control how they consume the content that comes to them over the network it's under their control
who they relate to.
And I think the way I think about it is like all of the substantive conversations that I have
happen over email.
And that is so crazy.
Like email is so old.
It's an ancient protocol.
It works fine.
But I would love to be able to have, you know, substantive group conversations that, you know,
really go deeply into a particular subject.
And people will always say, okay, well, you can already do this.
You know, you could start a blog or you could, I know there are a million other solutions, but they don't actually, somehow they don't, like they haven't made this possible.
It doesn't feel like people are able to, in a way, like use computers in a kind of calm way.
And I think that's absolutely the hope.
And my feeling is that that's, it's actually something people really want, basically.
Like I think people don't, they don't kind of explicitly want it.
and everyone thinks it's like unfundable and impossible,
but it feels very necessary to me.
Yeah, absolutely.
And actually, that's also where for me,
the big sort of, I don't know,
hesitation comes in with orbit,
because I feel like I understand the vision.
I really like it.
I wish we can get there.
But then it seems to really say,
throw away everything.
Companies like Google, Facebook, Amazon,
right, they can't really exist in this.
universe and he said like okay let's throw it all away start from scratch and it's i just don't understand
and don't see how we can get there yeah i think that's uh that's certainly the question i'm most
concerned with like like luckily it doesn't keep me up at night but it is something that i think
it's the right question to ask it's the most important thing like the many people have tried
like this is not a new you know like everyone knows
is that it would be like it's clear, well, not everyone, but like solving this problem would be fantastic.
I don't think anyone is, you know, it takes issue with that.
It's just a question of how do you actually do it?
And just can you do it?
Can you technically practically, practically pull this off?
And I think the, you know, the nice thing is that, you know, people, right now people use Erbit to build Erbit.
And, you know, it's slow.
and it's clunky, and there are a lot of things that I wish were better about it.
But it's surprising the level of engagement and enthusiasm people show for feeling like they are in a new world.
And they're also in a new world that actually works.
So they can post something to the forum that's hosted on orbit and get feedback and actually start building something new or contributing to the kernel or helping us build infrastructure.
and seeing like relationships get built around that and like people actually connecting with each other and building things.
And I mean in a very material like real sense, that's what makes me think this is possible.
Is that well, it actually works and we're kind of on the road to making it work.
And it's actually getting better.
I mean, you know, I certainly wish it was getting better faster.
But, you know, we're working.
working on it and sort of like real progressive steps are in fact happening. So I appreciate the
skepticism. I like I want to people should be skeptical. Like I think that's like the right attitude
when you see something like this. And and it's I think of it as basically our job to provide very
like material evidence that this is possible. Just like you should be it should be tangible. You
should be able to just use it and not have to sort of worry or think about it.
When you look at like all of these things that that change the world,
almost always they start off like weird, like they start of as things that
that you just don't understand that there's just no precedent for it, things like that.
And for me, like Orbit feels that, like it passes the weirdness test I have.
have.
Right?
It is like sufficiently weird for me to follow and see, see where it goes.
And if there was a way, if there like emerges a way to actually make it like commercially
successful and like have like selfish incentives for people to like build software and
build the ecosystem, it would just be like, it could blow up.
It could become really big.
another way to answer the prior question really is like oh well actually so so to the answer to the question actually to your early question of like do you really need to build the whole stack i i like i basically had the same exact feeling that you did which was like oh you know like it's a bit of a weird it's not the thing i would have thought of but like you know like maybe it maybe it buys you the freedom to do it right basically right like it's like the thing it feels like if you're gonna if you're gonna if you're gonna tackle this problem
problem, it's going to be really, really hard and you need the freedom to basically make it work correctly.
You can't be hemmed in by like other people, like other things breaking or like too many people being involved or whatever.
And so it's basically like there are some weird decisions in Erbit that I think are genuinely weird and maybe even wrong and we should change, like things about the language and stuff like that.
But I think that there are some of those weird things that are exactly as you describe where it's like it's counterintuitive.
but like, you know, it actually, it actually works.
Like, it actually, it has some material effect that's really beneficial.
So it's hard to look at things.
I think, you know, it's easy, like, it's hard to look at things with that kind of like perspective, I guess.
So like I like, like to be that open-minded that you're like, well, it looks weird, but maybe it'll work.
And I think that's kind of, that's the state of mind you have to be in when you're looking at urban, definitely.
So then to the, I mean, in more practical terms, like, you know, how are we going to get there?
It's like what I would like what you can use orbit for today is like IRC in 1997 or whatever, right?
It actually works pretty well for that.
And we use it for that all the time just for group chat and groups or a forum discussion.
And so in the near future, like what we're working on right now is to get it to be the point where I could actually say to someone, hey, you know your private crypto slack.
Okay, you should probably host that on a platform that's not centralized.
And you should host it on something where you can actually audit the crypto and where you can understand the whole thing.
And I think we can get there sometime early next year.
Like the infrastructures there are still work to do.
But that's a very kind of practical point at which it's like it becomes a much more real, still simple.
It's sort of the Facebook 2004 of Erbit or whatever.
But early days, we're pretty close to that.
Like that's imminent.
The other thing that I think I'd like Erbit to be able to do for you and that we're working on in the near term is like your Erbit is kind of the right place for you to make blockchain transactions from, right?
So I've somehow heard this pitched back to me from other people a million times,
but I think Urban has a slightly different take on this approach,
which is like the personal Bloomberg terminal of crypto.
So simple way of thinking about this,
besides, a Bloomberg terminal does a lot of things, right?
And it has all this sort of social networking and research,
and you can also execute trades.
But a computer that is like a trusted computing platform that can hold your private keys
that you can program that can call it up to the blockchain is a pretty powerful thing.
So I remember reading, I don't really hold crypto, I don't trade crypto, but I've always wanted
to experiment with trading algorithms, even if it's like a little bit of money.
It just seemed like kind of a fun side project.
So I don't, I mean, how do you do that?
Like, that seems so incredibly hard to actually just go and take one of these conventional,
you know, conventional known trading algorithms and just let it, write an algorithm, let it run
on Ethereum or let it run on BTC or whatever.
And I think that like Erbit being the place where you can kind of program with the blockchain,
that's something that I think we are reasonably close to being able to to offer like soon.
I mean, like next year.
Like I think that's something I'd want to be able to start encouraging people to do.
And there are other.
That's like just one kind of example.
Like UI for decentralized apps or hosting data related to decent to like DAPs to Ethereum applications.
I think it's like potentially super, super useful.
And so you'll see Erbit become.
more practically tangibly useful in the very near future,
which I hope can kind of speak to your question,
although I hope that, you know, yeah,
I want people to be skeptical.
I think like the orbit vision to me is quite clear.
It's the thing that we'd want to focus on is,
there's another vision in this space,
which is this vision of like a decentralized internet
or a decentralized web.
And it's really being spearheaded by these projects like IPFS, Blockstack, Swarm.
And then you have Orbit, which is like your personal server.
What do you think is the difference between these two visions?
I can speak better to IPFS than to Blockstack, although I think they're actually quite similar,
or like they sort of fit the same.
They potentially sort of fit the same model or sort of integration model with orbit.
So your orbit is like a database that is your personal archive, right?
Like it's just this, it's your permanent personal data store.
So that data may actually exist elsewhere.
So in the case of IPFS, I would very much like to have it be possible that you can just have a file in the orbit name space,
like a file in the orbit address space that, or sorry, Erbit file system.
that maps directly to an IPFS file,
and we keep that mapping updated.
And we, like, would encourage you to do that, right?
Like, you drop a file into orbit,
and you should be able to easily store it in IPFS.
IPFS is a great project, and that's, you know,
but you probably want some way to kind of, like,
capture all the references, right?
You want a way of, like, it's not just my raw files.
It's like, I need to do things with them.
I need some UI for them.
I need some other metadata about them.
And your Erbit can provide functionality that I think IPFS probably can't provide directly.
But of course, it's early.
We don't know exactly how these things might work together.
And I think that's the same is true for Blockstack, where you see, like,
there are Blockstack applications where I may store my, I don't know,
my authentication may happen through Erbit or something like that.
Or I may, like, prove ownership over a Blockstack.
Like some data that I have, like, a reference in Blockstack is actually like,
I keep my references in Erbit.
I guess, like, that's in general how I think of, like, your orbit should just connect to everything.
That's kind of like, that's the approach.
And I think that with the decentralized platforms, there's, you know, we all know each other
and I think kind of like would like all of these things to be as interoperable as possible.
So it's very different than the kind of like the fragmentation of like your Facebooks and slacks
and WhatsApp or whatever.
Like as far as I'm concerned, these things should be as compatible and interoperable as possible.
there's the incentives for competition are really different.
When I compare like IPFS and orbit,
like one of the key differences that at least I can see
between these two projects is that it's really in the data structure.
So if you look at like IPFS,
it's trying to make this one giant data structure
for lots of data on the web.
And that is like, so it's the Merkel web, right?
So there's just one data structure with like data blobs
connected in a particular kind of graph.
Anyone can access any part of that graph.
And it's just one data structure for that whole web.
Whereas like with Orbit, my own personal server has my data
and you can think of that file system as one data structure.
and like your planet has a different data structure.
So we have like smaller data structures but belonging to me individually.
And then it's like, and then there's like networking in order to move data between these data structures.
So it's, to me it seems to be like the difference between one global giant data structure for IPFS and on the other side, like smaller data structures, lots of them.
and networking between these data structures to move data around.
The urban file system is a sort of global immutable namespace.
So any file in the file system is,
you kind of have like a permanent immutable reference to any revision of that file.
Whether it's on your orbit or on my orbit, it doesn't matter.
So there is a sense in which Erbit kind of
tries to treat the whole network as a single computer. But yes, you compute, because you compute
locally, the permissions model is different. But Erbit is also kind of not yet, and I think for
some time, it's not optimized for like binary storage. Or your urban is not, it's meant to sort of
store references to what could be large pieces of data that exist elsewhere. And so I guess I think
of IPFS is kind of trying to build the, um,
I mean, I think of IPFS is trying to replace HGP, basically, right?
Like, like, trying to replace, like, the way, the naming system for, like, both how we
or to build both the naming system and the storage system for how data, like, how people just store
the cultural record, right?
Like, everything that kind of happens in the world.
And I think of that as much more aimed at, yeah, sort of public data, the data that doesn't
have, like, a specific owner, whereas Erbit is basically identity address.
So if you want to find a path to a file of mine, you would actually say, like, it's just like slash my planet name slash the path of the file, right?
So in a way, they're like cooperative.
You may have this global cultural record of which I create references to when I say tweet about something or whatever, right?
And so the record of my tweet is, or, you know, my message or whatever public message is like that's identity addressed in orbit.
So the identity root is sort of a different thing.
It's a very different model from the IPFS model.
But you can sort of see how they're like cooperative.
Now, speaking about the naming system, a namespace, I also had some questions that came
up for me when I was reading about that.
And one of them was, and maybe this is, I know, it struck me as a little bit weird.
So you guys have a four billion planets, right?
So that is the maximum amount of basically entities that can participate here.
And you guys, particular thing, argue, I think that these will be human beings.
So why 4 billion?
And what happens if Erbitt is super successful and, you know, there's 10 billion people and
they all want to have an Herbert?
The short answer is A, it's solvable and B, it's a problem I want to have.
But I'll tell you how it's probable because it's a totally fair question.
Like we've all been through, like we've seen the IPV4 madness, right?
like for, you know, two to the 32nd is sort of like a risky number or whatever.
Like everyone knows it's potentially too small.
So a, yeah, there, it's unclear how many, I was like trying to, when I tried to look into kind of like how many people, so how many Facebook users are there, right?
There's something like two and a half bill or something like it's $2 billion.
Like, and the difference between $2 billion and $4 billion, of course, a lot.
And so it's certainly going to be a long time before we start to even get close.
to exhausting the address space. And of course, there is a different economic incentive for keeping
one of these addresses, right? So when we look at how IPVB4 got exhausted in large part because a lot of
it ended up being blacklisted, it's all bots and spammers, right? And you look at the same problem
with like trying to measure using big social networks as like they're all kind of pumping up their
user numbers. So how many people are actually like online in the capacity that they're participating
in their daily lives through the internet? Those numbers, I think,
are like lower than we think.
But let's imagine that, sure, 15 years down the line,
Erbit is like reaching, is exhausting the planet supply.
The way the namespace works, that's,
you could basically start to subdivide.
Each planet has four billion moons that are its children.
Moons don't move.
They don't change parents.
And so the idea is that your moons are your devices.
And that, you know, four billion is a big number
because you'd kind of assume that IOT,
become actually starts to work if something like orbit existed. But you could easily enforce
rules for how to subdivide that address space. And that's a very, so two to the 64th is a giant
number. There's certainly more than enough moons. And you would just, and that could be done with
a kernel update. Like we could just change the rules of how, like you could allow, say, the first
65,000 children of each planet to change parents and effectively extend the planet address space
in that way, something along those lines.
So it's sort of like it's a solvable problem without completely breaking the system.
Scarcity is important in the early days because you don't want the network to potentially get over.
You need address space to be valuable so it doesn't become overrun with bots and spammers.
Yeah, that was kind of my other question tying into that.
So what drives the value of address space?
I mean, if we have, for example, $4 billion, that is still, as you point out,
a huge number, right? And if they're all kind of similar and I can get them from any of 256
galaxies or, you know, the 65,000 stars, then I mean, it would seem logical that it would kind of
gravitate towards the lowest common denominator and, you know, will be almost free. So why are they
going to have value?
So we'll certainly give you a planet for free today.
And yes, at this point, they're very, very cheap.
Why do they have value?
At the end of the day, they have value because Erbit has use value.
I mean, you, you know, the kind of simple and borderline stupid way to think about it is like, look, I mean, you pay for Dropbox, you pay for WordPress, you pay for ICloud, you pay for, you know, you already pay for all of these services that help you sort of store your data and run your life.
right like a planet someday should cost like you know less than internet access for a month
say you know so that's like say it's like 20 bucks or whatever um you would assume that the price
would settle around that and if you look at IPV4 auctions uh they they tend to hover in that range
and so certainly like you know the the finiteness of the address space is a bootstrapping
mechanism for trying to tackle a project of this size um and um um
You know, we we want other people to own chunks of address space to help us build the network
and help get other people on, like figure out how to get other people on and how to
authenticate them properly and so on. But it's, you know, it's definitely like a way of
like bootstrapping maturity, basically. Cool. Well, maybe a final, final topic here.
What's, what's coming up for a bit? Like, what are some of the milestones or things on the horizon?
Yeah, good question. So I guess I touched on it briefly.
Yeah, we've been, so Erbit works pretty well.
We've run test networks like continuous networks for about nine months, maybe almost a year, last one.
So it's getting pretty good, but we, you know,
orbit is not a big enough sort of pinata that we feel like it's completely secure.
So we've decided to bootstrap address-based ownership off of the Ethereum blockchain.
So the thing that we're working on right now and that we've been talking about a lot, both within the community and publicly, is how exactly that it works.
So writing contracts that will enforce the logic of the PKI and how Eurbit will listen to Ethereum and we'll issue a sort of like address-based backed token through those contracts.
And so that's taking up a lot of time.
I mean, like the contracts are pretty real.
They're about to get audited and they're in public and people should check them out.
we're going to build an interface to them.
So that's happening pretty soon.
So you'll have some way of actually redeeming and transacting address space that way.
And then what I was talking about before.
So I think our main goal is to get a sort of better, faster, more usable orbit experience
out the door by early next year where you can really more easily like chat and connect with people on the network
and sort of use it as if it were just like a simple decentralized social network, basically.
And, you know, then we go from there.
I can keep talking for half an hour about the plans that we have,
but those are the simple concrete near-term ones.
Cool.
Galen, that was super fascinating talking about Erbitt.
I'm really excited about this project.
I hope it's going to, I hope we're going to see a lot of exciting news coming from it.
Thanks, yeah.
It's glad to be here.
Fun to chat with you guys.
Cool.
And well, thanks so much for a listener for once again tuning in.
there was a lot of interesting post constitution,
posts about the language stuff on the urban website.
So we're going to link to that in the show notes.
If you want to kind of dive more deeply into it,
maybe learn how to get involved in the projects as well.
So yeah, please check that out.
And thanks so much for tuning in once again.
If you want to support the show,
and please do so by leaving a review for us on iTunes.
And otherwise, we look forward to seeing you again next week.
