Введение
Доказательства являются важным аспектом в криптографии. В этой статье я расскажу о двух наиболее популярных доказательствах: доказательствах достоверности, использующих криптографию нулевых знаний, и доказательствах мошенничества. Что делает каждое из них уникальным, а также их различные случаи использования.
Что такое доказательства с нулевым знанием
Доказательства с нулевым знанием или zk-доказательства — это способ сообщить проверяющему, что вы знаете некоторую часть информации, не раскрывая информацию, которую вы (проверяющий) знаете. Конфиденциальность и безопасность достигаются в публичных блокчейнах с помощью доказательств нулевого знания.
Доказательство с нулевым знанием должно удовлетворять следующим требованиям:
-
Полнота: Чтобы доказательство было полным, проверяющий должен быть в состоянии определить, что проверяющий владеет определенной частью информации.
-
Правильность: Чтобы доказательство было надежным, проверяющий не может быть убежден в том, что доказатель обладает определенной информацией, если на самом деле доказатель не обладает такой информацией.
-
Нулевое знание: Чтобы доказательство было доказательством с нулевым знанием, проверяющий не должен знать ничего об информации, которой обладает доказатель, кроме того, является ли эта информация истинной или ложной.
Типы доказательств с нулевым знанием
Существует два типа zk-доказательств:
-
Интерактивные zk-доказательства: В интерактивных zk-доказательствах проверяющий и верификатор взаимодействуют друг с другом несколько раз. Доказатель выполняет задания, выданные верификатором, для того, чтобы доказатель завоевал доверие верификатора и чтобы верификатор был уверен, что информация, которой располагает доказатель, существует и является достоверной.
-
Неинтерактивные zk-доказательства: При неинтерактивном доказательстве проверяющий и проверяемый вообще не взаимодействуют. Вместо этого для проверки утверждений проверяющего используется автоматизированная система. При использовании автоматизированной системы неинтерактивные zk-доказательства требуют дополнительного программного обеспечения и вычислительных мощностей.
Некоторые примеры технологий нулевого знания:
-
Сукцинктивный неинтерактивный аргумент нулевого знания (zk SNARK): Примером криптовалюты, использующей Zk SNARK, является Zcash. Zcash использует zk SNARK для лучшей защиты конфиденциальности своих пользователей.
-
Zero knowledge scalable transparent argument of knowledge (zk STARK): Примером децентрализованной финансовой системы, использующей zk STARK, является DeversiFi.
Применение доказательств с нулевым знанием в реальном мире
Доказательства с нулевым знанием могут быть использованы в широком спектре сценариев, где конфиденциальность и безопасность данных имеют первостепенное значение. К таким сценариям можно отнести:
- Блокчейн
- Верификация пользователей
- Финансы
- Машинное обучение
Ограничения доказательств с нулевым знанием
- zk-доказательства требуют много времени и вычислительных мощностей.
- zk-доказательства не могут дать 100% уверенности в том, что утверждение существует и является действительным. В основном они минимизируют вероятность того, что утверждение ложно.
Что такое доказательства обмана
Доказательства мошенничества используют систему временной задержки спора (DTD). Если доказательство мошенничества подано в течение DTD и имеет неправильные переходы состояний, изменения, внесенные в состояние, отменяются, а валидаторы наказываются. Если доказательство мошенничества не представлено в рамках DTD, переход состояния считается правильным.
Доказательства мошенничества используют оптимистическое сворачивание, которое снижает затраты и уровень задержки для децентрализованных приложений в сети блокчейн.
Основное преимущество доказательств мошенничества заключается в том, что они не требуются для каждой транзакции состояния, что означает использование меньшего количества вычислительных ресурсов, что способствует масштабируемости.
Основной недостаток доказательств мошенничества заключается в том, что доказательства мошенничества вызывают взаимодействие между различными сторонами. Тем самым создается пространство для совершения мошенничества этими сторонами.
Заключительные замечания
Доказательства действительности необходимы для каждой транзакции, и они гарантируют, что не будет принято ничего, кроме правильных переходов состояний, в то время как в случае с доказательствами мошенничества они необходимы только при неправильных переходах состояний.
И доказательства достоверности, и доказательства мошенничества — это разные способы доказательства достоверности информации, и оба они являются инструментами, используемыми в решениях масштабируемости второго уровня. Каждый из них имеет свои преимущества и недостатки.
Дополнительная литература
Ниже приведен список статей, которые, по моему мнению, стоит просмотреть:
-
EVM с нулевыми знаниями
-
Роллапы с нулевыми знаниями
-
Снарки против Старков
-
Polygon zk rollups
-
Решения для масштабирования Ethereum