Автор: Еммануель Авосіка; Упорядник: Deep Tide TechFlow
Sidechains і Rollups — це два рішення проблем масштабованості блокчейна. В основі обох рішень лежить ідея перенесення обчислень із блокчейнів з обмеженими ресурсами, таких як Ethereum, на автономні блокчейни, оптимізовані для масштабування. Цей підхід забезпечує такі переваги, як нижча вартість транзакції, менша затримка та вища загальна пропускна здатність. Але на цьому схожість закінчується.
Sidechains і Rollups принципово відрізняються за своїм підходом до масштабування, а також за дизайнерськими рішеннями та компромісами. Для розробників, які хочуть використовувати обидва рішення для створення масштабованих програм, важливо розуміти відмінності.
У цій статті наведено огляд зведених пакетів і сайдчейнів, а також досліджено їх відмінності в архітектурі, гарантіях безпеки, продуктивності масштабування тощо.
**Що таке сайдчейн? **
**Бічні ланцюги — це мережі блокчейнів, які працюють паралельно з іншим блокчейном (так званий «основний ланцюг»). **Як правило, бічні ланцюги з’єднані з основним ланцюгом через двосторонній перехресний міст, що дозволяє передавати активи між двома мережами та, можливо, довільні дані, такі як стан контракту, докази Merkle та результати конкретних транзакцій.
Більшість бічних ланцюгів мають власний механізм консенсусу та валідатори, окремі від основного ланцюга. Це дозволяє бічним ланцюгам здійснювати розрахунки та завершувати транзакції, не покладаючись на інші блокчейни. Однак це також означає, що безпека коштів, які підключаються до бічних ланцюгів, залежить від наявності потужних криптоекономічних стимулів для запобігання зловмисній поведінці серед валідаторів.
Тип сайдчейна
**Бічні ланцюги, сумісні та не сумісні з EVM: ** Сумісні з EVM бічні ланцюги використовують спеціальну реалізацію віртуальної машини Ethereum, середовища виконання для розгортання смарт-контрактів на Ethereum. Насправді більшість цих блокчейнів спочатку були розгалужені з go-ethereum (також відомого як Geth, найпопулярніша реалізація протоколу ethereum).
Зберігаючи більшість функцій дизайну Ethereum (наприклад, підтримку смарт-контрактів), EVM-сумісні сайдчейни оптимізовані в інших аспектах, особливо в механізмі консенсусу, для підвищення ефективності виконання та пропускної здатності. Сьогодні сайдчейни, сумісні з EVM, запускають більшість смарт-контрактів, написаних на мовах EVM, таких як Solidity, одночасно зменшуючи витрати та затримку для користувачів децентралізованих програм.
Сайдчейни, що не належать до EVM, реалізують різні архітектури віртуальних машин і не можуть запускати рідні додатки Ethereum без ретельного рефакторингу коду. Розробники, які створюють ланцюги, що не належать до EVM, не можуть використовувати знайомі середовища та інструменти розробки EVM (такі як Truffle, Remix, Hardhat), і їм, можливо, доведеться вивчити інші мови (такі як Rust або Golang) для створення dapps.
Примітка: Avalanche, Fantom, Celo та Palm є прикладами бічних ланцюгів, сумісних з EVM. NEAR, Solana та Algorand є прикладами бічних ланцюгів, що не є EVM.
Ланцюжки фіксації та оптимістичні бічні ланцюжки: не кожен бічний ланцюжок повністю покладається на власну безпеку; деякі бічні ланцюги, зокрема ланцюжки фіксації та оптимістичні ланцюжки, покладаються на основний ланцюг, щоб забезпечити певні гарантії безпеки. Ланцюжок комітів періодично надсилає криптографічні зобов’язання (такі як заголовки блоків) в інший блокчейн для оновлення свого останнього стану. Головний ланцюг не може перевірити ці докази стану, оскільки він не має доступу до стану бічного ланцюга, але він гарантує, що чесні учасники можуть оскаржити недійсні заголовки блоків до їх підтвердження.
Як правило, це робиться шляхом впровадження смарт-контракту в основному ланцюзі, який обробляє винагороди, ставки, ротацію та штрафи для валідаторів сайдчейну. Якщо валідатор допускає доказове порушення (наприклад, підписує два блоки на одній висоті), будь-хто може надіслати доказ до смарт-контракту та скоротити ставку цього валідатора.
Ланцюжок Optimistic працює аналогічно, вимагаючи від валідаторів періодичної передачі заголовків блоків до смарт-контракту основного ланцюга. Однак оптимістичний ланцюжок не має окремого механізму консенсусу — заголовки блоків просто вважаються дійсними, доки не будуть оскаржені засобами запобігання шахрайству. Таким чином, оптимістичний ланцюжок може працювати лише з одним (чесним) валідатором, тоді як бічний ланцюг фіксації потребує кількох валідаторів для належної роботи.
В обох випадках чесні учасники можуть довести батьківському блокчейну, що зловмисна поведінка сталася на сайдчейні. Таким чином, навіть якщо більшість верифікаторів бічного ланцюга є злими, користувачі все одно можуть отримати певну гарантію безпеки.
Але важливо зазначити, що чесні учасники не можуть довести зловмисну поведінку без доступу до даних про стан, що зберігаються в блоці. Однак, оскільки основний ланцюг отримує лише заголовки блоків (а не тіла блоків) від бічних ланцюгів, він не може гарантувати доступність блоків. Це дозволяє нечесним авторам блоків приховувати дані блоків для нечесних дій, таких як крадіжка коштів із міжланцюгових мостів.
Ця проблема відома як проблема доступності даних, і вона лежить в основі відмінностей у властивостях безпеки всіх бічних ланцюжків (не лише ланцюжків фіксації, оптимістичних бічних ланцюгів і зведених даних).
**Що таке зведення? **
**Зведення покращує масштабованість основного блокчейну, обробляючи транзакції в окремому середовищі виконання. Подібно до бічних ланцюгів, Rollups має міжланцюговий міст для передачі активів між батьківським блокчейном і Rollup. Вони також впроваджують оптимізацію для збільшення швидкості обчислення та економічності для користувачів. **
Однак Rollup періодично надсилатиме блоки до основного ланцюга, таким чином успадковуючи характеристики безпеки та децентралізації основного ланцюга. Це означає, що батьківський блокчейн надає Rollup гарантії наступних властивостей безпеки:
Доступність: доступність блоків Rollup гарантується, оскільки дані зберігаються в більш децентралізованій і безпечній материнській мережі. Наприклад, користувачі завжди можуть засвідчити міжланцюгові бридж-контрактами деталі стану Rollup (наприклад, володіння певними токенами) і зняти кошти, тоді як валідатори Rollup приховують дані транзакцій.
Дійсність: можна завершити лише зведені блоки, які відповідають умовам дійсності, встановленим батьківським ланцюгом.
Живучість: оскільки дані Rollup зберігаються на базовому рівні, будь-хто може відновити останній дійсний стан Rollup і створити нові блоки. Крім того, користувачі можуть примусово включити транзакцію в зведений пакет, надіславши його до інтелектуального контракту зведеного в ланцюжку.
Тип зведення
Є дві форми зведення: оптимістичний і з нульовим знанням. **Zero-knowledge Rollup (також відомий як Validity Rollup) надсилає блоки до батьківського ланцюга разом із доказами для підтвердження правильності виконання транзакцій поза мережею. Якщо доказ перевірено в ланцюжку, блок буде завершено на базовому рівні.
Блоки, представлені Optimistic Rollup, не мають жодних доказів, які б доводили дійсність розрахунків поза мережею. Блокування просто вважається дійсним, якщо результат транзакції не оскаржується іншою стороною через «доказ шахрайства». Доказ шахрайства приймає форму гри перевірки. За втручання батьківського ланцюга дві сторони сперечаються щодо розрахунків, доки не буде знайдено нечесну сторону.
Оптимістичні зведення названі на честь оптимістичних припущень про те, що більшість переходів станів дійсні. Однак це оптимістичне припущення в поєднанні з криптоекономічними стимулами гарантує, що якщо недійсний блок не буде залишатися незмінним протягом тривалого часу, він ніколи не буде завершений головним ланцюгом.
Примітка. Arbitrum і Optimism є прикладами оптимістичних зведень.
Сумісність з EVM є ще однією важливою відмінністю між Optimistic і Zero-Knowledge Rollups. Хоча Optimistic Rollups сумісні з EVM, Zero-Knowledge Rollups відрізняються сумісністю з EVM. Оскільки перевірка власних інструкцій EVM у схемі перевірки є складною та ресурсомісткою, деякі зведені програми ефективності використовують власні набори інструкцій віртуальної машини, оптимізовані для більш ефективних перевірок.
Для EVM-сумісного ZK-Rollup ми описуємо його середовище виконання як «Zero-Knowledge EVM» (ZK-EVM). ZK-EVM може виконувати смарт-контракти Ethereum поза мережею та доводити, що всі частини обчислень виконано правильно. Таким чином, ZK-Rollup вважається більш безпечним, ніж Optimistic Rollup, який спирається на криптоекономічні стимули та припущення чесності, щоб запобігти недійсному виконанню.
Linea є прикладом зведеного пакета ефективності другого рівня з повною підтримкою EVM, що дозволяє розробникам повторно використовувати інфраструктуру та інструменти Ethereum для створення прикладних програм. Навпаки, розгортання на ZK-Rollup, що не належить EVM, наприклад StarkNet, вимагає (а) створення смарт-контрактів з іншим стеком або (б) модифікації кодової бази для запуску у віртуальній машині StarkNet.
**Чим сайдчейн відрізняється від Rollup? **
Пропускна здатність: бічні ланцюги зазвичай мають вищу середню пропускну здатність транзакцій, ніж зведені транзакції, оскільки вони не залежать від консенсусу основного ланцюга та доступності даних. Наприклад, бокові ланцюги можуть досягати великих розмірів блоків і надзвичайно швидкого блокування для більшої пропускної здатності, чого Rollup не може зробити.
Зведення має уникати обробки такої кількості транзакцій, що пакети транзакцій не можуть поміститися в один блок основного ланцюга. Інакше це призведе до повторного завантаження на базовому рівні та ускладнить роботу з блоками, створеними Rollup. Таким чином, пропускна здатність батьківського ланцюга Rollup накладає ефективне обмеження на його пропускну здатність.
Навіть бічні ланцюги, які частково покладаються на безпеку основного ланцюга (такі як ланцюжки фіксації та оптимістичні ланцюги), все одно перевершують Rollup у пропускній здатності.
Вартість: порівняно з Rollup користувачі можуть сплачувати менше комісій за транзакції в бічній мережі. Як і інші відмінності між бічними ланцюгами та Rollups, ця відмінність пов’язана з залежністю Rollups від батьківського ланцюга для врегулювання та остаточності. Ось деякі з операційних витрат, понесених Rollup (ці витрати несе користувач):
Зберігання даних: закріплення блоку Rollup на базовому рівні спричиняє постійну вартість (вартість включення транзакції в блок) і змінну вартість (залежно від розміру блоку Rollup). У результаті Rollup стягує з користувачів плату за обчислення та дані, а транзакції з великими обсягами даних платять більше, і навпаки.
Генерація та перевірка доказів: Zero-knowledge Rollup потребує створення доказів дійсності для перевірки базового рівня, що спричинить додаткові витрати. Перевірка доказу дійсності вимагає багато ресурсів, наприклад, поточна вартість Ethereum становить близько 500 000 Gas.
Чисті сайдчейни не спричиняють зазначених вище витрат, тому їх використання є менш дорогим. Закріплення ланцюжків або бічних ланцюгів Optimistic може призвести до деяких додаткових витрат, таких як подання заголовків блоків, але ці витрати незначні. Крім того, витрати можна зменшити шляхом накопичення кількох заголовків блоків в одній транзакції.
Завершеність: бічний ланцюг, який повністю відповідає за свою безпеку, має миттєву остаточність, коли блокування не можна відкликати після схвалення більшістю валідаторів. Однак ланцюжки фіксації або оптимістичні бічні ланцюги не застосовуються до цього правила, оскільки вони повинні враховувати проблеми, які можуть затримати фіналізацію заголовка блоку.
Як правило, зведені з різних причин мають більший час завершення, ніж чисті сайдчейни. Наприклад, Optimistic Rollup затримує підтвердження транзакцій, щоб чесні учасники мали достатньо часу, щоб оскаржити недійсні оновлення стану.
Зведені версії мають миттєву остаточність (після перевірки), але мають довший час остаточності, ніж чисті сайдчейни. Через високу вартість генерації та перевірки доказів дійсності серіалізатори віддають перевагу накопиченню великої кількості транзакцій перед тим, як створювати та надсилати докази дійсності для пакета.
Безпека: безпека Rollup (Optimistic або zero-knowledge) гарантується базовим блокчейном, що зменшує припущення про довіру користувачів. Як пояснювалося раніше, Rollup покладається на (економічно безпечний) основний ланцюг для консенсусу та доступності даних (на відміну від бічних ланцюгів). Це зменшує ризик цензури, заморожених вилучень, недійсного виконання тощо.
За їх безпеку відповідають чисті сайдчейни. Однак запуск різноманітних і надійних валідаторів може бути важким, тому сайдчейни вважаються менш безпечними, ніж зведені версії.
Ланцюжки фіксації та сайдчейни Optimistic є трохи безпечнішими, ніж чисті сайдчейни, але користувачі повинні довіряти доступності даних валідаторів і пропонентів. У разі атаки з приховуванням даних без штрафних санкцій ланцюжок фіксації та сайдчейн Optimistic не матимуть жодних гарантій безпеки.
Міст між ланцюжками: зведені та бічні ланцюги (здебільшого) використовують ту саму схему перемикання активів: заблокуйте X токенів у смарт-контракті в основному ланцюзі та карбуйте X токени для користувачів у дочірньому ланцюзі. Вони відрізняються тим, як забезпечені кошти, внесені в бридж-контракт.
Оскільки зведення є специфічними для конкретного блокчейну базового рівня, зазвичай існує «канонічний міст», який з’єднує їх. Кошти, внесені в міст Rollup, захищені материнським ланцюгом:
Кошти, внесені в Validity Rollup, можна вивести лише після перевірки того, що докази, пов’язані з пакетом, що містить транзакцію виходу, перевірені в мережі.
Для Optimistic Rollup користувачі можуть виводити кошти, лише якщо блок, що містить транзакцію виведення коштів користувача, не оскаржено після закінчення вікна оскарження (приблизно 1-2 тижні).
Натомість безпека коштів, що зберігаються в мості сайдчейну, залежить від його конструкції. Наприклад, якщо сайдчейн має канонічний перехресний міст з іншим блокчейном, то безпека мостових коштів залежить від того, наскільки чесними є валідатори. Інша проблема полягає в тому, чи перевіряється міст усім валідатором (наприклад, мостом Polygon PoS) чи невеликим набором зовнішніх валідаторів (наприклад, мостом Avalanche-Ethereum).
Різниця в часі завершення між Rollup і sidechain bridged також пояснює різницю між ними. Наприклад, користувачі Optimistic Rollup відчують більше затримок під час повернення коштів до основного ланцюга через необхідність чекати вікна оскарження. За допомогою бічного ланцюга користувачі можуть знімати кошти з крос-ланцюгового мостового контракту після отримання завершеного заголовка блоку (і, якщо необхідно, дійсного підтвердження Merkle).
Виберіть між Rollup і Sidechain
Під час розгортання смарт-контрактів вибір між використанням Rollups або сайдчейнів залежить від ваших цілей, відгуків користувачів і потреб проекту. Ось переваги використання Rollups, сайдчейнів або обох у різних ситуаціях.
Коли використовувати Rollup:
Ваші користувачі очікують найвищого рівня безпеки.
Ваші користувачі можуть терпіти дещо вищу вартість і збільшену затримку/завершеність. Зведені набагато дешевші та швидші (на порядки), ніж Ethereum, але не можуть відповідати бічним ланцюгам за цими показниками.
Ви (або ваші користувачі) бажаєте тіснішого зв’язку з екосистемою батьківського ланцюга (наприклад, Ethereum).
Ви плануєте покращити взаємодію з користувачами DApp у Rollup. Це може означати використання постачальника ліквідності, щоб зменшити затримку виведення коштів із Optimistic Rollup, або впровадження оптимізації коду, щоб зменшити дані про транзакції, які генеруються під час взаємодії користувачів із вашим смарт-контрактом.
Ви хочете використовувати інструменти та інфраструктуру EVM під час створення свого DApp. Більшість Rollups сумісні з EVM і використовують ті самі інструменти, клієнтське програмне забезпечення та API вузлів, що й Ethereum.
Коли використовувати сайдчейни:
Ваші користувачі хочуть здійснювати операції з найнижчими комісіями.
Ваші користувачі очікують, що транзакції будуть оброблені швидко, особливо під час перекриття коштів.
Ваші користувачі можуть терпіти підвищену довіру та нижчі гарантії безпеки.
Ви (або ваші користувачі) не вважаєте міцний зв’язок з екосистемою основного ланцюга пріоритетом.
Ви можете навчитися використовувати новий набір мов програмування, інструменти та інфраструктуру для побудови DApps (якщо використовуєте сайдчейни, відмінні від EVM).
Коли використовувати Sidechain і Rollup одночасно:
Ваш проект створив сильний мережевий вплив на один блокчейн і готовий до масштабування на кілька екосистем одночасно (наприклад, для збільшення ліквідності).
Ви хочете задовольнити різні типи користувачів і уникнути відчуження однієї сторони ринку.
Ваш проект має достатньо ресурсів для обробки міжланцюжкового масштабування. Це може означати наявність різних команд, відповідальних за розгортання вашого DApp на різних платформах блокчейну.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Обговорення Sidechain і Rollup: подібності та відмінності в архітектурі, гарантії безпеки та масштабованості
Автор: Еммануель Авосіка; Упорядник: Deep Tide TechFlow
Sidechains і Rollups — це два рішення проблем масштабованості блокчейна. В основі обох рішень лежить ідея перенесення обчислень із блокчейнів з обмеженими ресурсами, таких як Ethereum, на автономні блокчейни, оптимізовані для масштабування. Цей підхід забезпечує такі переваги, як нижча вартість транзакції, менша затримка та вища загальна пропускна здатність. Але на цьому схожість закінчується.
Sidechains і Rollups принципово відрізняються за своїм підходом до масштабування, а також за дизайнерськими рішеннями та компромісами. Для розробників, які хочуть використовувати обидва рішення для створення масштабованих програм, важливо розуміти відмінності.
У цій статті наведено огляд зведених пакетів і сайдчейнів, а також досліджено їх відмінності в архітектурі, гарантіях безпеки, продуктивності масштабування тощо.
**Що таке сайдчейн? **
**Бічні ланцюги — це мережі блокчейнів, які працюють паралельно з іншим блокчейном (так званий «основний ланцюг»). **Як правило, бічні ланцюги з’єднані з основним ланцюгом через двосторонній перехресний міст, що дозволяє передавати активи між двома мережами та, можливо, довільні дані, такі як стан контракту, докази Merkle та результати конкретних транзакцій.
Більшість бічних ланцюгів мають власний механізм консенсусу та валідатори, окремі від основного ланцюга. Це дозволяє бічним ланцюгам здійснювати розрахунки та завершувати транзакції, не покладаючись на інші блокчейни. Однак це також означає, що безпека коштів, які підключаються до бічних ланцюгів, залежить від наявності потужних криптоекономічних стимулів для запобігання зловмисній поведінці серед валідаторів.
Тип сайдчейна
**Бічні ланцюги, сумісні та не сумісні з EVM: ** Сумісні з EVM бічні ланцюги використовують спеціальну реалізацію віртуальної машини Ethereum, середовища виконання для розгортання смарт-контрактів на Ethereum. Насправді більшість цих блокчейнів спочатку були розгалужені з go-ethereum (також відомого як Geth, найпопулярніша реалізація протоколу ethereum).
Зберігаючи більшість функцій дизайну Ethereum (наприклад, підтримку смарт-контрактів), EVM-сумісні сайдчейни оптимізовані в інших аспектах, особливо в механізмі консенсусу, для підвищення ефективності виконання та пропускної здатності. Сьогодні сайдчейни, сумісні з EVM, запускають більшість смарт-контрактів, написаних на мовах EVM, таких як Solidity, одночасно зменшуючи витрати та затримку для користувачів децентралізованих програм.
Сайдчейни, що не належать до EVM, реалізують різні архітектури віртуальних машин і не можуть запускати рідні додатки Ethereum без ретельного рефакторингу коду. Розробники, які створюють ланцюги, що не належать до EVM, не можуть використовувати знайомі середовища та інструменти розробки EVM (такі як Truffle, Remix, Hardhat), і їм, можливо, доведеться вивчити інші мови (такі як Rust або Golang) для створення dapps.
Примітка: Avalanche, Fantom, Celo та Palm є прикладами бічних ланцюгів, сумісних з EVM. NEAR, Solana та Algorand є прикладами бічних ланцюгів, що не є EVM.
Ланцюжки фіксації та оптимістичні бічні ланцюжки: не кожен бічний ланцюжок повністю покладається на власну безпеку; деякі бічні ланцюги, зокрема ланцюжки фіксації та оптимістичні ланцюжки, покладаються на основний ланцюг, щоб забезпечити певні гарантії безпеки. Ланцюжок комітів періодично надсилає криптографічні зобов’язання (такі як заголовки блоків) в інший блокчейн для оновлення свого останнього стану. Головний ланцюг не може перевірити ці докази стану, оскільки він не має доступу до стану бічного ланцюга, але він гарантує, що чесні учасники можуть оскаржити недійсні заголовки блоків до їх підтвердження.
Як правило, це робиться шляхом впровадження смарт-контракту в основному ланцюзі, який обробляє винагороди, ставки, ротацію та штрафи для валідаторів сайдчейну. Якщо валідатор допускає доказове порушення (наприклад, підписує два блоки на одній висоті), будь-хто може надіслати доказ до смарт-контракту та скоротити ставку цього валідатора.
Ланцюжок Optimistic працює аналогічно, вимагаючи від валідаторів періодичної передачі заголовків блоків до смарт-контракту основного ланцюга. Однак оптимістичний ланцюжок не має окремого механізму консенсусу — заголовки блоків просто вважаються дійсними, доки не будуть оскаржені засобами запобігання шахрайству. Таким чином, оптимістичний ланцюжок може працювати лише з одним (чесним) валідатором, тоді як бічний ланцюг фіксації потребує кількох валідаторів для належної роботи.
В обох випадках чесні учасники можуть довести батьківському блокчейну, що зловмисна поведінка сталася на сайдчейні. Таким чином, навіть якщо більшість верифікаторів бічного ланцюга є злими, користувачі все одно можуть отримати певну гарантію безпеки.
Але важливо зазначити, що чесні учасники не можуть довести зловмисну поведінку без доступу до даних про стан, що зберігаються в блоці. Однак, оскільки основний ланцюг отримує лише заголовки блоків (а не тіла блоків) від бічних ланцюгів, він не може гарантувати доступність блоків. Це дозволяє нечесним авторам блоків приховувати дані блоків для нечесних дій, таких як крадіжка коштів із міжланцюгових мостів.
Ця проблема відома як проблема доступності даних, і вона лежить в основі відмінностей у властивостях безпеки всіх бічних ланцюжків (не лише ланцюжків фіксації, оптимістичних бічних ланцюгів і зведених даних).
**Що таке зведення? **
**Зведення покращує масштабованість основного блокчейну, обробляючи транзакції в окремому середовищі виконання. Подібно до бічних ланцюгів, Rollups має міжланцюговий міст для передачі активів між батьківським блокчейном і Rollup. Вони також впроваджують оптимізацію для збільшення швидкості обчислення та економічності для користувачів. **
Однак Rollup періодично надсилатиме блоки до основного ланцюга, таким чином успадковуючи характеристики безпеки та децентралізації основного ланцюга. Це означає, що батьківський блокчейн надає Rollup гарантії наступних властивостей безпеки:
Тип зведення
Є дві форми зведення: оптимістичний і з нульовим знанням. **Zero-knowledge Rollup (також відомий як Validity Rollup) надсилає блоки до батьківського ланцюга разом із доказами для підтвердження правильності виконання транзакцій поза мережею. Якщо доказ перевірено в ланцюжку, блок буде завершено на базовому рівні.
Блоки, представлені Optimistic Rollup, не мають жодних доказів, які б доводили дійсність розрахунків поза мережею. Блокування просто вважається дійсним, якщо результат транзакції не оскаржується іншою стороною через «доказ шахрайства». Доказ шахрайства приймає форму гри перевірки. За втручання батьківського ланцюга дві сторони сперечаються щодо розрахунків, доки не буде знайдено нечесну сторону.
Оптимістичні зведення названі на честь оптимістичних припущень про те, що більшість переходів станів дійсні. Однак це оптимістичне припущення в поєднанні з криптоекономічними стимулами гарантує, що якщо недійсний блок не буде залишатися незмінним протягом тривалого часу, він ніколи не буде завершений головним ланцюгом.
Примітка. Arbitrum і Optimism є прикладами оптимістичних зведень.
Сумісність з EVM є ще однією важливою відмінністю між Optimistic і Zero-Knowledge Rollups. Хоча Optimistic Rollups сумісні з EVM, Zero-Knowledge Rollups відрізняються сумісністю з EVM. Оскільки перевірка власних інструкцій EVM у схемі перевірки є складною та ресурсомісткою, деякі зведені програми ефективності використовують власні набори інструкцій віртуальної машини, оптимізовані для більш ефективних перевірок.
Для EVM-сумісного ZK-Rollup ми описуємо його середовище виконання як «Zero-Knowledge EVM» (ZK-EVM). ZK-EVM може виконувати смарт-контракти Ethereum поза мережею та доводити, що всі частини обчислень виконано правильно. Таким чином, ZK-Rollup вважається більш безпечним, ніж Optimistic Rollup, який спирається на криптоекономічні стимули та припущення чесності, щоб запобігти недійсному виконанню.
Linea є прикладом зведеного пакета ефективності другого рівня з повною підтримкою EVM, що дозволяє розробникам повторно використовувати інфраструктуру та інструменти Ethereum для створення прикладних програм. Навпаки, розгортання на ZK-Rollup, що не належить EVM, наприклад StarkNet, вимагає (а) створення смарт-контрактів з іншим стеком або (б) модифікації кодової бази для запуску у віртуальній машині StarkNet.
**Чим сайдчейн відрізняється від Rollup? **
Пропускна здатність: бічні ланцюги зазвичай мають вищу середню пропускну здатність транзакцій, ніж зведені транзакції, оскільки вони не залежать від консенсусу основного ланцюга та доступності даних. Наприклад, бокові ланцюги можуть досягати великих розмірів блоків і надзвичайно швидкого блокування для більшої пропускної здатності, чого Rollup не може зробити.
Зведення має уникати обробки такої кількості транзакцій, що пакети транзакцій не можуть поміститися в один блок основного ланцюга. Інакше це призведе до повторного завантаження на базовому рівні та ускладнить роботу з блоками, створеними Rollup. Таким чином, пропускна здатність батьківського ланцюга Rollup накладає ефективне обмеження на його пропускну здатність.
Навіть бічні ланцюги, які частково покладаються на безпеку основного ланцюга (такі як ланцюжки фіксації та оптимістичні ланцюги), все одно перевершують Rollup у пропускній здатності.
Вартість: порівняно з Rollup користувачі можуть сплачувати менше комісій за транзакції в бічній мережі. Як і інші відмінності між бічними ланцюгами та Rollups, ця відмінність пов’язана з залежністю Rollups від батьківського ланцюга для врегулювання та остаточності. Ось деякі з операційних витрат, понесених Rollup (ці витрати несе користувач):
Чисті сайдчейни не спричиняють зазначених вище витрат, тому їх використання є менш дорогим. Закріплення ланцюжків або бічних ланцюгів Optimistic може призвести до деяких додаткових витрат, таких як подання заголовків блоків, але ці витрати незначні. Крім того, витрати можна зменшити шляхом накопичення кількох заголовків блоків в одній транзакції.
Завершеність: бічний ланцюг, який повністю відповідає за свою безпеку, має миттєву остаточність, коли блокування не можна відкликати після схвалення більшістю валідаторів. Однак ланцюжки фіксації або оптимістичні бічні ланцюги не застосовуються до цього правила, оскільки вони повинні враховувати проблеми, які можуть затримати фіналізацію заголовка блоку.
Як правило, зведені з різних причин мають більший час завершення, ніж чисті сайдчейни. Наприклад, Optimistic Rollup затримує підтвердження транзакцій, щоб чесні учасники мали достатньо часу, щоб оскаржити недійсні оновлення стану.
Зведені версії мають миттєву остаточність (після перевірки), але мають довший час остаточності, ніж чисті сайдчейни. Через високу вартість генерації та перевірки доказів дійсності серіалізатори віддають перевагу накопиченню великої кількості транзакцій перед тим, як створювати та надсилати докази дійсності для пакета.
Безпека: безпека Rollup (Optimistic або zero-knowledge) гарантується базовим блокчейном, що зменшує припущення про довіру користувачів. Як пояснювалося раніше, Rollup покладається на (економічно безпечний) основний ланцюг для консенсусу та доступності даних (на відміну від бічних ланцюгів). Це зменшує ризик цензури, заморожених вилучень, недійсного виконання тощо.
За їх безпеку відповідають чисті сайдчейни. Однак запуск різноманітних і надійних валідаторів може бути важким, тому сайдчейни вважаються менш безпечними, ніж зведені версії.
Ланцюжки фіксації та сайдчейни Optimistic є трохи безпечнішими, ніж чисті сайдчейни, але користувачі повинні довіряти доступності даних валідаторів і пропонентів. У разі атаки з приховуванням даних без штрафних санкцій ланцюжок фіксації та сайдчейн Optimistic не матимуть жодних гарантій безпеки.
Міст між ланцюжками: зведені та бічні ланцюги (здебільшого) використовують ту саму схему перемикання активів: заблокуйте X токенів у смарт-контракті в основному ланцюзі та карбуйте X токени для користувачів у дочірньому ланцюзі. Вони відрізняються тим, як забезпечені кошти, внесені в бридж-контракт.
Оскільки зведення є специфічними для конкретного блокчейну базового рівня, зазвичай існує «канонічний міст», який з’єднує їх. Кошти, внесені в міст Rollup, захищені материнським ланцюгом:
Натомість безпека коштів, що зберігаються в мості сайдчейну, залежить від його конструкції. Наприклад, якщо сайдчейн має канонічний перехресний міст з іншим блокчейном, то безпека мостових коштів залежить від того, наскільки чесними є валідатори. Інша проблема полягає в тому, чи перевіряється міст усім валідатором (наприклад, мостом Polygon PoS) чи невеликим набором зовнішніх валідаторів (наприклад, мостом Avalanche-Ethereum).
Різниця в часі завершення між Rollup і sidechain bridged також пояснює різницю між ними. Наприклад, користувачі Optimistic Rollup відчують більше затримок під час повернення коштів до основного ланцюга через необхідність чекати вікна оскарження. За допомогою бічного ланцюга користувачі можуть знімати кошти з крос-ланцюгового мостового контракту після отримання завершеного заголовка блоку (і, якщо необхідно, дійсного підтвердження Merkle).
Виберіть між Rollup і Sidechain
Під час розгортання смарт-контрактів вибір між використанням Rollups або сайдчейнів залежить від ваших цілей, відгуків користувачів і потреб проекту. Ось переваги використання Rollups, сайдчейнів або обох у різних ситуаціях.
Коли використовувати Rollup:
Коли використовувати сайдчейни:
Коли використовувати Sidechain і Rollup одночасно: