Народная популярная наука: что следует учитывать при проектировании кроссчейн-моста?

金色财经_

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

**Спасибо 0xmiddle за помощь в написании этой статьи. **

Знакомство****

С момента создания блокчейн-индустрии появилось бесчисленное количество L1/L2, и почти каждая публичная сеть разработала свою собственную экосистему DeFi. Некоторые люди взаимодействуют только в определенных публичных сетях, в то время как другие люди хотят найти возможности для получения дохода, такие как торговля и майнинг в разных цепочках. Среди них межсетевой перевод средств стал незаменимой жесткой потребностью.

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

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

В начале люди все еще доверяли централизованным биржам, и существовала поговорка, что «централизованные биржи — лучшие кроссчейн-мосты». Тем не менее, операция «зарядка-обмен-вывод» очень громоздкая, и люди надеются, что появится чистый ончейн-метод для более прямого завершения кроссчейна средств.

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

Если мы посмотрим на исторические истоки кроссчейна, то сможем проследить его до ранних этапов развития технологии блокчейн. В то время появление различных публичных цепочек заставило людей осознать, что проблема совместимости между цепочками должна быть решена, иначе возникнет много разрозненности информации и капитала. Со временем были предложены различные типы кроссчейн-подходов, постепенно формируя сегодняшний универсальный кроссчейн-паттерн.

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

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

1. Найдите своего контрагента

Давайте подумаем, какой самый интуитивный способ кроссчейна? Допустим, у вас есть 100 USDT в цепочке А, и вы хотите перевести их в цепочку Б. Есть человек, у которого есть 100 USDT в цепочке B и он хочет перевести USDT в цепочку A. Вы оба увидели, что это неправильно, поэтому они нашли общий язык.

Но когда вы переводите USDT на адрес другой стороны в цепочке А, он раскаивается и не переводит свои USDT на ваш адрес в цепочке Б.

Поэтому данная модель P2P-транзакций не очень надежна, во-первых, другая сторона может разорвать контракт, так что вы понесете убытки, без какой-либо защиты, а во-вторых, этого контрагента непросто найти, возможно, вам придется долго ждать, чтобы встретить пользователя, который как раз соответствует сумме, которую вы хотите выйти, но направление кроссчейна противоположное, и может даже не ждать долго ждать такого контрагента.

2. Нотариальные схемы

2.1 Один нотариальный свидетель

Поэтому мы подумали, что, поскольку другая сторона может объявить дефолт, могу ли я найти доверенную третью сторону для торговли?** Сначала я отдаю ему деньги в исходной цепочке, а затем он обещает перевести деньги мне в целевую цепочку. Например, у этого человека есть активы как в цепочке А, так и в цепочке Б, и тогда он гарантирует, что пока он получит мои 100 USDT в цепочке А, он обязательно переведет 100 USDT из цепочки Б.

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

Другими словами, ваша транзакция с ним становится «одноранговой» транзакцией, а не «одноранговой». Но вы все еще не уверены, если вы торгуете с ним на 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. Программа подписи: отвечает за подписание и инициирование транзакции передачи пользователю в целевой цепочке.

Но автоматизация также несет с собой проблему, заключающуюся в том, что эту автоматизированную программу можно взломать и манипулировать. Поэтому, чтобы контролировать риск, кроссчейн-мост будет принимать меры по разделению горячего и холодного. **Автоматизированная программа управляет горячей клавишей, сумма перевода ограничена, а в случае крупного перевода нотариус должен вручную расписаться холодным ключом. Правила горячей и холодной сепарации могут быть реализованы в учетной записи MPC.

3.2 Изоляция рисков

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

3.3 ТРОЙНИК

** Автоматизированные процедуры прослушивания и подписания, выполняемые нотариусом, могут быть запущены в устройстве TEE, что может значительно повысить сложность хакерских атак. ** Аббревиатура TEE расшифровывается как 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 цепочке нужно только проверить подпись, а потребление Gas составляет всего более 20 000, что в 20 раз хуже!Более безопасный, но в 20 раз более дорогой мост, будете ли вы его использовать?

Объем работы, связанной с разработкой легких клиентских контрактов, огромен, и для того, чтобы кроссчейн-мосты были совместимы с более разнородными цепочками, нужно реализовывать легкие клиентские контракты друг для друга в совершенно разных средах разработки на разных цепочках, что является адским вызовом для разработчиков. Это приводит к большей вероятности ошибок при написании договоров, то есть безопасность легкого клиентского моста находится только на теоретическом уровне, а с точки зрения инженерной практики он очень небезопасен. **

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

Поэтому технические решения легких клиентов, в настоящее время, не могут быть использованы для построения более универсальных кроссчейн-мостов.

Конец игры****

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

Биткоин и Эфириум не могут решить все сценарии применения, или в определенном подразделении всегда есть люди, которым не нравится первое место, поэтому они создают новое колесо, поэтому будущее точно будет мультичейном. Или в будущем нижний слой не будет цепочкой, тогда будущее должно быть мультиэкологическим, как передавать средства и информацию между несколькими экосистемами, должна быть кроссчейн/кросс-экологическая технология!

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

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

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

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

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

Диапазон подключений: сколько цепочек вы поддерживаете, и поддерживаете ли вы цепочки, необходимые для кроссчейн-операций.

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

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

Нажмите на ссылку, чтобы увидеть прозрачную таблицу (таблица постоянно обновляется):

Для того, чтобы полностью объяснить кроссчейн-мост, на самом деле необходимо обсудить множество измерений, таких как все измерения и анализ данных в таблице выше. Итак, какие элементы вас интересуют при кроссчейнинге?Какие кроссчейн-мосты вы часто используете?На чем, по-вашему, должны фокусироваться кроссчейн-мосты?Если у вас есть идеи, добро пожаловать к авторам.

Посмотреть Оригинал
Отказ от ответственности: Информация на этой странице может поступать от третьих лиц и не отражает взгляды или мнения Gate. Содержание, представленное на этой странице, предназначено исключительно для справки и не является финансовой, инвестиционной или юридической консультацией. Gate не гарантирует точность или полноту информации и не несет ответственности за любые убытки, возникшие от использования этой информации. Инвестиции в виртуальные активы несут высокие риски и подвержены значительной ценовой волатильности. Вы можете потерять весь инвестированный капитал. Пожалуйста, полностью понимайте соответствующие риски и принимайте разумные решения, исходя из собственного финансового положения и толерантности к риску. Для получения подробностей, пожалуйста, обратитесь к Отказу от ответственности.
комментарий
0/400
Нет комментариев