The Interplanetary File System is SO COOL!

in ipfs •  7 years ago 

Blockchain is about SO much more than just currency.

Case in point: This link will either be the most boring, or exciting link you click all week, depending on your outlook. -- https://goo.gl/zHHfaC

It's boring because it's just static HTML; there's no CSS, Javascript, or viewer interaction. It's not responsive and it doesn't communicate much.

It's exciting as hell because this page is being hosted and served by IPFS. It's not hosted on a single web server; this page is hosted on a worldwide peer-to-peer network. You can't block it, you can't shut it down, you can't hack or change its content, ever. The immutability of this page's content is guaranteed by the blockchain.

IPFS stands for the Interplanetary File System. Designed by Juan Benet and Protocol Labs as a new internet addressing schema, IPFS lives up to it's name. It was designed to provide an efficient, working internet -between- planets. Juan realized that the current centralized model of the internet isn't going to work when people are so far apart that it takes minutes to send data back and forth at light speed.

IPFS decentralizes the internet.

What problem does IPFS solve?

Let's pretend you and I are sitting in the same coffee shop. I've got my laptop, and I log in to my favorite social network to post more cat pictures. As soon as I post one, you get a notification on your phone. You click the link and view the picture I just uploaded.

In the background, I upload a picture which goes from my laptop to a central server somewhere far, far away. When you view my picture, your request goes to that far away server, and the picture comes all the back. This happens even though there's a copy of the content you want to see siting on my laptop only 20 feet away!

Imagine the coffee shop is filled with people who want to see my newest cat picture. Repeat the above process 20x over. See how unnecessarily inefficient this all is? How well is this model going to work when each trip to the server and back takes 30 minutes at light speed?

IPFS addresses all of this... And, it turns out, when you create an internet addressing and content management solution designed to work across planets, it seriously kicks ass when used on Earth.

So how does IPFS work?

Pretend we're back in the coffee shop, any my favorite social network has switched over to IPFS.

When I post that awesome new cat picture, it doesn't go to a central server - intead it gets stored across the network on the devices on it. When you want to see my picture, you collect pieces from the devices on the network close to you. When someone else in the coffee shop wants to see the picture, they can get some of it from you and some from me. When a forth person comes along they can get it from the three of us.

The secret to this is "content addressing"; today's internet uses "location addressing". When you type "linkedin.com" into your browser, that URL gets translated into an address that points the physical location of the server that has what I want. Content addressing flips this around and makes the URL describe what we want to see, not where it's located. When your browser gets a content address URL it looks for anyone who's got that content, regardless of where it physically resides.

This means:
It's Faster - Imagine if everytime you wanted an apple, you had to drive to an orchard to get one. We can eat apples pretty fast today because we don't have to do that - we go to the grocery store and that's a lot closer. Companies like Amazon are even working to bring apples right to our doorstep, so we can eat them faster than ever. Right now the internet is like driving to the orchard for every apple. It's a design we've outgrown. What if adding more users to your platform or service didn't mean scaling up your infrastructure?

It's Infinitely More Scalable - IPFS was designed to work across interplantary distances with tens of billions more users than today. In the future, when a recruiter on Earth talks to a hiring manager on Mars to find a good candidate on the Moon, it'll be because LinkedIn is using IPFS. There's just no way that could work if each user had to make a request to a central server on Earth.

It Doesn't Go Down - Today when a critical server or piece of centralized infrastructure goes down, so do the services and information it provides. When that information is stored everywhere, all the time, it can't go down unless every device on the network goes down. Peer-to-peer networks are designed to deal with unreliability and uncertainty in a way that centralized ones just aren't. The result is that you can easily build always-on applications and services.

It's Forever - If you've been online for awhile, you've seen good communities and sites come and go. There's been some great content and conversations that have been lost forever. Wouldn't it be great if no information got lost, or had to go away? Long after Twitter is gone, wouldn't be awesome for your great-great-great grandchilren to read what you thought and said?

It Can Store Anything - Just like the internet of today, IPFS works happily with text, image, video, streaming media, computer code, anything!

You Can't Hack It - What if my arch-enemy decided to take me down by hacking into my social network and replacing that cute cat picture with something vulgar and offensive? That's relatively easy to do today, but becomes almost impossible when the data is stored everywhere. What do you hack? Where do you start? Wouldn't it be awesome to build this kind of security in your platforms and services?

You Can't Censor It - When all data comes from a single place, it's easy to block. If you're the Grand Monarch and you don't like LinkedIn, you block LinkedIn. When the information you want to censor is stored everywhere, how do you block it?

You Can Run an Online Platform from a Browser - Yeah you can run an entire web site from your browser! How cool is that? How many great tech ideas has the world missed out on because the inventor didn't have the access or money to afford the infrastructure to create and host it? Those days are gone...

It's Actually Ridiculously Easy - Remember the link I shared at the beginning of this post? That took less than an hour start-to-finish, and this INCLUDES setting up the development environment and installing and the required components. LESS THAN AN HOUR!

Want to get play with IPFS yourself - it's easy to get started. Use the tutorials at https://ipfs.io/docs/getting-started/

If you get stuck or have any questions let me know, I'd love to help!

-Kris

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!