Zcash
- 1 year ago
- 0
- 0
Zcash — криптовалюта с открытым исходным кодом, разработанная компанией Zerocoin Electric Coin Company , обеспечивающая конфиденциальность и выборочную прозрачность транзакций. Платежи Zcash публикуются в общедоступной цепочке блоков, но отправитель, получатель и сумма транзакции остаются тайными . Торговый знак Zcash, ZEC, не является официальным ISO 4217 . Минимальная передаваемая величина — 10 −8 ZEC — получила название «затоши», подобно «сатоши» — аналогичному количеству биткойна . Как и Биткойн, Zcash имеет фиксированный максимальный общий запас в 21 миллион единиц . Текущее среднее время создания блока — 75 секунд (1,25 минуты) . Анонсирована 20 января 2016 года .
Уровень анонимности Zcash отмечают многие известные компании и личности. Например, WikiLeaks начала принимать пожертвования в Zcash , Эдвард Сноуден , который был одним из разработчиков, назвал криптовалюту самой интересной альтернативой Биткойну , а Европол официально выразил обеспокоенность ростом популярности криптовалюты .
Другими популярными анонимными криптовалютами со схожим назначением являются Monero и Dash .
В 2014 году разработчиками Zerocoin из Университета Джонса Хопкинса и группами криптографов из Массачусетского технологического института , Технологического института Израиля и Тель-Авивского университета был разработан протокол « Zerocash ». Вместе они смогли улучшить протокол, сделав его более эффективным и более анонимным.
«Благодаря новому протоколу Zerocash, в отличие от Zerocoin, пользователи могут осуществлять прямые платежи друг другу с помощью значительно более эффективного криптографического протокола, который скрывает не только происхождение, но и сумму платежа» .
Проект Zcash был официально объявлен исполнительным директором (англ.) (20 января 2016 года как эволюция существующего проекта Zerocoin (работа Мэтью Грина, Яна Майера, Кристины Гарман, Авиэль Д. Рубин, в Университете Джонса Хопкинса , факультет компьютерных наук) .
С использованием нового протокола появилась самостоятельная криптовалюта Zcash (ZEC), переставшая быть «дополнением» к биткойну . 28 октября 2016 года Зуко Уилкоксом была проведена официальная «криптографическая церемония» запуска Zcash .
Zcash является первой криптовалютой , основанной на криптографическом протоколе доказательства с нулевым разглашением . В логике работы протокола предполагается, что одна из взаимодействующих сторон способна убедиться в достоверности математического утверждения, не имея при этом никакой другой информации от второй стороны . Фактически Zcash является первой по-настоящему анонимной криптовалютой, так как можно подтвердить, что транзакция была совершена, но нет возможности узнать сумму, отправителя и получателя .
Программное обеспечение Zcash выдаёт ряд случайных значений, которые принимаются в качестве исходных параметров. Также оно генерирует фрагменты криптографического ключа, которые вместе могут использоваться для генерации новых ZEC. На церемонии запуска 28 октября было показано, как происходит создание и распространение этих фрагментов криптографического ключа так, что сам ключ никогда не оказывается доступен целиком .
Протокол Zcash не сохраняет информацию о том, с какого адреса была проведена транзакция, на какой адрес было зачисление и какова сумма; виден только факт совершения транзакции. Информация о транзакции в блокчейне может быть открыта или скрыта по желанию пользователей, что является отличительной чертой Zcash .
Zcash шифрует содержимое защищённых транзакций. Для проверки достоверности использует криптографический протокол (англ.) ((Zero-Knowledge Succinct Non-Interactive Argument of Knowledge), разработанный создателями криптовалюты на основе доказательства с нулевым разглашением . Протокол позволяет формировать безопасный реестр остатков без раскрытия соответствующих сторон или сумм, но при этом нельзя доказать, что транзакция не является обманом или воровством. Zcash также позволяет пользователям создавать публичные транзакции, аналогично транзакциям в Биткойн . Одной из особенностей Zcash является то, что отправка значений с защищённых адресов на открытые раскрывает информацию о балансе защищённого адреса, в то время как отправка с открытых на защищённые сохраняет конфиденциальность .
Для того, чтобы обладать нулевым разглашением в Zcash, функция, определяющая истинность транзакции в соответствии с правилами сети, должна возвращать ответ о том, истинна ли транзакция или нет, без раскрытия какой-либо информации о выполненных действиях. Это достигается кодированием некоторых правил консенсуса сети в zk-SNARK. На высоком уровне zk-SNARK превращает то, что вы хотите доказать, в эквивалентную форму знания решения некоторых алгебраических уравнений . Конструкции zk-SNARK могут быть применены в широком спектре приложений, обеспечивая достаточно высокую эффективность и разнообразную функциональность .
Пользователи, желающие получать выплаты, генерируют ключевой кортеж , состоящий из ключа расходов, ключа просмотра и платёжного адреса. Ключ просмотра и платёжный адрес образуются из ключа расходов. Обычно набор из платёжного адреса, ключа просмотра и ключа расходов зашифрован и недоступен пользователям. Но так как Zcash может обеспечить публичные транзакции, то информация об этих ключах может быть предоставлена по запросу .
Записка (note) — это кортеж , состоящий из платёжного ключа, значения (исчисляется в затоши), обнуляющей последовательности и случайной битовой последовательности — ловушки передачи . Записка означает, что значение может быть потрачено получателем, у которого есть ключ расходов , соответствующий платёжному ключу . При отправке записки публично доступна только принадлежность указанным значениям, что позволяет сохранить конфиденциальность самого значения и получателя, в то время как принадлежность используется доказательством нулевого разглашения для проверки существования записки в блокчейне .
В заданный момент времени каждой полной ноде соответствует некоторый набор блоков, которые образуют дерево, в котором каждый узел связан с родительским с помощью заголовка блока hashPrevBlock . Путь от корня до узлов, проходящий через последовательность валидных блоков, удовлетворяющих правилам консенсуса, называется валидной цепочкой блоков .
Каждый блок в цепочке содержит одну или несколько транзакций. Ввод добавляет значения в пул, вывод удаляет из пула; как и в Биткойне, остаток в пуле является вознаграждением майнеров . Правило консенсуса здесь таково: остаточное значение в открытом пуле должно быть неотрицательно .
Каждой транзакции соответствует исходное состояние дерева. Состояние описывается деревом передачи записок, обнуляющей последовательностью и структурами, аналоги которых есть у Биткойна (например, en ).
По состоянию на июнь 2021 года размер блокчейна составлял 32 GB .
JoinSplit-описание — это часть данных транзакции, описывающая передаваемое значение. JoinSplit является одним из основных параметров технологии zk-SNARK и свойственен только Zcash. JoinSplit-описание основано на JoinSplit-утверждениях (но не отождествляется с ними), используемых для верификации zk-SNARK. Каждое новое JoinSplit-описание зависит от выходного значения в предыдущем блоке .
Дерево передачи записок — это инкрементное дерево Меркла заданной глубины, в котором хранятся записки, создаваемые JoinSplit. По аналогии с UTXO, оно используется для описания текущего значения и возможности его использовать, но отличие от UTXO в том, что это дерево не защищает от двойных трат .
Каждая полная нода создаёт обнуляющую функцию, логически связанную с каждым состоянием дерева. Обнуляющая функция состоит из обнулителей , которые можно так же найти в JoinSplit-описаниях. Обнулители обязаны быть уникальными, потому что именно они защищают от двойных трат, соответственно, к ним применимо следующее правило: обнулитель не должен повторяться ни в транзакции, ни в пределах валидной цепочки блоков .
Эмиссия в Zcash происходит так же, как и в Биткойн — при создании новых блоков. Награда за создание блока состоит из двух частей — награды, выделенной майнеру в транзакциях, и так называемой награды основателей , которая составляет 20 % стоимости блока в первые 4 года существования Zcash, а в итоге будет составлять 10 % объёма всех выпущенных ZEC.