zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge) — это тип криптографического доказательства с нулевым разглашением, который позволяет одной стороне доказать другой, что она обладает некоторой информацией или выполнена определённая задача, не раскрывая саму информацию и без необходимости в интерактивном общении между сторонами. В отличие от обычных ZKP, zk-SNARKs — это «сухие» доказательства, которые требуют лишь одного обмена данными между доказателем и верификатором, что делает процесс более быстрым и эффективным.

Особенность zk-SNARKs заключается в его способности обеспечивать «краткость» (succinctness), т.е. доказательство остаётся компактным и быстрым в проверке, даже если задача, которую оно подтверждает, очень сложная. Это делает zk-SNARKs идеальными для использования в блокчейн-технологиях, например, в анонимных транзакциях и для решения задач масштабируемости.

Пример использования zk-SNARKs — это проект Zcash, который использует эту технологию для создания анонимных транзакций, где скрыты не только сумма, но и отправитель с получателем.