Crosschain Bridges
March 3, 2023

Кроссчейн-мосты. Часть 1: Теория

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

Структура отчета:

Приятного чтения!
Лучшая благодарность автору за труд - подписка на ТГ-канал

1. Что такое кроссчейн-мост?

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

  • Передача активов (взаимозаменяемых и невзаимозаменяемых токенов);
  • Передача какой-либо другой информации (например, результаты голосования DAO, записанные в смарт-контракт).

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

Следует отметить, что перевести токены из одной сети в другую можно не только через мост, но и с помощью CEX-биржи.

Например, пользователю необходимо обменять USDT (ERC-20) на USDT (BEP-20).

Для этого он может:

  1. Сделать депозит на биржу в USDT (ERC-20);
  2. Вывести вновь внесенный депозит, выбрав соответствующую сеть для вывода (BNB Chain) и указав свой кошелек в выбранной сети.

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


2. Для чего нужен кроссчейн-мост?

Согласно Ethereum.org, мосты позволяют [Источник]:

  • Осуществлять кроссчейн передачу активов и информации;
  • Dapps получить доступ к сильным сторонам различных блокчейнов, что расширяет их возможности;
  • Пользователям получить доступ к новым платформам и использовать преимущества различных блокчейнов;
  • Разработчикам из разных экосистем сотрудничать и создавать новые платформы для пользователей.

Однако, на практике основной use-case использования кроссчейн-мостов лежит в сфере экономических стимулов. Капитал - мобилен, а значит всегда будет перетекать туда, где соотношение risk-reward будут наиболее приемлемым для инвесторов.

К примеру, недавно запустившийся AMM на блокчейне А может предлагать очень высокие APY для поставщиков ликвидности. Инвестор, имея активы на блокчейне Б, может иметь прямую потребность в том, чтобы перевести свои активы из блокчейна Б в блокчейн А для получения более привлекательных доходностей. Для решения описанного выше кейса, инвестор воспользуется кроссчейн мостом, связывающим два этих блокчейна.


3. Классификация кроссчейн-мостов:

Кроссчейн-мосты можно классифицировать по различным параметрам. В качестве основных можно выделить:

  • Тип передаваемой информации;
  • Назначение моста;
  • Механизм верификации;
  • Способ передачи информации;
  • Уровень централизации.

3.1. По типу передаваемой информации

С помощью мостов можно передавать как активы (токены), так и, например, информацию о состоянии сети и вызовах смарт-контрактов.

Таким образом, по типу передаваемой информации мосты делятся на:

  • Token bridges: мосты, передающие только токены.
    Примеры: THORChain, Hop Protocol, Symbiosis Finance, Connext.
  • Generic bridges: мосты, передающие любую информацию.
    Примеры: LayerZero, Wormhole, deBridge.

3.2. По назначению моста

Дмитрий Берензон из 1kx в своей обзорной статье о блокчейн-мостах выделяет следующую группировку в зависимости от назначения моста [Источник]:

  • Asset-specific;
  • Chain-specific;
  • Application-specific;
  • Generalized.

Asset-specific bridge - мост, предназначенный для единственной цели: перевода конкретного актива из одной сети в другую. Как правило, это обернутые версии (wrapped tokens), которые полностью обеспечены базовым активом в кастодиальном, либо в некастодиальном порядке.

Самой популярной сетью для asset-specific мостов является сеть Биткоина. Так, только в сети Ethereum на 27 февраля 2023 года насчитывается 186 561 обернутый биткоин в следующих мостах [Источник]:

Динамика объема заблокированных биткоинов в сети Ethereum

94,3% из них принадлежит Wrapped Bitcoin (WBTC): совместный продукт от BitGo, Kyber Network и Ren. WBTC - это ERC-20 версия BTC, обеспеченная 1:1 оригинальным биткоином.

Chain-specific bridge - мост, который связывает 2 блокчейна и поддерживает механизмы по блокировке/разблокировке любых токенов в одном блокчейне и выпуску/сжиганию обернутых токенов в другом блокчейне.

Application-specific bridge - мост, предоставляющий доступ к двум и более сетям, но исключительно в рамках конкретного приложения. Вместо того, чтобы иметь отдельные экземпляры всего приложения на каждом блокчейне, оно обычно имеет более легкие, модульные “адаптеры” на каждом из этих блокчейнов. Блокчейн, в котором реализован адаптер, получает доступ ко всем другим подключенным у приложению блокчейнам, тем самым обеспечивается сетевой эффект.

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

Классификация мостов по назначению. Источник - 1kx.

3.3. По способу верификации

Основатель моста Connext, Артур Бхуптани в своей статье пишет о том, текущие кроссчейн-мосты могут быть [Источник]:

  • Нативно-проверяемые (Natively Verified);
  • Внешне-проверяемые (Externally Verified);
  • Локально-проверяемые (Locally Verified).

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

Схема работы нативно-проверяемого моста

Преимущества:

  • По-настоящему не-требующие доверия мосты (trustless);
  • Можно передавать любую информацию между блокчейнами.

Недостатки:

  • Сложно масштабируем: для каждого отдельного блокчейна необходимо создавать отдельную архитектуру.
Пример такого моста: Rainbow Bridge.

Внешне-проверяемые мосты - мосты, в которых для передачи данных между блокчейнами используется внешний набор валидаторов. Эти валидаторы не относятся ни к одному из наборов валидаторов двух блокчейнов. Валидаторы могут подписывать транзакции либо в формате MPC (Multi-Party Compilation), либо в формате Multisig. Также валидаторы могут быть представлены в виде оракулов.

Схема работы внешне-проверяемого моста

Преимущества:

  • Легко масштабируемое решение.

Недостатки:

  • Менее надежное решение: такие мосты подразумевают наличие определенного доверия к валидаторам, а значит потенциально есть возможность сговора последних.
Примеры таких мостов: Celer Bridge, Nomad, Thorchain.

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

Схема работы локально-проверяемого моста

Преимущества:

  • Высокий уровень надежности;
  • Легко масштабируемое решение

Недостатки:

  • Такие мосты не могут поддерживать передачу любой информации, а только отправку токенов.
Примеры таких мостов: Hop, Connext.

3.4. По способу передачи информации

Существует 3 способа передачи активов между блокчейнами:

  • Мосты, работающие на пулах ликвидности;
  • Мосты, работающие на механизме “Lock/Mint & Burn/Release”;
  • Атомарные свопы.

Мосты, работающие на пулах ликвидности

Общая схема*, по которой работают такие мосты, представлена ниже:

*Возможны некоторые вариации, все зависит от архитектуры/дизайна конкретного моста

Механизм работы пулов в кроссчейн-мостах, во многом схож с механизмом работы DEX, работающих на пулах ликвидности. Так, например, на Uniswap V3, любая пара представлена в виде пула из 2-х токенов. С одной стороны - есть трейдеры, свапающие токены, уплачивающие комиссию за каждую сделку. С другой стороны - есть провайдеры ликвидности, которые предоставляют ликвидность в обмен на долю этих комиссий.

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

Провайдеры ликвидности в таких мостах предоставляют ликвидность только в одном из активов на конкретном блокчейне (так называемая “односторонняя” ликвидность, в отличие от “двусторонней” на Uniswap - где необходимо предоставить оба токена, составляющих пару). Преимущество односторонней ликвидности в том, что провайдеры ликвидности не подвержены риску непостоянных потерь (impermanent loss).

Сам механизм кроссчейн обмена довольно простой:

  1. Пользователь кладет токен А в пул на блокчейне 1;
  2. После того, как транзакция в блокчейне 1 была подтверждена - информация об этом передается в блокчейн 2;
  3. После принятия этой информации, в блокчейне 2 происходит высвобождение токенов Б из пула.

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

Примеры таких мостов: Thorchain, Multichain.

Мосты, работающие на механизме “Lock/Mint & Burn/Release”

Общая схема, по которой работают такие мосты:

Схема работы моста, работающего на принципах оборачивания активов

На блокчейне, с которого нужно отправить токены (на схеме - это “Ethereum”, в общем виде - это “Source Chain”) создается некий смарт-контракт (на схеме - это “Custodian”, в общем виде - это “Escrow-account”), на который пользователь должен отправить токены. После того, как токены были отправлены на этот смарт-контракт, идет сигнал с помощью “Communicator” на другой блокчейн (на схеме - это “Another Chain”, в общем виде - это “Target Chain”) в смарт-контракт, который на схеме называется “Debt Issuer”. Данный смарт-контракт создает цифровые сертификаты токенов, которые были отправлены на исходном блокчейне. Эти цифровые сертификаты приравниваются 1:1 к токенам, которые были заблокированы на смарт-контракте исходного блокчейна. Аналогичным образом работает мост и в обратном направлении.

Пример такого моста: Wormhole

Атомарные свопы

Атомарные свопы (Atomic Swap) - решение, с помощью которого активы в блокчейне А могут быть обменены на активы в блокчейне Б напрямую. Атомарные свопы - это P2P-подход с использованием хешированного контракта с блокировкой по времени (Hashed Timelock Contract, HTLC). HTLC требует, чтобы получатель платежа до истечения установленного срока подтвердил получение средств путем генерирования криптографического подтверждения платежа. В противном случае, транзакция признается недействительной, а средства возвращаются отправителю.

Пример: есть Алиса, желающая обменять свой 1 BTC на 50 LTC, и есть Боб, который желает обменять свои 50 LTC на 1 BTC.

Атомарный своп будет осуществлен следующим образом:

  1. Алиса создает адрес контракта, на который она отправляет 1 BTC;
  2. Контракт генерирует и выдает Алисе специальный ключ, который дает доступ к заблокированным на нем деньгам;
  3. Контракт хеширует этот ключ и отправляет хеш Бобу. Этот хеш является подтверждением того, что Алиса заблокировала деньги в контракте;
  4. После получения хеша ключа, Боб создает свой контракт, на который вносит 50 LTC.
  5. После того, как обе стороны заблокировали свои средства в контрактах, Алиса может потребовать получение 50 LTC, поскольку у нее есть доступ к паролю, который раскрывает ключ, используемый Бобом для блокировки средств.
  6. В процессе разблокировки Алисой средств Боба, Алиса раскрывает Бобу свой пароль, а значит Боб может использовать его для получения 1 BTC и завершения сделки.
Схема процесса атомарного свопа

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

Наглядная демонстрация осуществления атомарного свопа

При этом, атомарные свопы имеют свои ограничения:

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

3.5. По уровню централизации

По уровню централизации мосты делятся на централизованные (Trusted) мосты и децентрализованные (Trustless) мосты. Понять уровень централизации моста можно ответив на вопрос:

- “Кто дает команду смарт-контракту на принимающем блокчейне о том, чтобы были созданы цифровые сертификаты токенов?” (для мостов, работающих на основе оборачивания активов).

или

- “Кто дает команду смарт-контракту на блокчейне Б о том, чтобы из его пула были выпущены токены?” (для мостов, работающих на основе пулов ликвидности).

Trusted-подход подразумевает работу скриптов в доверенном режиме. Например, посылать команды на mint/burn токенов (или высвобождение токенов из пула) может один валидатор (человек или компания). Это также может быть и группа валидаторов, подписывающих транзакции либо в формате MPC (Multi-Party Compilation), либо в формате Multisig. Валидаторы, подписывающие транзакции могут быть назначены как изначально в момент запуска моста, так и могут быть выбраны через различные механизмы отбора. Однако все trusted-мосты подразумевают наличие доверия со стороны пользователя к архитектуре таких решений, потому что валидаторы моста могут вступить в сговор, чтобы украсть токены, находящиеся на Escrow-аккаунте или в пуле ликвидности. Такой подход по-другому еще называется Proof of Authority (PoA) подходом.

Примеры trusted-моста: Wormhole, Ronin.

Trustless-подход подразумевает, что посылать команды на mint/burn токенов (или высвобождение токенов из пула) может кто угодно. Это полностью децентрализованный подход.

Пример trustless-моста: Rainbow bridge.

Выше были рассмотрены основные классификации кроссчейн-мостов. Конечно, этот список можно продолжать и далее, например:

  • По типу виртуальной машины (мосты, соединяющие EVM & EVM, EVM & non-EVM, non-EVM - non-EVM блокчейны);
  • По уровню сети (мосты, соединяющие L1 & L1, L1 & L2, L2 & L2 блокчейны) и т.д.

Однако, все дальнейшие группировки умышленно остаются за пределами данного исследования, т.к. по мнению автора являются вторичными.


Во второй части будут рассмотрена архитектура конкретных кроссчейн-мостов:

  • Что такое "трилемма функциональной совместимости"?
  • Что находится "под капотом" у мостов? Как именно работает каждый из них?
  • Какие уязвимости и преимущества несут в себе те или иные решения?

А для того, чтобы не пропустить выход второй части, рекомендую подписаться на канал в Телеграме.