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
- IPFS main Website: https://ipfs.io/
- IPFS docs: https://docs.ipfs.io/
- Introduction to ipfs by Vaibhav Saini: https://hackernoon.com/understanding-ipfs-in-depth-1-5-a-beginner-to-advanced-guide-e937675a8c8a
- Beginner guide to IPFS by Kojo Addaquay: https://hackernoon.com/a-beginners-guide-to-ipfs-20673fedd3