in

IPFS: what it is and how it works

If you’ve been in crypto for a while, or even if you’ve just entered this decentralized world, you’ve probably seen some web pages marked with “IPFS.” But just because you see IPFS and crypto together doesn’t mean they’re related: IPFS actually has nothing to do with cryptocurrencies, tokens, or blockchain directly. It just so happens that the reasons behind the creation of cryptocurrencies have many similarities with the reasons behind the creation of IPFS.

Let’s take a step back and see what exactly IPFS is.

IPFS, short for InterPlanetary File System, is a distributed, decentralized network for storing, accessing, and sharing files, websites, applications, and data.
These two keywords – distributed and decentralized – might remind you of blockchain (and they should!) but as we wrote above, IPFS is actually a completely separate beast. While blockchain is also a distributed and decentralized protocol, IPFS has much broader goals. You can see it in the name itself: its founders wanted to create a truly decentralized system that could work in disconnected or distant transverse places like planets.
IPFS was invented by computer engineer Juan Benet to make the web faster, safer and more open in 2015. Benet is also CEO and founder of the research and development lab, Protocol Labs which developed IPFS and cryptocurrency Filecoin, a blockchain-based digital storage and data retrieval method. More on that later.
To put it simply, IPFS’ ambitious goals are to re-decentralize the web by safeguarding our data and improving utility applications.

What is IPFS and how does it work?

Think of a library, where you find a book based on a specific location determined by a code that the librarian can quickly identify. With the Internet, you can do something similar: type in any search term on Wikipedia, and voila, suddenly you have an information page ready about, say, Agatha Christie. To get information about Britain’s greatest crime writer, your computer must ask one of Wikipedia’s computers to prepare that page for you.

With IPFS (and yes, Wikipedia has its own mirror pages on IPFS), you’ll still find the same ms. Christie information page – but the page is found not by her location, but by her content, found by asking many computers, around the world (or on the planet) through IPFS.
One of the crucial differences between the centralized and decentralized web is how we identify and retrieve data, based on location or content. The centralized web relies on trusted authorities to host our data and uses location-based URLs to access it.

The Uniform Resource Locator (URL) is the web address we type into our browser that identifies and detects the location of the page we are looking for.

With IPFS, the onus is on the content to help you find your search – this is called content targeting.

Identifying content addressing

IPFS searches for our information based on content rather than location.
Instead of a centrally located server, IPFS is built around a decentralized peer-to-peer (p2p) system that allows users to host and receive content, similar to BitTorrent. The computer uses IPFS to find files hosted by other computers, and the computer distributes the files in turn.
IPFS users can store and retrieve content based on a “fingerprint” of the content itself.

An IPFS fingerprint is a cryptographic hash called a “content identifier,” a CID.

In simple terms, when you search for something specific with IPFS, you ask the IPFS network to find a particular hash, instead of a particular IP address.

In more complex terms, IPFS is a layer on top of data storage where anyone can ask for a CID and retrieve the relevant content, uniquely corresponding to that CID as long as someone transmits it to the network.

On a decentralized and distributed web, we can all host each other’s data through this method of “fingerprinting” content that relies on cryptographic hashing for security.

How is IPFS different from the current Internet?

While the internet is decentralized by nature as it is not owned by anyone or any company, it relies on centralized servers to function.
These servers use, for the most part, Internet Protocol Suites with different functions: one that you will recognize is HTTP (Hypertext Transfer Protocol) that handles communication.
With the Internet, data is stored on these decentralized servers and found by location, which simplifies the deployment, management, data protection, and scalability of server and client capacity.

How is IPFS different from HTTP?

As you know, if you study cryptocurrencies, centralized servers create a single point of failure: they can be easier targets for hacks, compromising security and privacy.

IPFS was created to address these issues, making the web more secure, efficient and private.

Another word you’ll often hear is “scalability”: IPFS aims to create a more scalable system than HTTP, allowing for large data transfers (such as movies and songs) through a P2P system (remember someone torrent?).

Is IPFS a Blockchain?

In short, the answer is no. IPFS is often associated with blockchain because of its decentralized and distributed nature. It also shares some of the technologies employed by blockchain, such as the Merkle Trees.
architecture
However, they are not the same, since their scope is different.
With blockchain, network nodes share a ledger and hash transactions. With IPFS, the P2P file sharing system will hash files (not transactions) to allow users to search for files based on those hashes. Similar to blockchain hashes, with IPFS, if you edit a file, the file is not altered, but a new one is created, which is excellent for maintaining a permanent record of changes.

Blockchain and IPFS are certainly suited to work together, though. With IPFS, you can store files with huge amounts of data. With blockchain, hashes have very limited storage capacity. So why not use the best of both protocols, using IPFS’ public database and using blockchain to make it publicly verifiable.

What is IPFS used for?

From content delivery to websites, to global file storage, and the facilitation of secure file sharing and encrypted communication, IPFS provides an opportunity to do several great things with data.

With blockchain technology, IPFS can be used as a complementary file system for public networks and other P2P applications. IPFS could significantly improve Ethereum’s scalability for decentralized applications (DApps). Its interoperability with Ethereum smart contracts can add secure and cost-effective storage capacity to the cryptocurrency ecosystem.
IPFS and FileCoin (the decentralized storage method mentioned earlier) incentivize data storage and can play a huge role in developing NFT as immutable records. Simply by placing an IPFS CID in an NFT, which NFT will identify and refer directly to the data much better than with an insecure HTTP link. Have you achieved all this?

Can IPFS be hacked?

Today, IPFS is considered one of the most secure options for storing digital assets such as NFT because cid data hashes will only be stored on your computer. And when data is required by the IPFS, nodes look for the same hash within the digital asset and local data store.

We’ve already talked about the problems with a single point of failure on a centralized server: IPFS aims to create a more secure alternative.

What is an IPFS node?

We have highlighted that IPFS is a P2P protocol for storing and sharing content where users run their own node (server). If you don’t want to get too technical, the best way to think about IPFS nodes is that they can communicate with each other and exchange files. Simple.

This next explanation is for more advanced users.

IPFS nodes use distributed hash tables (DHT), a decentralized storage system that provides search and storage for mapping keys to values. Each node in a DHT is responsible for the mapped keys and values and can efficiently retrieve the value associated with a given key.
DHT offers an easy way to find information in a large collection of data, because all keys are organized in a consistent format. In addition, the entire key set can be broken down and distributed so that you can quickly identify where the key/value pair is located. Think of it as a huge table that stores who has what data.

IPFS Challenges

IPFS is a great way to improve the decentralization of the Internet and data search. However, it comes with its own challenges.

The biggest challenge is that IPFS has to compete with widely adopted Web2.0 applications,
While the distributed and decentralized system makes IPFS better from a security and privacy perspective, it is more expensive to update since the changes cannot be done internally. Updates must be completed through regular and systematic releases of new versions.
Another major challenge is the availability of files. In centralized servers, files are maintained and controlled by a party incentivized to keep the server constantly up and running. IPFS relies heavily on data files provided by separate nodes, and if these nodes are offline for any reason, these files will not be available.

However, solutions are already beginning to emerge. In IPFS, with greater node participation, content can be delivered from the nearest peer node that has a copy of that content, thus eliminating the pressure of a single node and improving the user experience. Like cryptocurrency, IPFS will develop and thrive in accordance with the growth of its users.

Leave a Reply

Your email address will not be published. Required fields are marked *

pexels dom j 45718

Starkware, StarkNet and StarkEx: what they are and how they work

invest crypto 13

Change email address on eToro