Мост (bridge) в криптовалюте — протокол, который переносит активы из одного блокчейна в другой. Идея простая, устройство сложное, а исторически это самая атакуемая часть инфраструктуры DeFi. Крупнейшие взломы мостов — Ronin (624 млн $, март 2022), Wormhole (326 млн $, февраль 2022), Nomad (190 млн $, август 2022), Multichain (около 126 млн $, июль 2023) — в сумме стоили пользователям более 1,2 млрд $.

Что делает мост

Встречаются три архитектуры.

Блокировка и выпуск (lock-and-mint). Пользователь вносит ETH (или другой актив) в смарт-контракт в исходной сети. Набор валидаторов видит депозит и выпускает соответствующий «обёрнутый» токен в сети назначения (wETH и т. п.). Чтобы вернуть актив обратно, пользователь сжигает обёрнутый токен, и валидаторы освобождают исходный ETH из контракта. Это самая распространённая схема.

Пулы ликвидности с обеих сторон. В каждой сети есть свой пул ликвидности. Пользователь вносит средства в пул исходной сети, а ретранслятор сразу выдаёт равную сумму из пула сети назначения. Пулы выравниваются отдельными механизмами. Так устроен Stargate (построен на LayerZero). Задержка меньше, зато нужно больше капитала.

Атомарные свопы и HTLC. Здесь нет централизованного набора валидаторов. Две стороны обмена между сетями используют контракты с хеш- и временной блокировкой (HTLC): обмен атомарно исполняется, если обе стороны выполнили условия, а иначе средства возвращаются. Криптографически это самый чистый вариант, но и самый медленный для пользователя. Так работают Thorchain, ChainFlip и ряд мостов между Bitcoin и Ethereum.

Почему мосты взламывают снова и снова

Сама конструкция работает против пользователя. Под каждый выпущенный обёрнутый токен мост держит заблокированное обеспечение. Если на Polygon через Polygon PoS Bridge выпущено wETH на 500 млн $, то в контракте моста в Ethereum лежит настоящих ETH на те же 500 млн $ — один-единственный баланс, по которому и бьют злоумышленники.

Велика и уязвимость набора валидаторов. Ronin взломали, получив пять ключей из девяти. Wormhole — из-за ошибки проверки подписи в контракте моста. Nomad — из-за ошибки инициализации в одной строке кода. Сочетание «огромный баланс + сложный код + распределённый набор подписантов» на практике раз за разом оборачивалось катастрофами.

Что стоит знать

Два практических правила.

Никогда не переводите через мост средства, потерю которых не переживёте. Держать деньги в мосте — риск того же порядка, что и хранить их на нерегулируемой бирже. Вероятность катастрофы в каждом конкретном месяце невелика, но история мостов достаточно плоха, чтобы не держать там позиции подолгу.

Вместо моста выводите с биржи сразу в нужную сеть. Нужно перевести USDT из Ethereum в Arbitrum? Отправьте их на централизованную биржу, где у вас есть аккаунт, и выведите оттуда прямо в Arbitrum, если биржа поддерживает эту сеть. Дольше, зато риск потерь ниже.

Исключение: штатные мосты

У L2-сетей (Arbitrum, Optimism, Base, Polygon zkEVM) есть собственные официальные мосты — часть инфраструктуры роллапа. Без них архитектура роллапа не работает (через них проходит вывод средств), и обычно это самый тщательно проверенный аудиторами код во всей L2-сети. Официальные Arbitrum Bridge, Optimism Bridge и Base Bridge заметно надёжнее сторонних универсальных мостов.

Если без моста не обойтись, по возможности пользуйтесь официальными мостами роллапов. Для мостов между основными сетями (например, из Ethereum в Solana) риск остаётся высоким: переводите как можно меньше и держите средства в мосте как можно короче.

Дополнительное чтение: DEX, Обёрнутый токен.