Шардинг у блокчейні криптовалют

Що таке шардинг у блокчейні криптовалют та як він працює? Які недоліки шардингу та чи існують йому альтернативні рішення? Відповіді на ці та інші питання читайте у нашій докладній статті.

Що таке шардинг у блокчейні та як він працює?

Шардинг (англ. Sharding) — це форма поділу бази даних, також відома як горизонтальний поділ. Цей процес включає розбиття дуже великої бази даних на більш дрібні, більш керовані сегменти з метою підвищення продуктивності та скорочення часу відповіді на запити.

Шардинг не є новою концепцією і використовується у традиційному централізованому управлінні базами даних принаймні з кінця 1990-х років. Насправді цей термін був популяризований однією з перших масових розрахованих на багато користувачів рольових онлайн-ігор (MMORPG), Ultima Online, в якій розробники розподіляли гравців по різних серверах (різним «світам» у грі), щоб впоратися з трафіком.

У бізнесі типовим прикладом сегментування великої бази даних є розбиття бази даних клієнтів на географічні розташування. Клієнти в тих самих географічних точках групуються і розміщуються на унікальних серверах.

Що таке шардинг у блокчейні?

Мережа блокчейна — це база даних із вузлами, що представляють окремі сервери даних. Якщо ми застосуємо сегментування до блокчейну, це означатиме розбиття мережі блокчейна на окремі сегменти (або шарди). Кожен шард міститиме унікальний набір смарт-контрактів та залишків на рахунках.

Потому вузли будуть призначатися окремим шардам для перевірки транзакцій та операцій замість того, щоб кожен з них відповідав за перевірку кожної транзакції по всій мережі.

Ідея полягає в тому, що, розбивши блокчейн на більш керовані сегменти, він повинен призвести до збільшення пропускної спроможності транзакцій і, отже, подолати проблеми масштабованості, з якими сьогодні стикається більшість основних блокчейнів. Ми розглянемо це більш докладно трохи нижче.

Як працює шардинг?

Щоб пояснити шардинг, давайте як приклад візьмемо блокчейн Ethereum.

Блокчейн Ethereum складається з тисяч комп'ютерів, також відомих як вузли — наразі їх 8622, згідно ethernodes.org — кожен з яких надає мережі певну кількість хеш-потужності. Саме ця хеш-потужність дозволяє віртуальній машині Ethereum (EVM) функціонувати, тобто виконувати смарт-контракти та запускати децентралізовані додатки (DApps).

На даний момент Ethereum працює на основі послідовного виконання, при якому кожен із цих вузлів повинен обчислювати кожну операцію та обробляти кожну транзакцію. Тому транзакція, що проходить через цей процес перевірки, може тривати багато часу. В даний час Ethereum коливається на рівні близько 10 транзакцій за секунду (TPS) — Visa, для порівняння, робить у середньому 24 000 TPS. Додавання комп'ютерів до мережі не обов'язково підвищить ефективність, оскільки вся книга зберігається на кожному комп'ютері, і ланцюжок перевірки просто стане довшим.

Ідея сегментування полягає в тому, щоб перейти від лінійної моделі виконання, в якій кожен вузол повинен виконувати кожну операцію, до моделі паралельного виконання, в якій призначаються вузлам для обробки тільки певних обчислень. Це дозволить одночасно обробляти кілька паралельних транзакцій.

Блокчейн буде поділено на окремі сегменти (субдомени або «бакети»). Вузли повинні запускати тільки ту частину реєстру, яка їм призначена, для виконання процесів та перевірки транзакцій замість постійного обслуговування всього реєстру.

Яку проблему потенційно вирішить шардинг?

Шардинг — це потенційне вирішення поточних проблем із масштабованістю блокчейну.

Як згадувалося вище, однією з найбільших проблем, що стоять перед мережами блокчейнів, є проблема масштабованості. Чим популярнішим стає мережа блокчейнів, тим більше користувачів ініціюють транзакції, децентралізовані програми та інші процеси в мережі.

Підвищена активність транзакцій висуває підвищені вимоги до вузлів для перевірки транзакцій, і існує реальна загроза того, що ці блокчейни можуть засмічитися (як це було в Ethereum під час повального захоплення CryptoKitties, коли на гру припадало 11% транзакцій у мережі). Якщо це станеться, швидкість транзакцій стане болісно низькою, що не є ідеальною ситуацією для довгострокового та сталого впровадження блокчейну.

Як пояснювалося вище, якщо блок-ланцюжок розбитий на дрібніші сегменти, а групи вузлів покладають відповідальність за окремі сегменти, кожному вузлу не потрібно буде підтримувати весь реєстр для виконання кожної операції. Таким чином, перевірка транзакцій може відбуватися паралельно, а не лінійно, що збільшує швидкість усієї мережі. Він забезпечує вирішення проблем масштабованості, пов'язаних із мережами блокчейнів, і, отже, робить їх більш стійкими у довгостроковій перспективі.

Недоліки шардингу

В даний час основні проблеми шардингу пов'язані з комунікацією та безпекою.

Якщо розділити блокчейн на ізольовані сегменти, кожен сегмент буде відображатися як окрема мережа блокчейнів. Користувачі та програми одного піддомену не зможуть спілкуватися з користувачами та програмами іншого піддомену, без реалізації спеціального, міжкульового механізму зв'язку. Це додає додатковий рівень складності для розробників.

У сегментованому блокчейні безпека також стає проблемою, оскільки хакерам легше захопити один сегмент через меншу хеш-потужність, необхідну для управління окремими сегментами, також відому як атака із захопленням одного сегмента або атака 1% . Після того, як сегмент був зламаний, зловмисники потенційно можуть відправити недійсні транзакції до основної мережі, або інформація в цьому конкретному сегменті може бути визнана недійсною та безповоротно втрачена. Пропонована Ethereum відповідь на цей ризик безпеки — випадкова вибірка, коли нотаріуси сегментів випадково призначаються в різні розділи для перевірки аутентифікації блоків.

Чи існують альтернативні рішення шардингу?

Дві додаткові пропозиції були запропоновані розробниками для підвищення продуктивності та швидкості транзакцій у блокчейнах.

По-перше, збільшити розмір блоку, при цьому основна думка полягає в тому, що чим більший розмір блоку, тим більше транзакцій ви можете помістити в блок і, отже, вище буде кількість транзакцій на секунду. Хоча це вірно, це також означає, що чим більший розмір блоку, тим більше обчислювальної потужності потрібно для перевірки блоку.

Якби розміри блоків збільшувалися до нескінченності, тільки спеціалізоване, високопродуктивне комп'ютерне обладнання могло б впоратися з необхідною обчислювальною потужністю, необхідної для роботи як вузл. Збільшення вартості цього типу обладнання означатиме, що пули вузлів неминуче стануть меншими і централізованішими, що підвищить ризик атаки 51%. Збільшення розміру блоку також вимагатиме хард-форка, що може призвести до розколу спільноти. Якщо не всі перейдуть на новий блокчейн, існуватимуть два окремі ланцюжки, які використовують дві окремі монети. Через ці проблеми збільшення розміру блоку є лише короткостроковим рішенням.

Друга пропозиція — використовувати альткоїни, щоб різні функції та різні програми працювали у своєму власному ланцюжку з власною монетою. Це підвищить продуктивність, тому що ви не перевантажуєте один блокчейн, але це також підвищить ризики безпеки, тому що вся хеш-потужність тепер розділена між кількома блокчейнами. Знову ж таки, це значно спрощує злам мережі, оскільки кількість обчислювальної потужності, необхідної для успішної атаки 51%, набагато менша. Отже, це не є життєздатним рішенням.

Хто використовує шардинг?

Деякі блокчейни вже впровадили механізм шардингу, тоді як в інших він все ще перебуває на стадії розробки.

Zilliqa — перша загальнодоступна блокчейн-платформа, у якій реалізовано сегментування. У тестовій мережі він зміг досягти 2828 TPS.

Екосистема блокчейна Near дозволяє розробникам легко створювати та розгортати децентралізовані додатки. Він також називає себе «сегментованим, зручним для розробників блокчейном proof-of-stake» і заявляє, що його технологія сегментування дозволяє вузлам залишатися досить маленькими, щоб працювати на простих екземплярах, розміщених у хмарі, — потенційно навіть на мобільних пристроях у майбутньому.

Подібно Near, Ethereum надає екосистему блокчейна для реалізації DApps на основі смарт-контрактів. Ethereum Foundation планує впровадити шардинг у рамках свого оновлення Ethereum 2.0, запуск якого заплановано на вересень 2022 року, як було підтверджено на телеконференції Ethereum Foundation 13 червня 2019 року.

Інші блокчейн-проекти, що розглядають сегментування як вирішення проблем масштабованості, включають Cardano (ADA), QuarkChain та PChain.

Яке майбутнє шардингу блокчейна?

Останнім часом шардинг привернув більше уваги через монету Facebook Libra. Пізніше проект був перейменований на Diem. Спочатку його запуск планувався на 2020 рік, але було випущено лише рудиментарний експериментальний код, поки проект не було закрито у січні 2022 року.

Однак у загальному сенсі шардинг може стати рішенням трилеми блокчейна.

У трилемі блокчейна, описаної Віталіком Бутеріним, співзасновником Ethereum, ви можете одночасно підтримувати лише дві з трьох основних характеристик блокчейну, а саме безпеку, децентралізацію та масштабованість. Це тому, що вам завжди доведеться йти на компроміс хоча б з одним із цих елементів, щоб мати два інші.