Народна науково-популярна мова: що потрібно враховувати при проектуванні хрестоподібного мосту?

Автор: 0xKooKoo, технічний консультант Geek Web3 і Moledao, колишній технічний керівник Bybit

**Дякуємо 0xmiddle за допомогу в написанні цієї статті. **

Введення****

З моменту заснування блокчейн-індустрії з’явилося незліченна кількість L1/L2, і майже кожна публічна мережа розробила власну екосистему DeFi. Деякі люди взаємодіють лише в певних публічних мережах, тоді як більше людей хочуть знайти можливості для отримання доходу, такі як торгівля та майнінг у різних мережах. Серед них кросчейн-переказ коштів став неодмінною жорсткою потребою.

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

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

Спочатку люди все ще довіряли централізованим біржам, і існувала приказка, що «централізовані біржі – найкращі кросчейн-мости». Однак операція «заряджання-своп-виведення» дуже громіздка, і люди сподіваються, що з’явиться чистий ончейн-метод для більш безпосереднього завершення крос-ланцюга коштів.

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

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

Давайте розглянемо деякі розробки в крос-чейн технологіях.

Методологія****

1. Знайти власного контрагента

Давайте подумаємо, який найбільш інтуїтивно зрозумілий спосіб крос-чейну? Припустимо, у вас є 100 USDT у ланцюжку A і ви хочете перевести їх у ланцюжок B. Є людина, яка має 100 USDT у ланцюжку B і хоче перевести USDT у ланцюжок A. Ви обоє побачили, що це не зовсім правильно, тому порозумілися.

Але коли ви переказуєте USDT на адресу іншої сторони в ланцюжку А, він кається і не переводить свої USDT на вашу адресу в ланцюжку Б.

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

2. Схеми нотаріату

2.1 Один свідок нотаріуса

Тому ми подумали, оскільки інша сторона може оголосити дефолт, чи можу я знайти довірену третю сторону для торгівлі?**Я спочатку даю йому гроші в ланцюжку джерел, а потім він обіцяє передати мені гроші в цільовому ланцюжку. Наприклад, у цієї людини є активи як на ланцюжку А, так і на ланцюжку Б, і тоді він гарантує, що поки він отримає мої 100 USDT на ланцюжку А, він обов’язково переведе 100 USDT з ланцюжка Б.

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

Іншими словами, ваша транзакція з ним стає транзакцією “peer-to-pool”, а не “peer-to-peer”. Але ви все одно не впевнені, якщо ви торгуєте з ним 100 USDT, це нормально, а раптом ви хочете обміняти з ним 1 мільйон USDT?

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

2.2 Кілька нотаріусів (MultiSig)

Що робити, якщо нотаріусом є не одна людина, а група людей? Ми можемо створити рахунок ОСББ, де кілька підписантів спільно керують рахунком, і вони повинні підписати повідомлення, а кількість підписів досягає порогу (зазвичай 2/3) перед перерахуванням коштів.

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

**Ця схема надійніша, послаблює ризик централізації та є більш безпечною. Наприклад, всього налічується 20 авторитетних нотаріусів, і ймовірність того, що вони при цьому матимуть кривий розум, все ще дуже низька. (Це не включає 20 вузлів Multichain, якими фактично керує одна людина, або хакерів, які викрадають 2/3 ключів підпису нотаріуса, таких як міст Axie.) )

2.3 Багаторазовий нотаріус (MPC)

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

Мультипідпис полегшує розкриття правил підпису. **Якщо це схема підпису 5/7, код смарт-контракту гаманця з мультипідписом покаже, скільки підписантів, і хакери можуть цілеспрямовано знайти цих підписантів і дочекатися можливості викрасти приватний ключ.

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

Мультипідпис не може бути змінений, якщо встановлено підписанта. Наприклад, якщо ви хочете перейти на схему підпису 6/8 або якщо ви хочете змінити підписанта, вам доведеться перерозподілити контракт із мультипідписом, а також перевести кошти на новий контракт із мультипідписом.

Кросчейн-схема першого похідного BTC tBTC використовує метод мультипідпису, який був усунутий, оскільки він дуже кульгавий і складний у використанні. ** Більшість поточних кросчейн-мостів використовують більш просунутий підхід MPC. **

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

Рахунок MPC має такі переваги:**

**Більше конфіденційності, ніж у звичайних гаманців з мультипідписом. **Наприклад, коли потрібен підпис, 5/7 фрагментів закритого ключа використовуються для підпису один одного, а кілька підпідписів об’єднуються в одне ціле, щоб сформувати остаточний юридичний підпис. Таким чином, те, що ви бачите в ланцюжку, є єдиним, звичайним підписом, і ви не можете сказати, чи він з облікового запису MPC, не кажучи вже про те, хто за ним підписує, і ви не можете знати кількість фрагментів приватного ключа та конкретні правила підпису.

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

** MPC більш гнучкий у зміні підписів. ** Він може підтримувати більш гнучке налаштування правил підпису, наприклад, зміну кількості фрагментів закритого ключа та порогу підпису в будь-який час, а також зміну підписувача в будь-який час, потрібно лише повторно поділитися закритим ключем.

3. Подальші заходи безпеки

3.1 Розділення в гарячому та холодному вигляді

**Після того, як ескроу-рахунок нотаріуса отримав мої 100 USDT на ланцюжку А, він перевів 100 USDT на мою адресу в ланцюжку Б, як запустити таку поведінку?

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

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

У цій автоматизованій програмі буде кілька частин

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

  2. Процедура верифікації: Це включатиме клієнта легкого вузла (або повну ноду) підтримуваного блокчейну, який відповідає за перевірку того, що транзакція в ланцюжку джерел, яка має інтерактивний зв’язок із контрактом крос-чейн мосту, дійсно була упакована в блок і розміщена в ланцюжку;

  3. Програма підпису: відповідає за підписання та ініціювання транзакції передачі користувачеві в цільовому ланцюжку.

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

3.2 Ізоляція ризиків

Таким чином, необхідно добре попрацювати над ізоляцією пулу капіталу та використанням кількох кастодіальних рахунків для управління фондами ліквідності, наприклад, ізолювати відповідно до різних публічних ланцюгів, таких як A та B, B та C, C та D є незалежними пулами капіталу.

3.3 TEE

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

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

3.4 PoA ліворуч, PoS праворуч

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

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

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

Інший спосіб полягає в тому, щоб нотаріуси визнали це, але вони зобов’язані внести заставу, і якщо вони будуть поводитися неправильно, їх заставлені кошти будуть урізані. Так працює PoS. Це і є ZetaChain.

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

Незалежно від того, чи це PoA, чи PoS, ви можете зробити кросчейн-міст безпосередньо в публічний ланцюг, де кожен вузол запускає одну й ту саму програму, і всі крос-чейн запити та процеси обробки будуть записані в цей ланцюжок. Сам ланцюжок також може розміщувати додатки, таким чином стаючи екологічним хабом.

3.5 Спостерігач

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

Інші кросчейн-рішення****

Блокування хешування

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

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

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

Якщо коливання ціни валюти невигідне контрагенту (постачальнику ліквідності), він може раціонально вирішити не виконувати;

Для того, щоб завершити кроссчейн-своп, і користувач, і контрагент повинні виконати два підписи.

В результаті, хеш-таймлоки, як крос-чейн рішення, були значною мірою припинені. ** Ранні кросчейн-мости, які використовували це рішення (наприклад, cBridge, Connext), змінили курс.

Ончейн світловий клієнт

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

Цей спосіб надзвичайно безпечний, але він же і найдорожчий. Дорого коштують наступним чином:**

Легкий клієнтський контракт цільового ланцюга повинен отримувати та перевіряти новий заголовок блоку з вихідного ланцюга в режимі реального часу, цей процес є дуже газоємним, навіть якщо ZK використовується для отримання стислих доказів, витрата газу на перевірку доказу ZK не буде меншою за 400 000 Gas (наприклад, EVM), а в схемі MPC ланцюжку потрібно лише перевірити підпис, а споживання газу становить лише більше 20 000, що в 20 разів гірше!Більш безпечний, але в 20 разів дорожчий міст, ви будете ним користуватися?

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

Для того, щоб зменшити обсяг робіт з розробки, можливим рішенням є впровадження релейного ланцюга, щоб усі ланцюги та цей релейний ланцюг могли встановлювати легкі клієнтські контракти один з одним, що дійсно може зменшити робоче навантаження C(n,2) до n, але воно все одно не надто мало. Те, що спочатку було прямою міжланцюговою передачею від ланцюга джерела до ланцюга призначення, також стало передачею другого порядку між ланцюгом джерела → ланцюгом реле → ланцюгом призначення, що призведе до додаткового споживання газу та споживання часу.

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

Кінець гри****

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

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

На що користувачі звертають найбільшу увагу в питанні кросчейну?

Швидкість: скільки часу потрібно для завершення кросчейн-операції

Комісії: скільки мені потрібно заплатити за кросчейн-операцію

Безпека: чи безпечний кросчейн-міст і чи не будуть втрачені кошти

Ліквідність: чи достатньо ліквідності для підтримки моїх угод і прийнятний вплив на ціну.

Діапазон підключення: скільки ланцюгів ви підтримуєте та чи підтримуєте ви ланцюги, які мені потрібні для моєї крос-чейн роботи

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

**Давайте спочатку дамо огляд функцій деяких проектів з трьох чітких точок зору: безпека, вартість і дальність підключення. **

Натисніть на посилання, щоб побачити зрозумілу таблицю (таблиця постійно оновлюється):

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити