Що таке однорангова мережа (P2P)?

Що таке мережа P2P? Де використовується однорангова мережа? Які її переваги та недоліки? Як P2P пов'язана з блокчейном та криптовалютами? Відповіді на ці та інші питання читайте у нашій докладній статті.

Що таке однорангова мережа (P2P), і як вона пов'язана з блокчейном та криптовалютами?

P2P (Peer-to-Peer) або однорангова мережа — це децентралізована модель зв'язку, в якій кожна сторона має однакові можливості, і будь-яка сторона може ініціювати сеанс зв'язку. На відміну від моделі клієнт/сервер, в якій клієнт робить запит на обслуговування, а сервер виконує запит, мережна модель P2P дозволяє кожному вузлу функціонувати і як клієнт, і як сервер. Платформа P2P може надавати такі послуги, як пошук, перевірка, оцінка, обробка платежів або умовне депонування.

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

Мережі P2P будуються на протоколах, що працюють поверх інтернет-протоколів (також відомих як TCP/IP). Отже, протоколи P2P називаються протоколами додатків або рівнем 7 відповідно до моделі взаємодії відкритих систем або OSI. Це означає, що для роботи протоколів P2P потрібно використовувати інші, більш абстрактні протоколи, але водночас це спрощує їх створення та експлуатацію.

Завдяки цьому з моменту свого створення протоколи P2P широко використовуються для різних цілей. Вони є дуже потужним інструментом і дозволяють створювати децентралізовані структури безкоштовно. З цієї причини криптовалюти (в тому числі і Bitcoin) були збудовані на основі протоколів P2P.

Типи однорангових мереж

Існує кілька типів мереж P2P, з яких можна окремо виділити наступні:

  1. Децентралізована та структурована мережа. Ці типи мереж відомі як гібридні мережі P2P. У цьому типі мережі немає каталогу на центральному сервері, але є ряд вузлів або однорангових вузлів, які можуть отримувати запити на інформацію і відповідати на них, щоб полегшити доступ до ресурсів. Щоб уникнути централізації цієї функціональності, вузли або спеціальні однорангові вузли можуть бути встановлені та налаштовані будь-ким, тим самим прагнучи, щоб те саме співтовариство користувачів розширило функціональність мережі та забезпечило її правильну роботу. Хорошим прикладом такого типу мережі є федеративні мережі, такі як Diaspora та Mastodon.
  2. Децентралізована та неструктурована мережа. У цьому типі P2P-мереж немає комп'ютерів або вузлів, які функціонують як центральні контролери запитів. Навпаки, кожен вузол у мережі виконує ті ж функції, що й інші вузли, тому кожен новий вузол має ті ж повноваження, що й інші. На даний момент такі мережі, як Bitcoin, відповідають цим характеристикам, оскільки кожен підключений вузол має ті самі можливості, що й інші.

Як працює мережа P2P?

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

Щоб вирішити цю проблему, потрібно зробити наступне:

  1. Створити програмне забезпечення, яке здатне обмінюватися інформацією з тими, хто його запускає. Таким чином, кожен комп'ютер, на якому запущено програмне забезпечення, може мати каталог підключених комп'ютерів та використовувати їх для підключення до потрібного вузла.
  2. Добитися максимально можливої ​​децентралізації мережі. Залучити багатьох людей запускати програмне забезпечення для створення власних вузлів і, отже, збільшуючи розмір мережі. Таким чином, його масштаби та можливості збільшуються.

Відповідно, чим більше у мережі пірів (комп'ютерів, на яких запущено ПО P2P), тим більше шансів, що мережа не піддаватиметься цензурі, і її робота буде більш стійкою, а можливості — більшими. У ранніх системах P2P, таких як USENET або IRC, системи та їх з'єднання були відомі за допомогою письмових засобів, викликів або тієї самої системи, яка мала дошку однорангових вузлів, до якої можна було підключитися. Таким чином, кожен новий учасник мережі мав доступ до списку пірів і додавав себе, щоб у разі потреби інші могли встановити з ними зв'язок.

Але великі мережі, такі як IRC, DCC, DC++, Napster, Gnutella, BitTorrent і навіть Bitcoin, кардинально змінили ситуацію. Тепер кожен вузол був підключений до точки, вони одержують список початкових пірів (або початкових вузлів). І звідти кожен вузол може відтворити свій список вузлів, що належать мережі. В результаті виходить краща стійкість до цензури, і мережа може зростати швидше.

Звичайно, робота кожного протоколу відрізняється. Наприклад, IRC — це розподілена (майже централізована) система серверів, яка може дати вам можливість з'єднуватися з людиною «точка-точка». А ось DC+ та Gnutella повністю децентралізовані, їх мережі влаштовані так, що мережа автоматично підлаштовується при вході та виході нових вузлів у мережу.

Те саме відбувалося і з Bitcoin, де мережа почалася з Сатоші Накамото, і поступово розрослася до розміру в понад 10 тисяч активних вузлів. Звичайно, ціль Bitcoin відрізняється від мети мережі Gnutella, але принципи протоколу залишаються незмінними: спілкування між двома сторонами без посередників.

Переваги та недоліки цієї технології

Переваги

  1. Мережа P2P стійка до цензури. Сильно децентралізовану мережу P2P практично неможливо піддати цензурі;
  2. Однорангові мережі пропонують неперевершену стійкість. Якщо один вузол падає, його місце може зайняти інший вузол. Існує навіть приказка «P2P-мережі можуть пережити ядерну катастрофу», а все тому що навіть якщо знищити багато вузлів і виживе лише один, мережу можна буде повністю відновити;
  3. Мережі P2P можуть призвести до створення потужних масштабованих рішень для надання унікальних послуг із глобальним охопленням;
  4. Незалежність від центральних організацій, викликає більше довіри до P2P у своїх користувачів;
  5. Вони пропонують високий рівень пропускної спроможності. Це пов'язано з тим, що такі мережі використовують пропускну здатність кожного учасника, щоб перетворити її на свою власну мережу;
  6. Служать передачі цифрової інформації будь-якого роду. Від улюбленої пісні до сотень мільйонів доларів за лічені секунди.

Недоліки

  1. Мережа P2P стійка до цензури, але вона не робить вас анонімним (якщо вона не призначена для цього) навіть якщо ця мережа використовує шифрування. Найкращим прикладом є BitTorrent, де інтернет-провайдери можуть виявляти використання протоколу, і тим самим попереджати владу про нелегальне завантаження користувачем;
  2. Конструкція мереж P2P передбачає, що чим більше учасників, тим сильніше збільшується затримка. Тобто, щоб інформація дійшла до всіх частин, що становлять мережу, у великій P2P-мережі потрібно більше часу, ніж у меншій. Для вирішення цієї проблеми шукаються нові алгоритми та протоколи.
  3. Протоколи P2P мають низку відомих структурних проблем. Такі випадки, як MITM-атаки з метою отримання контролю над вузлами, оскільки вони мають бути постійно під'єднані публічно. Крім того, протоколи схильні до маршрутизуючих атак і скритних атак Eclipse або Erebus.

Походження та історія P2P

Походження першої P2P-мережі ми можемо простежити від створення протоколу UUCP (Unix to Unix Copy Protocol) 1980 року. Цей простий протокол породив відому мережу USENET та мережі BBS, які активні та функціонують досі. Хорошим прикладом також є BBS EffectLinux, яка досі доступна для тих, хто ностальгує за цією системою зв'язку.

Принцип роботи цих систем простий: машина здійснювала з'єднання (діал-ап з'єднання) за допомогою модему, зв'язувалася з цільовою машиною, і вони могли обмінюватися інформацією «точка-точка» без посередників. Наприкінці виклику з'єднання користувач може ініціювати інше з'єднання з іншою машиною знову запускаючи процес. Варто зазначити, що все це було можливе без такої структури, як Інтернет, який ми знаємо сьогодні, мережі та технології, які на той час усе ще перебували на стадії розробки.

У той час USENET та протокол UUCP були вершиною комунікацій. По суті, рух шифропанків почався саме з цього протоколу. Такі персонажі, як Сент-Джуд, Ерік Хьюз, Тімоті С. Мей, Девід Чаум, використовували ці системи для обміну інформацією на дошках оголошень BBS спільноти шифропанків. Це були перші роки обчислювальної техніки, і на той час уже проглядалися майбутні можливості цього типу протоколу та набагато потужніших та найздібніших комп'ютерів.

Пізніше, в 1983 році, запущений протокол TCP/IP. Насправді, цей новий протокол прагнув зробити створення великих глобальних мереж гнучкішим. Насправді, це основа для побудови того, що ми знаємо сьогодні як Інтернет. Останнє стало дійсно можливим, коли з'явилася система або модель OSI (визначає сім рівнів абстракції, які ми зараз маємо в Інтернеті) у 1989 році та, нарешті, зі створення протоколу WWW (World Wide Web) у 1990 році.

Читайте також: Що таке технологія Web 3.0?

Bitcoin та мережа P2P

Bitcoin — одна з найбільших мереж P2P, що існують сьогодні, з більш ніж 10 тисяч активних вузлів. Bitcoin — це глобальна мережа, яка дозволяє своїм користувачам управляти цінностями без посередників. Все, що потрібно зробити, це завантажити програмне забезпечення, яке дозволяє вам взаємодіяти з цією мережею.

Створення Bitcoin як мережі P2P відповідає необхідності децентралізації його можливостей. Марно створювати криптовалюту, якщо нею потім управляє центральний орган. Це було б просто створення нового центрального банку. Натомість Сатоші Накамото хотів глобальну, що не піддається цензурі, безпечну та приватну мережу, яка дозволяла б керувати цінностями. Тому Накамото розробив Bitcoin на основі мережі P2P з використанням власного протоколу, розробленого відповідно до принципів протоколу Kademlia та протоколу Gossip.

В результаті Bitcoin є мережею P2P, яку практично неможливо зупинити. Незважаючи на структурні недоліки, протокол P2P був найкращим рішенням, яке Накамото міг ухвалити при розробці проекту. При цьому він подбав про створення цифрових грошей, які б служили інтересам світу та його користувачів.

P2P, блокчейн та криптовалюти

Варто відзначити, що Bitcoin з його системою P2P зумів створити розподілену систему обліку, в якій такі проблеми, як подвійні витрати, залишилися у минулому. Подвійне витрачання було однією з головних проблем цифрових грошей. Можливість подвоєння грошей та їх фальшування була чимось, що не мало рішення, поки Сатоші Накамото не розробив блокчейн та його протокол P2P для Bitcoin.

З того часу ми можемо використовувати криптовалюти з повною безпекою, знаючи, що наші гроші не тільки знаходяться у відкритому, прозорому та безкоштовному протоколі, але й ніколи не можуть бути підроблені. І все це тому, що кожен вузл має історію мережевих транзакцій, що свідчить про кожну операцію на ньому. Ця величезна мережа свідків залишається незмінним записом всього, що відбувається, і дає нам впевненість у тому, що системою не можна маніпулювати.