Пірингові (P2P) мережі

Однорангові мережі (Peer-to-peer) — це розподілені системи, де учасники (піри) обмінюються ресурсами безпосередньо один з одним, не покладаючись на централізовані сервери.

Однорангові мережі (P2P) є фундаментальною технологією для децентралізованих систем, де кожен учасник (пір) діє як клієнт і сервер одночасно. На відміну від архітектури клієнт-сервер, тут немає центральної точки контролю або відмови, що робить P2P-мережі стійкими до збоїв та цензури.

Ключові компоненти включають: виявлення пірів (пошук інших вузлів — DHT, bootstrap-вузли, mDNS), маршрутизацію даних (доставка повідомлень правильним пірам), адресацію за вмістом (ідентифікація даних за хешем, а не за розташуванням) та протоколи пліток (ефективне поширення інформації).

У блокчейні P2P-мережі розподіляють транзакції та блоки між усіма вузлами, забезпечуючи децентралізацію. Популярні реалізації P2P включають libp2p (використовується Ethereum, IPFS, Filecoin), devp2p (оригінальний протокол Ethereum) та власний P2P-протокол Bitcoin. Кожен з них обробляє виявлення вузлів, управління з'єднаннями та маршрутизацію повідомлень.

Проблеми включають обхід NAT (доступ до вузлів за брандмауерами), атаки затемнення (ізоляція вузлів), атаки Сивіли (фальшиві ідентичності) та розділення мережі. Рішення включають пробивання отворів (hole-punching), системи репутації пірів та надлишкові з'єднання.

        graph LR
  Center["Пірингові (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;

      

🧒 Простими словами

Уявіть бібліотеку без головного бібліотекаря. Замість цього кожен приносить власні книжки і міняється ними прямо з іншими. Тобі не треба йти до центрального столу; ти просто знаходиш іншу людину, у якої є потрібна книга, і береш її.

🤓 Expert Deep Dive

Generated expert content

🔗 Пов'язані терміни

Попередні знання:

📚 Джерела