Приветствуем! Впервые на сайте Zcash?
The Zcash network is young, but evolving quickly! Sign up and we'll be in touch with monthly highlights on ecosystem growth, network development and how to get started with Zcash!

Язык

ZSL: zk-SNARKs для корпоративного использования

Jack Gavigan | Mar 23, 2017

Все усилия Zerocoin Electric Coin Company сконцентрированы на перманентной поддержке и развитии Zcash.

Однако в случае с начинающей компанией, которой необходимо генерировать доход для собственного существования и развития, было бы упущением игнорировать потенциальный поток доходов, представленный на корпоративном рынке для технологии распределенных реестров (Distributed Ledger Technology, DLT), которая вызывала большой интерес со стороны ряда промышленных компаний, в том числе в секторе финансовых услуг, здравоохранения и секторов, которые стремятся использовать весь потенциал сообщающихся IoT устройств.

Существует огромное количество потенциальных возможностей использования технологии блокчейн, когда конфиденциальность и защита личной информации являются обязательным условием, начиная от коммерческих тайн и заканчивая нормативными требованиями. В США согласно закону Грэмма — Лича — Блайли потребитель имеет право на финансовую конфиденциальность, а закон об охране и ответственности за информацию, полученную в результате медицинского страхования HIPAA является эталоном конфиденциальности личной информации о здоровьи; согласно директиве ЕС о защите данных (которую вскоре заменят на Общеевропейский закон о защите данных) личная информация должна быть защищена от несанкционированного обнародования; требования коммерческой конфиденциальность касаются как государств, так и предприятий.

Мы считаем, что технология защиты информации Zcash способна удовлетворить основные требования конфиденциальности и защиты информации финансовой деятельности организаций.

Чтобы понять, каким образом технология, на которой базируется Zcash, может быть полезной в такого рода делах, будет не лишним разобраться в ее архитектуре.

Многоуровневая структура Zcash

Чтобы создать действующую транзакцию системе блокчейн Bitcoin, необходимо доказать три вещи: f 1. что коины не были потрачены ранее, 2. что Отправитель имеет полномочие передать «право на владение» этими коинами, и 3. что входящее и исходящее количество одинаково.

Доказательство того, что коины не были потрачены ранее базируется на имеющихся записях в реестре и не требует никаких действий Отправителя.

Право на владение Отправитель доказывает используя электронную подпись, сделанную с помощью секретного ключа, который соответствует адресу, на котором коины находятся в данный момент. Для подтверждения подписи необходимо, чтобы адрес Отправителя не был скрыт. В свою очередь, Получатель сможет потратить эти деньги только открыв свой адрес.

При использовании Bitcoin проверка того, что входящая сумма транзакции равна исходящей тривиальна, потому что отправляемая сумма раскрывается.

A high-level skeleton diagram of a Bitcoin transaction

В Zcash используются доказательства с нулевым разглашением (а конкретно, zk-SNARKs), чтобы доказать те же три вещи, но не раскрывая информации ни об Отправителе, ни о Получателе, ни о пересылаемой сумме. Для каждой действительной транзакции применяется zk-SNARK, доказывая что: отправляемая сумма реальна и не была потрачена ранее, создатель транзакции имеет право потратить отправляемую сумму, и что количество и вид отправленной суммы равны количеству и виду полученной.

Информация, необходимая для того, чтобы потратить полученную сумму (с помощью создания zk-SNARK) прикрепляется к транзакции и зашифровывается Получателем при помощи открытого ключа. Эта информация доступна только Получателю.

A high-level skeleton diagram of a zero-knowledge proof transaction

В результате образуется фактически новый тип распределенного реестра, который мы называем безопасным уровнем с нулевым разглашенем или ZSL - zero-knowledge security layer.

Zcash - это реализация ZSL, использующая форк исходного кода Bitcoin для обеспечения прозрачности транзакций.

A high-level skeleton diagram of a Zcash transaction

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

ZSL можно использовать в качестве верхнего слоя разных видов распределенных реестров, добавив также к основным функциям поддержку прозрачных транзакций. Однако из этого не следует, что все прочие основные функции станут лучше с добавлением приватности и конфиденциальности. Например, интеграция ZSL в исходный код Ethereum сделает возможным использование скрытых транзакций, которые позволят сохранить конфиденциальность пользователя, но при этом заключение умных контрактов придется оставить прозрачным. Мы все еще находимся в поиске наилучших путей применения ZLS.

ZSL также можно включать в работу любого механизма консенсуса; вместо доказательства выполнения работы в реестре предприятия может быть использован алгоритм round-robin, система подтверждения доли или новый механизм консенсуса типа Tendermint. Также ZSL возможно интегрировать в базу данных MySQL, где плагин schema требует действительных доказательств для вставки в таблицы, но администратор базы данных не может видеть балансы счетов.

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

Другим преимуществом многоуровневой структуры является то, что она позволяет сконцентрироваться на том, что у нас получается больше всего. Мы небольшая компания и нашей главной задачей остается разработка инновационных криптографических технологий (но не разработка полного корпоративного решения для распределенного реестра). Предоставляя эти технологии в качестве «добавочного» уровня, мы можем сотрудничать с поставщиками решений, чтобы предлагать конечному пользователю основанную на zk-SNARK безопасность и конфиденциальность для различных платформ DLT.

Как бы банально это ни звучало, наша цель не отхватить от торта самый большой кусок, а путем кооперации сделать его многослойным.

Усовершенствование функционала Zcash (и ZSL)

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

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

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

Добавление в ZSL поддержки User-Issued Tokens, или токены, созданные пользователем, позволит повысить выпуск и торговлю разных типов цифровых активов в пределах одного блокчейна. Это безусловно может найти применение в финансовом секторе, который уже заинтересован в использовании технологии блокчейн для торговли ценными бумагами. При использовании ZSL как детали подобных сделок, так и идентификационные данные контрагентов могут оставаться конфиденциальными без ущерба для взаимозаменяемости продаваемых активов.

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

Что касается интероперабельности, мы работаем над внедрением мгновенных транзакций между цепями (англ. cross-chain atomic transactions или XCAT), которые сделают возможным обмен цифровыми активами между различными видами блокчейнов, оптимизированных для такого обмена и при этом основывающихся на разных моделях управления и режимах регулирования. Например, решением для биржевых блокчейн сделок, совершаемых в цепи, регулируемой CFTC -комиссией по торговле товарными фьючерсами, - может быть распределение акций в реестре, регулируемом SEC. Решением для фондовых сделок, совершаемых в цепи, управляемой NYSE или DTCC, может стать использование CBDC или денежных средств в коммерческих банках (“b-money”) в реестре, регулируемом Федеральным резервом.

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

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

Вглядываясь в будущее

Как блокчейн, так и распределение реестра являются новейшими технологиями. Я думаю, что они находятся на том же уровне зрелости, как интернет и «Всемирная паутина» в 1996 году. Уже тогда было ясно, что интернет способен изменить мир, но для того, чтобы технология созрела и получила широкое распространение, потребовалось время. И также понадобилось время, чтобы потенциал развился до такой степени, чтобы можно было использовать его полностью.

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

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

Мы также осознаем, что может возникнуть конфликт интересов между нашей ролью в качестве прогрессоров основных функций Zcash и нашим стремлением к получению дохода за счет продажи предприятиям решений с поддержкой ZSL. Чтобы обеспечить независимость и объективность, мы создали независимую некоммерческую организацию Zcash Foundation, представляющую как интересы участников сообщества Zcash, так и интересы широкой аудитории пользователей протокола и блокчейна Zcash.

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

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