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

Уязвимость была обнаружена в прошлом году специалистом по криптографии Ариэлем Габизоном (Ariel Gabizon). Она содержалась в коде протокола доказательства с нулевым разглашением ZK-SNARKS. Этот протокол используется в Zcash для защиты балансов и адресов пользователей. Также технология позволяет сократить затраты памяти за счёт верификации вычислений без их осуществления.

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

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

Стоит отметить, что многие члены криптосообщества критиковали разработчиков Zcash за использование протокола ZK-SNARKS, поскольку технология находится на ранней стадии реализации.

Команда Zcash, впрочем, не считает, что криптовалюта подвергалась серьёзному риску подделки из-за уязвимости, поскольку для её обнаружения потребовался бы высокий уровень навыка криптографии, которым обладают немногие люди.

Часть сообщества наоборот положительно отнеслась к заявлению команды Zcash об устранении ошибки. Например, Эдвард Сноуден, давно известный своей симпатией к Zcash, написал в твиттере следующее:

«Многие удивляются, почему мне нравится Zcash, несмотря на вознаграждения основателей. Причина в том, что эти вознаграждения позволяют команде находить и уничтожать серьёзные баги прежде, чем злоумышленники ими воспользуются. Некоторые другие проекты узнают о подобных ошибках уже после того, как их клиенты потеряли деньги».