IPFS

Domain: Data Management 

Problem identification: : Internet centralization, data duplication and no history of changes 

Why Blockchain 

Blockchain technology guarantees data immutability

Functional Description

Today the web works in a client-server way, IPFS use a parity-node structure to preserve multimedia and textual data through a shared common ledger. This method allows to retrieve information through the blockchain in a faster and more reliable way. Another strength of this model is that before a media is added, it is verified that no other identical copies exist in the network. If the new data is already present, it will not be duplicated, but will be linked to the new request. 

Technology used

  • Blockchain: Internal Blockchain
    • Software: Written in Go, Js, C, Python
  • Main characteristics of the chosen blockchain
    • This particular blockchain contains only the digested hash of the larger files in his blocks 
  • Consensus mechanism: IPFS don’t have a consensus mechanism, but IPFS cluster have CRDT (fast peers change) or Raft (same peers) consensus system. Another evolution of IPFS is Filecoin that use his own crypto-currency to incentivize users, this Crypto use Proof of Storage as consensus mechanism.

Current status

  • Active, non-commercial application, last commit january-2020.

Focus point commentary indicating the value of the case study in relation with learning modules

Learning Modules Focus Points

Peer-to-Peer database design A common ledger with the hash of larger documents / media are shared between all the nodes.

Encryption techniques No built-in encryption, but data can be sent encrypted using a public key and decrypted by the recipient with a private key.

Consensus No base consensus. CRDT/Raft Trough Cluster. POS in Filecoin.

Limitations:

  • The blockchain is transparent and you can’t make confidential data private without encrypting it.

Alternatives Approaches:

  • Filecoin uses IPFS with his own cryptocurrency to incentivize users to share data storage.

References

  1. IPFS main Website: https://ipfs.io/
  2. IPFS docs: https://docs.ipfs.io/
  3. Introduction to ipfs by Vaibhav Saini: https://hackernoon.com/understanding-ipfs-in-depth-1-5-a-beginner-to-advanced-guide-e937675a8c8a  
  4. Beginner guide to IPFS by Kojo Addaquay: https://hackernoon.com/a-beginners-guide-to-ipfs-20673fedd3
Tags: