Исследователь безопасности обнаружил критическую уязвимость в нодах Zcash, которая могла позволить недобросовестным майнерам вывести более 25,000 ZEC, эквивалентные $6,5 млн, из устаревшего пула Sprout Shielded.
Об уязвимости 23 марта сообщил Алекс «Scalar» Сол, в его публикации говорилось, что ноды zcashd пропускали проверку доказательств для транзакций, связанных с устаревшим пулом Sprout. По чистой случайности ошибка не была использована злоумышленниками, и средства пользователей были в безопасности.
Уязвимость затрагивала версии сети, выпущенные с июля 2020 года по настоящее время, поэтому разработчики Zcash экстренно выпустили версию 6.12.0 для исправления уязвимости. Крупные майнинговые пулы быстро обновили свои системы, о чём майнинговый пул Luxor сообщил 25 марта, а F2Pool, ViaBTC и AntPool развернули исправление к 26 марта.
Интересно, что пользователь Сол обнаружил уязвимость с помощью ИИ и направил информацию об этом в компанию по безопасности блокчейнов Shielded Labs. Организация связалась с Zcash Open Development Lab (ZODL), а её инженер Джек «str4d» Григг разработал патч.
За полезную информацию Сол получит вознаграждение в размере 200 ZEC стоимостью более $51,000, при этом Shielded Labs, ZODL, Zcash Foundation и Bootstrap внесут по 50 ZEC каждый.
Пул Sprout был закрыт для новых депозитов в ноябре 2020 года, что сделало его устаревшим, но активным компонентом, содержащим 25,424 ZEC.
Команда разработчиков Zcash Open Development Team (ZODL) отметила, что механизм «турникета» Zcash предотвратил бы форк сети с масштабной инфляцией предложения.
Это не первая крупная уязвимость, с которой столкнулась сеть. В 2019 году сеть исправила ошибку, описанную как «бесконечный генератор поддельной криптовалюты», однако она была исправлена до того, как стала серьёзной проблемой для блокчейна, ориентированного на конфиденциальность.