Gary Lieberman & Ted Blackman: Urbit – Decentralized Computing Platforms #475
22 Dec 2022 · 1:10:17
Epicenter host Brian Fabian Crain speaks with Ted Blackman, CTO of the Urbit Foundation, and Gary Lieberman, Chorus One's Urbit team lead, about Urbit's decentralized computing platform. They discuss Urbit's from-scratch operating system and networking stack, its current development stage and adoption timeline, and the platform's potential synergies with crypto alongside the tension between privacy and accountability.
Speakers
Topics
Transcript
welcome to the episode of the show which talks about the Technologies projects and people driving decentralization and the blockchain revolution I'm Brian Crane and today I'm speaking with Ted Blackman he's the CTO of the Urban Foundation and also with Carrie Lieberman he works at correspond and he leads our Urban team so once again we're going to speak about orbit and but just be briefly before we get into the podcast uh let me tell you about our sponsor this week sponsors tally ho tally ho is an open source wallet redefining the world as a public good with Tally Ho you can safely connect to D5 web3 plus a lot more you can view your nfts in the wallet across ethereum polygon optimism arbitrum and
they have Ledger support so you can swap between assets and view all your account balances in the portfolio tab they're also running a layer 2 Adventure that rewards users for exploring the arbitrary ecosystem with Tallyho you can get a space dog nft and be entered giveaways for other nfts so head over to tally.cash to check it out all right so um thanks so much guys for coming on it's uh it's great to do this episode really looking forward to it thanks for having me yeah let's start with you Ted tell us a little bit uh about yourself and um sort of like how you found your way to where you are at this point
sure yeah well yeah so as you mentioned I'm the CTO of the Urban Foundation I took over in this role about uh two months ago and for the five years before that I was working at Talon as a core Dev on orbit and um so the first four years just writing code and then the last year year and a half or so I was also managing a number of people working on the Kernel um and uh yeah so I started working on herb at full time in 2017.
I had first heard of the project in 2014 but didn't understand it um and then in 2016 the docs were a lot better and I uh started looking into them and by that point I had had enough varied experience um writing code at a lot of different startups uh as a as a founder and as a of several and as uh an employee at many others and um I've been doing that for 10 years starting in 2006 my first term in college and it's very I I sort of lucked out that I actually graduated um considering that
uh but um yeah so I've been working startups for a long time seen a lot of different things robotics distributed systems web programming um and uh the um so I had enough breadth of background to understand why Urban is interesting technically uh not very much depth of the background in that in that much actually so a lot of learning about networking and operating systems programming languages I've had to learn a lot of that on the job uh working honor of it um but uh but yeah that was what interested me in the project primarily uh was just I encountered it I looked at it and
thought this gets a lot of stuff right that I've never seen gotten right before in program in a way that just just the the basic idea is like what it is that you build a program out of how those programs are situated how they communicate with each other what they do how the networking Works how identity Works how the operating system works oh this is so much cleaner than anything else that I'd ever seen and I still feel that way and uh that's why I'm still excited to work on Herbert um so yeah so that's um that's kind of my you know the recent part of my story and and the uh and now at Urban Foundation uh so we've just switched gears to doing a lot of
core development in-house and so we're hiring a number of guys to um like we we have hired a number of people and um we will be hiring some more uh to work on to do more cordov and so expanding the size of the core Dev team that's to work on the urban OS itself all the different parts of it and really to push it over the hump to become a bulletproof consumer product cool thanks so much for for that I want to start I want to also kind of get into something else briefly so you know most of the listeners of this podcast you know generally talk about crypto we have done some Urban podcasts before we did one in 2017 with Galen uh which I we
listened to not long ago and it's still pretty current so we'll link to that in the show notes if people want to check it out and then I think we did another one this year with Josh Lehman of the orbit Foundation he's the executive director of David foundation so there's like a little bit but I still I think most people right orbit is not easy to wrap your head around and I think most people kind of still struggle with that so it would be great if you could sort of describe for let's say for this kind of audience you know that kind of gets crypto that gets things around that but maybe don't know about orbit like what is orbit sure yeah well I think for a crypto audience I would say
you know the one of the foundational part of the foundational ethos of crypto in general is not your keys not your coins right so you you own your assets fundamentally through control of a private key and one way to think about Herbert is that we're extending that not just to money but to all of computing so you own your computer with a private key you own that computer's identity on the network with a private key and um and then you have full control over that computer so what data it stores what programs it runs how it communicates uh with whom it communicates
and uh and then all and then all those apps that you install into it the programs that you actually run on there are designed to run in a decentralized manner so there's no Central server no central point of failure um no Central choke point and um that this is um so it's sort of one way to think about orbit is it's trying to build the same world that the rest of crypto is trying to build and it's building all the pieces of that world that aren't on chain because you don't actually want to stick everything all logic and all data onto a blockchain it's not the right solution for everything it's the right solution
for anything where you need Byzantine fault tolerance right so you need a global consensus on who owns what or even Global consensus on which uh you know which transactions have been performed right for you know if you're sharing if you're all sharing the same computer like in ethereum right you're all sharing the same computer you just need a way to guarantee that we all share that same computer State even if uh even if it's adversarial um but that's only a subset of the world of computing and for everything else where you don't want or need uh that kind of Byzantine fault tolerance that's where Urban comes in so that's really I want to store personal data I want to use chat I want to do file
sharing I want to do video streaming uh for any of those things uh yeah you want you want the world that crypto is promising but blockchains can't do it individual applications can't do it very well because the current stack wasn't designed for a decentralized world the modern internet Unix all these things they were not designed to be a sort of multi-polar decentralized system and so the urban thesis the core of the urban thesis is that which is actually older than blockchains but that thesis is that fundamentally uh getting to a decentralized world that same world that crypto promises is a
technical problem and it's a technical problem that needs to be solved by an operating system that is designed from the ground up to support peer-to-peer applications thanks I really appreciate how you explained that I think that's a that's a very nice way of phrasing it and I do think that hopefully works pretty well for you know people coming from from a crypto cool I hope so I've been trying for a while you know uh Gary actually has his own way of describing it that wanted me to put you on the spot but I've heard you describe it very well um I actually don't know if it I mean it could be explained better probably I don't know if it really needs to be
elaborated on necessarily I mean I I think Urban kind of is designed as a unified system so in the context of like if you're trying to organize your Digital Life a lot of people do this by like only buying Apple products for instance or only using you know Google App Suite for all of their productivity and you know there's all these ways that you can try to unify the system that you use so that everything you use kind of makes sense with each other and I think part of the urban thesis is that things actually make much more sense if you have a system that works for everybody for all purposes that is truly a universal language that people can come to consensus on without any compromises
yeah so that's kind of like the idea of this you know um Universal Computing environment and I guess what ties in there is that a whole bunch of stuff that today I guess don't happen on the operating system level do happen at the operating system level in orbit right so like let's say something like Authentication whereas you know today okay you want to sign in to some application then you can use like Google sign in with Google or you can use sign in with Apple and but but those are like separate separate kind of ecosystems and they're not kind not quite compatible whereas in urban you have like orbit ID and then
that is a universal thing that anyone can access yeah that's right and I mean I think it's actually fairly obvious in the case of like in a hypothetical world where there was only orbit and you know Urban had no incumbent that it was trying to argue against it would be kind of obvious I think that identity is something that you only have one of it's kind of baked into the word identity that you have one um and so a lot of things that don't work properly in like the web 2 ecosystem and even web3 actually the reason why they're not quite compatible is because the identities just aren't compatible with each other and so if you have a unified identity system at a very early point in the stack a lot of
problems just go away they they kind of um it's not even that they're solved it's that the preconditions for the problems never even come about yeah that's right like most people don't know for example that uh IP and TCP you know the protocols that the inner internet uses don't have any concept of authentication or encryption those have to be bolted on at higher layers and uh because of that you get all kinds of issues you get a whole field of Ip security ipsec uh DNS security DNS SEC right like these things basically shouldn't exist they should be in the network protocols but these Network Protocols are 50 years old before anybody even thought to use encryption uh and before they were you know when
there were maybe 10 people on the internet instead of billions so um yeah so with orbit those those things are built in at every packet is authenticated and encrypted one uh one question actually when Gary and I were talking a little bit about uh you know the outlines and there's this question that I think is is a good question to ask right here so you know Urban describes itself as this clean slate and you know he talked about these like Global protocols like TCP and I IP so can you talk a little bit about you know how much of kind of the existing internet and Computing stack like how much does Urban like throw away and to what extent are
existing technology still being used in orbit well at a basic level it throws them all away uh and um but it's not the that's not the whole story because uh despite that uh we know that orbit must exist in the present and be useful for people in the present and so now orbit also has the capability of acting as a web server to the old web and making web requests HTTP requests so this allows you to access it from your browser access it from your phone um you know have it serve uh serve a Blog for you right so the studio app from Terrell lets you post a host a Blog
using your orbit uh and even they're working on uh adding a paywall to that too so you can even take payments through your orbit um so it irbit is not uh basically Urban's Building A Whole New World unto itself right so everything from machine code programming language operating system kernel set of applications Network protocol identity system all of that but that new world can communicate to the old world uh because that's can because that's very important in practice cool thanks for elaborating that well maybe we can go to Gary also briefly and maybe you can tell us a little bit about
you and how did you get into urban what was the thing that captured your attention when it came to Urban um I don't think my background is particularly interesting but I I was before I mean I knew about Herbert for a couple of years before I got really into it and I underestimated it for a very long time um I would say what got me really into it was struggling with two things that I didn't quite understand were related one was that I was trying to organize my digital life in a way that really made sense to me and optimize my workflows kind of just running on the assumption that I realized I'm much happier and
much more productive in my physical life when I'm well organized so I should be able to apply that same logic digitally and just coming up against multiple blockers everywhere where it's like okay to actually solve this problem it's like a full-time job for 10 people creating and maintaining a system that actually does what I wanted to do so that was one thing and also just noticing on the other hand I mean it was right after covid um just how dystopian web2 was it wasn't surprising to me at all that we had like this huge increase in like political violence and transgression at the same time that everybody was stuck in their houses with nothing but web 2 to entertain them like it seemed very clear
that that was like an insanity inducing situation and urban I think successfully made the case that that was also Downstream from the same technological problems that led to my my own inability to organize my digital life in a way that was automated and made sense um and so I gave herbit the benefit of the doubt enough that maybe if I learned something about it and I spent quite a lot of time learning it that I could kind of test the assumptions and at least make a case for why it was or was not a waste of time and by the time I was done and felt satisfied that I understood it I was totally unable to recreate the conditions that I had before where I was not a complete orbit maximalist I can't
even remember what it's like to uh to believe that there's any other possibility for the future of computer fairly common story actually you know there's this question I kind of wanted to get to at the end but I think we should get to it now so you know we've talked about you know we've touched on earth a bit right like what's different and you know you guys have both alluded a little bit as to why you're excited about it but if we if you know kind of think forward and imagine that Urban you know really accomplishes uh the things it's trying to accomplish
right like so it really I get so it's you know fully realizes its ultimate potential what does that look like how long does it take and what does the world look like what's different for people and the way they use technology in the way they live their lives in the way political systems work you know like what is what are the kind of visions and ideas that you guys have around this I can start with a few things so um one is that I think you'll end up with a lot more well localism is one word and you end up with a lot more subcultures uh that are sort of uh each of the subcultures will be autonomous in a way
that they aren't really digitally autonomous at the moment if you're running a subreddit the subreddit might just get shut down all right the the mods could have a bad day and uh you know and then you're not there anymore and that culture can be gone uh you can have a you know be a Twitter poster and then uh you know big following and then put your foot in your mouth one day and your account gets flagged by an AI and banned and then years of work that you put into developing that audience and um you know sort of building a whole network of personal connections based on that can just be blown away in an instant by essentially a mistake um all right and so this this actually
kind of puts a damper on uh the ability for sort of subcultures to form and so you end up with more of a monoculture right so I think Trent from holium said you know Facebook is three billion users and no culture uh and um that really stuck with me so I think the uh it's not entirely true there's some right but uh but I think it's what we'll see is a lot more of those a lot a lot more subcultures that that are able to flower more right they're able to develop their own art their own ways of communicating um they may eventually physically co-locate they may do a biology Style Network State they may do something else um
I think uh that sort of digital like the the ability for people to coordinate collaborate online uh has been hamstrung by a lack of ability to uh for people to control their own software right so you know you're probably in some signal group chats um and not just signal scattered all over the place really right but for any one of those you can't you can't say oh well let's let's Fork signal the signal client right like let's let's have it uh you know integrate with something right integrate with a calendar even or something basic right there's just no way to do that
um because that's its own world right it's it's siled right and so basically that sort of limitation where you kind of can't just arbitrarily extend things you can't arbitrarily get your programs to work with each other that's a big cause of what what Gary was saying he ran into but it also just prevents like groups social groups and other kinds of organizations uh from from being able to really uh make the most out of networked computers so by so Irma sort of flips the whole situation on its head because right now you have to you have to go through some big Central server to do almost anything on the internet um
and instead this says no you can download an app into your herb and run it yourself and you have full control over that yourself and then you and people you want to collaborate with uh have control over that that small Network uh so it's much more bottom up and so I think like we're really not used to seeing bottom-up organization uh digitally but I think that what it's going to look like mostly is yeah better art more art um better I think more seamless economic activity right like people a lot more people starting small companies starting small you know little investment co-ops um starting uh local businesses uh things like that I think that and getting local
investment right so all sorts of things that in all kinds of different modes of interactivity that are very difficult to build right now right um so you know if um there's an interesting example of this which is an app called radio on Urban that was built a couple months ago and it's sort of like a jukebox for video so you all get into this room you can set which video I was playing and then and cue another video and and then people can talk about it as it's going right um and uh you know it's not uh not an earth-shattering application but it's uh it's something new that's something that you can't build uh otherwise and so it's just sort of one little hint as as to
what sorts of like you can just have this uh he ended up with lots of different kinds of interactivity different kinds of bottom-up social organization that are um infeasible in the modern Computing setup yeah and just one thing to add to that I think I have key importance is the idea that within a unified system a small Time app developer can actually have a big impact because they are working within the same language as the rest of the world meaning two things in terms of culture there can be an application made between friends in a group and not have this you know this big Hub to overcome to actually get it usable between everybody if I develop an app for just
the people in my friend group um it's it would be very easy in an urban world to just have them download it and try it and use it and it wouldn't necessarily have compatibility issues with the rest of their Digital Life and that also makes a lot of sense in a business context so um if you're running a business and you realize that you have a very lucrative small business model and you're asking the question of you know what would it take to franchise this business probably the answer to your question includes you know you need some kind of Software System that you know that captures the entire business logic of your operation and this is in practice not possible for most small businesses you have to
overcome a significant financial barrier to do that kind of thing but on a unified you know software ecosystem it actually becomes quite uh quite a reasonable proposition I wouldn't call it easy but it's much more accessible to Simply capture the logic of a business within one program and that I think would lead to exponential productivity gains in pretty much any industry yeah just to elaborate on that a little bit um so uh there's one of the big differences between writing code and urban and writing code for the normal internet is uh the distance between writing a toy and
writing a production application right so normally uh in the normal internet normal Computing a programmer can take a weekend and write a toy right and that toy would be you know usable it has the business logic right the sort of meat of the application is there but it's nowhere near something that people could use right so you can't just sort of have your friends use it have it work uh have it be something that you know is actually part of your lives in order to get to that stage you have to do a lot of devops you have to do you have to have some sort of authentication system uh maybe a few with backups what happens if somebody forgets their email address or whatever right I mean uh you have to administer a bunch of servers
uh so you have to have some sort of cloud infrastructure you may find yourself researching kubernetes and Docker um right and there's this whole long list of tools that the modern programmer has to be familiar with in order to actually deploy an application to users even if it's just a web page um and so it's that that difference between the you know the meat of the system and all the sort of rigmarole of a deployment um that's what brings in a ton of extra cost that makes it prohibitive to just say hey you know we've got a few friends here let's let's write a little app that does this thing that we needed to do um and so uh this is this is true already right so a good example of this is um
uh Justin Murphy commissioned somebody to write uh an app called page uh and it um it lets you copy some HTML into your orbit and serve it as a web page uh because he just needed to serve some simple stuff so he asked somebody to build this for him I think he paid him 500 took a weekend and now that Apple just I installed it on my River it works fine all right so I was able to download this run it myself uh on my own herb right from 500 worth of work um and that's that's a fairly unusual setup and we're going to make that even better in the future um so so it will reduce that cost even further and that difference will
continue to increase so that's I think one of the one of the things that's most exciting from a developer standpoint it's like yeah you can about Urban is that you can write something publish it literally in a weekend and it's real it's already real yeah I mean this is one of the ways if I explain hermit that I also tend to emphasize is you know if you're developing a web application or some kind of application in normal web that because you have these additional things that okay now I'm gonna have to run some infrastructure for it and the cloud and well what does it mean I mean I have to make like an AWS account and now I have
to pay every month and if there's more users I have to pay more so now all of a sudden I have to run a business right and I have to have revenues to do that and maybe that means I have to run raise investment or I have to charge people and maybe I didn't want to do that I just wanted to create something right that like people wanted to use and uh and in orbit you can kind of do that right they could develop some simple application maybe people love it and a million people are gonna run it on their uh you know on their orbits and I don't have to do anything right I don't have to charge anything I don't have to pay for any infrastructure and I think that's just gonna be so attractive for
Developers and uh it's gonna like unleash such a new class of applications people will build and people play around with and so much creativity that becomes possible when you when not everything has to be connected with some business that you have to build yeah I would say generally there's a very large class of questions that begin with why can't I just that orbit um allows you to just and and shipping code to somebody's computer is is definitely one of them why can't I just build an application you download it from me and run it another one is why can't I just send you a file why do I need Dropbox right these are these are
just questions that you only have to ask because of the kind of insanity and Computing and urban I think is kind of um fundamentally trying to provide that sanity so let's talk a little bit about you know what is orbit today you know what's the current state of the technology and what are the limitations of the system sure yeah so um today first of all Urban does wrong sometimes we get asked that still um but it's been running since 2013. and uh the so you can you can get an orbit uh you can buy on off ethereum
um and so you can buy an orbit ID once you have that Urban ID you can boot your ship which is the name for your node so you can boot your orbit um you can run that yourself on your laptop or pay one of a few different hosting providers to run it for you or you can run it yourself in the cloud if you're willing to do a little bit of system administration um uh you can also move it from any of those three places to any of the other ones um and Gary actually has been working on standardizing the protocols for how that can be moved from place to place but you can do it yourself already uh so Urban you can you can get one you can run it uh and you can install apps into it uh and uh the bait it comes with
a suite of apps uh the flagship apps are uh groups and chat so you can chat in groups uh it looks uh looks a lot like Discord it's or you know or um or slack something like that right it's a it's a chat app um it's sort of asymptotically approaching uh feature parody with those uh there was a recent update that made it a lot closer actually it's not as threaded conversations and uh Emoji reactions and it's starting to feel very similar to any other chat app so that's mostly what people use orbit for right now but you can also install any number of other apps and they're about over 80 of them that have been published
publicly it's hard to know how many of them exist total but they're yeah many dozens that you can try out and some of those are sort of more important than others I would say so for example there's one called campfire that lets you do uh video chat that gets uh that's over webrtc but it's negotiated by your Urban so it's fully decentralized uh peer-to-peer video column so uh and there are all kinds of other things that people are building so that's where Urban's at um and the chat stuff works pretty well there's some rough edges uh I would say that the um the big limitations have to do with uh scaling and hardening
and some with developer experience so as a user um basically you know if you join a group that has more than a few thousand members and there are a few of these groups uh then it it might be kind of slow right it works but it's a bit slow and if you're publishing a group that has many thousands of members then you generally have to do some maintenance work on your server to make sure it doesn't run out of memory so you know irbit is supposed to not require any maintenance from the user it should maintain itself all right so it's not quite there yet uh and in particular with scale right so if you're supporting a lot of a lot of subscribers then you know the system doesn't scale as well as it should and so you have to do some maintenance work
and things get slow um and uh so that has to do the reasons for that are basically twofold um well well three or three reasons essentially one is that there's a limitation how much data you can store in your orbit right now um there's also uh oh it just doubled but it's still it's still Limited um so there's a limit to that there's a limit to the amount of network bandwidth that your orbit can take advantage of um so we're working on that as well um and then finally urbis programming language knock uh machine code is uh is slow um so uh the so the combination of those
three things uh makes put some scaling limitations on the system all three of those are under active development and uh I don't expect any of them to be Show Stoppers but uh but that's that's the status um so the other aspect is hardening so basically they're it's this refers mostly to security some to reliabilities there's some reliability issues there's still some bugs sometimes within crashes much much less frequent than it used to be but it still happens um and uh so getting the system to be really bulletproof reliable um that's one of the big things we've got to do and um and very closely related phenomenon is
making sure that uh it can't be hacked into all right so making sure that it's secure uh so that people can't uh get into your orbit and you know download all your chats and you know we want people to be able to store private keys for you know relatively small amounts of money but but you should be able to store private keys in orbit and insert anything other than like your life savings it should be relatively safe you should feel secure about it um we're definitely not there yet so as a caveat like if you go play with Urban keep in mind it has not been audited for security there's a good chance that there are vulnerabilities in there so uh treated accordingly but that's also under active development uh so there's a hardening process that we're taking the system through
uh and the other piece of that I would say is um uh protection against denial of service attacks which is I think going to be a sort of long tail of of hardening to make it sort of able to resist uh larger and larger and more and more well-resourced uh groups of people uh who are attempting to just shut down the network or at least shut down your ship on the network your node so there's a lot of work to be done in that front as well uh also not I I'm not particularly you know uh worried about it but it's it's a fair amount of work in front of us to do that the third remaining uh sort of limitation I would say is in developer experience so um basically there's when it's a pretty new world right you got a
whole new whole new machine code whole new language home operating system whole sort of Paradigm of programming and all these things are you know 10 times newer than uh the existing World um and so there's a lot of tooling that Urban doesn't have that other systems have so a lot of the so the you know this developer experience is very good already in some ways but in other ways it needs a lot of work and so a lot of that has to do with building tooling building debuggers and having a better you know printer pretty printer for data and a lot of other technical stuff um but basically uh making it just a lot bring building a lot of tools for developers and there's a deeper piece of that which is making sure that the the
apis that are presented to a user space program or somebody writing an app to make sure that the way that you interface with the operating system is clean and easy to use and in particular easy to it should make it easy to write a program that's correct and so there's a big problem with this right now which has to do with subscriptions and so there's a a whole sort of complex of uh projects that we'll be working on over the next year or two called subscription reform to redo Orbit's uh subscription system so how you synchronize data from Urban turbot that should get a lot simpler cleaner uh and more scalable as well so there's a roadmap.herbet.org uh has uh that's a pretty new thing where we laid out the technical roadmap for
urban so if you're interested in going deeper on the Tactical details of exactly where the system's at and what needs to be done to um to improve it uh that has some pretty detailed uh explanations and links to ongoing work on GitHub cool thanks yeah I mean I was with Gary we were actually looking a little bit at the roadmaps the other day and I have to say it's like very nicely presented and so we'll also link to that uh so if people want to go deep and check it out what are the timelines on this like when when is orbit I I don't know do you see do you see kind of different stages of Readiness of orbit coming up for
different types of I don't know degrees of adoption and what does that look like and yeah on what time frames I think this is a little bit of an aggressive time frame but I generally say around two years to get to uh having a uh to have it be bulletproof and scalable enough and reliable enough basically so there's the system will continue to improve basically forever um the kernel itself will actually stop improving at some point the version numbers go down to zero we call this Kelvin versioning and this is to standardize the system uh so um so all
the different parts of the kernel each have a Kelvin version those all go down to zero knock the machine code is at Kelvin four and Gary and I actually did a podcast that we talked about what might cause it to go to uh to version three but at the moment we don't actually see that happening we think that's probably done um but the kernel different parts of the kernel are at versions 140 for the language up to about 400 for the standard Library uh so there are a finite number of versions that we have to play with there which will take somewhere between 20 and 200 years to really congeal all the way down um but the but that's the kernel there's also the runtime which is the the program that runs your orbit and that is not Kelvin version and so that will
continue to improve forever but that's basically just making um making it uh faster and faster over time so there's no sort of fixed Point there's another one point where we'll say Urban is done exactly um but uh there's a point where we will be able to say this handles all the kinds of applications that we want to handle and I think we'll be able to handle most of those by two years from now and so that includes having being able to confidently say this thing is secure nobody's going to be able to you know steal your data out of it exfiltrate your data um it'll scale reasonably well so if you want to have a million people in a chat channel two years from now you should be
able to have a million people in chat chat uh so basically it should it should approach the level of scaling of web 2. um and that's an interesting set of problems most people don't don't think of decentralized systems as being capable of scaling up to uh the size of web 2 um where you need you know many data centers to run it Urban actually is designed to do that so there's a very interesting set of discussions to be had about how it plans with doing that but I do think it's possible and we're on our way so it'll scale some it'll be quite it'll be quite secure it should be quite reliable like the the program should not crash um and it should be relatively easy to
write it should at least be yeah it should at least be uh relatively straightforward to write an application that synchronizes data correctly without having to worry about correctness so like where it gets where it's a correct application without having to think too hard about it now by two years from now it may still have quite a bit of boilerplate all right it might be kind of awkward clunky to write those programs um but when you write them you should be able to very quickly read them and say yeah okay that's definitely right um we're not there yet and mostly what's missing there is the interface the subscriptions the interface to synchronizing data there are a few other things that aren't great either um so I don't expect that that API right like what it takes to write an
application will be really you know smooth and just you know really Polished by then I think that'll take another couple of years to really get uh to really get nice uh but it should be possible to hook into scalable content distribution from an application so that you can support you know many people subscribing to you like in the Millions um and uh and to feel confident when you write it that it's correct that the kernel is handling all of the sort of hard synchronization problems and other correctness issues for you I was kind of wondering if there are any applications that you would like to see on orbit that it's just not ready for
because of you know the the maturity of core development and you know when do you think it'll be possible and what it will look like tons uh okay I want to store all my files in there I have hundreds of gigabytes of uh music recordings and photos uh uh all kinds you know hundreds of uh you know papers that I've collected over the years that I want to read computer science papers um ebooks uh tons of stuff and I actually I had them in Dropbox for a long time and I decided to stop paying for Dropbox they pulled them onto my computers and I have like 300 gigabytes of just crap sitting there on my computer and we may need to upload it somewhere else and I've gotten around to it
uh that should all be in my room and not only should it be in my Orbit but yeah I should be able to share that with you very easily all right so in order to share media with you uh through orbit need much higher so first of all you need to be able to store that data in urban it's it's too big right now I need to be able to stream that to you or you need to be able to download it quickly so we have to be able to max out a network connection right for the for the bandwidth so we need a better Network protocol and I need to be able to publish that to a lot of people so we need scalability the network protocol so there's that right anything with file sharing podcasting uh you know live streaming uh you should be able to do all that
from your orbit right and like imagine doing a live stream from your Urban it's fun to think of all the other stuff you could build in there all the different kinds of interactivity uh and you know Integrations with other other Urban apps um and then uh yeah the other thing is I I want to be able to store um a lot of my private keys in our boat so I think like yeah for for stuff that's like where you really want to keep it cold then okay yeah keep it cold don't put it in your Urban but but I want to have sort of what where I'm paying my bills from right uh and where I'm you know sharing expenses with friends you own an orbit uh version of um
uh what's the app called where you like you all go to a restaurant and the uh split wise right my friends don't use splitwise for we go to a restroom so it lets you settle up later I think there's another one too so I think there's more I bet there is yeah yeah uh but anyway like that kind of app where it's like yeah here's how I handled my sort of day-to-day expenses income Etc right like that I should feel comfortable storing that in my Urban right and then and not only that but then from there I can do things like you have Urban integrate with the lightning Network have it integrate with uh you know the Aztec protocol on ethereum I would integrate with uh kenosis safe uh safe now I suppose um right have it integrate with all this different stuff
so but in order to do that I have to be comfortable having some hot wallets inside my herb uh and uh so for that it needs to be secure right so there's this whole sort of big playground of all these things that could be built right it's like there those will be toys until we make everybody secure and then they can be done for real and um so I'm very much looking forward to those classes of applications yeah I'm glad you mentioned the podcasting thing because I think this is actually like a very powerful example right so for those who like you don't know basically if podcasts or podcasts are basically distributed via RSS feeds and so as a podcaster you know you're putting up
this podcast recording and then uh people download it and you don't and there's a bunch of limitations that come with that one is that you don't have any way of like messaging those people like if you want to build like a community of your podcast listeners then you know you'd have to make this cumbersome thing of like oh you're listening to this audio now go and click in the link in the notes to go somewhere else and then we do this community or uh so so but most you know 98 of people that just like listen to it and and because it's so cumbersome people don't even try and of course charging for podcasts is also basically not possible
or or it's only possible through these again very very terrible hacks that people do so I think this is something where you know if you can just uh this video content message everyone who's listening to it maybe have better data about it too because I think this is another thing that pause that podcasting is very limited with although I guess in orbit maybe this is also something orbit will be limited with no since people what do you mean more better data well I mean in podcasts like you don't know for example do people actually listen to it or not yeah well I think people could hide the
fact that they've listened to your podcast relatively easily but most of your listeners probably wouldn't um so if you kind of requested that information I think most of your listeners would give it to you and you'd have a reasonable idea of what your audience looks like yeah you can also track the networking requests coming into your orbit right so you can track just how many requests came in or I should say you could build this sort of analytics uh to track that sort of thing on your orbit um there's a little bit of that in the orbit runtime right now but it's it's not as granular as it could be but yeah you could you could build a system like that so that anytime somebody tries to fetch this well they're fetching it from my Orbit right so I can tell um you may not know that exactly if we
end up building a sort of distributed caching system which is likely um but yeah some so yeah Urban it probably requires a little bit more work to get really good analytics which just has to do with sovereignty actually right like there's a there are some places where you have fundamental trade-offs between you know privacy and sovereignty and you know being able to track what people do which is the opposite of that but uh but yeah I think there there's quite a bit of middle ground in there what about you Gary I mean you mentioned the the example that I really liked and I hadn't actually thought of in this way before of you know having this business that like is in a code and you can kind of franchise it easily so I think that was a nice example but what else what are some other uh use cases
for a bit that you're most excited about uh actually I think what I would find most useful are things that um are currently possible and just need a little more developer effort so I'm very excited about Enneagram holy M product which should work towards kind of replicating the feature set of notion on orbit um I personally find that if I'm journaling even if I pretty much trust that I'm not going to get snooped on by whatever third party owns my data I'm just going to be a little more hesitant to really speak freely about what I'm thinking if I know that it doesn't it's not private and so um and so I would much rather have something like that on my Orbit and I personally prefer to journal on my local
computer rather than a more powerful platform like notion for that reason and I think Urban can do it I think it's just um a matter of developer effort and kind of getting the ux right and another thing is is task management I use task Warrior which is a Linux program and it works really well but I would probably prefer for that to be on orbit as well because I would have better sharing functionality and I wouldn't have to work within two different systems you don't use emacs no I don't use emacs task Warrior is good enough but but no I mean these are kinds of ways where having a personal server makes a lot of sense because you have a variety of devices I'm not going to carry my laptop
necessarily to all the same places that I might carry a phone or a tablet but I still want access to these basic things like my notes and the things that I want to do and these are low amounts of data it's just important to me that I can access them from anywhere and the only way to do that in a sovereign way right now is to deal with honestly just a very terrible ux and you know do probably you know more more Linux work than most people want to do and I think herbit is going to make that much more accessible and and you know more free well let's talk a little bit about I mean we've touched on it in in points but about it the kind of crypto orbit uh Synergy so once or a bit
you know let's say two years from now we have addressed some of those uh issues around security scalability you know you can keep your keys in orbit it's pretty safe um what what is this convergence of crypto and urban look like and you know what are the most important implications of that yeah I think they're this is there are a lot of implications from it uh and the convergence happens in several different ways um and so there's actually a lot to talk about here I think so one is um let's start with some basic ones right so it's basically like any time I that I as a user want to interact with the chain
I should use my Orbit to do that um so even if that's something simple like I want to use uniswap right there's a there's an app on on Urban that serves the unisa uniswap front end right but I should be serving that to myself and urban has very good properties for code signing right so the software supply chain uh can be can be secured much more effectively on Urban than through almost anything else because we have a real pki or a real public key infrastructure real identity system that actually lives on chain um right every orbit ID is uh an nft on ethereum and um so what that implies is that if I
um I can have a lot more protection that the front end that's being served to me is not spoofed there's no DNS spoofing there's no other stuff right like it's it's something where I can really get a lot of verification that I'm I'm using the piece of software that I mean to use uh there have been huge hacks right where somebody spoofed some front end and there go hundreds of millions dollars so uh so Urban first of all you know that should be the place that should be what serves a client to you right some sort of uh any user interface you're using for interacting with change should be done through Urban um this also lets you do multi-party computation right so if you want to do a
multi-sig um then that should be there should be an app for that uh this would be a nice app to write you could write it right now um and uh and then that you know then okay we want to you know the three of us have a multi-sig let's say and we want to um we want to move some funds okay well we can use the orbit app to do that we don't have to copy and paste addresses uh we don't have to worry about backups for our keys we don't have to worry about backups for the state right like if you're tracking uh you know the nons of an ethereum account you can use your Uber to store that and make sure that and then you know that it's not going to get deleted you're not going to forget it you're not going to have uh you know
non-reuse errors that could cause security problems right this whole long tail like things that can go wrong with crypto and a lot of the stuff that people worry about with crypto in practice when using is like well what if I copy and paste the wrong address into the wrong thing and there goes all my life savings it happens uh right so what you need is some abstraction layer there so say look I'm sending it to you it's just my computer sending it to your computer and yeah I guess there are like public keys and addresses involved but I don't want to think about it and I don't want to see them um right like I don't I don't really think about that to the extent that I have to think about that with normal banking it's also a bit of a flaw um right like uh
so so there are those layers all right it's like okay I can do my own stuff I can have my own wallet in there I can I can do I can use it for multi-party computation and then yeah I should also use it for storing all the client-side state so all off-chain state that I need so if I'm using uh Save Right to manage some assets uh and do other things like that um my actual personal data has to be stored somewhere right so I should store that in my room another thing Urban can do for you is it can act as your Watchtower right so let's say you're doing something with uh lightning right um or that's not the only thing that needs a Watchtower but for some of these things where you have like a state Channel
uh you actually need some program running on your behalf monitoring the chain to see if something happens so if something happens that's against you this thing can uh you know do an adversarial close of the channel uh and make sure that your funds don't get sold right so you can rely on somebody else to do that or you can use an urban then there are deeper Integrations right so something where basically uh you want to have an application that's mostly off chain but has an on-chain component right so let's say you have a video game and there are in-game assets that you actually want an economy for right and you double spin protection on those assets uh so for that there's uh you can do
that just sort of normally right where you can write an urban app that's primarily and you know an in urban app but also talks to a chain you can do that by talking to existing chains and then there's also the Oak Bar project um which is aiming to uh with their building uh a ZK roll-up as a layer two on ethereum uh that where you where that uses knock or it's machine code as it's to write smart contracts um so they do ZK proofs of uh of nakako right so this allows you to uh write uh your application in Urban's programming language and you also write some little
piece of it that stays on chain and those share the same data types they should share the same helper libraries uh they communicate very seamlessly with one another so you there's also um a lot less code involved in deploying that application right so one of the big problems with deploying dapps as they're currently conceived of is that you write a little bit of solidity but most of what you write is Javascript because oh you know there's actually a lot more code that runs off chain than runs on-chain and so you have to still deal with all this web 2 stuff all the difficulties of deploying a web 2 application along with the difficulty deploying web 3 applications you can't screw up the solidity either right so uh it's actually just pretty scary thing to try to do
so Urban doesn't doesn't necessarily make the the smart contract part of it that much easier but everything else around that it's a lot easier to integrate that into an application um and then there's an even deeper layer I would say of integration between orbit and blockchains and this is more speculative more sort of philosophical but basically I've been thinking about this lately that um blockchain is an oracle problem just in general if any data is going to be put onto the chain as a transaction input the data has to come from somewhere often it can't be verified just by you know uh by being Unchained the way that
sort of derived the data can be right um right so a general uh you know so it's like a let's say you know you want to pay me for doing some work um well how do you how do you know that I actually did the work and so something somebody has to put that data on chain right and that's an oracle problem because when they put that data on chain you have to try to figure out well how does that how does how do we know that that's true that that's accurate information right so chain link is a whole system for this right I think there are a bunch of others there are a chain link is for you know or Oracle for Price data and so that has particular characteristics where you can
yeah you can sort of average them out and throw out the outliers and have some economic incentives to to get a good answer there right um but that only applies for certain kinds of data and for a lot of those sort of a lot of what people were interested in blockchain solving back in 2017 2018 that never or that have not yet panned out I should say things like you know using it for you know the title of your house right or like these sort of more real world you know tokenizing physical assets um some of that's probably just a bad idea generally but they're probably my guess is that there are several of those that actually are good ideas but they're not feasible yet and what's needed to make them feasible
is includes a more generic and more like a more general purpose uh Oracle system and so Urban I'll I'll I will actually get to the point here the uh uh I I one of the ways I see her but is as a general purpose Oracle system uh like a low the lowest layer of an oracle system where basically you want to put you want to put some data on chain okay well it comes on chain signed by the orbit that produced it and located within Erbert's scry namespace so this is a very technical concept but basically Urban has a a way of assigning a permanent immutable name to a piece of data and attesting to that by signing it with using the Urban's public Herbert's
private Key verifiable by anybody um and so it's a way of laying out all the data that gets produced by any Orbit on the network and having that Urban attest to that data so at the moment there's no double spend protection or there's no uh there's no Byzantine fault protection on this so there's nothing to say that I can't run a malicious Urban kernel that signs two different versions of the same data at the same path but and most of it doesn't most of the data that Urban deals with doesn't need that protection and so shouldn't have it because you actually again you only want blockchains for certain things but uh you can take that data you could write a contract um that that doesn't Force Byzantine fault Tolerance on those on those
bindings and then basically you could use that as a way of just ingesting arbitrary data from anyone's personal computer and it comes I tested to by them you know who they are not I mean you don't know their you know social security number but but you can tie that identity to other other actions that that Urban has taken it does develop reputation um and so because it develops reputation that's where you can build systems of trust you can build reputation systems on-chain reputation systems that deal with this that you could use programmatically to filter uh all this data so this is a whole line of thinking none of this has been built yet it's uh it's just sort of something that's been rolling around in my head
but I think there's something fundamental there right where basically blockchains are deal are specific specifically for dealing with objective data right like what is objectively the sort of consensus truth about something herbits are designed for dealing with subjective data what is my version of this what is your version of this and uh so I think they these these two things complement each other very well and you need both of them uh to really build a sort of uh cryptographically sound world like you need a world that has hardness as Josh Stark described in his essay of uh Adams institutions and blockchains right you know block those are as as civilization progresses the
hardness of our institutions increases um blockchains do a great job of hardening currency contracts potentially law but not anything subjective really and so for so Urban is really where you harden the sort of subjective reality um I don't know what you think about that but yeah I I want to ask about one thing that I've been you know pondering a little bit and I'm kind of like unsure how is this gonna play out right so today in web 2 obviously privacy is pretty bad uh maybe terrible right and
urban has this you know fundamentally different paradigm that you know it gives you more privacy in some ways right because like your program runs on your orbit and your data is there but at the same time because everything you do on the network is like associated with your planet ID it it all there it also seems to be the kind of this aspect where maybe there's less privacy too or like you know at least in the current system you know you can make like different usernames use different emails make different accounts and
so I'm curious like how you think this is going to play out I would say there's more accountability right and that does cut both ways because yeah if you get because so basically internet you have this ID and it's typically a very permanent ID like people get really attached to them I'm very attached to Robin's Rick for Gary if somebody took tiller told us away from you I imagine you would not be very happy with this you get attached to it the way you get attached to your sort of normal human name it's a little odd honestly it's like it that's part of the system works a lot better than I would expect it to um but there's quite a bit of empirical evidence for this people getting very attached to their name so you can
attached to your name because that's really who you are on the network it's how people know you um and I think that'll only increase as people start doing things like Financial transactions through and other sort of more serious um more serious uses um and so yeah there is a trade-off there somewhere abstractly right between you know can you in between being accountable for your actions on the one hand which also means you know you have a reputation so developing the development of Social Capital requires attributability of actions right like you have to know that it was me in order for develop in order to for me to develop that that reputation um but then conversely you know if I do something wrong then you know my then
everyone will spit whenever they hear my name for generations to come and the sins of the father shall be Revisited upon the child or whatever right interestingly I think blockchains have a very similar problem right where like the provenance of provenance of transactions is actually completely visible on a chain the way it's maybe not within a more traditional banking system and so an urban actually takes the same approach that blockchains do which is you have a layer of pseudonymity right so any particular orbit ID yeah that that accrues reputation but that idea is not tied back to your real world identity unless you want it to be yeah I should mention that um that anonymity is possible on her but people will know you're anonymous and in
most contexts you may want to be unaccountable in a given situation but the other people in that situation probably want everybody else around them to be accountable and you would probably like everybody else to be accountable too so while anonymity is possible um it actually makes it more difficult to socialize in many ways um so I think I think just like in web 2 on orbit we will see some Anonymous social happenings but the majority of of interaction will be um accountable with this kind of skin in the game based system yeah so specifically there's a type of urban idea that's called a comet you don't have to buy it you can create an infinite number of them effectively um and yeah you can throw them away
they're ephemeral and so they're they're Anonymous IDs and interestingly yeah we find that most substantial groups ban them um because they tend to be troubles uh but there are places where they're not banned because people really want to have Anonymous conversations so you know it's a different use case different use cases imply different things and so you can you can do both with Urban so I guess there's um there's orbit.org developers.orbit.org is the best place for engineers who want to learn more if you want to get started using orbit as a as a user there's getting started Link at orbit.org as well so that's all very polished and and user friendly nowadays
yeah we're still working on it too it's getting better yeah I mean I'm I'm just very excited I mean today and also just for like you know what does it look like today right I mean there are some of these applications but I think right now what really works is just these groups right so you have some community and you can message each other in a chat and it's like it's pretty nice um and I think that's already something that you know at least for a lot of people it's enough to kind of trigger a lot of thinking and a lot of seeing of possibilities but I think what I'm super excited about is you know the point where we really have
compelling applications you know they're like actually cool and I think we're pretty close I don't think we're there yet right I mean at least personally I haven't used anything where it's like you know this is really cool Beyond just illustrating some possibility of what could be in the future but I you know I would guess that this is is something that we'll get to within the next six to 12 months and I think at that point uh it's it's just gonna be very exciting right especially to have people from crypto like come over and explore or a bit and I think there's gonna be you know an avalanche of innovation and adoption that's gonna happen after that
I agree yeah I would say if you're um if you want to play with her but it's it's fun to play with and uh there's some interesting groups you know it's actually quite a few different social groups on there but that um are very different from one another so the the idea that we're going to Foster the development of subcultures has been empirically true so far um and uh but then I think the the thing that's really exciting about orbit right now is if you're a developer um because this is a really good time to get involved and play with it right build something take a weekend uh maybe it takes a week if you've got to learn the programming language first um maybe it takes a little longer but it's not that bad uh and then learn your way around the system build
an app uh and you can build it and publish it and it's really easy and then and then talk to people about it and uh you know you might get some nice positive feedback make it you know actual users very quickly um and there are all kinds of apps that should be written for crypto integration so if you're coming from crypto especially uh and that's strategically a strategically interesting uh for us at orbit and uh you may be able to get a grant from the Urban Foundation to work on something like that we have a grants program you should check out uh bounties uh so there are a lot of different ways of getting involved and also you can get on the network and talk to people about what they uh you know what they want to build work with some other people so yeah I think this
is it's a really fun time to get involved with herbit because uh it's at the point where the you know app development and app distribution is somewhat mature it's immature enough that it's not a huge pain uh and then also but despite that it's still very young and so there's still a lot of low-hanging fruit that needs to be written uh that's uh not too not too hard to do cool well thanks so much Ted and thanks so much Gary it was really a pleasure to have you guys on and it was a pleasure I think this was a nice a nice other introduction about ervit because I think often you need quite a few introductions about it which I'm pretty sure people will enjoy this and I'm also sure this is not going to be
the last time we're going to talk about her a bit but there's going to be a lot more to come and I think the next year the next two years and what's ahead it's going to be incredibly exciting so I'm you know I can't wait to see how it all unfolds and um yeah also so grateful for you Ted like for doing all this work in trying to get this platform to maturity thank you really enjoyed this all right and thanks to our listeners for tuning in uh let us know how you like the show on Twitter or leave us a review if you want to support us and then we look forward to being back next week