ОПРЕДЕЛЕНИЕ ЗК-СНАРКА
Конфиденциальность долгое время была главной целью и особенностью криптовалюты. Однако то, что раньше считалось частным в истории отрасли, часто уже не рассматривается как таковое. Например, утверждения о том, что биткойн является анонимным, теперь часто опровергаются, поскольку блокчейны прозрачны и открыты: даже если отдельный адрес биткойна не связан ни с одним человеком в сети, все транзакции, происходящие в мире биткойнов, можно отслеживать и нанесен на карту. Блокчейн-анализ такого типа был центральной чертой усилий правительства и правоохранительных органов, направленных на борьбу с различными преступлениями, связанными с криптовалютой, и схожими проблемами, согласно Blockonomi. Из-за предполагаемого отсутствия конфиденциальности некоторых из оригинальных криптовалют, включая биткойны, в последние годы возникла новая волна токенов и монет, ориентированных на конфиденциальность. Один из них, zcash, поддерживается технологией, известной как zk-SNARK.
НАРУШЕНИЕ ЗК-СНАРКА
Zk-SNARK («лаконичный неинтерактивный аргумент знания с нулевым знанием») использует концепцию, известную как «доказательство с нулевым знанием». Идея этих доказательств на самом деле довольно хорошо обоснована, так как они были впервые задуманы в 1980-х годах. Проще говоря, доказательство с нулевым знанием - это ситуация, в которой каждая из двух сторон в транзакции может проверить друг друга, что у них есть определенный набор информации, и в то же время не раскрывает, что это за информация. Для большинства других видов доказательств, по крайней мере, одна из двух сторон должна иметь доступ ко всей информации, что означает, что доказательство с нулевым знанием является отклонением от нормы.
Для примера традиционного доказательства рассмотрим пароль, используемый для доступа к онлайн-сети. Пользователь отправляет пароль, а сама сеть проверяет содержимое пароля, чтобы убедиться в его правильности. Для этого сеть также должна иметь доступ к содержимому пароля. Версия этой ситуации с нулевым знанием подразумевает, что пользователь демонстрирует сети (посредством математического доказательства), что он или она имеет правильный пароль, фактически не раскрывая сам пароль. Преимущества конфиденциальности и безопасности в этой ситуации очевидны: если в сети не хранится пароль для проверки, пароль не может быть украден.
Математическая основа zk-SNARKS сложна. Тем не менее, доказательства этого типа позволяют одной стороне продемонстрировать не только то, что существует конкретный фрагмент информации, но также и то, что соответствующая сторона осведомлена об этой информации. В случае zcash, zk-SNARK могут быть проверены практически мгновенно, и протокол не требует какого-либо взаимодействия между проверяющим и проверяющим.
Есть, конечно, проблемы, связанные с zk-SNARKs. Например, если кто-то мог получить доступ к секретной случайности, которая использовалась для создания параметров протокола доказательства, он или она могли создать ложные доказательства, которые, тем не менее, выглядели достоверными для верификаторов. Это позволило бы этому человеку создавать новые токены zcash посредством процесса подделки. Чтобы этого не происходило, zcash был разработан таким образом, чтобы протоколы проверки разрабатывались и распространялись на несколько сторон.
Хотя создание процесса проверки zcash было завершено таким образом, чтобы свести к минимуму возможность подделки токенов с помощью ложных доказательств, есть еще одна проблема, связанная с криптовалютой. Zcash был создан с 20% «налогом», взимаемым со всех блоков, созданных за первые несколько лет использования токена. Этот налог известен как «налог основателя» и используется для компенсации разработчикам криптовалюты. Критики предполагают, что основатели потенциально могут использовать этот аспект системы для создания бесконечного числа токенов zcash, при этом никто не будет знать о существовании этих токенов. По этой причине не совсем возможно узнать точное количество токенов zcash, существующих на данный момент.