Объяснение: Что нужно учитывать при проектировании мостов с перекрестными цепями?

НовичокJan 14, 2024
В этой статье рассматриваются некоторые разработки в области технологии кросс-цепочек.
Объяснение: Что нужно учитывать при проектировании мостов с перекрестными цепями?

Введение

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

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

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

Каков наилучший способ реализации межцепочечных фондов? Вначале люди все еще доверяли централизованным биржам. В свое время существовала поговорка: "Централизованные биржи - лучшие межцепочечные мосты". Однако операция "обмен копейками-вывод средств" очень громоздка, и люди надеются на чистую цепочку. Таким образом, средства могут быть переданы более напрямую.

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

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

Ниже мы расскажем о некоторых разработках в области технологии кросс-цепочек.

1. Методология

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

2. Услуги нотариуса

2.1 Индивидуальный нотариус

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

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

Другими словами, Ваша сделка с ним становится сделкой "точка-пул", а не "точка-точка". Но Вы все равно чувствуете беспокойство. Если Вы торгуете с ним 100 USDT, это прекрасно. Что, если Вы хотите обменять с ним 1 миллион USDT? Несмотря на то, что у него была относительно хорошая репутация, он все равно взял деньги и сбежал.

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

2.2 Множественные нотариусы (MultiSig)

Что, если этот нотариус - не один человек, а группа людей? Мы можем создать счет с совместным управлением, и несколько подписантов будут совместно управлять счетом. Они должны подписать сообщение. Только когда количество подписей достигнет определенного порога (обычно 2/3), средства будут переведены.

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

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

2.3 Множественные нотариусы (MPC)

Однако метод управления счетом с несколькими подписями также имеет множество неудобств.

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

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

После принятия решения о подписании нескольких подписей нельзя изменить подписанта. Например, если Вы хотите изменить схему подписи 5/7 на схему 6/8 или сменить подписанта, Вам придется перераспределить контракт с несколькими подписями и перевести средства на новый контракт с несколькими подписями.

В первом решении для производных BTC, tBTC, использовался метод мультиподписи, который был отменен, поскольку он был неубедительным и сложным в использовании. Большинство современных мостов с перекрестными цепями используют более продвинутый метод MPC.

Полное название Multi-Party Computation - Multi-Party-Computation (многосторонние безопасные вычисления), это технология шардирования закрытых ключей. Учетная запись с несколькими подписями управляет учетной записью с несколькими закрытыми ключами, а учетная запись MPC управляет учетной записью с одним закрытым ключом. Закрытый ключ делится на несколько фрагментов. Несколько подписантов имеют по одному фрагменту закрытого ключа. Когда количество подписантов равно Полная подпись может быть синтезирована только при достижении порогового значения, а полный закрытый ключ не будет раскрыт в процессе подписания.Счета MPC имеют следующие преимущества: они более конфиденциальны, чем обычные кошельки с несколькими подписями. Когда требуется подпись, например, для каждой подписи используется 5/7 фрагментов закрытого ключа, и несколько подподписей объединяются для формирования окончательной юридической подписи. Таким образом, то, что Вы видите на цепочке, является единственной, обычной подписью. Вы не можете определить, исходит ли она от учетной записи MPC, не говоря уже о том, кто стоит за подписью, а также о количестве фрагментов закрытого ключа и особых правилах подписи. Он может адаптироваться к большинству публичных цепочек лучше, чем кошельки с несколькими подписями. MPC - это технология подписи, и она не имеет ничего общего с цепочкой. Счет MPC - это обычный счет. Независимо от того, поддерживает ли публичная цепочка смарт-контракты, совместно управляемый счет может быть создан с помощью технологии MPC. Механизм замены подписи MPC более гибок. Он поддерживает более гибкую настройку правил подписи, например, изменение количества фрагментов закрытого ключа и пороговых значений подписи в любое время, а также Вы можете в любой момент сменить подписанта. Вам нужно только повторно передать закрытый ключ.

3. Дополнительные меры безопасности

3.1 Разделение горячего и холодного

После того, как депозитарный счет нотариуса получил мои 100 USDT по цепочке A, он перевел 100 USDT на мой адрес по цепочке B. Что должно стать триггером для такого поведения?

Предположим, что у каждого нотариуса есть машина, следящая за транзакциями по цепочке А. Когда они обнаружили, что я перевел 100 USDT на счет хранения межцепочечного моста, эта транзакция гласила, что я надеюсь быть названным в цепочке В. Получите эти USDT на адрес пользователя2.

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

Эта автоматизированная программа будет состоять из нескольких частей

  1. Программа мониторинга: Отвечает за мониторинг транзакций в цепочке источников. Чтобы отсеять неактуальные транзакции или недействительные транзакции, на этом шаге можно выполнить базовую проверку формата;

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

  3. Процедура подписания: Отвечает за подписание и инициирование транзакций передачи данных пользователям в целевой цепочке.

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

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

Если возникла ошибка, разве Вы не хотите разобраться с ней в одном инциденте? Поэтому необходимо изолировать пул капитала и использовать несколько счетов депо для управления ликвидными средствами. Например, в соответствии с изоляцией между различными публичными цепочками, A и B, B и C, C и D - все это независимые пулы капитала.

3.3 TEE

Программы автоматического мониторинга и подписи, выполняемые нотариусом, могут быть запущены на устройствах с TEE, что может значительно повысить сложность хакерских атак. TEE расшифровывается как Trusted Execute Environment, то есть вычислительная среда, запущенная на данном устройстве, которая изолирована от основной операционной системы, подобно анклаву.

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

3.4 PoA - слева, PoS - справа

Чтобы сделать межцепочечные мосты более безопасными, существует два направления в выборе нотариусов:

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

Например, проект межцепочечного моста Wormhole выбрал именно эту модель. Его 19 узлов поддерживаются известными крупными учреждениями с большими размерами и сильными фондами. Это метод PoA.

Другой способ - допустить нотариусов без разрешения, но обязать их делать ставки. Если они будут плохо себя вести, их ставочные средства будут урезаны. Вот как работает PoS. Это то, что использует ZetaChain.

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

Будь то PoA или PoS, Вы можете сделать межцепочечный мост непосредственно в публичной цепи. На каждом узле выполняется одна и та же программа, и все межцепочечные запросы и процессы обработки будут записываться на этой цепочке. Сама цепочка также может размещать приложения, становясь, таким образом, экологическим хабом.

3.5 Наблюдатель

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

Другие решения для кросс-цепочекХэш-блокировкаВозвращаемся к первому методу, упомянутому в этой статье: P2P ищет контрагентов для межцепочечного обмена активами. Если мы боимся, что контрагент не выплатит кредит, мы можем создать соответствующий механизм. Если кто-то отказывается от своих обязательств, другая сторона может получить деньги обратно и вернуть их в целости и сохранности. Это хэш-блокировка, которая ловко использует хэш-блокировки и временные блокировки. Она заставляет получателя средств подтверждать платеж до истечения срока и генерировать доказательство получения в исходной цепочке. Имея такое доказательство получения, плательщик сможет получить эквивалентные активы получателя в целевой цепочке. В противном случае обе стороны вернут все средства по первоначальному маршруту.

Однако этот метод позволяет только обмениваться средствами и не может осуществлять общую межцепочечную передачу информации. Даже с точки зрения межцепочечного перевода средств, пользовательский опыт использования хэш-тайм-локов очень плох: если колебания цен на валюту неблагоприятны для контрагента (поставщика ликвидности), он может рационально решить не завершать транзакцию; чтобы завершить межцепочечный обмен, и пользователь, и контрагент должны дважды поставить свою подпись. Поэтому в качестве межцепочечного решения были устранены временные блокировки хэша. Ранние межцепочечные мосты (такие как cBridge и Connext), которые использовали это решение, изменили свой путь. Легкий клиент на цепочкеЭтот метод заключается в прямом развертывании контракта легкого клиента исходной цепочки на целевой цепочке. Если Вы развернули контракт в цепочке, все узлы в цепочке будут выполнять код контракта, который Вы развернули.

Таким образом, решение on-chain light client позволяет целевой цепочке напрямую проверять транзакции, поступающие от исходной цепочки. Этот метод чрезвычайно безопасен, но при этом является самым дорогим. Дороговизна проявляется в следующих аспектах: Легкий клиентский контракт целевой цепочки должен получать и проверять новый заголовок блока от исходной цепочки в режиме реального времени. Этот процесс потребляет много газа. Даже если для получения лаконичного доказательства используется ZK, расход газа на проверку доказательства ZK составит не менее 400 000 единиц (например, EVM). В схеме MPC все, что требуется проверить в цепочке, - это подпись, а расход газа составляет всего чуть более 20 000 единиц, разница в 20 раз! Стали бы Вы пользоваться более безопасным мостом, но в 20 раз более дорогим?

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

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

Конец игры

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

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

Что больше всего волнует пользователей, когда речь заходит о кросс-цепочке? Не более чем следующие пункты:

Скорость: Сколько времени требуется для выполнения операции с перекрестными цепочками?

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

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

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

Объем подключения: Сколько цепочек Вы поддерживаете? Поддерживаете ли Вы цепи, которые мне нужно использовать в межцепочечных операциях?

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

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


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

https://docs.google.com/spreadsheets/d/1LKlbd5KJUnQIx3ZBTgyMADhxHtWVwBH9qDRm765tPMw/

Чтобы полностью объяснить работу моста с перекрестными цепями, необходимо обсудить множество деталей, таких как все размеры и анализ данных, приведенных в таблице выше. Так на какие факторы Вы обращаете внимание при пересечении цепей? Какие межцепочечные мостики Вы часто используете? На каких аспектах, по Вашему мнению, следует сосредоточиться при оптимизации межцепочечных мостов? Если у Вас есть свои идеи, пожалуйста, не стесняйтесь общаться с автором.

Отказ от ответственности:

  1. Эта статья перепечатана из[极客Web3]. Все авторские права принадлежат оригинальному автору[0xKooKoo]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.
  2. Предупреждение об ответственности: Мнения и взгляды, выраженные в этой статье, принадлежат исключительно автору и не являются инвестиционным советом.
  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!
Créer un compte