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

13.05.2024
17 хв
1719
5
Що таке шардинг у блокчейні? Головний колаж статті.

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

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

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

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

Редакція Incrypted розібралась, що таке шардинг та як він може допомогти мережам стати більш ефективними.

Що таке шардинг?

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

Розрізняють два типи шардингу:

  • горизонтальний шардинг — полягає в розділенні бази даних по рядках. Кожна частина містить рядки з оригінальної таблиці, але зберігає однакові стовпці. Горизонтальний шардинг дозволяє розподіляти дані між декількома серверами на основі певного критерію, наприклад, діапазону значень або хеш-функції; 
  • вертикальний шардинг — передбачає поділ великого набору даних на більш дрібні підмножини або сегменти. Кожен шард має власну частину стовпців оригінальної таблиці і може зберігати тільки певні рядки.

Термін «шард» швидше за все походить або з книги «Система для високодоступних реплікованих даних» компанії Computer Corporation of America, або відеогри Ultima Online, в якій розробники створили декілька серверів для гри, розділивши глобальну базу гравців на окремі сесії.

Поступово все більше компаній впроваджували цю технологію у свої проєкти, а різні розробники ПО, такі як Oracle, Amazon, Microsoft Azure та інші, покращували та вдосконалювали її для вирішення проблем перевантаження.

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

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

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

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

Як шардинг працює на технічному рівні

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

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

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

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

Алгоритми шардингу

На момент написання матеріалу існують наступні алгоритми шардингу:

  • мережевий шардинг — покращує зв’язок між вузлами, дозволяючи шардам обробляти транзакції, залишаючись при цьому синхронними. Кожен шард працює незалежно, забезпечуючи паралельну обробку транзакцій. Хоча це підвищує пропускну здатність реєстру, такий підхід може призвести до високих операційних витрат і збільшення плати за газ; 
  • шардинг транзакцій — передбачає, що весь реєстр зберігається на всіх вузлах, але транзакції розподіляються по шардах за певними критеріями. Таке налаштування збільшує швидкість обробки в межах одного шарда, досягаючи вищої пропускної здатності без поділу глобального стану;
  • статичний поділ — передбачає розділення стану блокчейну на шарди у фіксований, заздалегідь визначений спосіб, наприклад, при приєднанні до мережі певної кількості нових вузлів. На відміну від динамічного шардінгу, він не адаптується до змін стану мережі або навантаження, що обмежує загальну масштабованість та ефективність;
  • адаптивний розподіл — пропонує більш просунутий підхід, регулюючи кількість шардів або їхній розмір залежно від поточних умов мережі, таких як кількість вузлів і обсяг даних. Наприклад, якщо обсяг транзакцій раптово збільшується, система може автоматично створити більше шардів;
  • динамічна фрагментація дозволяє вузлам у мережі мати власний діапазон адрес, на відміну від статичного, у якому всі вузли в мережі покривають однаковий діапазон.

Переваги та недоліки шардингу

Поділ блокчейну на сегменти має ряд переваг.

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

Проте, у цієї концепції є й недоліки:

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

Які проєкти використовують шардинг?

Ряд криптопроєктів вже інтегрували технологію шардингу до своїх блокчейнів. До прикладу:

  1. NEAR Protocol зосереджений на розробці першого в історії індустрії виконання транзакцій між шардами в реальному часі без збільшення навантаження. Мережа Near прагне дозволити будь-якому низькорівневому пристрою працювати в якості вузла мережі. 
  2. Платформа Zilliqa використовує динамічний шардинг на рівні мережі для масштабування свого блокчейну. Транзакції в Zilliqa діляться на мікроблоки, які потім паралельно обробляються різними групами валідаторів.
  3. Шардинг є частиною дорожньої карти Ethereum 2.0. Його реалізація запланована найближчі роки і на момент написання знаходиться на етапі впровадження прото-данкшардингу.

Адаптивний шардинг використовується в блокчейні MultiversX (раніше Elrond). Це високопродуктивна, масштабована і безпечна блокчейн-платформа, призначена для забезпечення роботи децентралізованої екосистеми. Технологія адаптивного шардінгу станів MultiversX дозволяє мережі паралельно обробляти тисячі транзакцій в секунду.

Майбутнє концепції

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

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

Висновки

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

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

Как вам статья?

5
0

статті на цю ж тему

Огляд Starknet: що це таке і як працює
avatar Denis Solomyanyuk
26.06.2024
Що таке ролапи та чим ZK-Rollups...
avatar Anastasia Mirza
03.06.2024
Що таке завдання візантійських...
avatar Nikita Tipikin-Holovko
28.05.2024
Увійти
або