Метод обеспечения конфиденциальности данных на основе zk-SNARK | Прикладная дискретная математика. Приложение. 2021. № 14. DOI: 10.17223/2226308X/14/28

Метод обеспечения конфиденциальности данных на основе zk-SNARK

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

Zk-snark-based data privacy method.pdf Среди технических проблем, препятствующих внедрению технологии распределённых реестров, масштабируемость и конфиденциальность являются особенно существенными. В настоящий момент ведутся активные исследования, направленные на поиск решения проблемы конфиденциальности. Особенно остро эта проблема встаёт в открытых распределённых реестрах (таких, как блокчейн-системы). В таких реестрах все данные сохраняются в открытом виде и доступны всем участникам, что не всегда приемлемо при создании промышленных программных систем. Кроме того, идентификация пользователей происходит по адресу их аккаунта. Таким образом, существует возможность отслеживать действия пользователя путём анализа транзакций, в которых участвует конкретный адрес, и сопоставления адреса аккаунта и пользователя. В работе предложен метод обеспечения конфиденциальности данных с возможностью проверки корректности. В основе метода лежит криптографический протокол неинтерактивного доказательства знания с нулевым разглашением zk-SNARK [1]. Данная работа развивает результаты, полученные в [2]. В качестве базовой системы для реализации метода выбрана платформа Ethereum - блокчейн-система общего назначения, поддерживающая смарт-контракты. В zk-SNARK процедура проверки доказательства состоит из операций на эллиптических кривых. В частности, верификатор требует скалярного умножения и сложения на группе эллиптических кривых, а также вычислительно более сложной операции - билинейного спаривания. Ethereum предоставляет реализацию этих операций в виде предварительно скомпилированных контрактов. С их помощью есть возможность реализовать схемы на основе доказательства с нулевым разглашением в коде смарт-контрактов. Используя только встроенные инструменты, приходится оперировать низкоуровневыми примитивами, что не позволяет реализовать сложные алгоритмы. Для возможности создавать произвольные криптографические схемы, в основе которых лежит zk-SNARK, были разработаны сторонние инструменты, такие, как ZoKrates [3]. Эти решения позволяют реализовать схему в виде кода на довольно высокоуровневом языке, который затем компилируется в код смарт-контрактов. Однако такой подход имеет ряд ограничений, которые не позволяют применять его для схем произвольного размера и сложности. Для решения проблем существующих подходов предлагается добавить поддержку более высокоуровневых криптографических примитивов, выраженных в виде систем ограничений ранга 1 (R1CS - rank-1 constraint systems), непосредственно в код Ethereum-клиента. Таким образом, мы добавляем механизм задания произвольных схем непосредственно в коде смарт-контрактов. При таком подходе нет необходимости напрямую использовать операции над эллиптическими кривыми, вместо этого новые алгоритмы строятся как комбинация добавленных примитивов. Кроме того, такой подход оказывается более вычислительно эффективным за счёт реализации непосредственно в Ethereum-клиенте. В качестве базовых примитивов добавлены схемы, реализующие логические операции (AND, OR, NOT) и операции сравнения. Их реализация выполнена на основе libsnark - криптографической библиотеки с открытым исходным кодом, которая обеспечивает эффективные реализации конструкций zk-SNARK [4]. В Ethereum-клиент добавлены соответствующие операции для возможности вызова этих методов как из кода контрактов, так и вне блокчейна. Для этого модифицирована виртуальная машина Ethereum, куда были добавлены функции создания схемы, генерации доказательства и его верификации. Схема, описанная разработчиком в коде смарт-контракта, транслируется в набор добавленных примитивов. Далее на их основе формируется система ограничений ранга 1 (R1CS), с которой работают алгоритмы генерации и верификации доказательства zk-SNARK. Для каждой новой схемы необходима генерация новой пары ключей доказательства и верификации. Их генерация выполняется вне блокчейна, поскольку в алгоритме генерации используется параметр безопасности, зная который, можно создавать некорректные доказательства, которые будут приняты верификатором как корректные. Таким образом, создана система, которая позволяет разработчикам реализовывать произвольные алгоритмы на основе добавленных базовых схем непосредственно в коде смарт-контрактов. Метод позволяет сократить размер кода смарт-контрактов и, кроме того, оказывается более вычислительно эффективным.

Ключевые слова

распределённые системы, блокчейн, доказательство с нулевым разглашением, zk-SNARK, платформа Ethereum

Авторы

ФИООрганизацияДополнительноE-mail
Кондырев Дмитрий ОлеговичНовосибирский государственный университет ; Лаборатория крипторафии JetBrains Research; Институт математики им. С. Л. Соболевааспирант факультета информационных технологий; исследователь; младший научный сотрудникdkondyrev@gmail.com
Всего: 1

Ссылки

https://github.com/scipr-lab/libsnark - libsnark: a C++ library for zkSNARK proofs.
Eberhardt J. and Tai S. ZoKrates - scalable privacy-preserving off-chain computations // IEEE Intern. Conf. Blockchain. Halifax, Canada, 2018. P. 1084-1091.
Кондырев Д.О. Разработка метода сокрытия приватных данных для системы тендеров на основе технологии блокчейн // Прикладная дискретная математика. 2020. № 48. С. 63-81.
Ben-Sasson E., Chiesa A., Genkin D., et al. SNARKs for C: Verifying program executions succinctly and in zero knowledge // CRYPTO'2013. LNCS. 2013. V. 8043. P. 90-108.
 Метод обеспечения конфиденциальности данных на основе zk-SNARK | Прикладная дискретная математика. Приложение. 2021. № 14. DOI: 10.17223/2226308X/14/28

Метод обеспечения конфиденциальности данных на основе zk-SNARK | Прикладная дискретная математика. Приложение. 2021. № 14. DOI: 10.17223/2226308X/14/28