Notes
Bittorrent
Bittorrent is already a decentralized file sharing platform.
How does bittorrent work?
When a client receives a .torrent file, it uses the DHT embedded inside the .torrent file to contact the nearest node in the swarm. Once its connected, files can be transferred in a peer to peer way.
Problem with Bittorrent There is no incentive for anyone to keep sharing files.
IPFS
We can store the map of file hash to the file contents in the blockchain using smart contract. This can cause the blockchain storage requirements to explode.
To mitigate this issue we can store the file hash and the location in the blockchain.
This can create the issue that the server claims that it has the file stored but not actually store it.
Some kind of monitoring system to verify that files are stored. (Periodically monitoring is not an option because it can either just store the hash or if the file is supposed to be transferred somewhere and then its hash is checked then the network will be a bottleneck.)
To solve this issue there was something called zero knowledge proof introduced.
Zero knowledge Proof
Read the following sources(prof didn’t explain that well) -