Peer-to-Peer (P2P) Systems
Decentralized architecture, distributed hash tables, peer discovery, and resilience in peer-to-peer networks
P2P (Peer-to-Peer): every node is equal; no central server. Benefits: decentralization (no single point of failure), scalability (add nodes, add capacity), censorship resistance, latency (peers near you), cost (no massive data centers).
Challenges: discovering peers, network partitions, malicious peers, consistency (eventual vs strong). Architecture: each node stores data and routes requests.
Compare client-server: client depends on server uptime (single point of failure); P2P: node goes down, network continues.
Real-world: BitTorrent (decentralized file sharing), Bitcoin (decentralized currency), DHTs (Distributed Hash Table: decentralized key-value store).
P2P networks solve Byzantine agreement (consensus with faulty/malicious nodes) and partition tolerance (network splits must not lose availability).
Key Takeaways
Visual Diagram
Peer A <-> Peer B <-> Peer C <-> Peer D (all connected, all route)