BlockDrive is a professional-grade distributed storage system that combines the security of a blockchain ledger with multi-node sharded storage. This project is designed to demonstrate core distributed systems algorithms in a real-world application.
- Zero-Knowledge Security: Files are encrypted locally before being sharded across the network.
- Immutable Ledger: Every file operation is mined into a blockchain, ensuring a tamper-proof audit trail.
- Multi-Node Replication: Data is sharded and replicated across multiple nodes for high availability.
- Modern Dashboard: A 2026 "Deep Sea & Neon" themed UI for monitoring the entire network status.
- Lamport Logical Clocks: Used to maintain causal ordering of events across different laptops without relying on synchronized physical clocks.
- Ricart-Agrawala Mutual Exclusion: A permission-based algorithm that ensures only one node can modify the blockchain/storage at a time, preventing race conditions.
/ss-server-main: The central Hub (Backend API, Blockchain, and Dashboard)./secure-storage-main: The Worker node code for laptops storing the data.
cd ss-server-main
pip install -r requirements.txt
python backend.py
streamlit run frontend.pycd secure-storage-main
# On Windows PowerShell
$env:BACKEND_URL="http://your-hub-url:8000"; python smart_node.py YourNodeName- Network Discovery: Watch nodes appear in the "Storage Nodes" panel as they connect.
- Permission Request: Observe the logs for
REQUESTandREPLYevents during an upload. - Ledger Consistency: Verify that the "Network Time" (Lamport Clock) increments consistently across all nodes.
- Advanced Sharing: Generate a unique, shareable access code for specific files and unlock them from another laptop instantly.
- Data Retrieval: Download the decrypted file once it has been unlocked and added to your local vault.
Created by hemanthkumargt