Однорангові мережі (Peer-to-Peer)
Чому саме «однорангові»
Якщо розглядати ситуацію з точки зору інформаційних технологій, то однорангові або пірінгові (від peer-to-peer) мережі - це такі мережі, в яких окремі елементи (вузли) обмінюються між собою файлами і зберігають один і той же набір даних. Вузли рівні за потужністю і виконують однакові за змістом завдання.
З фінансової точки зору, однорангові мережі - фінансові платформи, які дозволяють здійснювати фінансові операції купівлі-продажу без посередників. У деяких ситуаціях, аналогічно організовуються і процедури отримання та видачі кредитів.
У будь-якому випадку, про перші ефективні однорангові мережі почали говорити приблизно в дев'яностих роках минулого століття, коли з'явилися програми для ефективного обміну файлами. Однак основний інтерес до них спалахнув після появи криптовалютних мереж, заснованих на класичній P2P -Архітектурі. Втім, тепер такі мережі використовуються не тільки в криптоекономіці, але і при створенні пошукових систем, стрімінг-платформ, різноманітних онлайн-ринків і в рамках файлової системи IPFS.
Як це працює?
Отже. У нас є велика кількість пов'язаних один з одним комп'ютерів. На кожному з них зберігається копія всіх файлів, що містяться в мережі. Це дозволяє одночасно виконувати і роль клієнта, і роль сервера. Крім того, вузли рівні в своїх правах, так що ні у кого немає переваги перед іншими, а рішення про глобальні зміни приймаються колегіально.
Ця ситуація дозволяє кожному вузлу одночасно закачувати нову інформацію і роздавати ту, що вже зберігається. Процес цього постійний і безперервний, оскільки всі вузли зобов'язані реагувати на будь-які зміни вмісту мережі.
Незалежне зберігання інформації на різних джерелах робить всю систему більш стійкою до зовнішніх впливів і зломів. Крім того, в мережах Р2Р немає єдиної точки відмови, на відміну від централізованих систем.
Класифікація
Виділяють три основні типи тимчасових мереж.
- Неструктуровані. Вузли випадковим чином контактують один з одним, що забезпечує високу активність системи навіть при значній текучці вузлів. Відносно прості в побудові, однак вимагають великих потужностей при роботі. Справа в тому, що пошукові або будь-які інші запити відправляються на максимально можливе число машин одночасно, так що мережа перевантажується «порожніми» інформаційними запитами, які можуть перешкоджати проходженню відгуків.
- Структуровані. Вузли об'єднані в сувору систему зі своєю архітектурою. У такій системі активно використовується пошук по хеш-функціям, що значно знижує загальну інтенсивність інформаційного потоку. Однак такі системи в деякій мірі вже є централізованими, тому куди більш вимогливі до обслуговування і установки. Та й при тимчасовому випаданні великої групи вузлів, вся робота системи порушується.
- Гібридні. Комбінація попередніх варіантів. Наприклад, наявність центрального сервера, який спрощує процес обміну між окремими вузлами. Як правило, подібні мережі відрізняються високою продуктивністю і стійкістю.
Р2Р і блокчейн
Коли Сатоши Накамото створював мережу біткоін, він сформулював її як «однорангова платіжна система електронних грошових коштів». Це забезпечувалося завдяки роботі нової технології - блокчейн.
Технологія дозволяла обмінюватися цифровою валютою з учасниками по всьому світу без використання послуг посередників і центральних серверів. Крім того, будь-який бажаючий міг долучитися до цього процесу.
Роль банків, які фіксують і гарантують справжність фінансових операцій, взяв на себе цифровий регістр, в якому фіксується вся активність і до якого може звернутися будь-який бажаючий. Простіше кажучи, кожен вузол, підключений до мережі, зберігає всю інформацію, що міститься в ній, і регулярно зв'язується з іншими вузлами, щоб гарантувати достовірність і актуальність інформації, що зберігається.
Але незважаючи на те, що мережа є тимчасовою, різні вузли можуть брати на себе різні функції. Так, наприклад, існують так звані «повні Ноди», основне завдання яких - перевірка транзакцій в системі на предмет відповідності їх діючим алгоритмам консенсусу. А є й інші вузли - майнери, основне завдання яких - генерація нових блоків зберігання інформації.
Переваги
- Висока стійкість до DoS-атак, оскільки інформація не зберігається в одному місці, а пропускна здатність мережі дозволяє одночасно обробляти безліч запитів.
- Висока стійкість до зміни вже внесеної інформації. Щоб переписати дані на всіх машинах мережі, потрібна потужність, що перевищує половину загальної потужності системи. Це називається «Атака 51 відсотка». Досить рідкісне явище, особливо в великих мережах.
- Висока стійкість до внутрішніх помилок і суперечливих сигналів. Мережі Р2Р демонструють високу «візантійську відмовостійкість».
- Стійкість до зовнішньої цензури. Криптовалютні гаманці, наприклад, не можуть бути заморожені рішенням судів і урядів, на відміну від рахунків в банках.
Недоліки
- Чим більше мережа, тим більше обчислювальної роботи потрібно виконати, щоб забезпечити актуальність інформації, що зберігається. За рахунок цього, сповільнюється загальна швидкість роботи. Ця проблема відома як «проблема масштабованості». І далеко не всі однорангові мережі знайшли більш-менш прийнятні способи її вирішення. Прикладами цього можуть служити Lightning Network, Ethereum Plasma і протокол Mimblewimble.
- Можлива ситуація «поділу» ланцюжка інформації на дві - ситуація «хардфорка». В такому випадку, обидва нових розгалуження виявляються уразливими перед атакою повторного відтворення (достовірна транзакція з одного ланцюжка дублюється на другий, за рахунок чого - знімається в 2 рази більше грошей). А якщо врахувати, що подібні хардфорки трапляються регулярно, то доводиться додатково забезпечувати захист від них.
- Неможливість виправлення інформації може бути і мінусом. Вилучити, наприклад, компрометуючі дані з такої мережі - вкрай складно. Як і цифрові копії, пов'язані з порушенням авторських прав.
Висновок
Тимчасова архітектура помітно поліпшила ефективність зберігання інформації, зробивши обмін більш прозорим, стійким і швидким. Причому не тільки в рамках криптовалютних мереж, але і при обміні інформацією іншого роду - від файлів пірінгових мереж, типу torrent , до інформації, пов'язаної з великими торговельними операціями або обробкою великих масивів цифрових даних.