InterPlanetary File System (IPFS):



A new protocol, released as an open source project in 2014, that took advantage of the Blockchain protocol and network infrastructure to create a permanent and decentralized method of storing and sharing files securely.



IPFS uses a content-addressable distribution protocol with a content-address for each document that is “hyperlinked” to the data. Addresses in IPFS are directly linked to an exact and unalterable block of content. A new content-address is created if the content has been changed, which guarantees that no tampering of data occurs.



The mechanism is to take a file, hash it cryptographically so you end up with a very small and secure representation of the file which ensures that someone cannot just come up with another file that has the same hash and use that as the address. The address of a file in IPFS usually starts with a hash that identifies some root object and then a path walking down. Instead of a server, you are talking to a specific object and then you are looking at a path within that object.



IPFS + Ethereum Storage:

We will create a simple datastore solution using IPFS and Ethereum. IPFS provides a convenient interface for distributed data storage, with a hash-based content address for reference to our file. This address will be stored in our smart contract on a private Ethereum Blockchain. To retrieve the latest data, we will fetch the address from our Blockchain and query IPFS for the associated file with GAS Files token transaction.