Що таке P2P?
У комп'ютерних науках P2P-мережа складається з групи пристроїв, які спільно зберігають і діляться файлами. Кожен учасник (вузол) діє як окрема одиниця. Зазвичай усі вузли мають однакову потужність і виконують ті ж завдання.
У фінансових технологіях термін P2P зазвичай відноситься до обміну валют або цифрових активів через розподілену мережу. P2P-платформи дозволяють покупцям і продавцям здійснювати угоди безпосередньо без потреби у посередниках. У деяких випадках веб-сайти також можуть надати P2P-середовище, яке пов'язує кредиторів і позичальників.
P2P-структура може бути підходящою для багатьох різних випадків використання, але вона стала особливо популярною в 1990-х роках, коли були створені перші програми для обміну файлами. Сьогодні P2P-мережі є основою більшості криптовалют, які займають велику частину в сфері блокчейн-індустрії. Тим не менш, наразі їх також підтримують в інших застосунках розподілених обчислень, включаючи веб-пошукові системи, платформи потокового відео, електронні ринки та протокол InterPlanetary File System (IPFS).
Як працює P2P?
В основному, системи P2P обслуговуються розподіленою мережею користувачів і зазвичай не мають центрального адміністратора або сервера, оскільки кожен вузол має копію файлів і функціонує як клієнт і сервер для інших вузлів. Таким чином, кожен вузол може завантажувати файли з інших вузлів або завантажувати файли для інших вузлів. Це те, що відрізняє P2P-мережі від традиційних серверних систем, в яких пристрої завантажують файли з центрального сервера.
Пристрої, підключені до P2P-мереж, обмінюються файлами, збереженими на їхніх жорстких дисках, за допомогою програмного забезпечення, розробленого для посередництва в обміні даними та файлами. Користувачі також можуть запитувати інші підключені пристрої в мережі, щоб знайти файли та завантажити їх, і як тільки користувач завантажує певний файл, він може потім працювати як джерело для цього файлу.
Інакше кажучи, коли вузол функціонує як клієнт, він завантажує файли з інших вузлів мережі. Але коли вузол працює як сервер, він стає джерелом, з якого інші вузли можуть завантажувати файли. Але, незважаючи на це, на практиці обидві функції можуть виконуватися одночасно (наприклад, завантаження файлу A та завантаження файлу B).
P2P-мережі, як правило, стають швидшими та ефективнішими з ростом їхньої бази користувачів, оскільки кожен вузол зберігає, передає та отримує файли. Крім того, їхня розподілена структура робить P2P-системи надзвичайно стійкими до кібератак, оскільки P2P-мережі не мають єдиної точки відмови, на відміну від традиційних моделей.
Ми можемо класифікувати P2P-системи за їхньою структурою. Три основні типи P2P-мереж називаються неорганізованими, організованими та гібридними.
Неорганізовані P2P-мережі
Неорганізовані P2P-мережі не пропонують жодної конкретної організації вузлів. Учасники взаємодіють випадковим чином один з одним. Ці системи вважаються ефективними, коли існує висока активність (наприклад, багато вузлів приєднуються до мережі та часто залишають її).
Хоча побудувати неорганізовані P2P-мережі легко, вони можуть вимагати використання більшої потужності ЦП та пам'яті, оскільки запити на пошук надсилаються якомога більшій кількості однорангових учасників. Це, як правило, призводить до перевантаження мережі запитами, особливо якщо є небагато вузлів, які надають потрібний контент.
Організовані P2P-мережі
У свою чергу, організовані P2P-мережі пропонують організовану структуру, як випливає з назви. Це дозволяє вузлам ефективно шукати файли, навіть якщо контент не доступний на широкому масштабі. У більшості випадків це досягається за допомогою хеш-функцій, які полегшують пошук у базі даних.
Хоча організовані мережі можуть бути більш ефективними, вони мають тенденцію надавати вищі рівні централізації і зазвичай вимагають вищих витрат на налаштування та обслуговування. Окрім цього, організовані мережі також є менш стійкими, коли стикаються з високими рівнями порушень.
Гібридні P2P-мережі
Гібридні P2P-мережі поєднують традиційну модель клієнта та сервера з деякими аспектами P2P-структури. Наприклад, вони проектують центральний сервер, який спрощує взаємозв'язок між одноранговими учасниками.
У порівнянні з іншими двома типами P2P-мереж, гібридний тип має тенденцію забезпечувати покращену загальну продуктивність. Він зазвичай поєднує кілька основних переваг кожного типу, що забезпечує значний рівень ефективності та децентралізації одночасно.
Розподіленість і децентралізація
Хоча середовище P2P за своєю природою розподілене, важливо зазначити, що існують різні рівні децентралізації. Тому не всі P2P-мережі є децентралізованими.
Насправді багато систем покладаються на центральну владу для управління активністю мережі, що робить їх дещо централізованими. Наприклад, деякі спеціальні P2P-системи для обміну файлами дозволяють користувачам шукати файли та завантажувати їх від інших користувачів, але вони можуть бути не в змозі брати участь у інших процесах, таких як управління запитами.
Крім того, можна сказати, що невеликі мережі, контрольовані обмеженою базою користувачів з спільними цілями, мають вищий рівень централізації, незважаючи на відсутність централізованої інфраструктури в мережі.
Роль P2P у блокчейні
На ранніх етапах біткойну, Сатоші Накамото описав його як "електронну готівку від P2P". Біткойн був створений як цифрова форма грошей. Його можна передавати від користувача до користувача через P2P-мережу, яка управляє розподіленим реєстром, званим блокчейном.
У цьому контексті вбудована P2P-структура в технології блокчейн дозволяє легко передавати/конвертувати біткойн та інші криптовалюти по всьому світу без потреби у посередниках чи будь-якому центральному сервері. Також будь-хто може налаштувати вузол у блокчейні біткойн, якщо бажає брати участь у процесі перевірки та підтвердження блоків.
Отже, немає банків, які обробляють або реєструють транзакції в мережі біткойн. Натомість блокчейн слугує розподіленим цифровим реєстром, що публічно реєструє всі активності, щоб інші учасники могли їх бачити. В основному, кожен вузол зберігає копію блокчейну, і вона порівнюється з іншими вузлами, щоб забезпечити точність даних. Мереже швидко відхиляє будь-яку шкідливу або неточну активність.
У сфері блокчейну криптовалют вузли можуть виконувати різноманітні ролі. Наприклад, повні вузли забезпечують безпеку мережі, перевіряючи транзакції відповідно до правил консенсусу системи.
Кожен повний вузол зберігає повну і актуальну копію блокчейну, що дозволяє йому брати участь у колективній роботі з перевірки поточного стану розподіленого реєстру. При цьому слід зазначити, що не всі повні вузли представляють майнерів.
Переваги
P2P-структура блокчейну надає багато переваг. Серед найважливіших із цих переваг є той факт, що P2P-мережі забезпечують більшу безпеку в порівнянні з традиційними клієнт-серверними структурами. Розподіл блокчейну на велику кількість вузлів робить його фактично стійким до атак відмови в обслуговуванні (DoS), які вражають багато систем.
Також, оскільки більшість вузлів повинні досягти стану консенсусу перед додаванням даних до блокчейну, атакуючому практично неможливо змінити дані. Це особливо стосується великих мереж, таких як біткойн. Менші блокчейн-мережі більш вразливі до атак, оскільки одна особа або група можуть в кінцевому підсумку контролювати більшість вузлів (це відомо як атака 51% або атака більшості).
В результаті розподілена P2P-мережа в поєднанні з вимогами більшості консенсусу надає блокчейн-мережам відносно високий рівень стійкості до шкідливої активності. Модель P2P є однією з причин, чому біткойн (та інші блокчейн-мережі) змогли досягти так званої толерантності до візантійських помилок.
Окрім захисту, який вона забезпечує, використання P2P-структури в блокчейні криптовалют робить їх також стійкими до цензури з боку центральних органів. На відміну від традиційних банківських рахунків, де криптогаманці не можуть бути заморожені або вилучені урядами. Ця стійкість також поширюється на зусилля з цензури, що здійснюються приватними платіжними процесорами та платформами контенту. Деякі творці контенту та онлайн-торговці схвалили криптовалютні платежі як спосіб уникнути блокування своїх платежів з боку сторонніх осіб.
Обмеження
Незважаючи на численні переваги, використання P2P-мереж у блокчейні також має певні обмеження.
Оскільки розподілений реєстр повинен оновлюватися на кожному вузлі, а не на центральному сервері, додавання транзакцій до блокчейну потребує величезної обчислювальної потужності. Хоча ця процедура забезпечує підвищену безпеку, вона значно знижує ефективність і є однією з основних перешкод, коли йдеться про масштабування та широке впровадження. Проте, в даний час зацікавлені в криптографії та розробники блокчейну шукають альтернативи, які можна використовувати як рішення для цього масштабування. Яскравими прикладами є: Lightning Network, Ethereum Plasma і протокол Mimblewimble.
Одне з можливих інших обмежень стосується атак, які можуть виникнути під час подій Hard Fork. Через те, що більшість блокчейн-мереж є децентралізованими та з відкритим вихідним кодом, групи вузлів можуть вільно копіювати та модифікувати код, відокремлюватися від основної ланцюга і формувати нову паралельну мережу. Hard Fork є абсолютно природним і не є загрозою сам по собі, але якщо певні методи безпеки не застосовуються належним чином, обидві ланцюги можуть стати вразливими до атак повторної передачі.
Крім того, розподілена природа P2P-мереж ускладнює контроль за ними та їх легалізацію, не тільки в сфері блокчейну. Багато P2P-застосунків та компаній були залучені в незаконну діяльність та порушення авторських прав.
Заключні думки
P2P-структура може бути розроблена та використана різними способами. Вона є основою блокчейну, який зробив криптовалюти можливими. P2P-структура забезпечує безпеку, децентралізацію та стійкість до цензури шляхом розподілу реєстрів транзакцій через великі мережі вузлів.
Окрім своєї корисності в сфері технології блокчейну, системи P2P також можуть використовуватися в інших застосунках розподілених обчислень, починаючи від мереж обміну файлами до платформ для торгівлі енергією.
