 always bring your own adapters. It is very powerful, it's a very powerful thing. I wanted to start today talking about the fact that computers are brittle and systems are brittle. And I have this MacBook and I was sitting upstairs there yesterday and when we were shuffling I moved slightly and destroyed my screen. So then I was like, no, what am I gonna do? Thankfully, the supply chain of the massive corporate computing behemoths is so good that I could buy an Apple exactly like mine yesterday, transfer all the things, which was an adventure on its own, by the way, to just move files from one computer to another. It's ridiculously hard if you wanna go really fast. But crisis averted, that worked out just fine. So this is a brand new computer. I don't have all my normal environments set up. So when I go into demos, I might be a little bit flimsy. So another cool bit of news is that, while I was thinking about this talk yesterday and the whole goal was to talk about IPFS, the whole system in general, distributed applications and so on, I was actually struck by something that I think is worth sharing with everyone here. A number of conversations yesterday with people and some talks that I've been listening to gave me the sense that it's probably important to talk about why we're doing IPFS as a project. And not just the why of the project itself, but why are the underlying reasons that the IPFS community is coming together to work hard on a project. And yeah, so there'll be a bit, a section of the talk that will be like, that why even do computer science in general and why program and we'll get into philosophical stuff. It'll be cool. But that will come in a bit. So the goal of the talk is to get to these demos at the end. But before that, I'm gonna tell you about IPFS and what it is. And before that, I'm gonna tell you about why the IPFS project is doing what it's doing, but really why at the beginning. So we're gonna start with this dive into what it means to be a computer scientist, what it means to be a developer and engineer, somebody who's crafting software and deploying it to the rest of the world. But to not bore you, we're gonna start with a demo first. So we'll have one demo and then we'll have talking and then we'll have more demos. So before I jump into that, so one thing I wanted to show you first is this cool chat application. So let's see if it works. It's a little bit flaky with Wi-Fi here and mostly because this is a really old build, but it's called Orbit. And what Orbit does is it's like a chat client and it's sort of like IRC. But you see that I just connected and now there's like, Victor over there is chatting. And so I can say like, hey, what's up? This peer over here is kind of like plunky and not connecting well. It's like super, super early. And so my messages are streaming from one to the other but it's not like going from the other side. And so what's going on here in this application is that there's no traditional style backend app servers. Like this is meant to be like peer to peer with clients. And so this is a JavaScript implementation of the IPFS protocol running in this node. We are fetching it from a DNS name. Normally we don't use DNS names in the IPFS world but we're fetching it from the DNS name. Mostly because it's convenient. But that's just like downloading the payload of the application and then it runs a full IPFS node in JavaScript. So it's using a different transport for the web directly in that tab. And then another thing worth noting is it's not 100% peer to peer yet because we need pub-sob as a primitive and we're still implementing that and building it. It's actually in, we're developing right now so we're relying on one library and service somewhere to do like pub-sob for us. But pub-sob is a pretty simple distributed primitive. So the whole chat application here is this long, pend-only log of messages. So the idea is that as we add entries to this message this a pend-only log is growing with every new message and you're creating this graph of content. Think about it like Git. So imagine that when you're adding a commit to a graph this is sort of what's going on here. So that's orbit, like having some trouble syncing with people so messages are flowing from one side but not necessarily to the other. And yeah, if you want to check it out it's there. You may want to try and join this chat and play with it but we've tried it in the regular Wi-Fi and it's super slow because we use a bunch of web RTC connections and so we're not super tuned for like super low bandwidth networks yet. But that's one flavor of IPFS. Cool, now I want to show you IPFS kind of like in the command line. So it's white, better, you probably want to, whoa, that's loud, you probably, nope. New keyboard, let's see. What is the increasing font size? There we go, is that a little better? Do you prefer white or do you prefer dark? We can do, it should work. Yeah, so maybe feel better. Cool, so in here I'm gonna save a repo that I have. I have this IPFS repo here. IPFS is a command line tool and so one distribution of IPFS comes as a command line tool and you can think of it kind of like it, you can think of it like the Torrent. It's a little bit of both and it's its own thing, it's its own system as well. So normally what you would do with an IPFS node, you would like in a repo similar to Git and then you can start adding files. So I'm in this demos directory and so say I add this like calc directory. What is it? It's like this huge web application and so you see here that it added all these files and created this huge graph. And so at the end it pops out a hash which is the root of this whole object tree. And so I can take that hash and treat it kind of like a file descriptor so I can elest that. And hey I get some like directory and I can go into that navigate in there and say hey what's in that repo and then like what's in CSS and so on. And you know, simple file system stuff. But the cool thing is that my IPFS node also can turn online and expose an HTTP endpoint in my local machine to access all the IPFS content directly through a browser. So now I can go into, I should invert the colors again. And I can now go into, actually localhost, localhost 8080, IPFS slash that. And now I have like some something, right? And I can go into that repo directory and hey I have this calculator and now I have an application and hey this application is living in my machine, it's at this hash. Anybody who retrieves this hash can now host that application as well. And so it's a static page app like a normal HTML static payload application that is distributed. It doesn't have a host name. The, it's addressed by its content. It's addressed by its hash. So anybody who has that content can serve this application and to each other and so on. Think of it kind of like in a Victorian fashion, right? So this removes the authority and the location addressing from the equation entirely. Does that sort of make sense? Is that, is like, what are you talking about? No, who knows? Cool, so that's one thing. I wanna show you another thing. So IPFS can also do other stuff like add, let's see, I think it's this one, yeah. So here I have a video and you can, so right now this is local and we were trying to see it play. But for example, it can stream video just fine like anything else, right? So super loud. I'm gonna let this play because it's a really cool video. It's very short and it actually goes with our theme very well. That was Humanities Epoch by Melody Sheep. Awesome artists, by the way. Follow them, they make awesome stuff. The reason I wanted to play this video is that it dives straight into the why we are doing what we're doing. And so this is the part where we dive into the really core philosophical part of this talk that I feel compelled to talk about. So this, as we saw it right now in this set of scenes that showed us our world and the deforestation that's happening, how we've transformed the planet, all of the machines that we're building and the space exploration that we're doing and the software we're creating and all these machines. It's an amazing vision, right? It puts your right in, it gets you to think very carefully about your position on the planet and your responsibilities as a human being on the planet. You see the bad, you see the nuclear explosions and you see the good, you see the healthcare, the convenience, the machines that we're making to extend our power and the exploration to space and so on. And so as software engineers, as software developers, as designers, as product builders, as people involved in general in the software ecosystem, I think it's really important to think about these things and have them present with you because it's kind of mind-blowing how fast the world is changing in this epoch and a lot of it will be due to us. So what the people in this room do and will continue doing for the next few years of the next decades of their lives will impact the rest of the planet dramatically, whether you choose to or not. You don't know exactly what your actions will do. You don't know what software you create. You don't know how people are going to use that. And so you have to go into software building with some amount of responsibility and with this knowledge that the software that you're creating and delivering to people is a little bit like a superpower. So the amazing thing about software creation is that it's not just like this magic, like it is a magical thing, right? You are dealing with this arcane stuff. Like you're dealing with like symbols and manipulating symbols on like this magical device that you're like entering keys into and then getting this like mechanical thing to like do magic for you, like oftentimes across the planet, right? Like it's, if you take that and go back like a hundred years, let alone a thousand, it's mind-blowing to anyone in those times, right? So you're using this magical power that you've acquired. And not only are you using it to be powerful and exert some power over the world, but you're using it to craft superpowers for other people too. You're creating something that other people can then use to acquire some valuable capacity, right? So the ability to message people across the planet, the ability to record your thoughts decades ahead, the ability to connect with your loved ones remotely. That is something that you are creating and you are gifting to other people. And it's amazing, right? But it also comes with this huge bout of responsibility because the resilience that you build into your applications, how you structure them and how you deploy them can have drastic implications into their uses of the superpower, right? So think about your service, right? Like you run some application, you grant people some superpower, they're using it, they're loving it, they're like now have acquired some like new capability as a human, they've leveled up. And then suddenly like you decide, hmm, my business is not doing so well, we're gonna pivot somewhere else and you're just gonna cut off the service. And it's just like, whoa, like you just took that back in a way that like most users did not expect, right? So you hear these services all the time shut down. So I wanted you to like gain appreciation really quickly of like the speed of development, like this is like a log graph of like the development of humanity, like really fast like going from like basic tools to language to agriculture to writing to science appears and then suddenly this huge explosion of devices and we build the internet and we build computing and we build like the Alto and like we build like the internet and the web and suddenly like all these other applications. And then now in the last 10 years like this enormous amounts of developments are happening around machine learning, around neuroscience, around biotech and so on. And the world is changing so quickly that you don't know, you can't really predict you have no way of like looking into the future right now to know what the world will look like 15, 20 years in the future. So the skills that you build now, the powers that you create for yourself and for others now might have drastic implications to others, right? So like just try to imagine like the future, right? Like in the next 10 years, maybe we can predict we will automate a ton of things. We will, hey, like bring beautiful automation to the world and accidentally like probably put millions of people around the planet out of work without alternative, without the ability to like retrain into something else, right? Hey, we'll jump into VR and VR is really cool and amazing and feels so cool. But then tons of people are gonna get totally addicted to this thing and we'll just live their entire lives hooked up to this device similar to how a lot of people today are struggling with things like gaming addictions and so on. VR is just gonna be like the next level. Okay, some people are, there's a hope to try and get to Mars. This is really cool. This is something that we desperately want to happen and it actually might happen within the next 10 years. So that's something pretty exciting. If you look into the next log time scale, like this is just completely like speculative, right? Like we have very little ability to know what's gonna happen in the next century. Like this is how short-sighted we are. Like machine learning is advancing at a breakneck speed. Amazing things are happening with machine learning. We might see potentially AI, potentially human uploads if neuroscience gets really far in this century. We don't know. We might develop nanotech. We might develop like with VR and so on. We might create the metaverse and then suddenly we don't need physical interaction anymore. We can just do everything digital. And this is stuff that you will see. This is stuff that like potentially if certain conditions in the development of software go in a particular direction, you might be faced with this kind of situation. At the same time, we might establish a colony on Mars which would be sweet. That would be amazing to get to this century, right? Like anyone wanna go to Mars here? Yeah, a few, sweet. We'll go hang out there. But this is concerning, right? Like imagine thinking like a thousand years in the future, like no idea, right? Like AI gonna turn evil and kill us all. Maybe uploaded people are gonna like seize power and like subjugate the rest of humanity possibly. We're gonna build like warp drives that go faster than the speed of light. Who knows? Maybe it's theoretically potentially possible now. We have very little ability to look that far into the future, right? And like 10K, we're like just speculating. Like if we survive that long, sweet. 100K, hey, like maybe let's go and explore the galaxy and like send out von Neumann probes and try to like explore everything. And then one million, like no idea. Like and the crazy thing is that like we don't have certainty that we'll be around in these time scales when if we look back, right? Like it was so slow, like a million years to a hundred thousand years, like almost nothing happened. We were just kind of traveling around the savannas and like just chilling and making tools and like building fire and so on. And the future was very predictable then to a certain degree. Maybe people weren't predicting, but it was not gonna change so drastically, right? But the technology that we have now is breathtaking. And so, and this isn't that far from you. Like this is stuff that you will be interacting with. Like self-driving cars are around the corner. Like they're gonna put millions of drivers out of work pretty quickly and taxi drivers and so on. And it's gonna actually be really good for a lot of reasons, like a lot less death due to traffic accidents and so on. But then we also need to start building stuff like some other ways of retraining those people so that they can actually have a living and like they're not just completely put out of work, right? Or we maybe should be rethinking our social structures to not depend on like having to have a job to deserve eating. Like that's kind of crazy, right? Like that wasn't around like a million years ago. Like you didn't have to have a job to like eat, but now that happens. So with all of this stuff, this is from Prometheus, a movie where like it's a prequel to Alien. And in this moment, Michael Fassender who plays this Android who is creating the alien that then goes and like does all this horrible stuff in the future movies. And he's creating it from like some like primordial like cells and so on. And he says a line that's fantastic. He says, big things have small beginnings because this is just a few cells that are dropped into some water and then like develop. And that's really powerfully true. So all the things in our history, in our existence have been very small at the beginning, right? So things like fire probably weren't like this. It probably was not like a huge development to the people like understanding that that happened. Life began very easily. Like these paintings in a wall when people, you know, 40,000 years ago when they were like blowing paint onto a wall, there was the beginning of like expressing symbols into a wall that they could read and interact with other people like across thousands of years and gave them a sense of history and gave them a sense of like development which then translated or like help them think about locations and tribes and so on and perhaps provided the first beginnings of something like writing which then, you know, gave us books and so on. Like this acceleration happened through all these tiny little steps. Things that at the time didn't seem breathtaking. The press is a very good example. Like Gutenberg was actually kind of like an entrepreneur of the day. He had been working on some coinage. He had been like minting coins and like learned about pressing metals and like getting them engraved. And he's like, wait, why can't we do that to paper as well and make it way faster and cheaper? And he thought of it as a business idea. He actually went and like raised some money from a friend and created like this little business to try and like sell a bunch of copies of a Bible. Turns out like he ended up getting sued because he used the money for stuff that was not related to the business. So they're not a great entrepreneur perhaps but it was not like this, you know, he wasn't setting out to say, I'm going to revolutionize the future and I'm gonna create this press. It just sort of happened incrementally but these simple things ended up being pivotal changes, right? Like just the development of that one thing unlocked all this other innovation. You know, things like live all the ARPANET. Look at that little like drawing with like these four nodes, right? Like that's the beginning of the ARPANET or the web itself. Like the web when Tim Berners-Lee had been working for like years on something similar. He had been working for like, I think over five years, maybe 10 years on systems of information distribution and so on until he actually nailed the HTTP protocol and nailed like that construction of the web. And it was this pivotal change. It happened extremely quickly. And now all the applications that you use, all the things that you rely on daily come from these systems and write on these changes and improvements that a few individuals made, right? Like if you were to trace all of the people that were involved in some of these projects, the number isn't thousands. The number is like maybe hundreds, right? It's not, you know, millions of people that are like working on the stuff. It's a small number of people. And so these things that are happening now are small and don't seem very big but will become very big. This is optogenetics. This gives us read, write to a brain. It's very primitive right now but it gives you the ability to read neurons and to write neurons. And so just give it 10 years, give it 20 years. Where's that technology going to go? We might see human-brain-machine interfaces in not very long. How is that gonna change us as humans? How is that gonna change what we do, what we make, and so on? So these, okay, this is not a feature. These come with big challenges, right? So the technology we make can be used for evil, right? And so it can be used to destroy ourselves. So we saw that in the 20th century with nuclear weapons and we still have those massive stockpiles that could blow up at any moment. We are totally screwing ourselves up with global warming or climate change in different ways. I think this is, there we go. We created CRISPR which is the ability to like cut and paste DNA. And like now we're starting programming which will be amazing for curing diseases and improving our own genomes. And finally we can hack our bodies, right? That'll be amazing. We'll be able to upgrade ourselves and package manager install some cure to a disease. That'll be super cool. But at the same time, imagine all the exploits that are gonna happen, potentially, right? And all of the problems that are gonna emerge. And this is like steaming ahead. Like this is coming in the next few decades, right? And decades feels so big to us. Like what, 10 years, 20 years? Like it's no idea, right? But because we are so in the moment, we're so in the next year, next two years. We're so short-sighted in our views. And so like I'm talking about all of this to get you to kind of like step back for a moment and consider what your work, the things that you're building and the things that how people will be using those things and what other things might you build down the future? What future do you want to create? Because you have that ability to create that future, right? And so we have a lot of problems and these challenges are very real and these challenges are in our generation. So a lot of these problems, we have. We might have some of the other ones. Like we don't know, maybe machine learning turns out to be like not so great and we can't get AI for like another few hundred years. Or maybe it's around the corner. People are very divided on this. Like a lot of the AI experts are very divided on this. This might be close. And so these are challenges that you will face. And so all of this stuff, like this like heavy stuff, really boils down to two options for humanity, right? Either we go extinct because one of these like horrible things happens and we all die. Or we don't go extinct, right? Like this is like pretty obvious binary, but the point is that not going extinct is really hard. Not going extinct is not easy for a species to achieve. There's so much that's like horrible about the universe and like things happening all the time. And so we actually have to try really hard as a species to survive. And so individually, what does that mean for us as an individual, right? Whoa, this is too heavy, man. And what are you talking about? This is like a programming conference. What are you, this is not a philosophy course, man. Like I didn't come here for this. The reason I'm talking about all of this is that you have two options as an individual within the species. Either you do nothing and you do the average thing and that's fine and like maybe kind of boring. Maybe it's exciting. But it's actually kind of irresponsible because you know about these potential threats and you just don't want to deal with them because they're so like big and scary and you're like, ah, I don't want to know. And so like you just don't care about them. And then the world gets screwed up. Or you can work on solving these problems and you can like work on the science and work on the tech and work on the design of the things that we're gonna build, work on the policy, work on education, work on all these finding these kinds of solutions. And it's not even a given that it's gonna succeed, but hey, we can damn well try. And the thing though is that, going back to what I was saying earlier, you're cyber wizards, right? Like every single person in this room is at a programming conference because you're involved with stuff we're in some form or another. You're part of something extremely special. Like this thing, there's like ability to take writings on a piece of paper and translate them to instructions that a machine will operate on like billions of times and which will cause tremendous things to happen is very special. Like that wasn't around a long time ago. We take it for granted because it's so easy. You just drop into a console and do it, right? Like every day it happens. But that's a very powerful thing. And the thing is that most of the people on the planet don't have that power. You have that power, but most people on the planet don't. And so you have to think carefully about how you use it. And so cyber wizards in this room, I hope that you follow the footsteps of some of these cyber wizards who have given us all of these great things that we're used today. I think every single person on this slide has touched your life in some way and you rely on their work in some form or another. But their teams, when you actually dig into the lives of these people and what they worked on, their teams were not that big. They were actually quite small. And so what I'm getting at is that you as an individual can have pivotal impact on the rest of the planet, on the rest of the species. If you think carefully about what you're doing and if you think carefully about what you want the future to be like. And so this boils down to three problems for me personally and for the IPFS project directly. And this is kind of like where I bring it back and I like go down from this totally off in the heavens talking about other stuff and bring it back to grounding and the computing that we're doing. This is about three problems for us. It's about secure communications for humanity. So being able to communicate peer to peer in a secure way, this is very contentious today. It can lead to a lot of problems. There's a lot of attacks going on right now, particularly in Europe and other parts of the world. And people can use these privacy technologies to cause a lot of harm, which will make a lot of people doubt the utility of these things and potentially ban them. This almost happened like in the US there was a very strong case recently with Apple and like the phones and so on where people were trying to take away this ability and right to privacy. But the thing is and the reason we side with securing our communications is that we remember what happened in the 20th century. We remember what happened with like these very strong fascist organizations that took over a lot of countries. You should remember it very carefully here in Spain. It happened here and Catalunya was not very well. It was not doing well during that period of time. And so we know that this has occurred in the past. Groups have taken power of all forms of communication and subjugated a lot of people. So it's very dangerous to then suddenly grant that capacity to a few actors that are supposed to use it for good. And yeah, maybe they will, but their successors may not. And suddenly the moment that you grant them this key, that is an attractor for people that might not want to do good. And so thankfully we don't have to work on the communications for community that much because that's doing well with Tor and other projects like that. I mentioned it because it's a segue into secure computation for humanity. And that's something that I care personally a lot about and the IPFS project cares about. And so this is different from communicating, but it rides on private communication. And this is the ability to have access to computing. This is the ability to have access to applications and have an application platform that you can use with each other. And the reason it's important and the reason it's important to give this to every person in the planet is that it's a huge power to be able to have access to computing, right? As we were discussing your cyber wizards, you have this magical power that you can do all this amazing stuff with and you also grant all these superpowers to people. Imagine being cut out from this or imagine being on some situation when suddenly your government decides, oh yeah, we don't like this group of people because we don't like them and we're gonna cut them off from communicating with their loved ones or we're gonna cut them off from having access to healthcare or we're gonna cut them off from being able to store files. And suddenly they start losing some very simple things that you don't think matter that much but when you think about it deeply, think about your daily lives, think about how much of what you do on a day-to-day basis now rides entirely on the internet, on the web in some way, on these applications. And so secure competition for humanity is a really important goal for us. The last one is secure flourishing of knowledge. This is a little mouthful, it's a little weird but what this is trying to get to is that knowledge is like computing and the ability to compute is a very powerful thing. Being able to know how to do something confers power on the person who knows something. And so we want to be able to have flourishing of knowledge, science and the development and so on but also secure it. Make sure that people can't erase history and remove things that were really bad that should be remembered or that we don't hide important pieces of knowledge from people that need it or that we give access to people, to journals that have like direct directions on medicine that they should be able to use to cure themselves, right? Like right now there's this huge problem in academia, in scientific publishing where tons of journals are completely locked up and there's lots of people around the planet that have no ability to access those journals right now. And there are people that are dying because of this because they cannot access the knowledge in these medical journals. And that's insane. And it's not the scientists that are locking this up. It's like these other publisher groups that are just leaching on the entire ecosystem. And there are software projects that try and end this. There are software projects that are trying to create journals to fight this. There are software projects that are trying to liberate some of that stuff. We take a very careful stance on this where we want to make sure that everything that's open access is there for good, that we establish a public record, that we establish what the scientific publications are, that we know what the references are, that when you cite a paper, you can cite it by hash, and you know that that's exactly the paper that you cited, and you can get it back always. And once it's open access, you can copy it, you can store it, and you never have to trust that some service out there survives when it might shut down. As Joe was saying the other day, like how do you know that your pictures are gonna be around in 200 years? Or a hundred or 50? What about all the scientific literature that right now is getting poured into these repositories that may not be around in 10 years, let alone 50? So much data, so much science is disappearing because of stupid mismanagement of information. It's a joke, it's terrible. That's actually the reason I went on this tirade of building the IPFS project. I was trying to build a data set package manager. I was like, whoa, why is data not being managed correctly, like we have Git, we have BetTorrent? How hard could this be? Let's just write a data set package manager and turn out to be the biggest jackshave in the world. Like I'm three years in, no end in sight. But the point is, these are things that seem small because they're like, oh yeah, open access journals, meh. Or like, oh yeah, being able to read a paper, I can find it on Google, right? Or I have access, I can ask a friend for it or something. But a lot of people in the planet can't or that's just not right to do because it's not legal and you shouldn't do that and you should actually fight to change the law and to make things open access. I'm actually really proud that several countries in the EU are forcing a lot of places to completely do open access stuff and cannot publish close access things, which is amazing. All right, so really, let's make it count. This is your epoch, you are humans, you are cyber wizards, in 2016 you have amazing superpowers that very few people on the planet have used that power for good in some way. And so here's a picture of Mars with Earth because we want to go to Mars. And IPFS is this file system to make files available across systems that takes into account the latencies and bandwidth disparities between planets because it turns out to be very similar to disparities in the regular world when you think about the developing countries. So the bad connectivity problems that you would have if you were trying to use the web with Mars are similar to the same kind of connectivity problems that you would have when you try to interact with people in very poorly connected areas of the planet. Or even in not so poorly connected areas of the planet but that just have really slow wifi or something. And so that's why offline matters a lot to us. Cool, so let me check on time because I've been going for a while. So it's, I think, can someone tell me how much time? Because I started early and had a little bit more time. I'm looking at anyone. So four or five, okay, so 15 more minutes, cool. In that time, I'm gonna shift gears completely and I'm now gonna talk to you about what the IPFS project is. And I'm gonna give you a very quick description of the goals and then I'm gonna give you a tour of the different projects that we have going, of the different things that we're building and then I'll show you a demo. So this is the development of the internet to some degree. Like you can see packet searching, you can see the ARPANET, the nice nervous system that we built, and then you can see these applications that we're building, right? And so the web right now is pretty brittle because it's totally centralized so you have to maintain this connection open to the backbone all the time. And that doesn't quite work in a lot of context, right? Like you might get disconnected, you might be offline, you might be in a country that doesn't have nice connectivity. So it won't work so well. So the goal of IPFS is to allow applications to be built such that they can reference content and link content to each other and compute without reliance on any central location so that you can address information without directly relying on any one party. So today when you address a page on the net, you say, hey, I'm gonna go to example.com. So that means that you have to look up where example.com is on the network and then go talk to example.com. But what if the same asset is somewhere else? Why can't you get it from whoever, right? And it's like that's one of the core problems that IPFS is solving. So these are some problems in the web, right? Like totally not in mobile or IoT. In mobile sort of, but like not really. And it's hugely inefficient. Links break all over the place, right? So some reference that you made like it's gone within a hundred days or something. It has a terrible security model, right? It's secure, but the data's not encrypted at rest. So that means that anyone on either side can just look at all this stuff and change it. Nothing is signed. It's totally bogus. And there's no offline news, right? So everyone right now, if we were working on a Google Doc and the Wi-Fi cut out, we would not be able to work together anymore. But that's totally crap, right? We have supercomputers, right? Joe walked us through this. Like what we carry in our pockets right now is like more powerful than like supercomputers were not too long ago. So why, and we have nice networks. Like why can't we communicate with each other, right? So that's, this is a stunted problem without how the web works today. That you shouldn't have to be connected to the backbone all the time. And another one is censorship, right? Like the ability for just someone to just cut access on like one pipe and then just shut down everyone's ability to communicate. Like that's a serious issue. And Egypt knows that really well because that happened to them. And it hasn't happened in other nicely developed countries but it could. And if you have nice local area networks, you should be able to continue using your applications. So we are building a new protocol to put the web on it that's distributed. It gives you permanent addresses. It's meant to be faster and safer and it's meant to work offline. And it has a lot in common with Git, a lot in common with BitTorrent and the Plan 9s, file systems and so on. And it's part of this wave of change that's coming that's sort of like bubbling up in like these weird areas of the network. How many people here have used or actively used Bitcoin? Fair amount, like about a fourth of the room. How many people have used or have heard of Ethereum? Wow, about the same number, that's pretty cool. You know, there's a whole bunch of things happening in that area of the world or of tech that very interesting new experiments are being made right now that if they prove successful can dramatically change how people transact on the network. So payments is one thing that's easy. But contracts, like the ability to do legal contracts between entities or the ability to transact for sales and so on in a completely decentralized way. There are potentials of creating things like Uber entirely automated. So these changes that are brewing right now are extremely interesting. And if you haven't dived, if you haven't taken a dive into that tech, I strongly encourage you to take a look because it's a very compelling area. We sometimes use this analogy of saying, hey, like imagine that computers are connected with the internet and then the web was the ability to just move around some static content between them, web 1.0. And then web 2.0 was the ability to address programs that were stored at those computers and be able to run them. And so what we think web 3.0 will be is, and Bitcoin and Ethereum and so on are in this line of thinking, is that you just invert the relationship and say content should link to content, programs should link to programs, and the authorities, you get this intermediated. So it doesn't really matter who's running the computation. It doesn't really matter where it's happening as long as it's, you want to optimize it. You want to make it happen where it's cheap, but you don't want to have to trust those entities. You don't want to have to trust those entities to do something correct. You want to use cryptography to have them prove that they did it correctly. And so the IPFS stack is a set of protocols that are inspired by these on the right, the web, SFS, Git, Bitcoin, HTC, and so on. And they roughly break up into these sections. So we took all the bottom part, which is like lots of awesome peer-to-peer stuff like DHTs and discovery protocols and a lot of like hard peer-to-peer networking magic. And we are putting it into this library called libp2p and there's implementations that can go on JavaScript and people can use it to build any kind of peer-to-peer system. And so that's pretty useful for other systems. And then on top of that, we build this thing that we call IPLD. And so IPLD stands for Interplanetary Link Data and the idea is to be able to have data that links to each other and where those links are secure at a planetary scale, where you can move around this data and trust that it will be linked exactly the same way when you move it from one planet to another, which is similar to when you move it from a data center out into another area of the network, to the edge of the network. IPLD is sort of like a thin waste and IPLD is based on these data structures. The core idea of IPFS is to take this hash linking and apply it to everything on the network, to just hash link all pieces of content and not only all pieces of content but like do it at a granular object level so that you can define whatever object you have. So when you build an application and you have some JSON data structure, you can link from one data structure to another using a hash and what that gives you is security. Like it gives you some authenticated way of checking that the thing you're linking to is still the same thing and then nobody has changed it. It also is awesome for caching it offline because you can just move the content, right? You don't have to keep servers online, you can just send them the stuff, a payload. So distributed data structures, authenticated data structures, hash link data structures, that's what the heart of IPFS. And so we think of it as like not a merkle tree but like a merkle forest where all these different data structures can live and can be referenced to each other and can be linked together. So IPLD is a common hash chain format and the addressing of IPFS looks a little bit like this. So at the very bottom you have these content addresses that are these are immutable permanent addresses to the content. So that's what I was doing earlier with these hashes on the files where like that's just a file system at the bottom, like it's just some directory structures. It's very similar to Git. Then you have key names and these key names are a permanent address that you can hand out but they're mutable meaning that I can change the pointer so I can mutate what the pointer is. And I don't, it's like a DNS name but it doesn't have, it's not human readable which means that I don't have to buy it from anyone. I don't have to go to a centralized authority and ask them please, can I have a name? Can I rent a name? Because I don't really own it. Can I rent a name? And I can point it to something and at any point the registrar can take that name away from you or people can have that name point to something else if they don't like you. And this has happened in the network in certain countries it happens quite a bit. And then at the top you can use DNS naming or any other kind of nice human readable stuff and then point it to a key name or point it to a content address directly. So if you wanna have human readability that's cool that totally use, like we use it all the time but you are giving up security for doing so. And so as long as you can still have the secure lower layers, then you're better off. And so this is like what the addressing looks like. Cool, have four minutes. So the project is pretty big now. So we have, it's a huge project with a bunch of little sub projects. We have, this number is now larger than more than 400 contributors and around 70 contribute weekly. There's a ton of like little, a huge ecosystem is emerging with lots of projects inside of it. So IPFS we like ripped out Lipidapian it's becoming its own thing. We have like these multi formats that are like four secure systems. And a lot is, like each one of these could be like a whole talk. So it's a very exciting. So if you're looking for like cool open source distributed systems things, like have at it, right? Like it's a really awesome community. I'm extremely lucky. Like I am insanely lucky to have found an amazing group of people on the network that are interested in the same stuff that are super friendly that like wanna care about building good stuff. And like our diligent and our like work hard. And we're like, we are seeing a budding growing ecosystem that like, you know, a few months from now a year from now is gonna like it just explode with a ton of like power in a bunch of areas. So I like it just so much stuff is happening concurrently right now. Really exciting stuff. So there's stuff in networking and distributed systems and how you represent files and how you like publish websites and how you archive stuff and how do you do identity in a distributed way? We're like, how do you do logging in without a server? That's kind of crazy. Like how could you do that? What happens when people lose their private keys? Lots of interesting questions. The IPFS protocol has two implementations right now one in Go, one in JavaScript. And I think like the most interesting thing that it does right now is this distributed apps thing. Like being able to take a whole single page application that could do dynamic content, package it into a piece of content, a bundle and ship it around to the network and now you can serve it. And like that's the host of the application. Like anyone is a host of the application. You don't have a specific address. You can retrieve it from anyone. You can access it anywhere. You can go offline and continue using it. So it behaves somewhat like a web app and somewhat like a mobile app. It's a very interesting place to be. And it's gonna cause changes in the browser. It's already happening. There's an experimental browser called Beaker that is really cool. That has been going into using our stuff and providing better ways of using it. But everything we're doing still works with Chrome and Firefox. So you can still use everything just fine. We work really hard to make that happen. Cool, and so for any kind of set of content like package managers, IPFS is awesome. You can use it for things like accelerating NPM and we have this package manager for Go. Because we had a bunch of problems with Go packages not being version controlled. And we were really frustrated by this because we come from the hash linking world. And we're like, boy, this is madness. So we made one. Check it out, it's pretty cool. People use it for secure documents by matching being able to link with a hash in a PDF. You create a PDF and you cite a reference and instead of linking to a URL that's gonna change tomorrow, you can link to the hash of something and you know that it's actually secure. This is Orbea, the thing I showed you. The one I showed you is pretty old, just like it from a few months ago, because that's the one that works in the browser. If you wanna download the Electron app, it's way cooler and it can do video streaming and chat and threaded conversations and a lot of really cool stuff. Open Bazaar, like this eBay style thing with Bitcoin uses IPFS. There's a bunch of other things that people are using. And so this is the part where I would go into other demos but I think I'm almost out of time, another minute. I wanted to say that we are having a meetup tomorrow where we're gonna talk about more of these things, dive into stuff like demos and so on and answer people's questions and so on. So like there's a bunch of people interested and working on IPFS in the area in Barcelona. So we're gonna just get together. I believe somewhere around here, Victor, do you know what the time is somewhere? I'll post it somewhere. So if you're interested in that, I will send you the information. Cool, so I think we said 16.05 and 16.04. So I think that's it. I'll leave you with one demo. I might go a little bit of time. And I wanted to dedicate this to Joe because he showed us a PDP earlier. So for those of you who know what the PDP is, like this really awesome machine that Unix was built on. And so here is the very first, this is like totally like sandbox in IPFS, like the whole website is like living on my machine. I could go offline, I can use it. So this is Space War. It's like an emulator, like this JavaScript app is emulating a PDP 11, the machine that they built Unix on. And this is Space War, like I think it's the first really good video game that just consumed tons of people's time. It was like a huge thing, like if you were not into Space War at the time, like you didn't know what you were doing. So you can totally play this game. I think I'm, there we go. So this is actual PDP 11 code running on an emulator in JavaScript, archived forever now because I have the hash and nobody can take it away from me. Like this page is now in my machine and like I can use it whenever I want. So, and I died. So with that, that is the IPFS project. And thank you so much for listening. Thank you so much for listening to Manus.