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

Zcash представляет собой криптовалютную сеть, которая была запущена в октябре 2016 года. Как и в других сетях криптовалют (например, Биткойн или Ethereum), Zcash позволяет любому лицу, обладающему компьютером и подключённому к сети Интернет, отправлять и получать дефицитные токены, которые могут быть использованы в качестве денежных средств в Интернете. Программное обеспечение, которое применяется в сети криптовалюты Zcash, является непосредственным производным базового программного обеспечения Биткойн, но оно было усовершенствовано для того, чтобы повысить конфиденциальность пользователей.

Участники сети, которые передают, подтверждают или упаковывают транзакции пользователей в блоки, по аналогии с криптовалютой Биткойн, обычно называются майнерами. Эти майнеры получают вознаграждение за свое участие в виде комиссий и в недавно выпущенной криптовалюте Zcash. Они обязаны решить трудную математическую задачу (похожую, но всё же отличающуюся от алгоритма майнинга криптовалюты Биткойн) для того, чтобы заслужить привилегию своего участия. Как и в случае с Биткойном, любое лицо может стать майнером в сети Zcash; всё, что ему понадобится, это подключение к Интернету, достаточно мощный компьютер, и бесплатное opensorce программное обеспечение Zcash.

Зачем выпускать новую криптовалюту с улучшенной конфиденциальностью?

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

Вот простой пример. Большинство людей используют Биткойн, применяя совместный платёжный адрес, который выглядит примерно так:

1CPwNACt62wts2yGbz1vUuqeGD58SzzeAL

Возможно, этот адрес принадлежит бармену. Чтобы принять Биткойн в уплату поданного коктейля, бармен наносит этот адрес на плакат, размещённый за стойкой бара в виде QR-кода, так что это будет выглядеть примерно следующим образом (любезно предоставлено заведением Room77 в Берлине):

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

Такая неудовлетворительная конфиденциальность может быть в значительной степени улучшена, если ваш Биткойн-кошелёк создаёт новый платёжный адрес каждый раз, когда вы хотите получить оплату. Так что бармен теперь будет показывать клиентам каждый раз новый QR-код, с помощью которого он или она смогут оплатить свой индивидуальный счёт. Но основной вопрос остаётся без ответа. Часто такие отдельные платежи объединяются для оплаты исходящей транзакции. Предположим, бармен хочет внести плату за свою квартиру с помощью Биткойнов, которые он получил от клиентов, но сумма такого отдельного арендного платежа выше, чем какая-либо разовая оплата заказа, полученная от клиента. Бармену придётся использовать несколько своих адресов получателя для внесения арендной платы, и тогда эти адреса объединяются в транзакционное сообщение, которое отправляется в Блокчейн. Анализируя эти транзакции, постороннее лицо, которое знает один из адресов бармена, получает возможность создать карту кластерных адресов, которые используются барменом. Таким образом, проведя кластерный анализ, это лицо может получить довольно хорошее представление о финансовом состоянии бармена в Биткойнах и узнать многое другое о бармене, например, сколько он платит за аренду квартиры, и как часто он производит оплату.

Для того, чтобы реально обеспечить конфиденциальность, пользователь Биткойнов вынужден предпринимать всевозможные технические меры предосторожности: никогда не использовать один и тот же платёжный адрес дважды, избегать рекомбинации платёжных адресов в качестве входных данных последующих транзакций, не отправлять средства на сервисы микширования, которые будут тасовать средства в Биткойнах среди массы других держателей этой криптовалюты (и, надеюсь, не сбегут с этими денежными средствами), использовать Тор или другой частный Интернет-сервис, чтобы затруднить определение связи между географическими данными IP-адреса и транзакционным сообщением. Список можно продолжать. Это трудные шаги для технологически неподготовленного пользователя, и даже искушенный пользователь может отказаться пойти на эти меры, если он не занимается ничем криминальным, и чувствует, что преимущества конфиденциальности просто не стоят  соответствующих затрат.

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

Каким образом Zcash обеспечивает конфиденциальность? 

Сеть Zcash использует модифицированное программное обеспечение, которое предоставляет пользователям возможность выбора при проведении транзакции. Вы можете получить оплату на нормальный адрес, который работает прозрачно, так же как Биткойн-адрес (мы называем это транспарентный адрес или «т-адрес»), или вы можете воспользоваться отдельным платёжным адресом (мы называем это защищённый адрес или «z-адрес»). Если два лица проводят транзакцию с помощью защищённых адресов, система Zcash не будет открыто регистрировать детали такой транзакции в Блокчейне. Все такие детали являются признаками, которые в противном случае использовались бы для идентификации таких лиц. К ним относится сумма криптовалюты Zcash, только что отправленная и полученная, а также адреса плательщика или получателя платежа. С применением защищённых адресов Zcash, вся подобная информация шифруется и становится полностью закрытой.

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

Система Zcash использует передовые достижения математики и других наук для создания блокчейна, обеспечивающего конфиденциальность. В частности, она применяет криптографические функции zk-SNARK. Это означает сжатое мультиграфовое представление неинтерактивных аргументов разглашения с нулевым разглашением (Zero-Knowledge Succinct Non-interactive Arguments of Knowledge). Попробуйте всё это выговорить (айтишники не всегда хороши в придумывании названий). Но, вот что оно значит: в случае использования zk-SNARK компьютер или компьютерная сеть может получить неким образом зашифрованные и нечитаемые данные и подтвердить, что определенные ограниченные факты соответствуют действительности в отношении полученных данных, не раскрывая никакой другой информации относительно этих данных. Таким образом, в случае платежа, проводимого с и на защищённый системой Zcash адрес, использующий систему zk-SNARK, встроенную в протокол программного обеспечения, сеть получает возможность подтвердить любому пользователю, что все исходящие транзакции соответствуют всем входящим транзакциям (т. е. никаких новых денежных средств создано не было). При этом, функция SNARK подтверждает этот факт, не раскрывая специфики отдельных транзакций, а также всех данных, которые могли бы быть использованы для компрометации вашей конфиденциальности.

Насколько регулируемые институты смогут использовать Zcash?

Финансовые институты в законодательном порядке обязаны соответствовать требованиям по борьбе с отмыванием денег и противодействию финансированию терроризма, изложенным в нормативных документах и правилах. Насколько эти институты смогут использовать платёжную систему и валюту, которая не оставляет никаких записей о проведённых отдельных транзакциях? Абсолютно! Эта система называется «наличные средства», и практически каждый финансовый институт в мире её использует. Денежные операции с наличностью по-прежнему гораздо менее прозрачны, чем любая транзакция с использованием криптовалюты, включая транзакции Zcash, проводимые с защищённых адресов.

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

Ответственность за соответствие требованиям «Закона о банковской тайне» (закон о финансовой разведке в США) несёт учреждение, а не технология, лежащая в основе платёжной среды, или разработчики этой технологии. Мы не ставим Федеральной резервной системе задачу регистрировать каждую транзакцию с использованием наличных денежных средств; мы просим, чтобы каждый  отдельный банк или компания, предоставляющая финансовые услуги, вели свой собственный учёт, самостоятельно проводили проверку в рамках программы «Знай своего клиента» и сообщали о вещах, которые выглядят подозрительно.

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

А правда ли то, что Zcash затрудняет регулирование? 

Защищённые адреса криптовалюты Zcash могут затруднить регуляторам и правоохранительным органам проведение расследований с использованием общедоступных данных, полученных из сетей Блокчейн, но Zcash также обладает некоторыми встроенными функциями, которые могут упростить обеспечение соответствия нормативным требованиям без ущерба конфиденциальной информации законных пользователей. Два соответствующих технических концепта включают просмотровые ключи и примечания (memos).

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

(Примечание: на момент написания этой статьи, текущая версия Zcash, v 1.0.3, не обладала возможностью комплексной поддержки пользователей в отношении получения и использования просмотровых ключей, хотя они уже включены в протокол).

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

Транзакции с помощью Zcash также получают поле примечаний, которое может быть использовано для передачи дополнительных данных о транзакции, которые увидит только получатель. Эти примечания могут содержать данные финансовых институтов, которые они должны предоставлять в соответствии с требованиями законодательства (например, требования к переводу денежных средств Закона о банковской тайне).

Почему технологии обеспечения финансовой конфиденциальности настолько важны? 

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

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

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

Зооко Уилкокс является Основателем и Генеральным исполнительным директором компании Zcash Electric Coin Company. Он обладает более чем 20-летним опытом в области открытых, децентрализованных систем, криптографии и информационной безопасности, а также в области стартапов. Зооко Уилкокс широко известен своим участием в проектах DigiCash, Mojo Nation, ZRTP, Zooko’s Triangle, Tahoe-LAFS, BLAKE2, и SPHINCS.