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

- Несколько дней назад команда заметила аномальную активность с wIRON и мостом ChainPort; совместное расследование показало, что проблема не в мосте, а в самой сети Iron Fish.
- Уязвимость связана с вычислением нуллификаторов — меток, которые защищают от двойной траты, — и появилась в коммите с реализацией дерева Меркла в начале 2019 года.
- Iron Fish отправила патч с подробным пост-мортемом в соответствующий pull request, после чего закроет и заархивирует репозиторий.
Закрытие Iron Fish объявила команда приватного блокчейна 31 октября: она прекращает всю оставшуюся поддержку сети и архивирует репозиторий кода. Причина — баг инфляции в самом блокчейне, из-за которого атакующий мог тратить одну и ту же приватную «записку» больше одного раза и выводить активы через мост ChainPort. Ошибка сидела в коде с начала 2019 года и пережила внутренние и внешние аудиты.
Что произошло
Iron Fish — приватный блокчейн, в котором переводы скрыты: вместо открытых балансов там «записки» (notes), примерно как в Zcash. Чтобы одну и ту же записку нельзя было потратить дважды, при трате публикуется нуллификатор — уникальная метка. Сеть проверяет: если такой нуллификатор уже был, трата отклоняется.
По данным TokenPost, TechFlow и Odaily, именно эта логика оказалась сломана. Код, который считал нуллификаторы, попал в проект в начале 2019 года вместе с реализацией дерева Меркла. Ошибка позволяла атакующему тратить одну записку несколько раз — фактически печатать монеты из воздуха — и выводить их через мост ChainPort в обёрнутый токен wIRON.
Сначала всё выглядело как проблема моста: аномалии заметили именно вокруг wIRON и ChainPort. Но совместное расследование показало, что корень — в протоколе самой сети. Суммы ущерба и объём «напечатанных» монет в сообщениях команды не названы. Нет пока и данных о том, сколько адресов затронуто и когда именно началась эксплуатация: команда пишет лишь, что аномалии заметили «несколько дней назад». Поэтому любые цифры, которые сейчас гуляют в чатах, стоит считать слухами, пока их не подтвердят сами разработчики или мост.
Главная деталь, которую подчёркивает команда: код проходил и внутренние, и внешние аудиты, но уязвимость никто не нашёл. Почти семь лет.
Почему это плохая новость для приватных монет
Баг инфляции — худший тип уязвимости для приватной сети. В открытом блокчейне лишние монеты видно по балансам. В приватном общий объём предложения проверить гораздо сложнее, потому что суммы скрыты. Поэтому доверие к такой сети держится на корректности криптографии и кода. Когда выясняется, что этот фундамент годами был дырявым, чинить репутацию почти нечем.
Команда, судя по объявлению, решила не спасать сеть, а закрыть проект. Патч отправлен, пост-мортем опубликован в pull request, а дальше репозиторий уйдёт в архив. Анализ инфляционных данных по инциденту, по данным KuCoin News, обещают в будущих отчётах.
Похожие истории в этом месяце уже были. Мы писали про взлом Initia, где пришлось остановить сеть, и про взлом моста Cysic. Схема общая: дыра находится в месте, которое все считали надёжным, а деньги уходят через мост, потому что это самый быстрый выход в ликвидные активы.
Что это значит для тебя
Если у тебя есть IRON или wIRON, ситуация простая и неприятная. Сеть остаётся без поддержки: без обновлений, исправлений и команды, которая отвечает на вопросы. Это не значит, что монеты исчезли в моменте, но рассчитывать на развитие проекта больше нельзя.
Практичные шаги:
- Не ведись на «миграцию», «компенсацию» или «новый токен Iron Fish» в личке и на сторонних сайтах. Команда такого не объявляла, а громкое закрытие всегда притягивает фишинг.
- Следи за решениями бирж и моста ChainPort по IRON и wIRON — они принимают решения сами, и о торгах стоит узнавать только из их официальных каналов.
- Если ты держишь приватные монеты в целом, помни урок: «проходил аудиты» — не гарантия. Аудит проверяет код в рамках бюджета и времени, а не доказывает отсутствие ошибок.
Закрытие Iron Fish и рынок приватности
Тема приватных монет сейчас горячая: Zcash готовит обновление NU7, о котором мы рассказывали в материале про обновление Zcash NU7. На этом фоне закрытие Iron Fish — напоминание, что в приватных сетях цена ошибки в криптографии выше, чем где-либо ещё. Крупные проекты с долгой историей и большим числом независимых исследователей в среднем надёжнее молодых, но гарантий не даёт никто.
FAQ
Почему произошло закрытие Iron Fish? Команда нашла баг инфляции в самом блокчейне: из-за ошибки в расчёте нуллификаторов одну приватную записку можно было потратить несколько раз.
Виноват ли мост ChainPort? Нет. По итогам совместного расследования источник проблемы — сеть Iron Fish, мост использовали только для вывода активов.
Сколько украли? Суммы ущерба команда не называла.
Что будет с кодом? Патч отправлен вместе с пост-мортемом, после этого репозиторий закроют и заархивируют.
Вывод
Закрытие Iron Fish — редкий случай, когда команда честно сворачивает проект, а не обещает «скоро всё починим». Для держателей это повод не ждать чудес и держаться подальше от фейковых «миграций». Подробности — у TokenPost и TechFlow.
Материал не является инвестиционной рекомендацией. Крипта — высокий риск, решения принимаешь сам.


