Sieci Peer-to-Peer (P2P)

Sieci peer-to-peer to systemy rozproszone, w których uczestnicy (peerzy) dzielą się zasobami bezpośrednio ze sobą, nie polegając na scentralizowanych serwerach.

Sieci peer-to-peer (P2P) są fundamentalną technologią dla systemów zdecentralizowanych, w których każdy uczestnik (peer) działa zarówno jako klient, jak i serwer. W przeciwieństwie do architektury klient-serwer, nie ma tu centralnego punktu kontroli ani awarii, co czyni sieci P2P odpornymi i trudnymi do cenzurowania.

Kluczowe elementy to: odkrywanie peerów (znajdowanie innych węzłów – DHT, węzły bootstrap, mDNS), routing danych (dostarczanie wiadomości do właściwych peerów), adresowanie treści (identyfikacja danych po hashu, a nie lokalizacji) oraz protokoły plotkowania (efektywna propagacja informacji).

W blockchain sieci P2P dystrybuują transakcje i bloki między wszystkimi węzłami, umożliwiając decentralizację. Popularne implementacje P2P to libp2p (używane przez Ethereum, IPFS, Filecoin), devp2p (oryginalne Ethereum) i własny protokół P2P Bitcoina. Każdy z nich obsługuje odkrywanie węzłów, zarządzanie połączeniami i routing wiadomości.

Wyzwania obejmują przejście przez NAT (docieranie do węzłów za zaporami), ataki eclipse (izolowanie węzłów), ataki Sybil (fałszywe tożsamości) i podziały sieci. Rozwiązania obejmują dziurkowanie (hole-punching), systemy reputacji peerów i nadmiarowe połączenia.

        graph LR
  Center["Sieci Peer-to-Peer (P2P)"]:::main
  Pre_networking["networking"]:::pre --> Center
  click Pre_networking "/terms/networking"
  Pre_distributed_systems["distributed-systems"]:::pre --> Center
  click Pre_distributed_systems "/terms/distributed-systems"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Wyjaśnij jak 5-latkowi

Wymiana książek bez bibliotekarza.

🤓 Expert Deep Dive

Generated expert content

🔗 Powiązane terminy

Wymagana wiedza:

📚 Źródła