This is a continuation on a series of articles on a more decentralized internet (Part 1: Blockchain Domains) to protect your assets.
The Internet, as we use it today, has many bottlenecks that make it vulnerable to breakdowns and – sometimes more, sometimes less subtle – attacks. Even further hosting services can take content offline entirely, not just off their service platform.
Brewster Kahle, the founder of the Internet Archive, explained why we need a more decentralized network in 2015. The Decentralized Web Summit is a conference organized by the Internet Archive that brought to together pioneers and celebrities of the Internet to rethink the basic structures of the network.
One of the speakers from 2018 at the conference is Juan Benet. Benet is the inventor of the InterPlanetary File System (IPFS), "a new protocol to make the web faster, safer, and more open, and Filecoin, a cryptocurrency incentivized storage network". At the Silicon Valley Ethereum Meetup Benet already introduced the core principles around IPFS (what IPFS solves, the basic model behind IPFS alongside first steps with the commandline interface).
IPFS in more detail
IPFS is a distributed file system that seeks to connect all computing devices with the same system of files. In some ways – this is similar to the original aims of the Internet – but IPFS is actually more similar to a single BitTorrent swarm exchanging objects from a version control system like git. IPFS could become a new major subsystem of the internet.
As an example all the files for my current portfolio website www.axelquack.de are distributed through IPFS. (the domain itself is not distributed, but if you read my previous article on Blockchain domains you will figure out that a "regular" domain is just a "backup" since you can also access the files through axelquack.eth or axelquack.crypto)
IPFS is an open-source project created by Protocol Labs, a "research, development, and deployment lab for network protocols" and former YCombinator startup. The company raised roughly US$257 M already until late 2017; by Venture Capital firms like BlueYard Capital, Boost VC and others but also through their ICO back then. The company also develops complementary projects like IPLD, libp2p and Filecoin.
Advantages of IPFS
- Usage of P2P (peer-to-peer) technology: P2P connects computers directly to each other without the involvement of an intermediate server. As an example a computer might connect directly to your neighbor's computer to load IPFS content.
- Cost savings for providers: Today, content must be transported quickly to another. This is usually done using CDN (content delivery networks), which physically bring the content "closer" to another user to avoid transport through the Internet. Through P2P-technology, similar effects can be achieved, depending on the number of participants and the popularity of the accessed content.
- Increase in performance: Through P2P-technology it could be possible to achieve enormous increases in speed (this is dependent on how many users share the data). The content may not have to be loaded from a (sometimes rather slow) remote server, but from users nearby who are more accessible. This depends, again, on the number of participants and the popularity of the requested data.
- Content based addressing: A website, an image, video etc. is not found by "knowing" where something is stored. Instead, a "short description" or "fingerprint" (hash address) of the content is generated. This fingerprint (hash address) is unique worldwide. With the help of the fingerprint (hash address) content can be found and loaded. (the fingerprint is called a CID, Content-ID)
- Deduplication of content: Since content is found via its fingerprint (hash address), from the users' point of view the content is only ever present once. This is unlike the traditional World Wide Web, where a desired video can be found on multiple times on video and media platforms.
- Increased privacy: P2P technology makes it harder to eavesdrop on a users' communications.
- Censorship-resistance: Content is stored distributed throughout the Internet - the more often it is accessed, the more it is distributed. This makes it very difficult to remove content from the network.
Generate Hashes (CIDs)
Files must be made available to the IPFS network. This can be done via your own computer (e.g. with IPFS Dekstop) in the form of a local host, so that your computer itself becomes a network node, or you can upload the files to an IPFS service (e.g. providers like Pinata).
It is important to generate the hash address, which is the fingerprint or network address of the file. A local host has obviously the disadvantage that the computer has to be online all the time so that the file can be found and retrieved.
Something you should check out in those regards is the InterPlanetary Name System (IPNS).
Pin data (IPFS Pinning)
IPFS nodes treat the data they store like a cache, meaning that there is no guarantee the data will continue to be stored (garbage-collection). Pinning a file tells an IPFS node to treat the data as essential and not throw it away. You should pin any content you consider important to ensure that data is retained over the long term.
However, if you want your IPFS data to remain accessible when your local IPFS node goes offline, you might want to use another option like collaborative clusters or a pinning service. A combination of approaches also ensures you have a backup and your data is always available from another computer on the network if you accidentally delete or garbage-collect your data on your own computer.
Some more pinning service provider are:
- as mentioned before: Pinata
- Axel (do I get royalties – not so far.)
- Infura (rather for Web 3.0 development)
IPFS Gateways are networks of servers managed by companies like Cloudflare (Distributed Web Gateway) and Infura that cache and mirror content to help improve load times and distribute request load. Both of these companies provide services that cache content from the IPFS network and serve it over standard HTTP connections. The advantage of this approach is that pages load fast. Nevertheless if you are concerned with censorship or are interested in IPFS web browsing experience you can load load data directly off of IPFS.
You can also use the IPFS Public Gateway Checker)
Interesting companies using IPFS
Fleek is a provider of tools to build decentralized web apps and -sites. They lately announced the launch of Space an open-source, private file storage, sharing, and collaboration platform built on top of the distributed web stack, including Filecoin, IPFS, and Textile.
Textile is a hosting company on IPFS developing the layers on top of IPFS. Among other things, they came up with separated cloud environments called buckets. Textile has also built an impressive toolset for building decentralized applications and integrations.
For a larger list of amazing companies simply check this Awesome IPFS list.
Since I write a lot about hedging risk – IPFS is surely one possibility to prevent a sudden event (no matter if technological, economical or political) which could suddenly transfix billions of Internet users, threatening to choke the entire system in the process. The IPFS protocol enables sustainable connections between people who happen to be offline and online sporadically, at a lower cost and with fast content delivery times.
The next article will look into investment options for Blockchain domains and IPFS. So stay tuned.
Website and the information contained herein is not intended to be a source of advice or credit analysis with respect to the material presented, and the information and/or documents contained in this website do not constitute investment advice.