BlockDrop
Decentralized Encrypted File Sharing on Blockchain
Overview
BlockDrop is a Web3-native file sharing platform that combines IPFS distributed storage with blockchain-based access control and audit trails. Files are encrypted client-side before upload, stored on IPFS, and access references are written to a smart contract — creating an immutable record of all file interactions. This architecture means no central server can be compelled to delete or expose files, and every access event is cryptographically logged.
🔴 The Problem
Centralized file sharing platforms are single points of failure — they can be hacked, subpoenaed, or shut down. For sensitive documents (legal, medical, journalistic), this is unacceptable.
🟢 The Solution
BlockDrop eliminates the central server entirely. Files are encrypted client-side, distributed across IPFS, and access is controlled by smart contracts. The blockchain provides an tamper-proof audit trail — every upload, download, and permission change is permanently recorded.
Architecture
React frontend connects to MetaMask for wallet authentication. Files are encrypted in-browser with AES before being pinned to IPFS via Pinata. The IPFS CID and access permissions are stored in a Solidity smart contract deployed on an EVM-compatible testnet. Node.js backend handles IPFS communication and provides a REST API layer.
Challenges
Client-side encryption without compromising UX — key management is always the hard problem
IPFS upload reliability and pinning permanence across different nodes
Smart contract gas optimization for frequent audit trail writes
Handling large file uploads in the browser without memory overflow
Results
Successfully deployed on Ethereum testnet with end-to-end encrypted file sharing working
Audit trail implemented — every file access event recorded on-chain
Sub-10-second upload pipeline for files up to 10MB
Ongoing development with planned mainnet deployment
Lessons Learned
Key management is the unsolved UX problem in Web3 — hardware wallets are the only real solution
IPFS is eventually consistent, not immediately — design UI to handle propagation delays
Smart contracts need extensive testing before any mainnet deployment
Other Projects