InstiCloud


  • Web Development

  • Networks

  • Blockchain


Mentors :

  • Karrthik Arya

  • Ishit Garg

Mentees :

  • 8-10


How much data is generated every minute across the world? You must have definitely come across the fact that 90% of world's data has been generated in the past 2 years!(From whichever year this fact is 😜)

Such a rapid rate of data generation along with issues such as data privacy coming up, often makes people wonder are centralized data storage platforms like google drive or iCloud really the way to go?

This project aims to create a p2p data storage platform with blockchain based access control. Seems complicated? Not really… There would be mainly 3 aspects to the project, the first would be to build the p2p data storage platform which we would be making with Node.js using libraries such as webRTC. Next would be to build the system for access control and this is where blockchain comes in. We would be using a smart contract to keep track of who owns the file and who has access to it.

So overall the concept is pretty simple, whenever you upload a file it would be broken into various parts which would be encrypted and then distributed amongst the peers connected along with making an appropriate entry in the blockchain. When you would try to access the file again the smart contract would return back the method to accessing the various segments if you are allowed access to that file. Prereqs: Enthusiasm to learn( though some experience in web development might be beneficial)
References:
https://ieeexplore.ieee.org/document/8726493/ (This is what we would try to implement)
https://javascript.plainenglish.io/build-a-p2p-image-sharing-app-with-webrtc-and-react-fe6b3d1976d5 ( a good resource for a p2p file sharing system)

Tentative Timeline :

Week Number Tasks to be Completed
Week 1 HTML, CSS, JavaScript(Brush Up) + Theoretical learning on blockchain and p2p system
Week 2 Start learning Solidity and exploring Web3
Week 3-4 Learning frontend development ReactJS, React hooks, Redux
Week 5 Learning to setup a p2p network
Week 6 Building the UI on React along with implementing the Smart Contract to connect with a wallet and store appropriate file info
Week 7-8 Complete Smart Contract to check who has the access and accordingly retrieve the files. Then setup the p2p system to break and encrypt the files to store on the network