Inspiration

An IPFS version of Google Drive can provide decentralized, secure and censorship-resistant file storage and sharing. It would leverage the power of IPFS, a distributed protocol that enables peer-to-peer sharing of files without relying on centralized servers. By using IPFS, users would be able to store and access their files from any device without relying on a single company or organization. The decentralized nature of IPFS would also make the platform more resistant to censorship and data breaches. Overall, an IPFS-based Google Drive alternative has the potential to provide users with a more secure and decentralized alternative to traditional cloud storage services.

By leveraging the tamper-proof nature of blockchain and the distributed storage system of IPFS, data can be securely stored and accessed by authorized parties only. Furthermore, using blockchain to store IPFS information provides an immutable record of transactions, enhancing transparency, and reducing the risk of data corruption. Overall, the integration of blockchain and IPFS provides a powerful solution for decentralized data storage and sharing, with built-in security, immutability, and transparency. By using smart contracts or the Filecoin blockchain to store the IPFS files, users can benefit from the added security and immutability of blockchain technology. This enables the creation of decentralized storage solutions that provide a more resilient and censorship-resistant alternative to centralized cloud storage platforms like Google Drive.

What it does

Creation of Drive

To utilize the IPDrive technology, users are required to create a Drive smart contract on the Filecoin blockchain. This smart contract provides the functionality to upload, store, and manage all the unique content-addressed identifiers (CIDs) that are utilized as a drive. Users have the flexibility to create multiple drives for different purposes, with each drive having the capability to separate IPFS files into different buckets. But it's worth noting that each drive can separate IPFS files into different buckets. To create a Drive smart contract, users can navigate to the homepage and deploy the contract by selecting "Create new drive". In addition, if an existing drive has been shared with a user, it can be loaded into the text field below. This process allows users to have complete control over their stored data, with the added benefit of increased security and accessibility provided by the Filecoin blockchain.

Creating buckets

A bucket is a logical grouping of CIDs that allows for easier organization and management of files. To create a bucket, users can navigate to the Drive smart contract page and select the appropriate drive they wish to create the bucket in. Then, they can click on the Create new bucket button and give the bucket a name.

Once the bucket is created, users can add CIDs to it by uploading files to IPFS and obtaining their respective CIDs. These CIDs can then be added to the bucket using the Add CID to bucket function. Users can also remove CIDs from the bucket or transfer ownership of the bucket to another user using the appropriate functions available on the bucket page.

Overall, creating a bucket allows for more efficient and organized management of CIDs within a Drive smart contract. Users can easily group related files together and make changes to their organization as needed.

Managing Files

With the bucket created, you can now upload files to IPFS and manage them on-chain. To upload a file, click on the "Upload file" button. Select the desired file from your device and click on "Upload to IPFS". This will initiate the upload process to IPFS, generating a unique CID for the file. To complete the upload, click on "Upload to smart contract". This is storing the CIDs content on the chain and leveraging the power of IPFS and the capabilities of the smart contract, to provide a robust and secure solution for file storage and management on the blockchain.

If you require additional security for your content, IPDrive offers the option to encrypt files before uploading them to the IPFS network. To upload an encrypted file, enter a key before initiating the upload process. Decrypting files in IPDrive ensures that only authorized users with the correct encryption key can access and view the content. This provides an additional layer of security for your sensitive information.

Finally, IPDrive also gives the ability to delete, rename and star the cids and store this information on-chain starting all the actions on-chain providing transparent and tamper-proof audit trails. This ensures that all actions performed on the content, such as deletion, renaming, and starring, are recorded on the blockchain and cannot be altered or manipulated. By storing these actions on-chain, IPDrive provides transparency and immutability, ensuring that all changes made to the content are verifiable and traceable. This audit trail not only enhances security but also enables users to track and verify the history of file modifications, deletions, and other actions.

Managing Accessilibilty

One of the features of IPDrive's smart contract is the ability to control access to the content. As the owner of the Drive smart contract, you can add users and control their level of access. There are two access levels available:

  1. Read-only access: Users with this access can view the content in the bucket. They can see all the CIDs in the bucket and download the contents of the CIDs.
  2. Read and write access: Users with this access can not only view the content in the bucket but also contribute by adding or removing files from the bucket.

Unauthorized access is blocked, preventing unauthorized users from accessing the CIDs and buckets. By utilizing IPDrive's access control feature, you can securely share files while maintaining control over who can access and modify them. This provides an efficient and controlled way to collaborate and share information with others, ensuring the integrity and security of your data.

How we built it

Filecoin Blockchain (Hyperspace testnet)

IPFS storage

  • File storage data

Frontend

  • Framework: Next.js, React
  • UI: MUI

Accomplishments that we're proud of

I am proud to have developed independently a fully decentralized application within a strict time limit, which allowed me to showcase my technical skills in blockchain development, smart contract programming, and user interface design. I overcame various challenges along the way, which provided a great learning experience on decentralized networks and problem-solving. It was rewarding to create something that could be useful and freely available to everyone, with the potential to help drive the adoption of blockchain technology in the future.

What's next for IPDrive

In the future, there may be opportunities to integrate additional functionalities with the IPDrive platform, such as file sharing and collaboration tools, or even the ability to run decentralized applications directly from the IPDrive.

  • Enhanced user interface: While the current user interface is functional, there is room for improvement in terms of user experience and accessibility. A more intuitive and user-friendly interface could help attract more users and increase adoption.
  • One possible future for IPDrive is to integrate the platform with other blockchain networks that provide storage capabilities. Networks such as Swarm network, or Theta Edgestore would expand the number of blockchain networks compatible with IPDrive and allow for more users to access secure and reliable decentralized storage options. Additionally, creating an interconnected and interoperable decentralized storage ecosystem could offer greater flexibility in how users store and manage their data and open up opportunities for collaboration between different blockchain networks.

WHAT TO SUBMIT

Built With

Share this project:

Updates