У першій частині ми розглянули концепцію сумісності блокчейнів і те, як її важливість лише зростатиме, коли з’являться альтернативні L1, L2 і додатки. Велика кількість капіталу, що переміщується через мости, робить їх привабливими цілями для хакерів, і в 2022 році ми побачили 2,5 мільярда доларів, втрачених через уразливості кількох підписів і смарт-контрактів. З усіх експлойтів, які сталися того року, приголомшливі 69% були пов’язані з мостами.
Основою цих втрат були збої на етапі перевірки підключення, де механізм довіри, який використовувався для перевірки дійсності транзакції, підтримувався людьми та мультипідписами:
Враховуючи ці вразливості, етап перевірки в процесі з’єднання набагато краще обслуговується методами з мінімізованою довірою, які покладаються на код і математику.
Ось де консенсусні докази з’являються як потенційне рішення. Цей підхід ґрунтується на верифікації верифікатором блокчейну консенсусу вихідного ланцюга та використанні доказів нульового знання, щоб засвідчити дійсність транзакції перед вивільненням коштів до пункту призначення.
Це багато, щоб розпакувати, тому давайте спочатку визначимо, що ми маємо на увазі під перевіркою консенсусу блокчейну.
За своєю суттю блокчейни є книгами, які реєструють транзакції між обліковими записами, які обслуговуються вузлами, які не довіряють один одному. Оскільки існує багато вузлів, які перевіряють мережу блокчейн, між цими валідаторами має бути досягнуто згоди щодо того, який блок є останнім доданим, тобто вони повинні досягти «консенсусу» щодо останнього стану.
Джерело: адаптовано з ілюстрації Ethereum EVM
Надійна перевірка консенсусу ланцюга джерела щодо ланцюга призначення є ключем до з’єднання, тому що якщо ви можете перевірити останній блок ланцюга джерела з мінімізованою довірою, ви визначаєте останню «правду», а потім маєте можливість виконати відповідну дію на ланцюг призначення.
Перевірка консенсусу вихідного ланцюга для включення мосту
Для з’єднання протокол повинен визначити, що транзакція «депозит» у вихідному ланцюжку була здійснена правильно. На практиці це передбачає перевірку двох речей:
Після перевірки обох цільовий ланцюжок може передати активи користувачеві.
Вуаля, активи переведено.
Теоретично це звучить просто, але складною частиною є крок 1: для смарт-контракту в одному ланцюжку не так легко перевірити консенсус іншого (як правило, Ethereum як вихідного ланцюга).
Перше завдання, яке слід зазначити, полягає в тому, що різні блокчейни мають різні механізми консенсусу, і підтвердження консенсусу в кожному вихідному ланцюжку вимагає дуже специфічної інженерної роботи для налаштування. Це означає, що етап перевірки консенсусу потрібно буде налаштувати для кожного вихідного ланцюжка. Наразі давайте зосередимося на підтвердженні консенсусу Ethereum, оскільки він має левову частку TVL і є типовим мостом для користувачів L1.
Ethereum має великий набір валідаторів із понад 700 000, з яких понад 21 000 валідаторів голосують за блок у слоті. Щоб досягти остаточності, блок має отримати голоси від ⅔ набору валідатора, що приблизно еквівалентно 450 000 голосів валідатора. Перевірка повного консенсусу означатиме перевірку дійсності 450 000 підписів.
Менш громіздкий метод перевірки консенсусу Ethereum включає «легкий клієнтський протокол». Для цього використовується комітет синхронізації (512 валідаторів, вибраних випадковим чином кожні 27,3 години), щоб підтвердити, що останній запропонований блок дійсний. Тут перевірка консенсусу означає перевірку дійсності 512 агрегованих підписів.
У контексті перемикання смарт-контракт у ланцюжку призначення може використовувати протокол легкого клієнта та діяти як «легкий клієнт» у ланцюзі для перевірки останнього стану вихідного ланцюга та забезпечення «депозиту». Якщо він задоволений, смарт-контракт вивільняє кошти в ланцюжку призначення.
Перевірка консенсусу вихідного ланцюга (на Ethereum) через комітет синхронізації
Цей підхід не дуже практичний, оскільки перевірка 512 агрегованих підписів безпосередньо в смарт-контракті в ланцюжку є надзвичайно дорогою без попередньої компіляції, оскільки валідатори Ethereum використовують підписи BLS.
Отже, ключ до того, щоб це стало можливим, полягає в тому, щоб зробити крок перевірки поза мережею…
… і тут на допомогу приходять консенсусні докази.
Докази з нульовими знаннями з’явилися як життєздатне рішення, яке допомагає блокчейнам виконувати дорогі обчислення поза ланцюгом і перевіряти результат у ланцюзі. Це дозволяє перемикаючому смарт-контракту в цільовому ланцюжку перенести дорогі обчислення (наприклад, перевірку консенсусу вихідного ланцюга) до позаланцюгової перевірки нульових знань:
Перевірка за допомогою zk-доказів дозволяє нам наблизитися до мінімізації довіри
Після цих двох кроків смарт-контракт призначення може безпечно вивільнити кошти в ланцюжку призначення.
Використання консенсусних підтверджень для перевірки стану вихідного блокчейну є важливим кроком до мінімізації довіри, але покладатися на легкий клієнтський протокол і валідатори 512 має деякі обмеження (виділені в таблиці нижче).
Обмеження щодо покладання на комітет синхронізації для перевірки консенсусу
Таким чином, деякі команди працюють над підтвердженням повного консенсусу Ethereum, що є складним завданням і включатиме перевірку 450 000 підписів на момент написання статті. Зробити це в ланцюзі з нульовим знанням не є підлим подвигом, але такі команди, як Polyhedra Network і Succinct , взяли на себе зобов’язання досягти цього.
Що може бути краще, ніж підтвердити 512 підписів? 450 000 підписів!
Polyhedra Network нещодавно оголосила , що їм вдалося перевірити 21 000 підписів валідаторів, які підписують блок у певному слоті в ZK, і працюють над перевіркою всіх 450 000 підписів. Детальніше про їхній підхід і систему перевірки можна знайти в їхній роботі zkBridge.
Після того, як ми зможемо перевірити повний консенсус Ethereum у режимі нульового знання, перевірка консенсусу інших ланцюжків із меншими наборами валідаторів у режимі нульового знання стане відносно простою.
Незважаючи на те, що технологія з нульовим знанням і консенсусні докази вирішують людську помилку, обговорення було б неповним без визнання деяких ризиків, які виникають у зв’язку з їх використанням у зв’язку.
Технологія нульового знання швидко змінюється, оскільки продовжують з’являтися нові алгоритми та системи. Деякі з цих реалізацій не перевірені та можуть містити вразливості, що робить їх сприйнятливими до потенційного використання, коли виникають значні стимули. Більше того, навіть після аудиту такі складні криптографічні системи можуть містити невиявлені вектори атак, які з часом будуть ідентифіковані та виправлені, щоб досягти зрілого, загартованого в боях стану.
Більше того, ще належить з’ясувати, за якого обсягу транзакції витрати на створення та перевірку доказів із нульовим знанням стають достатньо амортизованими, щоб вважатися економічно ефективними.
На завершення ми висвітлимо деякі з гравців, які створюють рішення в цьому просторі. Хоча вони мають дещо різні підходи та вихід на ринки, вони розширюють межі того, що може зробити з’єднання на основі zk, і передвіщають появу сумісності з мінімізованою довірою.
Серед них маємо:
Команди, що працюють над консенсусними доказами
Сумісність є основною частиною інфраструктури блокчейну. У перших інінгах перемикання спостерігалися механізми довіри, підкріплені мультипідписами та скомпрометовані залежністю від людей. Зараз ми починаємо переходити до царства мостів, захищених криптографією та математикою, що стало можливим завдяки застосуванню доказів з нульовим знанням у контексті з’єднання.
У цій частині ми розглянули, як докази консенсусу допомагають розв’язати мости, перевіряючи останній завершений вихідний консенсус блокчейну.
Однак цю технологію можна розширити, щоб перевірити історичний консенсус, який уможливить більш гнучкі випадки міжланцюгового використання, окрім простого перемикання на даний момент. І це те, що ми досліджуватимемо в частині III нашої серії про сумісність: докази зберігання та випадки використання, які вони відкривають.
У першій частині ми розглянули концепцію сумісності блокчейнів і те, як її важливість лише зростатиме, коли з’являться альтернативні L1, L2 і додатки. Велика кількість капіталу, що переміщується через мости, робить їх привабливими цілями для хакерів, і в 2022 році ми побачили 2,5 мільярда доларів, втрачених через уразливості кількох підписів і смарт-контрактів. З усіх експлойтів, які сталися того року, приголомшливі 69% були пов’язані з мостами.
Основою цих втрат були збої на етапі перевірки підключення, де механізм довіри, який використовувався для перевірки дійсності транзакції, підтримувався людьми та мультипідписами:
Враховуючи ці вразливості, етап перевірки в процесі з’єднання набагато краще обслуговується методами з мінімізованою довірою, які покладаються на код і математику.
Ось де консенсусні докази з’являються як потенційне рішення. Цей підхід ґрунтується на верифікації верифікатором блокчейну консенсусу вихідного ланцюга та використанні доказів нульового знання, щоб засвідчити дійсність транзакції перед вивільненням коштів до пункту призначення.
Це багато, щоб розпакувати, тому давайте спочатку визначимо, що ми маємо на увазі під перевіркою консенсусу блокчейну.
За своєю суттю блокчейни є книгами, які реєструють транзакції між обліковими записами, які обслуговуються вузлами, які не довіряють один одному. Оскільки існує багато вузлів, які перевіряють мережу блокчейн, між цими валідаторами має бути досягнуто згоди щодо того, який блок є останнім доданим, тобто вони повинні досягти «консенсусу» щодо останнього стану.
Джерело: адаптовано з ілюстрації Ethereum EVM
Надійна перевірка консенсусу ланцюга джерела щодо ланцюга призначення є ключем до з’єднання, тому що якщо ви можете перевірити останній блок ланцюга джерела з мінімізованою довірою, ви визначаєте останню «правду», а потім маєте можливість виконати відповідну дію на ланцюг призначення.
Перевірка консенсусу вихідного ланцюга для включення мосту
Для з’єднання протокол повинен визначити, що транзакція «депозит» у вихідному ланцюжку була здійснена правильно. На практиці це передбачає перевірку двох речей:
Після перевірки обох цільовий ланцюжок може передати активи користувачеві.
Вуаля, активи переведено.
Теоретично це звучить просто, але складною частиною є крок 1: для смарт-контракту в одному ланцюжку не так легко перевірити консенсус іншого (як правило, Ethereum як вихідного ланцюга).
Перше завдання, яке слід зазначити, полягає в тому, що різні блокчейни мають різні механізми консенсусу, і підтвердження консенсусу в кожному вихідному ланцюжку вимагає дуже специфічної інженерної роботи для налаштування. Це означає, що етап перевірки консенсусу потрібно буде налаштувати для кожного вихідного ланцюжка. Наразі давайте зосередимося на підтвердженні консенсусу Ethereum, оскільки він має левову частку TVL і є типовим мостом для користувачів L1.
Ethereum має великий набір валідаторів із понад 700 000, з яких понад 21 000 валідаторів голосують за блок у слоті. Щоб досягти остаточності, блок має отримати голоси від ⅔ набору валідатора, що приблизно еквівалентно 450 000 голосів валідатора. Перевірка повного консенсусу означатиме перевірку дійсності 450 000 підписів.
Менш громіздкий метод перевірки консенсусу Ethereum включає «легкий клієнтський протокол». Для цього використовується комітет синхронізації (512 валідаторів, вибраних випадковим чином кожні 27,3 години), щоб підтвердити, що останній запропонований блок дійсний. Тут перевірка консенсусу означає перевірку дійсності 512 агрегованих підписів.
У контексті перемикання смарт-контракт у ланцюжку призначення може використовувати протокол легкого клієнта та діяти як «легкий клієнт» у ланцюзі для перевірки останнього стану вихідного ланцюга та забезпечення «депозиту». Якщо він задоволений, смарт-контракт вивільняє кошти в ланцюжку призначення.
Перевірка консенсусу вихідного ланцюга (на Ethereum) через комітет синхронізації
Цей підхід не дуже практичний, оскільки перевірка 512 агрегованих підписів безпосередньо в смарт-контракті в ланцюжку є надзвичайно дорогою без попередньої компіляції, оскільки валідатори Ethereum використовують підписи BLS.
Отже, ключ до того, щоб це стало можливим, полягає в тому, щоб зробити крок перевірки поза мережею…
… і тут на допомогу приходять консенсусні докази.
Докази з нульовими знаннями з’явилися як життєздатне рішення, яке допомагає блокчейнам виконувати дорогі обчислення поза ланцюгом і перевіряти результат у ланцюзі. Це дозволяє перемикаючому смарт-контракту в цільовому ланцюжку перенести дорогі обчислення (наприклад, перевірку консенсусу вихідного ланцюга) до позаланцюгової перевірки нульових знань:
Перевірка за допомогою zk-доказів дозволяє нам наблизитися до мінімізації довіри
Після цих двох кроків смарт-контракт призначення може безпечно вивільнити кошти в ланцюжку призначення.
Використання консенсусних підтверджень для перевірки стану вихідного блокчейну є важливим кроком до мінімізації довіри, але покладатися на легкий клієнтський протокол і валідатори 512 має деякі обмеження (виділені в таблиці нижче).
Обмеження щодо покладання на комітет синхронізації для перевірки консенсусу
Таким чином, деякі команди працюють над підтвердженням повного консенсусу Ethereum, що є складним завданням і включатиме перевірку 450 000 підписів на момент написання статті. Зробити це в ланцюзі з нульовим знанням не є підлим подвигом, але такі команди, як Polyhedra Network і Succinct , взяли на себе зобов’язання досягти цього.
Що може бути краще, ніж підтвердити 512 підписів? 450 000 підписів!
Polyhedra Network нещодавно оголосила , що їм вдалося перевірити 21 000 підписів валідаторів, які підписують блок у певному слоті в ZK, і працюють над перевіркою всіх 450 000 підписів. Детальніше про їхній підхід і систему перевірки можна знайти в їхній роботі zkBridge.
Після того, як ми зможемо перевірити повний консенсус Ethereum у режимі нульового знання, перевірка консенсусу інших ланцюжків із меншими наборами валідаторів у режимі нульового знання стане відносно простою.
Незважаючи на те, що технологія з нульовим знанням і консенсусні докази вирішують людську помилку, обговорення було б неповним без визнання деяких ризиків, які виникають у зв’язку з їх використанням у зв’язку.
Технологія нульового знання швидко змінюється, оскільки продовжують з’являтися нові алгоритми та системи. Деякі з цих реалізацій не перевірені та можуть містити вразливості, що робить їх сприйнятливими до потенційного використання, коли виникають значні стимули. Більше того, навіть після аудиту такі складні криптографічні системи можуть містити невиявлені вектори атак, які з часом будуть ідентифіковані та виправлені, щоб досягти зрілого, загартованого в боях стану.
Більше того, ще належить з’ясувати, за якого обсягу транзакції витрати на створення та перевірку доказів із нульовим знанням стають достатньо амортизованими, щоб вважатися економічно ефективними.
На завершення ми висвітлимо деякі з гравців, які створюють рішення в цьому просторі. Хоча вони мають дещо різні підходи та вихід на ринки, вони розширюють межі того, що може зробити з’єднання на основі zk, і передвіщають появу сумісності з мінімізованою довірою.
Серед них маємо:
Команди, що працюють над консенсусними доказами
Сумісність є основною частиною інфраструктури блокчейну. У перших інінгах перемикання спостерігалися механізми довіри, підкріплені мультипідписами та скомпрометовані залежністю від людей. Зараз ми починаємо переходити до царства мостів, захищених криптографією та математикою, що стало можливим завдяки застосуванню доказів з нульовим знанням у контексті з’єднання.
У цій частині ми розглянули, як докази консенсусу допомагають розв’язати мости, перевіряючи останній завершений вихідний консенсус блокчейну.
Однак цю технологію можна розширити, щоб перевірити історичний консенсус, який уможливить більш гнучкі випадки міжланцюгового використання, окрім простого перемикання на даний момент. І це те, що ми досліджуватимемо в частині III нашої серії про сумісність: докази зберігання та випадки використання, які вони відкривають.