Epicenter - Learn about Crypto, Blockchain, Ethereum, Bitcoin and Distributed Technologies - Galen Wolfe-Pauly: Urbit – A Digital Republic Reinventing the Internet

Episode Date: October 18, 2017

Galen 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)
Starting point is 00:00:00 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.
Starting point is 00:01:10 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.
Starting point is 00:01:29 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,
Starting point is 00:02:09 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
Starting point is 00:02:49 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
Starting point is 00:03:30 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.
Starting point is 00:03:57 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
Starting point is 00:04:09 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,
Starting point is 00:04:37 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.
Starting point is 00:05:07 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.
Starting point is 00:05:31 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.
Starting point is 00:05:52 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,
Starting point is 00:06:18 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.
Starting point is 00:06:55 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,
Starting point is 00:07:15 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
Starting point is 00:08:02 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,
Starting point is 00:08:49 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?
Starting point is 00:09:24 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.
Starting point is 00:09:48 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.
Starting point is 00:10:24 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,
Starting point is 00:10:40 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,
Starting point is 00:11:08 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
Starting point is 00:11:49 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.
Starting point is 00:12:19 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
Starting point is 00:13:07 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.
Starting point is 00:13:35 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
Starting point is 00:13:54 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
Starting point is 00:14:12 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.
Starting point is 00:14:50 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,
Starting point is 00:15:36 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.
Starting point is 00:16:12 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,
Starting point is 00:16:40 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.
Starting point is 00:16:59 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
Starting point is 00:17:35 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,
Starting point is 00:18:15 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.
Starting point is 00:18:52 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
Starting point is 00:19:47 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.
Starting point is 00:20:40 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?
Starting point is 00:21:24 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.
Starting point is 00:21:55 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.
Starting point is 00:22:33 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.
Starting point is 00:23:28 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
Starting point is 00:24:30 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.
Starting point is 00:25:19 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
Starting point is 00:25:48 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
Starting point is 00:26:09 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?
Starting point is 00:26:45 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.
Starting point is 00:27:15 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
Starting point is 00:27:51 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.
Starting point is 00:28:36 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.
Starting point is 00:29:12 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.
Starting point is 00:29:44 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.
Starting point is 00:30:13 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.
Starting point is 00:31:01 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,
Starting point is 00:31:40 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,
Starting point is 00:32:18 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.
Starting point is 00:32:34 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
Starting point is 00:33:18 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.
Starting point is 00:34:10 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.
Starting point is 00:34:36 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.
Starting point is 00:35:07 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.
Starting point is 00:35:49 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
Starting point is 00:36:32 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?
Starting point is 00:37:28 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
Starting point is 00:38:01 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
Starting point is 00:38:18 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
Starting point is 00:39:04 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
Starting point is 00:39:30 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.
Starting point is 00:39:48 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.
Starting point is 00:40:26 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
Starting point is 00:40:59 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.
Starting point is 00:41:51 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.
Starting point is 00:42:23 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,
Starting point is 00:42:50 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.
Starting point is 00:43:07 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?
Starting point is 00:43:50 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.
Starting point is 00:44:34 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
Starting point is 00:45:18 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.
Starting point is 00:46:00 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.
Starting point is 00:47:04 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.
Starting point is 00:47:44 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.
Starting point is 00:48:22 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,
Starting point is 00:48:57 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.
Starting point is 00:49:26 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,
Starting point is 00:49:56 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.
Starting point is 00:50:21 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
Starting point is 00:50:48 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?
Starting point is 00:51:30 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,
Starting point is 00:52:00 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.
Starting point is 00:52:21 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,
Starting point is 00:52:48 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.
Starting point is 00:53:19 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?
Starting point is 00:53:57 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.
Starting point is 00:54:27 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
Starting point is 00:55:17 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
Starting point is 00:56:01 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.
Starting point is 00:56:42 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.
Starting point is 00:57:15 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.
Starting point is 00:57:49 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
Starting point is 00:58:32 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.
Starting point is 00:58:59 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
Starting point is 00:59:25 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.
Starting point is 01:00:04 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.
Starting point is 01:00:54 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
Starting point is 01:01:44 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.
Starting point is 01:02:29 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.
Starting point is 01:03:10 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.
Starting point is 01:03:42 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.
Starting point is 01:04:01 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.
Starting point is 01:04:22 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.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.