New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

TOKEN2049 - Live from the Permaweb: Demos of the decentralised web - Sam Williams (Arweave)

TOKEN2049Wed, Oct 9, 2019, 12:00 AM

Transcript

Thank you. Hello everyone. I'm Sam. This conversation was supposed to be a be a 100% live demo from the main Arweave network. But since there is literally nowhere to put a laptop and work with it.

Uh, yeah, we can't do that. So instead, I'll have a slightly different conversation, and the one I had planned will be posted on YouTube later. So, in short: a permanent web (permweb) permanent web (permweb) is a web built on Arweave that is permanent, censorship-resistant, decentralized, and works today. So you can run the miner right now by going to arweave.org, or publish web or publish web pages on top of it, and it works right now.

This has been working for about 8 months now. So, very briefly: Arweave is a global persistent hard drive built on a modified form of blockchain that we call blockweave. Blockweave essentially works by taking the hash of the previous block on the network, as well as a randomly selected old block, and incorporating it into the creation of the next block. And this creates a kind of weaving structure that you see here. The idea is that it requires miners to prove that they have access to an old piece of data from the network in order to receive tokens for mining.

The consequence of this is that miners are encouraged to store as many old blocks on the network as possible to maximize their reward, especially because the cost of storage compared to the cost of hashing is surprisingly low. This means that in practice on the Arweave core network today, if you send a web application or piece of data, you will get approximately 180 copies of that data distributed across the network, and this is the most redundant commercial backup system available today. So the persistent network is the layer that we built on top of this system. It is decentralized, immutable, and brings all the features of a typical blockchain to the storage of web the storage of web applications and other types of data. So, essentially, it's just like the regular web.

You can point your web your web browser to it. But when you see a web page on this system, you know that it will always be available to you as long as you have the IP you as long as you have the IP address of the Arweave node or gateway and a hash of the corresponding data. So the big idea here is that just as the web connected people across vast distances vast distances , Arweave is trying to connect people over vast periods of time. So, if I want to talk to my partner who is currently in Berlin, I send her a message via the messenger web interface and it reaches her instantly. Um, but back in the day, if I wanted to write a blog post write a blog post to tell people about my experiences on some politically interesting topic that was happening in, say, my country, Brexit would be an interesting example right now.

Um, I have no way to guarantee that this data will persist into the future unless I use Arweave, where I know that this data will be available as long as the Arweave network exists. And thanks to the network's incentives, I know that miners will be interested in creating as many copies of this data as possible. So to make this graphic, we did a study of how the network actually breaks down. This is a metric we call network integrity. So, after 2 years, you lose about a third of all the data stored online, or that data changes so dramatically that the link you have left now leads to something completely different.

And what's really impressive is that after 20 years, 98.4% of this data is lost or changed to the point of being useless to you . So if we think about the 1999 network and remove everything else from the current network, trying to just browse it, it will be completely broken. It is completely useless to us. Therefore, we try to ensure that the integrity of the network remains at 100% indefinitely .

So the real big goal here is big goal here is to build a kind of decentralized and immutable version of the Library of Alexandria that holds the same knowledge but isn't as vulnerable to fires. Sometimes when we talk about how the web and archives are interconnected, people don't immediately see the connection. But we created this slide to show: well, they're both huge repositories of knowledge and history. So before, to learn about the world before the internet, you could go to the library, look in a book, and say, "Okay, I can learn about this topic." That's good.

And then there's something that I don't understand and I have to find another book, read it, or worse, it's a subtopic that's in another book, and I have virtually no way to find information that would explain it to me. That's what makes the web such a powerful tool for learning—this idea of hyperlinks, where you have some knowledge you have some knowledge that's related to other knowledge that's also related to the next, recursively building this web of knowledge. But of course, while archives were built for durability, the centralized network was built almost exactly the opposite. It was simple: if that file is currently available on the server, you can access it. That's all.

This is your only guarantee. So what we've done with Arweave and permaweb is we've combined these two components so that you get this immutable knowledge network that persists for a very long time. So, let's take a look at the infrastructure. The entire concept of Arweave is based on conventional web technologies. Arweave nodes in the network Arweave nodes in the network are simple HTTP servers, and they communicate with each other accordingly.

This means that when you tell your browser the path Arweave.net/transactionID , what you get back is exactly the same language that Arweave nodes use to communicate with each other. But since your browser can understand things via HTTP, HTML, CSS, etc., it will take this content and render it for you in your web browser as if it were a regular web page regular web page . So you can take this infrastructure and put HTML, CSS, and JavaScript packages on top of it, creating decentralized persistent webgrams on top of this system.

And what's really cool about this is that it lowers the threshold of entry for building decentralized applications: from "I know Solidity," which is quite difficult, to "I know JavaScript," which almost every programmer can do and, I would say, 10% of the would say, 10% of the US population already knows, maybe more. This opens up opportunities for a much wider audience of users. So, once you get this webpage from Arweave, it loads. It is displayed in your browser. You can see her.

You can browse it like a normal person. It looks like any other web page. But then you can ask Arweave and Permaweb questions like, "Hey, can I get all the blog posts between January 1st and January 31st, at this point in time?" And all of this is completely decentralized, and from a programmer's perspective, it's very simple to write. So simple to write.

So , for such a decentralized network to become popular, we believe that a gateway system needs to be used . Essentially, if you have the Arweave web extension installed in your browser and you visit the link arweave.net/txid, you are getting data directly from Arweave in a decentralized manner, with no single point of failure. But if you have a regular browser, you go to the standard DNS system standard DNS system , which will point you to a gateway, which will say, "Oh, okay. You don't know where you're going.

"Okay, I'll direct you to the Arweave node I know." And it will be able to connect you to the network, where you will receive all the necessary data. Because Arweave communicates in the same language as your browser, once it is redirected to the web, it already knows what to do next. This is completely normal, standard behavior for a web browser. No changes are needed.

What's really cool about this system is that it works with mobile devices. Typically, Ethereum-based applications require some kind of web extension in your browser, but this is difficult to do on mobile. You could force the user to install another app to try to use it this way, but it's very inconvenient. But we have a way that allows between a third and two-thirds of two-thirds of mobile web traffic to seamlessly access the Arweave persistent network and the decentralized applications on it. Users don't even notice that anything else is happening.

This means that the entire ecosystem is open to 100% of is open to 100% of browsers in the last 10 years or so. It still works even with something like IE5. This means that this package allows package allows anyone who knows a little JavaScript to create applications. Anyone with a web browser can view these applications, which is a huge incentive for mass adoption. I was going to show a lot of live demos running on Arweave, but I can't .

So instead we'll look at a small example. So, before us is Weave Mail. This is something we quickly built at a hackathon a few weeks ago to test the ArweaveJS library we created and see what problems developers might encounter. Essentially, it is a persistent web it is a persistent web client or a persistent decentralized email client. that, or rather not just email, but an email client email, but an email client , so it will send and receive mail for you.

So we can click on one of these, uh, letters here, and it will show us the content. This is completely private for us. It's decrypted in the browser, which means that even, you know, whoever is serving it to you doesn't know what's inside the email. You can send a reply. You can also add tokens to it , because, of course, this is a transaction on the network, like any other.

And the whole system is working quite smoothly and as expected. But what's really cool about this is that it's a completely decentralized mailer in 180 lines of JavaScript. It's almost nothing. We put it together in about six hours. And six hours.

And , to be honest, we are very bad JavaScript programmers. We deal with web We deal with web infrastructure, not web applications. So you see, with this approach, you can get applications that would otherwise take a huge amount of time to build in a matter of minutes and hours. Trivial things. And one of the coolest benefits of these web benefits of these web applications is their default user integrity .

So, this means that since you have an Arweave transaction ID, and it is immutable, as long as you have the Arweave address of any node in the system, you will always be able to get the same web application. So even I, as a developer, and my colleagues cannot change it so that it sells your data to advertisers. We also cannot modify it to include intrusive advertising. And we can't make it so that we can simply delete it or limit your access to it. And this is very important for critical parts of our online our online experience.

I mean emails, blogs, and things like that, where we tell people, "Hey, you can contact me at blah@gmail.com." When we say this to people, we entrust our line of communication with that person to Gmail's economic incentives aimed at monetizing that communication. So instead of giving them a specific ID in this system, you can be sure: okay, I know the state of this web know the state of this web application, and it looks weird and terrible, but hey, I know it's not going to change in a way that I can't easily use it. And in fact, as I was finishing this report, I tried to access Gmail and found that it wasn't working.

Why is Gmail not working? Because Gmail, or rather Google, built the system so that you can't access your own mail, which supposedly belongs to you, without their servers. And the reason for this is that they want to be able to fundamentally control the data and make money from your access to it your access to it . So with our system, you know that this won't happen to you. And this applies to all applications in the permaweb.

So, thank you. You can learn more at rweave.org and get started there . All documentation is available. Getting started is extremely simple.

You can get some free tokens free tokens . You can literally turn a page in two or three minutes. Thank you.

Automatic transcript — names and jargon may be misspelled.