ZeroCash

Zerocash или ZeroCash (zero — «ноль» и cash — «наличность») — криптографический протокол для построения анонимных платёжных систем[1]. В основе идеи лежит криптографическая схема обязательств, использующая доказательства с нулевым разглашением. Протокол предложен профессором Университета Джонса Хопкинса Мэтью Грином и аспирантами Яном Миерсом и Кристиной Гарман в виде развития протокола Zerocoin, являющегося дополнением к протоколу Биткойн[2].

В качестве реализации протокола Zerocash разработана криптовалюта Zcash

Обоснование

Биткойн-транзакции хранятся в блокчейне в открытом виде. При этом конфиденциальность обеспечивается посредством псевдонимности, то есть каждая транзакция хранит информацию об адресах отправителя и получателя, но не содержит информацию о личностях владельцев[3]. Чтобы повысить конфиденциальность, каждый человек может создать столько публичных адресов, сколько захочет, что затрудняет связь транзакций с одним и тем же лицом. Для дополнительной конфиденциальности может использоваться доверенная третья сторона, когда входящие транзакции смешиваются в большом пуле и выводятся на новый адрес. Вне зависимости от мер предосторожности в некоторых случаях становится возможным связать набор общедоступных адресов с конкретным (неназванным) человеком путем анализа блокчейна. Например, может быть проведен анализ привычных расходов или транзакций, проходящих с одного общего адреса. Кроме того, используя внешнюю информацию относительно блокчейна, такую как публичные биткойн-адреса, размещенные на веб-сайтах, или адреса электронной почты, используемые при покупке биткойнов, существует вероятность того, что можно определить каждую биткойн-транзакцию отдельно взятого человека[4].

Протокол Zerocoin предлагает совсем иную систему, в которой при помощи специальной транзакции определенное и фиксированное количество криптовалюты, объединенной в токен, отправляется в условный «черный ящик». Затем, в некий момент времени, любой, кто положил токен в условный «черный ящик» может забрать из него токен, соответствующий вложенной сумме — при этом не обязательно тот, который он туда положил ранее. В результате подобных действий все следы токенов после прохождения «черного ящика» теряются — становится неизвестно, кто именно какие токены из него извлек. Система подобна миксеру, но при этом и сильно отличается от него — хранение токенов в «черном ящике» не ограничено по времени, и не зависит от третьих сторон — все происходит прямо на блокчейне[5][6].

История

Протокол Zerocoin был представлен профессором Университета Джонса Хопкинса Мэтью Грином и аспирантами Яном Миерсом и Кристиной Гарман в качестве дополнения к протоколу биткойн, которое добавит криптографическую анонимность в транзакции биткойн. Идея протокола была представлена в научной работе «Zerocoin: Anonymous Distributed E-Cash from Bitcoin»[7] на симпозиуме «IEEE Symposium on Security & Privacy»[8][9] в мае 2013 года и реализована в виде публичной альфа-версии[10].

В январе 2014 года было объявлено, что после публикации бета-версии, которая планировалась на август-ноябрь 2014 года[11][12][13], Zerocoin будет полностью независим от Bitcoin, в связи с тем, что договориться с сообществом разработчиков Bitcoin’а о внесении изменений в протокол не удалось, а для реализации Zerocoin в качестве дополнения требовалось расширение протокола Bitcoin.

18 декабря 2015 года на протоколе Zerocoin был запущен проект Монета[14][15]. Авторы протокола отметили, что ни Zerocoin, ни Монета не являются конкурентами Биткойн. Отмечено, что проекты служат для повышения анонимности.

28 сентября 2016 года состоялся релиз Zcoin. Данная криптовалюта использует концепт криптографических подтверждений с нулевым уровнем знаний. Более эффективно скрываются получатели и отправители[16].

28 октября 2016 на протоколе Zerocash была запущена криптовалюта Zcash[17]. В апреле 2017 года криптовалюта Zcash вошла в десятку криптовалют с наибольшей капитализацией. На пике капитализация составляла 62,5 миллионов долларов США. 22 мая 2017 Zerocoin Electric Coin Company заключил партнерство с JPMorgan, что привело к 84% росту стоимости Zcash[18].

Протокол Zerocoin

Расширение Zerocoin для биткойн действует как схема отмывания денег через трастовые компании, временно объединяющее биткойны с целью обмена на временную криптовалюту Zerocoin. Несмотря на то, что данная схема отмывания является уже существующей концепцией, использованной несколькими сервисами по отмыванию денег, Zerocoin выполняет все на уровне протокола, исключая любую зависимость от доверенной третьей стороны. Протокол анонимизирует обмены в пул и из него с использованием криптографии, а в качестве предлагаемого расширения к протоколу Биткойн он записывает транзакции в существующий блокчейн биткойн[19].

Анонимность, обеспечиваемая протоколом Zerocoin — результат криптографических операций, связанных с раздельным выпуском Zerocoin и расходными операциями. Чтобы получить Zerocoin пользователь генерирует случайный порядковый номер S и шифрует его в токен C с использованием второго случайного числа r. На практике C является схемой обязательств. Токен C добавляется к  криптографическому аккумулятору[англ.] и в то же время количество биткойн, равное значению Zerocoin, добавляется в систему депозитов Zerocoin[20].

Чтобы выкупить Zerocoin в биткойн (желательно на новый публичный адрес) владелец токена должен получить доказательство с нулевым разглашением π для двух утверждений[21]:

  1. Владелец знает токен C, который принадлежит к набору всех других выпущенных Zerocoin’ов (C1, C2,… Cn). На практике для доказательства этого факта, используется односторонний аккумулятор[англ.], который не показывает членов набора[22].
  2. Владелец знает число r, которое вместе с порядковым номером S соответствует токену C.

Доказательство π и серийный номер S публикуются как расходная транзакция, в которой майнеры проверяют доказательство π и то, что серийный номер S ранее не использовался. После проверки транзакция отправляется в блокчейн, а количество биткойн, равное номиналу Zerocoin, переводится адресату. Анонимность транзакции гарантируется, так как выпущенный токен C не связана с серийным номером S, используемым для последующего выкупа токена[19].

Аккумулятор[англ.], используемый для доказательства с нулевым разглашением, должен быть повторно вычислен каждый раз, когда проводиться проверка расходной транзакции. Для упрощения перерасчета аккумулятора, предлагается при формировании нового блока сохранять текущее значение аккумулятора (создавать контрольную точку). При этом для вычисления нового значения аккумулятора нам будут требоваться только токены, выпущенные после формирования последнего блока, а не все доступные. Тем не менее стоит отметить, что в таком случае значение контрольной точки аккумулятора и все ранее использованные порядковые номера Zerocoin должны быть добавлены к каждому блоку биткойн, что увеличивает его размер (хотя и не существенно)[23].

Так как процесс проверки для Zerocoin намного более вычислительно сложен, чем для биткойн, время проверки для блока увеличилось бы до 6 раз в зависимости от соотношения между биткойн и Zerocoin. Предварительные тесты, выполненные разработчиками, показывают, что даже с увеличенным временем проверки и в два раза большим размером текущих блоков биткойн, время проверки для всего блока не должно превышать пяти минут, а так как новый блок биткойн в настоящее время создается в среднем каждые десять минут, увеличение времени проверки не должно быть проблемой[24].

Zcoin (XZC)

Zerocoin был впервые внедрен в качестве функциональной криптовалюты под названием Zcoin (XZC). Zcoin начал работу 28 сентября 2016 года в 12:00 UTC. Программное обеспечение testnet было впервые выпущено 18 декабря 2015 года под именем Moneta (а не Moneta Verde (MCN)) до того, как оно было названо Zcoin. Роджер Вер был одним из первых инвесторов Zcoin, также как и Zcash[25].

Частная мгновенная верифицированная транзакция (PIVX)

PIVX является первой Proof-of-stake криптовалютой, использовавшей протокол Zerocoin. Это случилось 16 октября 2017 года. Токены Zerocoin PIVX известны как zPiv. В истории криптовалюты принято выделять 2 важные вехи — первая — с момента появления криптовалюты по середину августа 2016 года — PoW период и вторая — с 17 августа — PoS период. Криптовалюта представляет из себя форк DASH с открытым исходным кодом[26].

SmartCash (SMART)

SmartCash (SMART) — криптовалюта на основе протокола Zerocoin, использующая для майнинга алгоритм Keccak SHA-3. Сообщается, что данная криптовалюта управляется сообществом. 80 % вознаграждения за каждый намайненный блок было выделено для финансирования предложений сообщества SmartHive. Команда проекта выделила 70 % бюджета для финансирования проектов, которые хотели бы реализовать участники сообщества, оставив 30 % для обслуживания системы и прочих потребностей[27].

ZeroVert (ZER)

ZeroVert (ZER) — криптовалюта на основе алгоритма Scrypt-N, выпущенная в цепочке VTC общим тиражом 8,4 млн. ZER. Разработчики криптовалюты утверждают, что уровень анонимности «устанавливается на значительно более высокую величину», чем в Биткойн и других популярных криптовалютах. Количество транзакций, не различимых для стороннего наблюдателя, составляет миллионы транзакций (а не сотни)[28].

Протокол Zerocash

16 ноября 2013 года была анонсирована улучшенная версия протокола, которая уменьшает размеры доказательств на 98% и допускает прямые анонимные платежи, которые скрывают сумму платежа[29]. Разработчики представили свою техническую документацию на Симпозиуме безопасности и конфиденциальности IEEE 2014 вместе с запуском сайта[30].

Новый протокол назывался Zerocash. Теперь это не расширение к Биткойн, а скорее независимая технология с теми же основными принципами. Данная технология позднее была реализована в виде альтернативной криптовалюты Zcash. Zerocash использует кратковременные неинтерактивные аргументы знания без знания (также известные как zk-SNARK), особый метод создания доказательства с нулевым разглашением. Такие доказательства имеют длину менее 300 байтов и могут быть проверены всего за несколько миллисекунд. Однако для zk-SNARKs требуется большая исходная база данных для проверки (около 1,2 ГБ) и длительное время для получения доказательства: от 87 до 178 секунд[31].

Zcash (ZEC)

Между 5 октября 2015 года и 11 января 2016 года веб-сайт Zerocash стал отмечать, что «протокол Zerocash превращается в полноценную цифровую валюту Zcash»[32]. 28 октября 2016 года официально прошел успешный запуск криптовалюты Zcash[33]. Платежи криптовалюты Zcash записываются в общедоступную цепочку блоков, данные об отправителях, получателях и суммах являются приватными[34].

Примечания

  1. Eli Ben Sasson et al, 2014.
  2. Narayanan et al, 2016, Compatibility, p. 185.
  3. Kaspersky Lab. Six main disadvantages of Bitcoin and the blockchain. www.kaspersky.com. Дата обращения: 6 декабря 2017. Архивировано 17 ноября 2017 года.
  4. "Why criminals can't hide behind Bitcoin". Science | AAAS (англ.). 2016-03-08. Архивировано 4 декабря 2017. Дата обращения: 4 декабря 2017.
  5. Bradbury, Danny (2013-06-07). "How anonymous is Bitcoin?". CoinDesk. CoinDesk Ltd. Архивировано 16 ноября 2017. Дата обращения: 15 ноября 2017.
  6. Narayanan et al, 2016, Cryptographic guarantees, p. 185.
  7. Ian Miers, Christina Garman, Matthew Green, Aviel D. Rubin, 2013.
  8. IEEE Symposium on Security and Privacy 2013. www.ieee-security.org. Дата обращения: 6 декабря 2017. Архивировано 24 декабря 2017 года.
  9. "Zerocoin: making Bitcoin anonymous". A Few Thoughts on Cryptographic Engineering (англ.). 2013-04-11. Архивировано 25 ноября 2017. Дата обращения: 6 декабря 2017.
  10. Zerocoin: C++ lib for anonymous extension to bitcoin Архивная копия от 3 сентября 2014 на Wayback Machine, github
  11. Ian Miers on Twitter: "We will be releasing Zerocoin/cash in 3 to 6 months. Why so long? Due diligence (and arranging trust set up) takes time. Move fast and ". Дата обращения: 19 ноября 2016. Архивировано 5 апреля 2016 года.
  12. Журнал «Хакер»: Криптовалюта Zerocoin будет независима от Bitcoin Архивная копия от 30 октября 2016 на Wayback Machine 14.01.2014
  13. Зерокойн – проект 100% анонимной цифровой валюты Архивная копия от 17 января 2014 на Wayback Machine - Статья о Zerocoin на bitnovosti.com, 2014/01/16
  14. First Implementation of Zerocoin Released: Introducing Moneta - Bitcoin News (англ.). Bitcoin News (19 декабря 2015). Дата обращения: 25 декабря 2015. Архивировано 24 декабря 2015 года.
  15. Wired: Zcash, an Untraceable Bitcoin Alternative, Launches in Alpha Архивная копия от 19 января 2022 на Wayback Machine January 2016
  16. CryptoCoin.cc. CryptoCoin.cc: Zcoin (XZC). cryptocoin.cc. Дата обращения: 10 декабря 2017. Архивировано из оригинала 11 декабря 2017 года.
  17. Morgen E. Peck (2016-10-25). "ZCash Will Be a Truly Anonymous Blockchain-Based Currency" (англ.). IEEE Spectrum. Архивировано 29 октября 2016. Дата обращения: 29 октября 2016.
  18. "JPMorgan Partners With Zcash on Blockchain Security - CoinDesk". CoinDesk (англ.). 2017-05-22. Архивировано 25 мая 2017. Дата обращения: 22 мая 2017.
  19. 1 2 Ian Miers, Christina Garman, Matthew Green, Aviel D. Rubin, 2013, Introduction.
  20. Narayanan et al, 2016, pp. 186-187.
  21. Narayanan et al, 2016, pp. 186-188.
  22. Ian Miers, Christina Garman, Matthew Green, Aviel D. Rubin, 2013, Decentralized E-Cash from strong RSA.
  23. Ian Miers, Christina Garman, Matthew Green, Aviel D. Rubin, 2013, Integrating with Bitcoin.
  24. Christina Garman, Matthew Green, Ian Miers, Aviel D. Rubin, 2014.
  25. Zcoin - Private Financial Transactions enabled by the Zerocoin Protocol. Zcoin. Дата обращения: 21 ноября 2017. Архивировано 22 ноября 2017 года.
  26. "What is PIVX Cryptocurrency? | New Privacy Coin Guide". CoinCentral (англ.). 2017-11-15. Архивировано 7 декабря 2017. Дата обращения: 6 декабря 2017.
  27. Что такое криптовалюта SmartCash простыми словами? Дата обращения: 21 ноября 2017. Архивировано 1 декабря 2017 года.
  28. Contribute to Zerovert development by creating an account on GitHub. GitHub.com (9 августа 2017). Дата обращения: 21 ноября 2017. Архивировано 11 июня 2018 года.
  29. Matthew D. Green [matthew_d_green]. We designed a new version of Zerocoin that reduces proof sizes by 98% and allows for direct anonymous payments that hide payment amount. [твит]. Твиттер (16 ноября 2013). Дата обращения: 15 ноября 2017.
  30. Team, The Zerocash Zerocash - Zerocash. zerocash-project.org. Дата обращения: 15 ноября 2017. Архивировано 6 марта 2022 года.
  31. Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, Madars Virza, 2014.
  32. Mementos. Timetravel.mementoweb.org. Дата обращения: 15 ноября 2017. Архивировано 1 февраля 2016 года.
  33. Morgen Peck. A Blockchain Currency That Beats Bitcoin On Privacy. IEEE Spectrum (18 ноября 2016). Дата обращения: 30 октября 2017. Архивировано 17 ноября 2017 года.
  34. "Эдвард Сноуден: Zcash решит проблему конфиденциальности Биткоина". Bits.Media. 2016-06-09. Архивировано 18 апреля 2017. Дата обращения: 18 октября 2017.

Литература

Ссылки