Що таке реорганізація ланцюга в технології блокчейн?
Що таке реорганізація ланцюга?
Реорганізація, скорочено “реорг”, виникає, коли блок видаляється з блокчейну, щоб звільнити місце для довшого ланцюга.
Незважаючи на свій потенціал, блокчейн стикається з багатьма перешкодами. Наприклад, конфлікт блоків є найбільш поширеною проблемою блокчейну, коли два блоки створюються майже одночасно, це може призводити до утворення форку (розгалуження) в блокчейні.
Існуючий метод вирішення таких конфліктів базується на правилі найдовшого ланцюга (Longest Chain Rule, LCR). Якщо існує кілька блоків, вважається дійсним найдовший ланцюг. Це означає, що кожен вузол (node) дотримується протоколу і намагається подовжити найдовшу гілку, про яку йому відомо. Оскільки транзакції на “неправильній” стороні форку будуть реорганізовані в нові блоки, це правило призводить до затримки деяких транзакцій і, відповідно, до реорганізації блокчейну.
Реорганізація ланцюга може статися у більш завантажених блокчейнах, таких як Bitcoin і Ethereum, де вузли можуть створити новий блок одночасно і в одному місці. У такому випадку вузол, який створює коротший ланцюг, реорганізує свій ланцюг. По суті, реорганізація забезпечує, що всі оператори вузлів мають однакову копію розподіленого реєстру.
Як працює реорганізація ланцюга?
Реорганізаційна атака в блокчейні стосується розщеплення ланцюгів, коли вузли отримують блоки з нового ланцюга, тоді як старий ланцюг продовжує існувати.
25 травня Beacon Chain в Ethereum зазнав семиблокової реорганізації і опинився під загрозою високорівневої атаки, яка називається реорганізація ланцюга. Валідатори в Eth2 (зараз це оновлений рівень консенсусу Beacon Chain) вийшли з синхронізації після оновлення клієнта, що підвищило рівень сервісу окремих клієнтів. Проте під час процесу валідатори були спантеличені і не оновили свої клієнти.
Семиблокова реорганізація означає, що сім блоків транзакцій були додані до ланцюга, який згодом було відкинуто мережею як неканонічний. Отже, реорганізація блокчейну відбувається, якщо деякі оператори вузлів працюють швидше за інших. У такому сценарії швидші вузли не зможуть домовитися, який блок слід обробити першим, і продовжуватимуть додавати блоки до власного ланцюга, залишаючи коротший ланцюг, коли буде створено наступний блок.
Наприклад, майнери X і Y можуть одночасно знайти дійсний блок, але через схему поширення блоків у рівноправній мережі частина мережі побачить блок X раніше, ніж блок Y.
Якщо два блоки мають однакову складність, буде створено “нічию”, і клієнти будуть змушені вибирати або випадковим чином, або використовувати блок, який вони побачили раніше. Коли третій майнер Z створює блок поверх блоку X або Y, зазвичай нічию буде розв’язано, а інший блок буде забутий, що призводить до реорганізації блокчейну.
У випадку з реорганізацією Beacon Chain в Ethereum вузли, оновлені до останньої версії, були приблизно на 12 секунд швидшими за валідаторів, які не оновили клієнтів, на блоці 3,887,074. Реорганізація ланцюга Ethereum трапляється, коли оновлені клієнти створюють наступний блок перед тим, як більшість валідаторів устигне це зробити. Це заплутувало валідаторів щодо того, хто повинен запропонувати початковий блок.
Престон Ван Лун, провідний розробник Ethereum, зазначив, що реорганізація відбулася через впровадження механізму Proposer Boost, який ще не був повністю розгорнутий у мережі. Крім того, ця реорганізація є результатом розділення клієнтського програмного забезпечення на оновлені та застарілі версії, а не наслідком поганого вибору форку.
Як блоки зʼєднуються в ланцюзі?
Нонсе створює криптографічний хеш, коли формується перший блок ланцюга. Якщо його не видобуто, дані блоку вважаються підписаними й нерозривно пов’язаними із нонсом і хешем.
Кожен блок містить заголовок і кілька транзакцій. Потім із транзакцій у блоці генерується хеш із фіксованою довжиною, який додається до заголовка блоку.
Після створення першого дійсного блоку кожен наступний блок повинен включати хеш попереднього заголовка блоку. Кожен дійсний блок пов’язаний із попередніми за допомогою хешу попереднього заголовка блоку, який міститься у кожному новому блоці. У результаті утворюється ланцюжок блоків (блокчейн), в якому кожен блок з’єднано зі своїми попередниками.
Який вплив має реорганізація ланцюга?
Реорганізація ланцюга збільшує витрати вузлів, погіршує досвід користувачів і сприяє вразливості децентралізованих фінансів (DeFi) та атак 51%.
Через необхідність переходу на новий форк оновлення стану мережі іноді вимагає витрат пам’яті та дискового простору під час реорганізації. У результаті користувачі змушені довше чекати, перш ніж вони зможуть упевнено вважати транзакцію підтвердженою. Наприклад, бізнеси, такі як біржі, можуть вимагати більше часу, перш ніж приймати внески.
Реорганізація також підвищує ризик збоїв транзакцій DeFi через людські помилки, що може призвести до нижчого, ніж очікувалося, прибутку від торгівлі. Крім того, реорганізація підвищує вразливість до атак 51%, адже зловмисникам більше не потрібно перевершувати всіх чесних майнерів — достатньо обійти відсоток чесних вузлів, які не реорганізувалися. Якщо реорганізація відбувається часто, це значно полегшує завдання атакуючих.
Які переваги та недоліки PoS-ланцюгів?
Блокчейни Proof-of-Stake (PoS) мають численні переваги перед блокчейнами Proof-of-Work (PoW), оскільки вони є більш екологічно чистими та позбавленими централізації. Проте існують також певні недоліки, такі як “подвійне витрачання” в разі реорганізації блокчейну.
По-перше, механізм консенсусу PoS є значно екологічнішим порівняно з PoW. По суті, майнерам не потрібно витрачати обчислювальну потужність на марні розрахунки для захисту мережі.
По-друге, відсутні проблеми із централізацією. На відміну від PoW, де майнінг здебільшого контролюється спеціалізованими апаратними пристроями і є суттєвий ризик монополізації ринку одним великим майнером, PoS у довгостроковій перспективі є дружнім до звичайних процесорів.
Однак використання PoS має кілька недоліків. Наприклад, проблема “нічого на кону”. Майнерам немає чого втрачати, голосуючи за кілька історій блокчейну. Це тому, що, на відміну від PoW, вартість майнінгу на кількох ланцюгах є низькою, і майнери можуть спробувати “подвійне витрачання” без витрат у разі реорганізації блокчейну.