Cronos откатил взлом на $75 млн. Решение породило более серьёзный вопрос

cryptonewscryptonews

30 августа Cronos сделал то, что, по заявлениям большинства блокчейнов, они сделать не могут.

Валидаторы остановили производство блоков, отбросили более 10 000 блоков канонической истории и перезапустили цепь со снимка, сделанного до того, как Tectonic, лендинговый протокол Cronos, потерял около $75 млн в результате атаки с манипуляцией залогом.

В узком смысле ответ сработал. Было спасено около $69 млн замороженных активов. До остановки цепи на Ethereum успело уйти лишь около $6 млн. Вкладчики Tectonic избежали почти полной потери средств.

Но вмешательство также стёрло примерно два часа истории транзакций для всех пользователей сети. Легитимные сделки, переводы, взаимодействия с контрактами и активность мостов, не имевшие отношения к эксплойту, исчезли из канонической цепи.

И это неприятный момент. Cronos сдержал взлом, доказав, что его историю можно переписать.

 

Как Tectonic потерял $75 млн

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

Tectonic позволял пользователям вносить TONIC, свой токен управления, в качестве залога. TONIC имел залоговый коэффициент 20%, то есть заёмщики могли привлекать активы на сумму до одной пятой от заявленной стоимости токена.

Атакующий потратил, по оценкам, $600 000 на покупку TONIC на малоликвидных рынках Cronos, подняв цену токена примерно в 100 раз за 20 минут. Затем он внёс 364,6 трлн TONIC в Tectonic по завышенной оценке, создав залоговую позицию примерно на $375 млн.

Под эту позицию атакующий занял у протокола около $75 млн в ликвидных активах.

Математика оказалась жестокой. Манипуляция ценой на $600 000 привела к выводу $75 млн. Доходность на вложенный капитал составила примерно 12 400%. Залог, обеспечивавший кредиты, невозможно было ликвидировать по цене, хоть сколько-нибудь близкой к заявленной, не обрушив рынок.

До эксплойта в Tectonic было заблокировано около $121,7 млн (TVL) и $82,7 млн активных кредитов. На него приходилась почти половина капитала DeFi Cronos. В течение 48 часов TVL упал примерно до $3 млн — снижение примерно на 97,5%.

 

Остановка заморозила всю цепь

Валидаторы Cronos быстро обнаружили эксплойт и прекратили производство блоков.

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

Время было критически важным. К моменту остановки цепи атакующий перевёл на Ethereum около $6 млн. Оставшиеся $69 млн находились на идентифицированных адресах Cronos — замороженные, но технически всё ещё под контролем атакующего в остановленной цепи.

Генеральный директор Crypto.com Крис Маршалек заявил, что биржа и приложение продолжили работать в обычном режиме, а средства клиентов в безопасности. Это заявление относилось к централизованным сервисам Crypto.com, а не к средствам, размещённым в Tectonic. Различие важно, потому что Cronos, Crypto.com и Tectonic тесно ассоциируются в представлении рынка, но это не одна и та же система.

 

Cronos выбрал откат

Вместо перезапуска из остановленного состояния и попытки заморозить адреса атакующего валидаторы восстановили Cronos до снимка, сделанного до эксплойта. Цепь возобновила работу с блока 90 896 189, после того как было отброшено более 10 000 блоков.

Транзакции атаки больше не существовали в канонической цепи. Как и все легитимные транзакции, произошедшие в том же окне.

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

Инфраструктурным провайдерам пришлось адаптироваться к новой версии цепи. Tatum, обслуживающий разработчиков на Cronos, повторно воспроизвёл данные цепи с блока 90 896 188, чтобы вернуть свои системы в синхронизацию. Другие обозреватели, индексаторы, RPC-провайдеры и мосты столкнулись с аналогичной работой по сверке.

Откат не просто обратил действия атакующего. Он заставил каждый сервис, подключённый к Cronos, принять новую версию реальности.

 

Оракул не был главной причиной сбоя

В эксплойтах с манипуляцией ценой часто винят оракулов. Сооснователь RedStone Марцин Казмерчак отверг такую интерпретацию.

«Оракул не ошибался. Он точно сообщал цену TONIC в пуле, с которого считывал данные в тот момент», — сказал он.

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

Дизайн Tectonic рассматривал котируемую рыночную цену TONIC как пригодную стоимость залога, не учитывая в должной мере исполнимую ликвидность. Токен может торговаться по высокой цене на мелком рынке, но при этом его невозможно ликвидировать в значительных объёмах.

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

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

 

Эта атака уже была известна

Атака на Tectonic не была новой.

Она очень напоминала эксплойт Mango Markets в октябре 2022 года, когда Авраам Айзенберг раздул малоликвидный токен MNGO и занял более $100 млн под завышенную стоимость залога. Суд присяжных на Манхэттене признал Айзенберга виновным в товарном мошенничестве, манипулировании товарными рынками и мошенничестве с использованием электронных средств связи, хотя позже федеральный судья отменил обвинительные приговоры из-за вопросов подсудности и проблем с доказательствами.

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

За три дня до эксплойта Tectonic Moonwell в сети Base потерял $8,7 млн в результате похожей атаки с участием неликвидного токена MAMO. Moonwell отреагировал снижением лимитов заимствования до 1 wei на всех своих основных рынках Base, фактически остановив новое кредитование на этих рынках.

Moola Market на Celo подвергся аналогичной атаке в октябре 2022 года. Четыре года спустя та же схема всё ещё работает, потому что протоколы продолжают добавлять малоликвидные токены управления в качестве залога.

Стимулы очевидны. Команды протоколов получают TVL. Держатели токенов получают полезность. Риск остаётся скрытым, пока кто-то не проверит, можно ли реально ликвидировать залог, а для низколиквидных токенов управления это обычно невозможно.

Image

 

Сравнение с форком The DAO заходит лишь до определённого предела

Форк The DAO в Ethereum в 2016 году — очевидное сравнение. После того как атакующий опустошил The DAO примерно на $60 млн, сообщество Ethereum проголосовало за хардфорк, отменив кражу в новой цепи, в то время как Ethereum Classic сохранил исходную историю.

Разница в процессе.

Форку The DAO предшествовали недели публичных дебатов. У майнеров, разработчиков, пользователей и бирж было время спорить, координироваться и выбирать сторону. Раскол привёл к появлению Ethereum Classic как постоянного напоминания о том, что не все приняли переписывание истории.

Cronos действовал в считанные часы. Не было ни длительных публичных дебатов, ни широкого голосования сообщества, ни сохранённой альтернативной цепи для тех, кто отверг откат. Валидаторы согласились, восстановили предыдущее состояние и продолжили работу.

Именно скорость вызывает беспокойство. Откат, требующий недель публичных споров, — это крайняя мера. Откат, который небольшой набор валидаторов может быстро исполнить, — это административный инструмент.

Структура валидаторов сделала такой ответ возможным. Cronos поддерживается относительно небольшим набором валидаторов, многие из которых находятся под контролем Crypto.com или тесно с ней связаны. Координировать остановку и откат в такой структуре проще, чем в более крупной и распределённой сети, такой как Ethereum или Bitcoin.

Проблема не в том, что валидаторы действовали ради спасения пользователей. Проблема в том, что они могли это сделать.

 

Кто заплатил за стёртые блоки

Откат защитил вкладчиков Tectonic. Он также аннулировал несвязанную пользовательскую активность.

Любой, кто завершил транзакцию в течение примерно двухчасового окна, увидел, как эта активность была отменена. Сделки на DEX были отменены, переводы с кошельков исчезли, а взаимодействия со смарт-контрактами были стёрты. Cronos не опубликовал данные о том, сколько транзакций, не связанных с эксплойтом, было затронуто.

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

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

Cronos всё ещё должен объяснить, как валидаторы взвешивали эти виды вреда друг против друга.

 

У разработчиков появился новый риск, который нужно учитывать

Разработчикам, разрабатывающим на Cronos, теперь приходится учитывать риск, который до 30 августа был теоретическим: состояние приложения может быть задним числом стёрто консенсусом валидаторов.

Для простого обмена токенов это может быть неудобно. Для приложений, связанных с внешними системами, всё гораздо серьёзнее.

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

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

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

 

$6 млн показывают предел

Переведённые атакующим через мост $6 млн уцелели, потому что уже достигли Ethereum.

Это граница любого отката. Полномочия цепи ограничены её собственными правилами консенсуса. Валидаторы Ethereum не соглашались на откат Cronos, и у них не было причин его соблюдать. Как только средства пересекли границу цепей, Cronos больше не мог их стереть.

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

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

 

Финальность — это спектр

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

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

Но это не то же самое, что неизменяемость.

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

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

Таков настоящий урок эксплойта Tectonic. Атака на $75 млн вскрыла слабый контроль залога. Откат вскрыл нечто большее: финальность Cronos зависит от усмотрения валидаторов. Для всех, кто строит, использует мосты или держит активы в этой сети, это теперь часть модели рисков.

 

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

Рекомендуемые

У Robinhood Chain нет токена, но какие альткоины выигрывают от его роста?Robinhood Chain: шорт-сквиз не удался, игроки жалуются на высокие комиссииНа этой неделе биткоин ждут три важных катализатора из СШАEthereum против Solana: какая L1-сеть захватывает больше ценности?Wintermute: после ETF и DAT следующим драйвером бычьего рынка может стать RWA