Кроссчейн-мосты. Часть 1: Теория
Эта статья - первая часть из цикла исследований по кроссчейн-мостам. В ней - минимальная теоретическая база, необходимая для понимания сущности мостов: для чего они нужны, как работают и чем отличаются друг от друга.
Приятного чтения!
Лучшая благодарность автору за труд - подписка на ТГ-канал
1. Что такое кроссчейн-мост?
Любой блокчейн представляет собой базу данных (последовательность блоков с хранящейся в них информацией). Обновление этой базы данных возможно благодаря принципам работы протокола (набор правил, направленных на передачу данных) и алгоритму консенсуса этого блокчейна (механизм проверки валидности блоков). Уникальность сочетания этих параметров (БД, протокол, консенсус) приводит к тому, что любой блокчейн является изолированной системой. Это в свою очередь ведет к проблеме совместимости блокчейнов: есть большое кол-во разрозненных блокчейн-сетей, но они не могут взаимодействовать друг с другом. Под “взаимодействием” подразумевается любой обмен информацией, а именно:
- Передача активов (взаимозаменяемых и невзаимозаменяемых токенов);
- Передача какой-либо другой информации (например, результаты голосования DAO, записанные в смарт-контракт).
Кроссчейн-мост - это решение, позволяющее перемещать информацию из одного блокчейна - в другой.
Следует отметить, что перевести токены из одной сети в другую можно не только через мост, но и с помощью CEX-биржи.
Например, пользователю необходимо обменять USDT (ERC-20) на USDT (BEP-20).
- Сделать депозит на биржу в USDT (ERC-20);
- Вывести вновь внесенный депозит, выбрав соответствующую сеть для вывода (BNB Chain) и указав свой кошелек в выбранной сети.
С точки зрения архитектуры, CEX-биржа имеет множество различных кошельков в разных сетях, и формально, никакого трансфера активов между сетями не происходит. Вместо этого, биржа принимает депозит на свой кошелек в одной сети, а вывод осуществляется из кошелька в другой сети. При таком способе, пользователь подвергается всем рискам, присущим централизованной бирже. Тем не менее инфраструктура CEX-бирж позволяет осуществить задачу по переводу активов между сетями (при том очень быстро).
2. Для чего нужен кроссчейн-мост?
Согласно Ethereum.org, мосты позволяют [Источник]:
- Осуществлять кроссчейн передачу активов и информации;
- Dapps получить доступ к сильным сторонам различных блокчейнов, что расширяет их возможности;
- Пользователям получить доступ к новым платформам и использовать преимущества различных блокчейнов;
- Разработчикам из разных экосистем сотрудничать и создавать новые платформы для пользователей.
Однако, на практике основной use-case использования кроссчейн-мостов лежит в сфере экономических стимулов. Капитал - мобилен, а значит всегда будет перетекать туда, где соотношение risk-reward будут наиболее приемлемым для инвесторов.
К примеру, недавно запустившийся AMM на блокчейне А может предлагать очень высокие APY для поставщиков ликвидности. Инвестор, имея активы на блокчейне Б, может иметь прямую потребность в том, чтобы перевести свои активы из блокчейна Б в блокчейн А для получения более привлекательных доходностей. Для решения описанного выше кейса, инвестор воспользуется кроссчейн мостом, связывающим два этих блокчейна.
3. Классификация кроссчейн-мостов:
Кроссчейн-мосты можно классифицировать по различным параметрам. В качестве основных можно выделить:
- Тип передаваемой информации;
- Назначение моста;
- Механизм верификации;
- Способ передачи информации;
- Уровень централизации.
3.1. По типу передаваемой информации
С помощью мостов можно передавать как активы (токены), так и, например, информацию о состоянии сети и вызовах смарт-контрактов.
Таким образом, по типу передаваемой информации мосты делятся на:
3.2. По назначению моста
Дмитрий Берензон из 1kx в своей обзорной статье о блокчейн-мостах выделяет следующую группировку в зависимости от назначения моста [Источник]:
Asset-specific bridge - мост, предназначенный для единственной цели: перевода конкретного актива из одной сети в другую. Как правило, это обернутые версии (wrapped tokens), которые полностью обеспечены базовым активом в кастодиальном, либо в некастодиальном порядке.
Самой популярной сетью для asset-specific мостов является сеть Биткоина. Так, только в сети Ethereum на 27 февраля 2023 года насчитывается 186 561 обернутый биткоин в следующих мостах [Источник]:
94,3% из них принадлежит Wrapped Bitcoin (WBTC): совместный продукт от BitGo, Kyber Network и Ren. WBTC - это ERC-20 версия BTC, обеспеченная 1:1 оригинальным биткоином.
Chain-specific bridge - мост, который связывает 2 блокчейна и поддерживает механизмы по блокировке/разблокировке любых токенов в одном блокчейне и выпуску/сжиганию обернутых токенов в другом блокчейне.
Application-specific bridge - мост, предоставляющий доступ к двум и более сетям, но исключительно в рамках конкретного приложения. Вместо того, чтобы иметь отдельные экземпляры всего приложения на каждом блокчейне, оно обычно имеет более легкие, модульные “адаптеры” на каждом из этих блокчейнов. Блокчейн, в котором реализован адаптер, получает доступ ко всем другим подключенным у приложению блокчейнам, тем самым обеспечивается сетевой эффект.
Generalized bridge - мосты, разработанные для передачи информации через несколько блокчейнов. Мосты из этой категории характеризуются сложным дизайном и высоким сетевым эффектом.
3.3. По способу верификации
Основатель моста Connext, Артур Бхуптани в своей статье пишет о том, текущие кроссчейн-мосты могут быть [Источник]:
Нативно-проверяемые мосты - мосты, у которых есть собственные валидаторы, которые полностью проверяют передачу данных между блокчейнами. Как правило, это делается путем запуска легкой ноды одного блокчейна - в другом (и наоборот).
- По-настоящему не-требующие доверия мосты (trustless);
- Можно передавать любую информацию между блокчейнами.
Пример такого моста: Rainbow Bridge.
Внешне-проверяемые мосты - мосты, в которых для передачи данных между блокчейнами используется внешний набор валидаторов. Эти валидаторы не относятся ни к одному из наборов валидаторов двух блокчейнов. Валидаторы могут подписывать транзакции либо в формате MPC (Multi-Party Compilation), либо в формате Multisig. Также валидаторы могут быть представлены в виде оракулов.
- Менее надежное решение: такие мосты подразумевают наличие определенного доверия к валидаторам, а значит потенциально есть возможность сговора последних.
Примеры таких мостов: Celer Bridge, Nomad, Thorchain.
Локально-проверяемые мосты - мосты, в которых контрагенты в межсетевом взаимодействии проверяют состояние друг друга. Зачастую свопы между блокчейнами, использующие локальную верификацию называют атомарными свопами.
Примеры таких мостов: Hop, Connext.
3.4. По способу передачи информации
Существует 3 способа передачи активов между блокчейнами:
Мосты, работающие на пулах ликвидности
Общая схема*, по которой работают такие мосты, представлена ниже:
Механизм работы пулов в кроссчейн-мостах, во многом схож с механизмом работы DEX, работающих на пулах ликвидности. Так, например, на Uniswap V3, любая пара представлена в виде пула из 2-х токенов. С одной стороны - есть трейдеры, свапающие токены, уплачивающие комиссию за каждую сделку. С другой стороны - есть провайдеры ликвидности, которые предоставляют ликвидность в обмен на долю этих комиссий.
Аналогично и в мосте: есть пул А в блокчейне 1, и пул Б в блокчейне 2. Пользователи используют ликвидность моста для выполнения кроссчейн транзакций, уплачивая при этом комиссию за совершенный перевод. В свою очередь, ликвидность в пулы может добавляться как самим мостом, так и внешними провайдерами, в обмен на долю комиссий, генерируемых протоколом.
Провайдеры ликвидности в таких мостах предоставляют ликвидность только в одном из активов на конкретном блокчейне (так называемая “односторонняя” ликвидность, в отличие от “двусторонней” на Uniswap - где необходимо предоставить оба токена, составляющих пару). Преимущество односторонней ликвидности в том, что провайдеры ликвидности не подвержены риску непостоянных потерь (impermanent loss).
Сам механизм кроссчейн обмена довольно простой:
Мосты, работающие на пулах ликвидности, являются наиболее часто используемым видом мостов. Данный тип мостов, как правило, ограничен разнообразием активов. В основном - это 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 BTC;
- Контракт генерирует и выдает Алисе специальный ключ, который дает доступ к заблокированным на нем деньгам;
- Контракт хеширует этот ключ и отправляет хеш Бобу. Этот хеш является подтверждением того, что Алиса заблокировала деньги в контракте;
- После получения хеша ключа, Боб создает свой контракт, на который вносит 50 LTC.
- После того, как обе стороны заблокировали свои средства в контрактах, Алиса может потребовать получение 50 LTC, поскольку у нее есть доступ к паролю, который раскрывает ключ, используемый Бобом для блокировки средств.
- В процессе разблокировки Алисой средств Боба, Алиса раскрывает Бобу свой пароль, а значит Боб может использовать его для получения 1 BTC и завершения сделки.
Весь процесс атомарного свопа сводится к способности обеих сторон предоставить криптографические доказательства своих действий. Атомарные свопы либо осуществляются в полном объеме, либо не происходят вовсе.
При этом, атомарные свопы имеют свои ограничения:
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 блокчейны) и т.д.
Однако, все дальнейшие группировки умышленно остаются за пределами данного исследования, т.к. по мнению автора являются вторичными.
Во второй части будут рассмотрена архитектура конкретных кроссчейн-мостов:
- Что такое "трилемма функциональной совместимости"?
- Что находится "под капотом" у мостов? Как именно работает каждый из них?
А для того, чтобы не пропустить выход второй части, рекомендую подписаться на канал в Телеграме.