IPFS Image Uploader is an decentralised application, built on Ethereum Blockchain and IPFS.
IPFS is a peer-to-peer hypermedia protocol designed to make the web faster, safer, and more open.
IPFS seeks to create a permanent and distributed web.
IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.
IPFS allows users to not only receive but host content, in a similar manner to BitTorrent.
As opposed to a centrally located server, IPFS is built around a decentralized system of user-operators who hold a portion of the overall data, creating a resilient system of file storage and sharing.
Any user in the network can serve a file by its content address, and other peers in the network can find and request that content from any node who has it using a distributed hash table (DHT).
Storing files on centralised servers are inefficient, not censorship resistant, expensive and not permanent.
Ethereum Blockchain is decentralised but storing files on the blockchain is not practically affordable.
Here Inter Planetary File System(IPFS) comes into picture, a permanent, decentralised file system.
Blockchain and IPFS can be a perfect combo, for complete decentralization. How?
- User Uploads the Image on IPFS
- A unique cryptographic hash of that Image is generated
- That hash is stored on Ethereum Blockchain, via a Smart Contract
- Now using Web3 libraries we can interact with the Smart Contract and retrieve the hash from Smart Contract, anytime.
- Finally we can use the hash to get the uploaded image from IPFS
IPFS Image Uploader is the project app. This web app is being hosted on IPFS, which makes it complete decentralised.