- Шардинг (sharding) – це рішення для масштабування блокчейну: це просто метод, який дозволяє мережі обслуговувати більшу кількість користувачів за допомогою швидших транзакцій.
- Він передбачає поділ мережі на менші блокчейни, які називаються шард-ланцюгами, кожен з яких перевіряє свої власні транзакції.
- – Шардинг – це одне з рішень для масштабування, яке планується впровадити в мережі Ethereum, щоб допомогти їй збільшити швидкість транзакцій і пропускну здатність. Втім, воно вже було успішно реалізовано в інших мережах, включаючи Cardano, NEAR, Polkadot та інші.
Мережі блокчейн залишаються безпечними, тому що історія даних і транзакції в них підтримуються нодами. Чим більше нод у системі, тим більш децентралізованою і ненадійною вона є. Але зі збільшенням кількості користувачів у мережі та постійним зростанням історії блокчейну, навантаження на його ноди постійно зростає. Оскільки кожна нода зберігає повну копію блокчейну, з кожною транзакцією, що обробляється в ланцюжку, на нього зростає навантаження.
Просто не всі ноди здатні нести таке обчислювальне і фінансове навантаження, і, як наслідок, все менше користувачів бажають запускати ноди-валідатори.
В результаті, зараз існує кілька методів, які допомагають блокчейнам рости і при цьому ефективно працювати. Точніше кажучи, вони називаються рішеннями для масштабування. Хоча сьогодні існує безліч рішень для масштабування, одним з найбільш перспективних для великих ланцюгів є шардинг. Зазначимо, що шардинг дозволяє мережам з proof-of-stake обробляти набагато більше транзакцій набагато швидше, ніж будь-коли раніше. Це також одне з рішень для масштабування другої за популярністю мережі, Ethereum.
Але перш ніж ми зануримося в деталі, розберемося що ж таке шардинг?
Що таке шардинг?
Простими словами, шардинг дозволяє одному блокчейну розділити себе на кілька менших і більш керованих блокчейнів, які називаються шард-ланцюгами, також відомими як рівні даних. Ви можете уявити шард як підмножину даних і транзакцій з оригінальної мережі. Коли всі шарди зібрані разом, вони утворюють всю базу даних. Однак замість того, щоб кожна нода мережі зберігала повну історію транзакцій блокчейну, кожна нода закріплена лише за декількома з цих менших шардів.
Це значно зменшує навантаження даних на кожну окрему ноду, збільшуючи швидкість транзакцій. Крім того, це дозволяє мережі обробляти кілька потоків транзакцій паралельно, що значно покращує її масштабованість.
Але як це відбувається?
Як працює шардинг в криптопроектах?
Процес розділення величезної і децентралізованої мережі блокчейн насправді досить складний. Звичайно, мова йде не просто про розділення цих ланцюжків, вони також повинні мати можливість взаємодіяти один з одним, щоб переконатися, що мережа продовжує працювати як одне ціле.
По-перше, ви вже знаєте, що мережа розділена на кілька шард-ланцюгів, також відомих як рівні (шари) даних. Ці шари працюють незалежно, і кожен з них має власну групу нод. Учасники, яких часто називають комітетом, перевіряють і обробляють транзакції для свого конкретного шарда. По суті, коли ви ініціюєте транзакцію за допомогою шард-ланцюгів, вона спочатку потрапляє до призначених валідаторів цього шарду.
Але це ще не кінець історії. Хоча ці окремі шарди працюють незалежно, вони також можуть взаємодіяти один з одним. Для цього потрібен певний рівень, який може перевіряти роботу кожного з шард-ланцгів і дозволяти їм взаємодіяти один з одним. Він відомий як координаційний рівень.
Якщо розібратись більш детально, блок транслюється на координаційний рівень тільки після того, як він підтверджений вузлами шард-ланцюгів. На цьому етапі координаційний рівень перевіряє кожен блок на валідність. Якщо так, то він додає блок до своїх записів, а якщо ні, то відхиляє його. Це допомагає шард-ланцюгам залишатися узгодженими один з одним – по суті, гарантуючи безпеку системи. Це також забезпечує взаємодію між шардами, оскільки цей рівень гарантує, що кожен шард може читати дані інших шардів.
Переваги шардингу
Шардинг має багато переваг, але основними з них є збільшення TPS та швидкості транзакцій.
- Збільшення пропускної здатності
Оскільки мережа розділена на безліч шард-ланцюжків і кожен шард-ланцюжок має власні валідатори, ширша мережа може обробляти набагато більше транзакцій одночасно. Це змінює правила гри для дуже великих і завантажених мереж.
Наприклад, Ethereum може обробляти лише 15-30 транзакцій в секунду (TPS). Уявіть, наскільки корисною вона могла б бути, якби могла обробляти 100 транзакцій в секунду. Для порівняння, Visa обробляє приблизно 1000-4000 транзакцій в секунду. Таким чином, у блокчейнів попереду ще довгий шлях.
- Збільшення швидкості транзакцій
Поділ мережі на шарди також означає, що кожен шард менш обтяжений чергою транзакцій. Оскільки кожен шард-ланцюг отримує лише частину блоків мережі, вузлам не потрібно зберігати так багато даних, і в черзі залишається менше транзакцій. Це означає, що валідатори можуть обробляти ваші транзакції набагато швидше, ніж в традиційних ланцюжках.
Ризики шардингу
Тепер ви знаєте, що шардинг забезпечує масштабування, що важливо для будь-якого великого блокчейну. Але, як і будь-яка нова технологія, він має свої недоліки. Давайте розглянемо деякі з недоліків шардингу блокчейн-мережі:
- Ризики централізації
Оскільки вузли блокчейну розподілені між різними ланцюжками, залишається менше вузлів, що забезпечують безпеку кожного шарду. Це робить мережу менш децентралізованою і, можливо, відкриває двері для проблем централізації валідатора, таких як змова або поглинання 51%. Коротше кажучи, шардинг менших мереж може призвести до того, що хакери націляться на валідаторів. Чим менше валідаторів, тим легше зловмисникам атакувати систему. Втім, шардеризація досить завантаженої мережі не повинна бути проблемою, оскільки навіть в одному шарді має бути достатньо валідаторів, щоб залишатися децентралізованою.
- Неузгодженість даних
При шардингу також існує ризик неузгодженості даних. Оскільки кожен ланцюжок шардів є незалежним, існує ймовірність того, що один шард може записувати різні дані в інший. У цьому випадку стан мережі стає неузгодженим, якщо є розбіжності між ланцюжками шардів. У таких випадках використання, як децентралізовані фінанси, неузгодженість даних є величезною проблемою, оскільки це може призвести до втрати коштів користувачів.
Крім того, координація та комунікація між різними шард-ланцюгами та координаційним рівнем також є важливим аспектом функціонування мережі. Через додаткову складність, яку вносять шарди, зростає ймовірність падіння системи, якщо якийсь один компонент вийде з ладу.
Шардинг в Ethereum
Тепер ви знаєте все про шардинг, але чи знали ви, що Ethereum планує впровадити це рішення для масштабування? Так і є! Мета – поліпшити здатність мережі обробляти більше транзакцій одночасно і з більшою швидкістю.
Але навіщо взагалі потрібен шардинг?
Проблема масштабованості Ethereum
Як і всі мережі з proof-of-stake, Ethereum використовує валідаторів, щоб пропонувати і обробляти блоки в черзі. Однак, чим більше активних користувачів в мережі, тим довшою стає черга. Це значно уповільнює транзакції. На жаль, це суперечить плану масового впровадження криптовалюти.
Простіше кажучи, мережева архітектура Ethereum не здатна масштабуватися після певного обсягу транзакцій, зберігаючи при цьому зручність для користувачів. Це одна з головних причин попереднього переходу до консенсусу Proof of Stake і чому зараз розглядається можливість масштабування, наприклад, шардинг.
Плани шардингу Ethereum і сплеск попиту на нього
Ethereum планує впровадити цей механізм під час “Surge” – оновлення мережі, описаного в блозі Віталія Бутеріна. Після цього процесу ланцюг-маячок візьме на себе роль координаційного рівня, а 64 інших шард-ланцюгів працюватимуть разом з ним.
Приклад Віталія Бутеріна про те, як буде працювати шардинг блокчейну Ethereum
Крім того, планується також зменшити ризики централізації та неузгодженості даних, пов’язані з його впровадженням. Щоб уникнути першого, Ethereum буде використовувати випадкову вибірку. Це означає, що валідатори отримують шарди випадковим чином. Крім того, вони будуть постійно перепризначатися. Це захищає від отримання хакерами контролю над більшістю вузлів в одному шарді.
Для усунення невідповідностей в даних Ethereum планує використовувати такі методи, як впорядкування транзакцій і докази шахрайства. Це, по суті, забезпечить узгодженість даних і їх захист від нечесної діяльності.
Однак, важливо відзначити, що під час цього етапу оновлення в гру вступить не тільки шардінг. Планується також впровадження rollups (згортання) для покращення масштабованості мережі. Наприкінці цього етапу Ethereum планує досягти пропускної здатності в 100 000 транзакцій в секунду – це набагато більше, ніж він здатен зробити сьогодні.
Цікаво, що Surge планувалося випустити в другій половині 2023 року. Але оскільки запуск Merge відбувся набагато пізніше, ніж очікувалося, в цей графік можуть бути внесені деякі корективи.
Шардінг, другий рівень, роллапи: У чому різниця?
Поряд з шардінгом, роллапи блокчейну також пропонують схожі переваги. Роллапи зазвичай називають рішеннями другого рівня, і вони мають ті ж самі цілі, але за допомогою іншого методу. Якщо коротко, то згортання передбачає створення окремого ланцюжка, який обробляє багато транзакцій разом, а потім передає їх назад до початкового ланцюжка. Це звільняє основний ланцюжок від обробки транзакцій з великим об’ємом даних, зменшуючи перевантаження. Вони бувають декількох різних типів, але по суті всі типи роллапінгу зменшують навантаження на ноди.
Шардинг відрізняється тим, що він буквально розділяє всю мережу на частини в межах одного ланцюжка, а потім обробляє транзакції паралельно. Це означає, що він зосереджується на обробці великої кількості транзакцій одночасно, тим самим підвищуючи швидкість транзакцій. Роллапи більше зосереджені на зменшенні обсягу даних в блоці, обробляючи ці важкі дані окремо від початкового ланцюжка.
Хоча ще занадто рано говорити про те, яке рішення є найкращим – або чи є їх поєднання більш доцільним, – очевидно, що масштабованість є однією з найважливіших проблем, з якими стикаються сучасні блокчейни. Для того, щоб ця технологія набула масового поширення, вона повинна мати можливість технічної підтримки діяльності. Таким чином, рішення для масштабування будуть продовжувати розвиватися.
Шардінг: Лише одне з багатьох рішень для масштабування.
Хоча нам ще належить побачити вплив шардингу на багато блокчейн ланцюгів, це, безумовно, цікаве рішення для масштабування великих блокчейнів. Для того, щоб впоратися зі сплесками використання мереж, які стають все більш популярними, масштабування є необхідністю.
Хочете розібратись більш детально або навіть взяти участь у розробках? Почніть вивчати шардизовані мережі, такі як NEAR і Polkadot. З web3.org.ua всі ці мережі (і не тільки) знаходяться всього в декількох кліках від вас. Незалежно від того, чи хочете ви зберігати, інвестувати або навіть торгувати криптовалютою.
Розвивайся та пізнавай нове з web3.org.ua.