Вертикальне і горизонтальне масштабування блокчейнів: пояснення
Що таке вертикальне і горизонтальне масштабування?
Вертикальне масштабування означає розширення мережі шляхом додавання більшої потужності та пам’яті до основного обчислювального блоку системи, тоді як горизонтальне масштабування включає додавання більшої кількості вузлів (тобто пристроїв) до існуючої структури системи.
Коли розглядається тема масштабованості, важливо розуміти, що це поняття зазвичай викликають, коли виникає потреба збільшити транзакційну пропускну здатність певної платформи.
Дивіться також: Проблеми масштабування блокчейна: пояснення
Вертикальне масштабування для традиційної клієнт-серверної архітектури означає модернізацію існуючого обладнання системи для інтеграції більшої обчислювальної потужності та пам’яті. У той же час горизонтальне масштабування пов’язане зі зміною основної структури самої платформи для створення кластеру серверів, які здатні легко обробляти більшу кількість вхідних запитів транзакцій.
Чи ефективно працює масштабування для блокчейнів?
Масштабування найкраще працює з традиційними базами даних. Однак з точки зору безпеки масштабовані блокчейни набагато корисніші та практичніші — але це включає певний компроміс.
При перенесенні концепції масштабованості в контекст блокчейн-технології важливо зазначити, що оскільки блокчейн-системи вже є розподіленими мережами, складно збільшити загальну пропускну здатність мережі, просто додаючи більше апаратних одиниць — таких як майнери, вузли або валідатори.
Якщо говорити конкретніше, то хоча горизонтальне масштабування збільшує довіру або безпеку мережі, це зазвичай призводить до погіршення загальної продуктивності (пропускної здатності транзакцій) системи.
З іншого боку, вертикальне масштабування зазвичай означає прискорення та посилення кожного внутрішнього компонента системи. З точки зору системи на основі розподіленого реєстру це означає використання вузлів-суперкомп’ютерів. Однак недоліком цього є те, що лише певна кількість осіб здатна запускати такі вузли.
Як здійснюється масштабування?
Вертикальне масштабування здійснюється шляхом підвищення ефективності кожної окремої транзакції, тоді як горизонтальне масштабування досягається через збільшення загальної пропускної здатності платформи.
Простими словами, загальне вдосконалення масштабованості здійснюється через використання концепції «шарування» — коли кожен окремий компонент конкретної системи взаємодіє з її цифровими аналогами в певний послідовний і ієрархічний спосіб.
Крім того, коли йдеться про блокчейни, розробники прагнуть зберігати незмінність їхньої базової мережі, що дозволяє шар масштабованості використовувати переваги безпеки батьківської мережі. Приклад, який ідеально ілюструє зазначену концепцію, — це Lightning Network, технологія, яка використовує безпеку Bitcoin для збільшення загальної пропускної здатності системи.
Дивіться також: Що таке Lightning Network і як це працює
Говорячи про горизонтальне та вертикальне масштабування, можна зазначити, що перше реалізується шляхом додавання більшої кількості кластерів або віртуальних машин до системи, щоб впоратися зі збільшенням навантаження транзакцій. Вертикальне масштабування, навпаки, досягається шляхом збільшення обчислювальної потужності (або пам’яті) у вже існуючій віртуальній машині для підвищення продуктивності.
До того ж, прийдешнє оновлення Ethereum 2.0 викликає значний ажіотаж, оскільки націлене на покращення загальної транзакційної пропускної здатності проєкту через кілька змін у дизайні, зокрема впровадження шардингу.
Завдяки реалізації цих змін основна структура Ethereum буде перенесена з єдиного середовища виконання на множинні середовища виконання, які здійснюватимуть перевірку транзакцій асинхронно та паралельно.
Коли варто використовувати горизонтальне або вертикальне масштабування?
Чисте вертикальне масштабування має обмежену ефективність, але його відносно легше досягти. Горизонтальне масштабування допомагає покращити загальну пропускну здатність системи, але потребує більше часу на розробку.
Щоб краще зрозуміти проблему, можна розглянути «вузьке місце» у продуктивності системи. «Вузьке місце» — це ситуація, коли надмірне навантаження на певну систему призводить до серйозного погіршення її загальної продуктивності.
Наприклад, якщо виникає проблема з недостатньою локальною пам’яттю віртуальної машини для обробки всіх вхідних транзакцій, вертикальне масштабування може виправити ситуацію — шляхом додавання додаткової пам’яті навантаження зменшується.
З іншого боку, якщо апаратне забезпечення платформи не може обробити потік вхідних транзакцій, проблема може бути вирішена за рахунок горизонтального масштабування (тобто додавання додаткових обчислювальних блоків).
Щоб проілюструвати цей концепт, Джонатан Р. Брандт, керівник ініціативи з вивчення технологій для підприємств, який започаткував курс блокчейна, що зараз викладається в університетах Міннесоти, пояснив CryptoAcademy:
«У боротьбі зі злочинністю Халк масштабується вертикально, а Ліга справедливості масштабується горизонтально. У Bitcoin сервер для майнінгу можна масштабувати вертикально, збільшуючи пам’ять або оновлюючи GPU, або горизонтально — об’єднавши сервери.»
Чи існують помітні рішення для масштабування блокчейнів?
За останні кілька років кілька компаній працювали над вирішенням проблем масштабованості, які стосуються криптовалютного сектору.
Остання технологічна інновація від vCPU: LiquidApps є рішенням для горизонтального масштабування, яке розроблено для того, щоб дозволити розробникам отримати доступ до більшої кількості децентралізованої обчислювальної потужності, доручаючи провайдерам децентралізованих додатків (DApp) обробляти запити в мережі, здійснювати обчислення та повертати результати відповідним додаткам.
Інший приклад — EOS. Основна мета EOS полягає у вирішенні численних наявних проблем масштабованості. Головна різниця між EOS і vCPU полягає у використанні паралельної обробки, яка стала можливою завдяки вертикальному масштабуванню (тобто збільшенню обчислювальної потужності).
З іншого боку, протокол Temtum дозволяє передавати дані між вузлами навіть тоді, коли одному вузлу не вистачає обсягу пам’яті для зберігання повного блокчейна, що знижує бар’єр входу для нових вузлів у мережу.
Інші відповідні приклади включають Ziliqa, ETH 2.0 та Iota.
Які основні моменти варто пам’ятати про масштабованість?
Все залежить від співвідношення централізації до децентралізації.
Для блокчейн-платформ масштабованість часто зводиться до рівня децентралізації мережі. Високодецентралізовані екосистеми (такі як Bitcoin) досить повільні, тоді як більш централізовані мережі (наприклад, EOS з 21 продюсером блоків) працюють значно швидше.
Однак центральна модель зменшує характерні властивості блокчейнів — такі як стійкість до цензури, прозорість та незмінність даних.