PostHole
Compose Login
You are browsing eu.zone1 in read-only mode. Log in to participate.
rss-bridge 2023-01-12T17:28:00+00:00

Episode 546: Dietrich Ayala on the InterPlanetary File System

Nikhil Krishna speaks with Dietrich Ayala about IPFS in depth. They cover what it is, how it works in detail and how one could leverage IPFS and libp2p in one's own application or to host one's content. The discussion goes into the IPFS ecosystem...


In this episode, Dietrich Ayala of Protocol Labs speaks with host Nikhil Krishna about the InterPlanetary File System (IPFS), which is a protocol for distribution of data similar to HTTP. The major difference compared to HTTP is that IPFS uses content addressing to uniquely identify the data itself so that you can identify and access it from any location that might host it. They discuss how anyone could set up an IPFS node and host and publish content that can be consumed from different HTTP gateways by anyone who has the content’s unique address. The conversation turns to the technical details, starting with how IPFS encodes and hashes files to make them available on the networks and then looks at the CID, which is the key identifier for a file block, and the how we can use user-friendly addresses to access this content. Ayala describes the boundary of the IPFS protocol specification and what would be considered layers above the protocol, and how IPFS could potentially be used independently from the world wide web and HTTP. They close with a look at the libp2p package, which bundles a lot of the network stack (WebRTC, TCP/IP, etc.) so that it can be leveraged by any other application. Dietrich describes it as a “language-agnostic toolkit for building transport-agnostic applications.”


Show Notes

  • Episode 500: Sergey Gorbunov on Blockchain Interoperability
  • Episode 463: Yaniv Tal on Web 3.0 and the Graph

Transcript

Transcript brought to you by IEEE Software magazine.

This transcript was automatically generated. To suggest improvements in the text, please contact [email protected] and include the episode number and URL.

Nikhil Krishna 00:00:16 Hello and welcome to Software Engineering Radio. My name is Nikhil. I’m your host for this episode. Today I will be speaking with Dietrich Ayala about IPFS. Dietrich leads the browsers and platforms group at Protocol Labs, making a more trustworthy underlying web through the adoption of IPFS, Filecoin, and libP2P in browsers, open-source libraries, developer tools, mobile apps, operating systems, and space communications. Before Protocol Labs, he spent over a decade at Mozilla building Firefox, shipping a smartphone OS, and running programs to scale developer relationships globally. Dietrich’s first computer job was as a webmaster at indie music level Subpop records, doing anything and everything digital. He has since worked at small startups and also household names like McCaffey and Yahoo. Before computerizing, Dietrich was a barista and chef. Welcome to the show, Dietrich. And is there anything I might have missed in your bio that you’d like to add?

Dietrich Ayala 00:01:20 Thanks for having me. No, I think that pretty well covers it. I started doing programming pretty late in my mid-to-late twenties and did all kinds of fun things then, in order to get there. Flash3, PHP3, going way back.

Nikhil Krishna 00:01:37 Wow. Yeah, it sounds like you’ve gone through the gamut. So, let’s jump into the topic of the day, which is IPFS or to quote its full form, Interplanetary File System. So Dietrich, could you give us an overview of what is IPFS?

Dietrich Ayala 00:01:55 Yeah, IPFS is a protocol for the distribution of data, similar to how HTTP is a protocol for the distribution of data. Things that it’s used for today quite often are publishing webpages, the availability of very large data sets, and also things like local subnet communication between applications. One of the differences between IPFS and HTTP that’s important is that HTTP uses a trust model of SSL, DNS combined with HTTP to be able to find and locate data, whereas IPFS uses content addressing — using the unique signature of the data itself as the address that we request it by. And this means that your phone can be a server or another computer on the subject can be your server or a remote computer on the other side of the world. And I’ll also be a server of the data that you’re looking for on the IPFS network.

Nikhil Krishna 00:02:52 Awesome. So you mentioned that IPFS is a protocol similar to HTTP. So HTTP obviously has a long pedigree. It’s been there, it’s been adopted as a standard. What is the status of IPFS in terms of the adoption as the protocols spec?

Dietrich Ayala 00:03:10 IPFS itself has been around wow, I think for seven years at this point. So it’s not necessarily new, but I think it definitely was an experimental phase for a long time. One of the major changes that we’ve seen in this last two years maybe is a real uptick in adoption for a couple of different use cases. The biggest one definitely in the last year, year and a half, is NFTs. When you have a digital asset and its metadata that you want to be able to live outside of a specific HTTP endpoint or server — something not tied to a specific DNS and URL — you need to have some way to identify it and make sure that it can be available everywhere. IPFS fit that bill pretty well being that you can address the content by its signature, not by a specific server location. So that definitely a large draw on IPFS usage from that community. Blockchains generally, you want to write to an immutable ledger, something that isn’t going to change or get pulled out from under you if somebody forgets to renew their update, their certificates, or changes companies — or even maybe just moves files in a directory. In HTTP, you’ll get a 404; in IPFS, you still have this ID where if that data’s still available from someone on the network, it’s going to be findable, and therefore those addresses ended up being high utility to things like blockchains.

Nikhil Krishna 00:04:37 So speaking of blockchains, there is this well publicized blockchain called Filecoin, which has a good relationship or is kind of leverages IPFS. Can you speak a little bit about the relationship between Filecoin and IPFS?

Dietrich Ayala 00:04:52 Yeah, sure. So, Filecoin and IPFS use some similar components. They use content IDs — that’s what we call IPFS addresses. These, these content addressable bits. They also use libP2P, which is a toolkit for building peer-to-peer applications. It’s a set of specifications that can be implemented in every, any programming language. Some of the big ones that we use a lot are the GO implementation and the JavaScript implementation. And Filecoin is a level-one blockchain. So, it is its own standalone blockchain where mining is comprised of file storage operations. So, what on another blockchain like Ethereum or Bitcoin you would call miners, we call storage providers, and the activity on the network is comprised of a couple of different things: proving that they have storage capacity and proving that they’re still holding the data that you ask them to store. IPFS and Filecoin are not dependent on each other.

Dietrich Ayala 00:05:53 You can use IPFS and never use Filecoin or its blockchain, for anything at all. You can use Filecoin to be able to store data, very large data. It’s designed initially for very large data sets. The default storage deal size is 32 gigabytes. So definitely not just for storing a couple of images. And you can do that without ever publishing that data to IPFS. It could be that you just want to securely store that data with one or more different storage providers, possibly in different geographic locations for redundancy and safety purposes and get it back maybe a few years later. But you never have to publish that to IPFS and that does not happen by default. So the two can be used in complimentary ways, but are completely decoupled and do not require the use of the other.

[...]


Original source

Reply