Files are stored inside IPFS Object which are upto 256kb in size. IPFS object can also contain link to other ipfs objects. Files that are larger than 256 kb, an image or video. those are split up into multiple ipfs objects that are all 256 kb in size and afterward, the system will create an empty IPFS OBJECT that links to all other pieces of the file. Each object gets hashed and given a unique content identifier (CID), which serves as a fingerprint. This makes it faster and easier to store the small pieces of your data on the network quickly.
Because IPFS uses content-based addressing, once something is added cannot be changed. it is an immutable data store much like a blockchain. IPFS can help deliver content in a way that can save you considerable money.
IPFS removes duplications across the network and tracks version history for every file. IPFS also provides high performance and clustered persistence.
Since IPFS supports versioning of your files. let's say u want to share an important file with someone over the ipfs. IPFS will create a new commit object. it is very basic. it just tells ipfs which commit went before it and it links to the IPFS object of your file. let's say after a while u want to update a file. you just add updated file to the IPFS network and the software will create a new commit object for your file. this commit object now links to the previous commit. this can be done endlessly. IPFS will make sure your file plus its entire history is accessible to the other nodes on the network.
Biggest problem with IPFS is keeping files available. every node on the network keeps a cache of the files that it has downloaded and helps to share them if other people need them. But if a specific file is hosted by 4 nodes and if those nodes go offline, then those files become unavailable and no one can grab a copy of it. there are two possible solutions to this problem.
Either we incentive people to store files and make them available or we can proactively distribute files and make sure that there are always a certain amount number of copies available on the network. that is what exactly file coin intends to do. File coin is created by the same group people that have created IPFS. it is basically a blockchain built on top of IPFS that wants to create a decentralized market for storage. if you have some free space you can rent it out to others and make money from it in the process.
IPFS and the blockchain are a perfect fit. You can address large amounts of data with IPFS and place the immutable, IPFS links into a blockchain transaction. This timestamps and secures your content, without having to put the data on the chain itself.