Тип работы:
Предмет:
Язык работы:


Реализация криптографических алгоритмов с невозможностью определения участников транзакций

Работа №32851

Тип работы

Дипломные работы, ВКР

Предмет

математика

Объем работы51
Год сдачи2019
Стоимость4900 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
211
Не подходит работа?

Узнай цену на написание


Введение 3
Основная часть 6
Раздел 1. Мотивация и краткая история создания протокола 6
Раздел 2. Описание протокола Zerocash 9
2.1 Неформальное описание протокола Zerocash 9
2.2 Формальное описание протокола Zerocash 16
2.2.1 Структуры данных 16
2.2.2 Алгоритмы 18
2.3 Арифметическая цепочка для операции POUR 21
Раздел 3. Описание протокола zk-SNARK 23
3.1 Примеры доказательства с нулевым разглашением 23
3.2 Описание протокола zk-SNARK 25
Раздел 4. Программная реализация zk-SNARKs 28
4.1 Описание Zokrates 28
4.2 Постановка задачи для программы 29
4.3 Установка Zokrates 30
4.4 Написание программы 31
Заключение 37
Литература 38
Приложение


С развитием технологий и в частности интернета появились и стали популярными криптовалюты по ряду веских причин. Во-первых, это отсутствие государственного контроля над операциями внутри сети. Во- вторых, это используемая в криптовалюте система блокчейн.
До некоторого времени существовало мнение о том, что криптовалюты полностью анонимны. Однако, как оказалось, это не совсем так, и при помощи метаинформации возможно вычислить практически любого пользователя. Данный факт привёл к появлению новых анонимных криптовалют. Одной из таких является Zcash. Одним из нововведений данной валюты стало использование так называемых доказательств с нулевым разглашением.
Доказательство с нулевым разглашением - это протокол, в котором проверяющий может убедиться в правильности некоторого выражения, не имея информации со стороны доказывающего. Цель легального доказывающего (имеющего доказательство) в этом протоколе — убедить проверяющего в том, что у него есть решение, не выдав при этом даже части доказательства. ель проверя его е это удостовериться в том, что доказывающая сторона «не лжёт». Протокол должен быть устроен таким образом, чтоб доказ ва ий мог убедить проверя его только если выражение действительно доказано, а в противном случае он не мог бы этого сделать из-за вычислительной сложности.
У данного протокола существует различные реализации, и в данной работе будет рассматриваться zk-SNARKs использующийся в Zcash. Но перед этим будет приведена краткая информация о протоколе Zerocash.
Доказательства с нулевым разглашением были разработаны Шафи Гольдвассер, Сильвио Микали и Чарльзом Реккофом (учёными из MIT), за что в последствие они удостоились премии Гёделя [1].
Сам акроним zk-SNARL появился в 2012 году в исследовании учёных MIT, Тель-Авивского и Бостонского университетов [2].
Существует несколько различных протоколов zk-SNARK имеющие свои преимущества и недостатки. В данной работе будет рассмотрены именно протоколы : “[PGHR13] Brian Pamo, Craig Gentry, Jon Howell, and Mariana Raykova. Pinocchio: Nearly practical verifiable computation.In
Proceedings of the 34th IEEE Symposium on Security and Privacy, Oakland ’13” и “[BCTV14] Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, and Madars Virza. Succinct non-interactive zero knowledge for a von Neumann architecture. In Proceedings of the 23rd USENIX Security Symposium, Security ’14”, поскольку именно они используются в описании протокола Zerocash [3, стр. 12].
Доказательства с нулевым разглашением, а если быть точнее zk- SNARK и подобные ему протоколы, являются актуальной темой в мире криптовалют. Так, Виталий Бутерин(основатель криптовалюты Etherium) и Эдвард Сноуден считают, что за данной технологией будущее приватного трейдинга. Однако, одновременно с этим, исследования в данной области ведутся в основном учён ми из IT, и почти вся име аяся литература выпущена на английском языке.
И так, в связи с актуальностью данной темы и слабой её освещённость в русскоязычной литературе, данная ВКР имеет практическую значимость.
ель данной работы является рассмотрение устройства одного из существующих протоколов доказательства с нулевым разглашением zk- SNARKs, а так же его программная реализация .
Однако стоит отметить то, что из-за специфики выбранной темы для полного описания всех математических конструкций потребовалось бы знания теоретической информатики, об ей алгебры, а так е ряда других дисциплин, которыми я не обладаю. Поэтому некоторые моменты рассматриваться не будут, либо их обоснование будет представлено ссылкой на соответствующую литературу.

Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


С ростом популярности криптовалют становится ясным, что Биткойн не способен предоставить должный уровень анонимности, так как не скрывает метаинформацию и граф транзакций. В результате появляются криптовалюты нацеленные на повышения уровня безопасности. Одной из таких криптовалют является Zcash.
Целью данной ВКР было разобрать протокол Zerocash, который лёг в основу протокола криптовалюты Zcash, для определения того, каким образом он смог преодолеть недостатки Биткойна.
В ходе разбора было установлено, что в основном анонимность обеспечивается при помои протолкла доказательства с нулевым разглашением zk-SNARK.
Далее схематично был разобран сам протокол zk-SNARK. Математическая сторона протокола была рассмотрена не так подробно, так как для этого требуется освоение теоретической информации и ряда других дисциплин, не входящих в компетенцию автора.
осле была написана программа с использованием инструментария Zokrates. При помощи встроенных инструментов было проведена транзакция, использующая доказательства с нулевым разглашением.
Таким образом цель работы была достигнута. Были разобраны протоколы позволяющие проводить транзакции без деанонимизации сторон, и реализована программа подтвер да ая в числения при помои доказательства с нулевым разглашением.



Доказательство с нулевым разглашением // Википедия. [2019—2019]. Дата обновления: 22.03.2019. URL:
https://ru.wikipedia.org/?oldid=98794806 (дата обращения: 22.03.2019).
2. Non-interactive zero-knowledge proof // Википедия. [2019—2019]. Дата
обновления: 18.05.2019. URL:
https ://en.wikipedia. org/w/index. php?title=Non-interactive_zero- knowledge_proof&oldid=854628930(дата обращения: 18.05.2019).
3. Eli Ben Sasson, Alessandro Chiesa, Christina Garman, Matthew Green, Ian Miers, Eran Tromer, Madars Virza. Zerocash: Decentralized Anonymous Payments from Bitcoin (англ.) // IEEE. — 2014. — 20 November. — ISSN 1081-6011. —DOI:10.1109/SP.2014.36.
4. Eli Ben-Sasson, Alessandro Chiesa, Eran Tromer, Madars Virza. Succinct Non-Interactive Zero Knowledge for a von Neumann Architecture (англ.) // 23rd USENIX Security Symposium (USENIX Security 14). — USENIX Association, 2014. — ISBN 978-1-931971-15-7
5. Bryan Parno, Craig Gentry, Jon Howell, and Mariana Raykova. Pinocchio: nearly practical verifiable computation (англ.) // In Proceedings of the 34th IEEE Symposium on Security and Privacy, Oakland ’13.
6. Документация Zokrates // веб-сервис для хостинга IT-проектов Github
[2019 - 2019]. Дата обновления 10.04.2019. URL:
https://zokrates.github.io/

Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2024 Cервис помощи студентам в выполнении работ