Масштабованість блокчейна
Одна з характерних тенденцій сучасного світу - консолідація влади і ресурсів в межах якої-небудь однієї інституції. З одного боку, це дозволяє більш ефективно досягати поставленого результату, але з іншого - ціною обмеження свободи людини в цілому і обмеження її доступу до важливої інформації. І технології блокчейн - одні з небагатьох способів ефективно цій тенденції протистояти. Хоча б на базовому рівні - фінансовій взаємодії. Але чим активніше ці технології використовувалися - тим чіткіше вимальовувалася основна проблема - не дуже ефективна масштабованість.
Проблема масштабованості
Мережа блокчейн, за своєю суттю - децентралізована облікова книга, в якій кожен елемент мережі зберігає всю наявну в ній інформацію. Це гарантує, що втрата одного з вузлів не вплине на загальну функціональність, а постійні перевірки на достовірність - запобігають неузгодженому внесенню змін до збереженої інформації.
Але чим більше комп'ютерів, тим більше часу витрачається на ці перевірки і на передачу даних кожному з них. Швидкість падає, пропускна здатність зменшується. І щоб якось це контролювати, почала підвищуватись вартість кожної транзакції, щоб не «забивати канал» дрібними переказами. Однак це було лише тимчасове рішення.
Власне, це і є проблема масштабування - чим більше в мережі вузлів, тим гірше її пропускна здатність і повільніше робота в цілому. Саме з такою ситуацією і зіткнулися користувачі Bitcoin в 2017 році, коли зростання популярності криптовалюти привело до значного збільшення кількості активних вузлів.
Почалися активні дебати на тему того, як з даною ситуацією впоратися. І було розроблено два різних підходи.
Перший - збільшення розмірів блоку і оптимізація інформації що зберігається в ньому. Чим більше транзакцій в блоці - тим менше потрібно блоків в цілому. Рішення ефективне, але тільки в короткій перспективі, оскільки давало лінійне поліпшення, а кількість користувачів зростала експоненціально. І дуже скоро знадобилося б збільшувати блоки знову і знову. Не кажучи про те, що збільшення блоків призвело б до ускладнення процесу Майнінгу і зниження конкурентоспроможності машин з малими обчислювальними потужностями.
Другий - впровадження додаткових зовнішніх протоколів і оптимізація зберігання інформації. Тобто - спочатку кілька транзакцій збирається в одному зовнішньому блоці, потім - разом з кількома такими ж блоками кодується в протоколі біткоін. Зворотнє дешифрування теж можливе - для звичної перевірки достовірності інформації. Тобто, дані кодуються двічі, що не тільки підвищує пропускну здатність, але і збільшує безпеку в цілому.
Саме другий підхід і ліг в основу мережі Lightning, що дозволило різко збільшити пропускну здатність мережі біткоін. Однак експерти вважають, що це теж тільки тимчасове рішення, оскільки подальше зростання числа активних користувачів може ще сильніше збільшити навантаження на мережу. І знадобляться нові поліпшення для масштабування - Schnorr signatures, Liquid sidechains і інші підходи, які поки тільки тестуються.
Однак кілька років, перш ніж пропускна здатність мережі припинить відповідати потребам, у нас є. І ці роки краще витратити на завчасний пошук можливих шляхів вирішення проблеми масштабування.
Альтернативні алгоритми консенсусу
У мережі біткоін використовується алгоритм консенсусу PoW, заснований на доказі виконаної роботи. Це надійно, але повільно і вимагає серйозних обчислювальних потужностей. Однак це не єдиний можливий підхід. Як мінімум, є два досить перспективних альтернативних варіанти.
Перший - делегований доказ частки або DPoS. Більш просунута версія «доказу ставки», в якій користувачі підтверджують достовірність інформації власними грошима. В даному варіанті, вони можуть делегувати свої повноваження обраним представникам, які вже і будуть підтверджувати істинність транзакцій. А самі користувачі при цьому отримуватимуть частину винагороди, пропорційно вкладеним сумам.
Систему придумав дехто Daniel Larimer, і вона являє собою щось типу голосування в реальному часі плюс складну систему соціальної репутації.
Другий варіант - Практична Візантійська відмовостійкість (pBFT), яку розробили в 1999 році Barbara Liskov і Miguel Castro, яка дозволяє добитися безпомилкового консенсусу на основі взаємних підтверджень, навіть при наявності вузлів, що поширюють завідомо неправдиву інформацію.
Обидва ці підходи досить перспективні, особливо - для блокчейнів нефінансового використання, але й деякі недоліки у них теж є. Полягають вони в наступному.
Делегований доказ ставки - це, з одного боку, приклад класичної демократії. Люди вибирають депутатів, голосують за них (в нашій ситуації - своїми грошима), а «обранці» приносять користь своїм поручителям. Але, як і в реальному житті, це не завжди працює так, як задумано.
Зменшення кількості верифікаторів до декількох «довірених делегатів» знижує децентралізацію мережі. А разом з нею - здатність протистояти «змові довірених осіб». Простий приклад - блокчейн EOS виявився під контролем 11 власників токенів з Китаю, які змовилися між собою і повністю контролюють інформацію всередині мережі.
Практична візантійська відмовостійкість працює за рахунок того, що всі вузли періодично перевіряють достовірність системи в циклічному форматі. Тобто - по черзі, а не одночасно. Це не зовсім класичний блокчейн, але функції і результати багато в чому збігаються. Плюс у даного принципу нижче споживання ресурсів і вище пропускна здатність.
Однак даний алгоритм вразливий проти атак типу «sybil», в процесі яких створюється безліч нових «зловмисних» вузлів мережі. Досить 33 відсотків, щоб повністю перехопити контроль над всією мережею. У мережі біткоін, наприклад, це неможливо, оскільки нові вузли все одно повинні провести доказ роботи, щоб атакувати систему. А в системах, що працюють на основі PoS, кожен вузол для роботи повинен внести деяку суму в криптовалюті.
Висновки
Існуючого алгоритму консенсусу PoW недостатньо, щоб ефективно справлятися з проблемами масштабування. Це означає, що широке впровадження блокчейна в, припустимо, виборчі процеси або транспортний сектор, не відбудеться через необхідність роботи із занадто великим обсягом інформації. Потрібні нові рішення.