IPFS. A new protocol for resolving the internet and Blockchain’s current hurdles?
Since the early 2000s when the Internet entered the global market for its utilization, there have been numerous modifications with regards to its overall structure and functioning as well. Whether be it the slow bandwidth speed of the internet, limited file download and/or upload, less secure website, etc, all the alterations done to date have been beneficial. But to be relevant in the current times and be one step ahead from the present-day hackers, fresh unique protocols, concepts need to be designed and experimented with. One such protocol that appears to provide a value-add-on is the InterPlanetary File System (IPFS). One similarity between this protocol and the much talked, discussed, and used technology “Blockchain”, is its decentralized form while functioning. To mention briefly about how it operates at the backend, the user’s file is allocated a distinct fingerprint which is referred to as a Cryptographic Hash. IPFS filters out all duplications across the grid as each user in the grid has some form of authority unlike in a centralized network where only one individual/cluster of individuals has authority. Every node in the network encompasses only that content which is relevant for him/her besides indexing it as well for accessing it swiftly in the future. When one tries to find a file for viewing it or downloading it, the instruction which is sent at the backend is to identify nodes, where relevant content is located behind the, has of the file. One also need not remember the hash, rather use the InterPlanetary Name System (IPNS).
Before delving into IPFS per se, let’s go through some of the similar technologies, namely, Blockstack and ZigZag codes. Blockstack functions on an open-source framework with a PKI (public key infrastructure, a system for creation, storage, and distribution of digital certificates used for validating a specific key for a particular scenario) system for around 55,000 users. It’s also referred to as the updated version of DNS. A distinct feature of blockstack is that it is developed on the top of the blockchain of bitcoin, which acts as the first layer of blockstack. The second layer is the virtual chain layer which specifies fresh operations that the blockchain doesn’t support. Overall, blockstack employs four layers for implementing a fresh naming system. While the ZigZag codes are one of the traditional Erasure codes. These codes divide the original file into blocks, and one type of block has the authority to reconstruct the entire file from the second type of block (a pivotal property of MDS/Maximum Distance Separable code). Now coming to the protagonist (IPFS), it’s a peer-to-peer distributed file system that aims to act as a substitute to HTTP. InterPlanetary File System encompasses the most practical concepts available in numerous systems to date. For example, the BitSwap Protocol which guides in resolving the issue of free-loading without sharing it. Another protocol that assists the IPFS to function efficiently is “Object Merkle DAG”. The reason being it guides in content addressing, tamper resistance, and deduplication as well. To avoid the usage of the hash of the content as the address of an object, IPNS (InterPlanetary Name System) is implemented instead.
The encouragement behind building this protocol has been on high throughput for delivering data. The traditional blueprint of IPFS has been such that it might become highly vulnerable to losing data reliability and availability when servers of the IPFS break down. To avoid such a scenario, the model proposed combines a triple replication scheme and erasure codes storage scheme for resolving huge data storage issues of service providers. For achieving such a desired result, the virtual chain layer is considered as the core functional layer. Each transaction is dealt with here and then forward it to the blockchain layer. Verifying the legality of every transaction is the pivotal job in the virtual chain layer. The functionality of the third layer i.e. the “Routing Layer” is the same. The layer contains the routing address of every account as well as their files under the account. The fourth layer or the Storage Layer as proposed in this new prototype focuses on two list records. The first one focusing on what the node wants, and the second one specifically narrowing down to what a node possesses. To make the functioning of the Storage Layer more productive, a data list is added to each block’s frequency in a node for recording it. Another area where IPFS integrated with blockchain is being seen as a great potential benefit is in forensic and data traceability.
With almost every individual having some form of digital in-print on some social media platform, the user’s data becomes among the most crucial factor in regards to safety. Whether an individual’s location being shown publicly on their respective digital media accounts or their face/body recordings taken by Government’s CCTV(s) while they commute, both kind of data storage requires robust safety. Such kind of safety can be feasible in the present day according to this piece of research As the proposed blueprint consists of an integration of IPFS and Hyper Ledger Blockchain, the trackability and authenticating feature gets added. The data stored is just the metadata of the files to trace. As soon as the file gets included in the IPFS and the metadata storage is synchronized, each user will be able to access the hash instantly. As the integration of blockchain and IPFS is still in its early days, there are a couple of hurdles that blockchain developers and miners are facing. The following part will consist of a few potential practical solutions to the issues being faced at the moment.
Two mechanisms through which the issue in distributed open systems can be resolved include CALM Principle and Blockchain technology. The CALM is an elongated manner referred to as “Consistency as Logical Monotonicity”. The principle helps by providing analysis via analytical tools as to whether a distributed system requires coordination or not. Through this principle, one can get to know which query(s) could be resolved without coordination. Blockchain technology can figure out and resolve the double-spend problem (a flaw in the digital cash scheme, where the same single-digit token could be spent more than once). For resolving the issue of tracking, “Merkle-Linked structures” acts as an appropriate option, while “Distributed Discovery Protocol” could also be considered as a feasible option.
The infographic above showcases one illustration of IPFS. As one may see that data is in the video format. The CCTV camera records for a particular time interval after which the data gets divided. The information that’s required gets inter-linked via smart contract, while the rest of the data gets shared with the node server to convert it into HLS (HTTP Live Streaming) format, henceforth forming an IPFS file.
Another area that has grown in illustrations since blockchain entered the marketplace is the financial industry. The infographic shown below includes two versions of how practically integrating IPFS and blockchain is helping improve the lives of people. One example tells about “iDIN” while the other one tells the “Claim Validation Sequence”.
iDIN is also called BankID, where customers of Dutch banks employ their trusted bank log-in methods for authenticating themselves. It is based on a centric four-corner model where the customer sends an authentication instruction to her/his own bank. The bank then verifies the authentication and authorization of the user. Now the bank sends the identity to the merchant/creditor’s bank. Finally, the merchant gets informed about the successful authentication by the user/consumer. The big benefit of using it is that one doesn’t need to remember the username and/or password.
In the Claim Validation Sequence, the user is able to generate his/her own one key pair on the Ethereum blockchain. In short, the consumer first authenticates herself/himself, after which he/she can claim. Then the validation process kicks in leading to passing by blockchain gateway, and hence the user can claim a smart contract. The same process is mentioned in a technical step-by-step manner in the above infographic, where after establishing proof of ownership, the claim for related keys could be added.