23 марта 2022 года из моста Ronin вынесли эфир и стейблкоины на сумму порядка 625 миллионов долларов — на тот момент крупнейшая кража в истории DeFi. Обнаружили её не системы мониторинга и не автоматический алерт. Заметил пользователь, который спустя шесть дней попытался вывести 5000 ETH и не смог — потому что моста, по сути, уже не существовало. Шесть дней полной тишины между кражей и обнаружением. Это не сбой процесса. Это диагноз того, чем на самом деле являются кросс-чейн мосты.

Блокчейны не умеют говорить друг с другом. Ethereum понятия не имеет, что происходит в Solana; Solana ничего не знает про Ronin. Мост — это костыль поверх этого молчания: программа, которая запирает твои монеты на одной цепи и от твоего имени выпускает их «обёрнутую» копию на другой. И именно в этом костыле, а не в самих блокчейнах, с 2021 года утекли миллиарды.

Мост — это не блокчейн, это чей-то сервер с ключами

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

Когда ты переводишь ETH через мост в другую сеть, реальные монеты никуда не летят. Они запираются в контракте на Ethereum, а на другой стороне некая группа — валидаторы, оракулы, релейеры, называй как хочешь — подтверждает, что запирание произошло, и от своего имени чеканит тебе IOU-копию. Всё доверие сделки теперь держится не на математике консенсуса, а на этой группе: на том, что у неё честные ключи, чистый код проверки подписи и не облажавшийся администратор. Мост забирает децентрализованные гарантии двух блокчейнов и сшивает их одной централизованной ниткой. Три крупнейших взлома в истории DeFi порвали эту нитку тремя разными способами — и ни один из них не был багом самого блокчейна.

Ronin: когда взламывают не код, а человека

У моста Ronin, обслуживавшего игру Axie Infinity, транзакции подтверждались подписями 9 валидаторов; для одобрения перевода хватало 5 подписей. Атакующие (по итогам расследования ФБР — северокорейская группа Lazarus) не искали дыру в контракте. Они отправили сотруднику Sky Mavis, компании-разработчика, поддельное предложение о работе через LinkedIn — с «тестовым заданием» в виде PDF, начинённого шпионским ПО. Получив доступ к системам компании, они завладели ключами четырёх из девяти валидаторов, которые контролировала сама Sky Mavis.

Этого было мало — нужна пятая подпись. И она нашлась там, где никто уже не смотрел: за несколько месяцев до атаки, во время всплеска нагрузки на сеть, Axie DAO временно делегировала Sky Mavis право подписывать транзакции от своего имени, чтобы разгрузить инфраструктуру. Доступ должны были отозвать. Его не отозвали. Атакующие получили пятую подпись бесплатно — просто потому, что дверь, которую забыли закрыть, всё ещё стояла открытой.

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

Wormhole: строчка проверки, которую забыли написать

Меньше через месяц, 2 февраля 2022 года, мост Wormhole между Solana и Ethereum потерял около 325 миллионов долларов иначе — здесь ключи никто не крал. Атакующий нашёл изъян в самом коде смарт-контракта на Solana: программа, которая должна была проверять подпись «стража» (guardian), подтверждающего депозит на стороне Ethereum, при определённых условиях принимала поддельный аккаунт с подписью вместо настоящего системного. Проверка формально выполнялась — просто проверялось не то, что нужно.

Используя эту дыру, атакующий сминтил 120 000 «обёрнутых» ETH на Solana — без единого реального ETH, запертого на Ethereum. Разница между «на бумаге есть обеспечение» и «реального обеспечения нет» — это ровно та щель, в которую утекли деньги. Часть сминченных токенов атакующий успел обменять и вывести до того, как дыру залатали. Материнская компания Wormhole, Jump Crypto, в течение суток закрыла дыру в резервах из своего кармана — не потому что была обязана, а чтобы не дать пегу «обёрнутого» ETH обвалиться и не унести с собой весь остальной протокол.

Nomad: ноль, который стал означать «да»

Август 2022-го дал третий вариант причины — не человеческий фактор, не забытая дверь, а рутинное обновление, сломавшее одну проверку. Мост Nomad подтверждал сообщения между цепями через дерево Меркла: у каждого правильного сообщения должен быть путь до заранее известного «доверенного корня». При обновлении контракта доверенный корень по ошибке инициализировали нулевым значением — и код интерпретировал ноль не как «неизвестно», а как «уже подтверждено».

Итог: любое сообщение — включая полностью произвольное, без единой реальной подписи — проходило проверку как достоверное. Один человек нашёл эту дыру и вывел первые средства. Дальше произошло то, чего почти не бывает в истории хаков: транзакция атакующего была видна в публичном мемпуле, её код можно было скопировать, поменять в нём адрес получателя на свой и отправить заново. За несколько часов сотни разных кошельков — от опытных охотников за багами до людей, которые в жизни не писали смарт-контракт, — растащили порядка 190 миллионов долларов в стихийном цифровом мародёрстве. Часть участников позже вернула средства добровольно, назвав себя «white hat»; большая часть — нет.

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

Общий паттерн за тремя разными причинами

Ronin украли через людей, Wormhole — через баг в проверке подписи, Nomad — через ошибку конфигурации. Три разных причины. Один и тот же структурный дефект: мост — это точка, где гигантская сумма чужих денег зависит от узкого набора ключей, одной функции кода или одной переменной инициализации, которую кто-то один когда-то настроил правильно — или неправильно. По оценке аналитической компании Chainalysis, в 2022 году на кросс-чейн мосты пришлась большая часть всех украденных в DeFi средств за год, порядка двух миллиардов долларов, — и это без учёта более ранних и более поздних инцидентов вроде Poly Network (около 611 млн, август 2021, позже почти полностью возвращены хакером) или Harmony Horizon (около 100 млн, июнь 2022, взлом 2-из-5 мультиподписи).

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

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