Брайан Пак — генеральный директор и соучредитель ChainLight, фирмы, занимающейся безопасностью блокчейнов, которая специализируется на аудите смарт-контрактов и мониторинге цепочки.

Слова «нулевое знание», когда-то относящиеся к академическим статьям и форумам по криптографии, стали мейнстримом.

Технология ZK позволяет стороне, например протоколу блокчейна, доказывать другой стороне, что что-то верно, например возраст человека, сохраняя при этом полную конфиденциальность этой информации.

Криптография ZK добивается успеха в масштабировании ведущей сети смарт-контрактов Ethereum. Более дюжины сетей на базе ZK, обычно называемых ZK-коллапами, работают на базе Ethereum, а общая сумма депозитов составляет 4 миллиарда долларов.

Но, несмотря на шумиху, есть большая проблема. Недостаток знаний о ЗК – это бомба замедленного действия.

Большинство разработчиков криптовалют до сих пор очень мало знают об этой сложной теме.

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

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

Разработчики ZK «не в себе»

В 2022 году соучредитель Ethereum Виталик Бутерин указал на риски безопасности, связанные с объединением ZK, такие как ошибки в коде ограничения схемы.

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

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

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

В ноябре ChainLight обнаружила ошибку в ZK-схемах ZK Sync Era, которая могла позволить хакеру украсть 1,9 миллиарда долларов.

Также в 2018 году криптограф Zcash обнаружил уязвимость в доказательствах с нулевым разглашением, лежащих в основе протокола. Если бы эту ошибку не исправить, злоумышленник мог бы создать поддельные токены Zcash, не будучи обнаруженным.

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

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

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

Это означает, что количество людей, квалифицированных для аудита кода ZK, ограничено, как и ресурсы, необходимые для их обучения.

И нехватка экспертов для надлежащего аудита кода ZK — не единственная проблема.

Накопительные пакеты ZK, такие как zkSync Era и StarkNet, разрабатываются собственными силами, и в результате процессы экспертной оценки не так тщательны, как стандарты, наблюдаемые в академических кругах.

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

ЗК не реализует свой потенциал

Недостаточное понимание технологии ZK также мешает ей полностью раскрыть свой потенциал.

Это связано с отсутствием уверенности в технологиях, ведущие строители выбирают более привычные каркасы.

Например, одним из основных преимуществ накопительных пакетов ZK является мгновенная завершенность.

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

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

Растет мнение, что накопительные пакеты ZK являются лучшим решением для масштабирования Ethereum по сравнению с накопительными пакетами Optimistic.

Некоторые доходят до того, что называют их «Святым Граалем» решений масштабирования.

Соучредитель Immutable X Робби Фергюсон назвал объединение ZK «безусловно самым простым способом масштабирования транзакций с высокой пропускной способностью».

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

Например, ни один из существующих накопительных пакетов ZK на самом деле не имеет заявленной мгновенной завершенности.

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

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

При этом безопасность накопительных пакетов ZK подвергается серьезному компромиссу и лишается одного из своих наиболее значительных преимуществ.

Только улучшение понимания технологии ZK позволит строителям максимально использовать ее потенциал без ущерба для безопасности.

Безопасность по задумке

Во всем web3 — не только в сфере ZK — проекты не относятся к аудиту достаточно серьёзно.

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

Есть несколько случаев, когда известные ошибки проникли в новые протоколы DeFi, что стоило инвесторам миллионы.

Например, несколько протоколов, которые развили код протокола кредитования Compound v2, такие как Hundred Finance и Onyx Protocol, сделали это вслепую и не смогли учесть известные векторы атак в коде.

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

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

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

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

Например, давайте посмотрим на существующие ZKEVM — накопительные пакеты ZK, которые идеально копируют операционную систему Ethereum.

Многие ZKEVM полагаются на определяемые вручную схемы, которые требуют участия человека и используют молодые, непроверенные библиотеки.

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

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

Решения

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

Нет сомнений в том, что технология ZK меняет правила игры для Ethereum, и постоянное развитие имеет основополагающее значение для масштабирования блокчейна.

Однако решения, предлагаемые накопительными пакетами ZK, потенциально могут вызвать проблемы с безопасностью.

Стартапы должны быть честными относительно того, используют ли они технологию ZK потому, что это необходимо, или потому, что они присоединяются к этой технологии.

Если они уверены, что являются первыми, то они должны осознавать риски, и создание конструкции с безопасностью является абсолютно необходимым.