Zcash — криптовалюта с открытым исходным кодом, разработанная компанией Zerocoin Electric Coin Company, обеспечивающая конфиденциальность и выборочную прозрачность транзакций. Платежи Zcash публикуются в общедоступной цепочке блоков, но отправитель, получатель и сумма транзакции остаются приватными. Минимальная передаваемая величина — 10−8 ZEC — получила название «затоши», по аналогии с «сатоши» — аналогичным количеством биткойна. Как и Биткойн, Zcash имеет фиксированный максимальный общий запас в 21 миллион единиц. Среднее время формирования блока — 150 секунд (2,5 минуты).

Анонсирована 20 января 2016 года.
Уровень анонимности Zcash отмечают многие известные компании и личности. Например, WikiLeaks начала принимать пожертвования в Zcash, Эдвард Сноуден назвал криптовалюту самой интересной альтернативой Биткойну, а Европол официально выразил обеспокоенность ростом популярности криптовалюты.

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

Программное обеспечение Zcash выдаёт ряд случайных значений, которые принимаются в качестве исходных параметров. Также оно генерирует фрагменты криптографического ключа, которые вместе могут использоваться для генерации новых ZEC. На церемонии запуска 28 октября было продемонстрировано, как происходит создание и распространение этих фрагментов криптографического ключа так, что сам ключ никогда не оказывается доступен целиком.

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

Принцип работы


Zcash шифрует содержимое защищённых транзакций. Для проверки достоверности использует криптографический протокол zk-SNARK (англ.)русск. (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), разработанный создателями криптовалюты на основе доказательства с нулевым разглашением. Протокол позволяет формировать безопасный реестр остатков без раскрытия соответствующих сторон или сумм, но при этом нельзя доказать, что транзакция не является обманом или воровством. Zcash также позволяет пользователям создавать публичные транзакции, аналогично транзакциям в Биткойн. Одной из особенностей Zcash является то, что отправка значений с защищённых адресов на открытые раскрывает информацию о балансе, в то время как отправка с открытых на защищённые сохраняет конфиденциальность.

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

Ключи и адреса

Схема показывает соотношения между частями ключей. Стрелки показывают, какая часть может быть образована из другой части.
Пользователи, желающие получать выплаты, генерируют ключевой кортеж, состоящий из ключа расходов, ключа просмотра и платёжного адреса. Ключ просмотра и платёжный адрес образуются из ключа расходов. Обычно набор из платёжного адреса, ключа просмотра и ключа расходов зашифрован и недоступен пользователям. Но так как Zcash может обеспечить публичные транзакции, то информация об этих ключах может быть предоставлена по запросу.

Записка

Записка (note) — это кортеж, состоящий из платёжного ключа, значения, обнуляющего сета и случайной битовой последовательности — ловушки передачи. Записка означает, что значение может быть потрачено получателем, у которого есть ключ расходов, соответствующий платёжному ключу. При отправке записки публично доступна только принадлежность указанным значениям, что позволяет сохранить конфиденциальность самого значения и получателя, в то время как принадлежность используется доказательством нулевого разглашения для проверки существования записки в блокчейне.