Чи можлива ідеальна масштабованість блокчейна?
Масштабованість – це здатність програмного забезпечення блокчейну збалансувати пропозицію і попит. Відповідно, масштабування - це поліпшення системи до рівня, де цей коефіцієнт близький до одиниці.
Масштабованість — це здатність мережі або бази даних збільшувати свою продуктивність при екстремальних навантаженнях. Існує вертикальне (за рахунок покращення апаратного забезпечення) та горизонтальне (за рахунок рівномірного розподілу навантаження на дрібні сегменти) масштабування системи. Перше реалізується за рахунок збільшення потужності центральних вузлів, друге – за допомогою програмних методів.
Що таке масштабування простими словами
Найпростіше це пояснити на прикладі Святого Петра, який розподіляє душі померлих між раєм і пеклом.
Відомо, що цей апостол отримав два ключі: золотий (від воріт раю для праведників) і срібний (від пекла для грішників, що не розкаялися). Але легенда не розкриває таємницю, як йому вдається швидко просканувати щойно померлу душу і перенаправити її за призначенням, якщо щомиті до нього на суд надходять тисячі померлих. Адже зустріч душі з Петром завжди відбувається віч-на-віч, і їм потрібен час, щоб познайомитися ближче і зазирнути в Книгу, де записані всі добрі і погані вчинки людини.
Якщо припустити, що тут не обійшлося без системного масштабування, ми можемо припустити, що:
1. Скіл Петра прокачується пропорційно до приросту населення і, відповідно, загальної смертності. Він нарощує свою пропускну здатність і зменшує час спілкування з душею шляхом якогось невідомого темпорального зсуву таким чином, що для померлого система часових рамок залишається незмінною. Це схоже на вертикальне масштабування.
2. Існує величезна кількість прибрамних сторожів, яким делеговані повноваження Петра, що мають з ним рівні права та можливості. Клони не потребують синхронізації дій, оскільки мають однаковий програмний код (це називається реплікація або повний дублікат). Найменша зміна в алгоритмі особистості Петра автоматично змінює його дублюючих персонажів. У цьому випадку ми маємо справу з горизонтальним масштабуванням.
В обох випадках пропускна здатність Святого Петра залишається високою незалежно від збільшення навантаження.
Вертикальне чи горизонтальне? Складний вибір!
Навіщо масштабувати блокчейн криптовалют
Коли ми говоримо про масштабованість блокчейнів, то маємо на увазі їхню системну здатність обробляти максимальну кількість транзакцій у терміни, які не впливають на дохідність операцій. Як ми й казали на початку, масштабування – це вибір моделі поліпшення цієї системи.
З огляду на високу волатильність цифрових грошей параметр швидкості проведення платежів стає критичним.
Проблема, над якою досі б'ються розробники, полягає в тому, що вертикальний варіант посилення системи йде на шкоду децентралізації. А вибір горизонтальної моделі завжди відображається на безпеці.
Масштабування на Bitcoin блокчейні
Протокол Bitcoin не передбачає єдиного вузла управління. Тому неможливо прискорити обробку транзакцій за рахунок збільшення пропускної спроможності центрального сервера.
PoW-блокчейн BTC може обробляти 5-8 транзакцій за секунду, що катастрофічно мало для попиту з боку користувачів мережі. А всі популярні платіжні системи для фіатних валют оперують цифрами від 20 тисяч платежів за секунду.
Необхідність постійної синхронізації між нодами накладає обмеження на кількість інформації, що обробляється одночасно: ретрансляція блоків по мережі критично відображається на швидкості роботи всієї системи. Це спричиняє збільшення витрат власників нод, адже обладнання споживає все більше потужності та потребує постійної модернізації.
Тому майнити Bitcoin поодинці вже кілька років фінансово недоцільно. Найчастіше для цього створюються колективні пули та будуються гігантські дата-центри.
Щоб не змінити принципи децентралізації та безпеки, команда, що обслуговує блокчейн Bitcoin, пропонувала альтернативні шляхи масштабування.
Масштабування через збільшення блоків
Перша спроба масштабування блокчейна Bitcoin шляхом збільшення розміру блоків відбулася у 2015 році. Два розробники, Гевін Андресен та Майк Херн, запропонували підняти допустимий розмір блоків з 1 Мб до 8 Мб. Тобто збільшити їхню місткість і зменшити загальну кількість. Ця ідея була реалізована шляхом запуску софт-форку, який отримав назву Bitcoin XT.
Теоретично, таке рішення могло б збільшити швидкість проведення транзакцій до 25 в секунду. Але форк підтримали менше 2% валідаторів (при необхідних 75%) і він не реалізувався, не проживши й року.
У 2016 році була озвучена пропозиція збільшувати блоки не відразу, а поступово,
кожні два роки. Програмний форк отримав назву Bitcoin Classic й підтримку криптоспільноти, але теж не витримав випробування часом. Його розробники самі запропонували майнерам перейти на більш перспективний варіант – Bitcoin Cash.
Третій софт-форк давав змогу вибирати розмір блоку шляхом голосування. Він називався Bitcoin Unlimited, але мав у коді стільки багів, що склався, як картковий будиночок, за першої ж DDoS-атаки у 2017 році.
Невдале масштабування шляхом збільшення блоків призвело до того, що управління блокчейном BTC трохи менше, ніж наполовину, перейшло до рук великих майнінгових пулів. А це – пряма загроза для відкритої атаки 51%.
Масштабування на блокчейні ефіру
Блокчейн криптовалюти ETH реалізований як середовище для створення та функціонування смарт-контрактів і виглядає бігуном на тлі неповороткої мережі Bitcoin: швидкість обробки платежів на старті досягала 1000 за секунду.
Його творець, Віталік Бутерін, припускав, що мережа ефіру використовуватиме алгоритм консенсусу Proof-of-Work (доказ роботи). Але низька масштабованість бази даних та висока комісія за проведення транзакцій змусила його відмовитися від PoW та розробити ETH 2.0 з використанням шардингу.
Цей варіант горизонтального масштабування збільшив пропускну спроможність системи у 100 разів. Така можливість була досягнута шляхом поділу інформаційного потоку на кілька частин (шардів), які можуть бути розподілені між незалежними серверами.
Алгоритм консенсусу блокчейна ETH видозмінювався у бік доказу частки володіння (Proof-of-Stake) та змінив майнерам стимули для валідації.
Після запуску робочої версії Beacon Chain (нового варіанта блокчейну) класичний майнінг ETH втратив свою актуальність. Валідатори змушені концентрувати свої ресурси у заставних активах, які є різновидом стейкінгу.
Це рішення негативно позначилося на безпеці блокчейну ETH.
Але для системи, де створюються популярні додатки, що викликають великий попит серед користувачів, така архітектура є меншим із лих.