NanoFiles P2P System

May 2, 2025 · 1 min read
Hybrid client-server + P2P architecture
projects

Description

NanoFiles is a distributed file transfer system that combines a client-server (centralized directory) architecture with peer-to-peer (P2P) communication for efficient content downloading.

The system enables file discovery, resource sharing, and downloading from multiple nodes simultaneously, optimizing performance and scalability.

Technical Features

  • Reliable protocol over UDP: Custom implementation with error control, retransmissions, and message validation.
  • P2P transfer over TCP: Direct peer-to-peer communication for file downloading and uploading.
  • Multithreaded parallel downloading: File splitting into chunks downloaded concurrently from multiple peers (round-robin + synchronization).
  • AES encryption in P2P communications: Protection against sniffing and enhanced privacy.
  • Centralized directory system: Indexing of available files and peers.
  • Concurrent connection management: Use of thread-safe data structures and synchronization (locks).

Implemented Extras

  • File upload with integrity control
  • Distributed user list
  • Dynamic chunk size configuration
  • Secure socket closure (try-with-resources)

Results

Functional system capable of:

  • Publishing files on a distributed network
  • Downloading from multiple sources in parallel
  • Managing multiple concurrent clients
Guillermo F. Parra
Authors
Mathematics & Computer Science Student | Founder & President @ Club de Finanzas FIUM

Mathematics and Computer Engineering student with a focus on the intersection of rigorous theory and high-performance implementation. With a background marked by 23+ “Matrículas de Honor” and multiple Regional Olympiad awards, I thrive on bridging the gap between abstract mathematical models and efficient computational systems.

My core interests lie in Quantitative Finance, Stochastic Calculus, and Numerical Optimization. I am particularly passionate about transforming complex financial frameworks into high-performance algorithmic solutions. Currently, I balance my research in Quant Finance and Deep Learning with active leadership in university commissions.