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


Автоматизация формирования транзакций и технологии хранения приватных ключей в блокчейне

Работа №129330

Тип работы

Бакалаврская работа

Предмет

информатика

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

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


Введение 3
Постановка задачи 5
Обзор литературы 7
Глава 1. Обзор существующих решений и подходов 8
1.1. Подходы по улучшению безопасности 8
1.2. Продукты по автоматизации 9
Глава 2. Описание проекта 11
2.1. Возможности сервиса 11
2.2. Архитектура проекта 12
Глава 3. Формирование концепции нового решения 14
3.1. Идея решения 14
3.2. Выдвижение технических требований 15
3.3. Выбор конкретной сети 16
Глава 4. Реализация смарт-контракта 17
4.1. Написание смарт-контракта 17
4.2. Оптимизация кода смарт-контракта 18
Глава 5. Реализация сервиса автоматизации 25
5.1. Пользовательский интерфейс 25
5.2. Сервер приложения 26
5.3. Сканер реестров 27
5.4. Технология хранения приватных ключей 29
5.5. Основной сценарий работы 30
Глава 6. Анализ полученных результатов 32
Выводы 34
Заключение 36
Список литературы 37


В настоящее время блокчейн (распределенный реестр, данные в котором хранятся в блоках, создающих последовательную непрерывную цепочку) [1] является очень популярной технологией, а людей, использующих его, с каждым днем становится все больше и больше. Убедиться в этом можно посмотрев на график зависимости количества активных адресов в сети Ethereum от времени [2] (Рис. 1). В такой тенденции нет ничего удиви-тельного, ведь распределенные реестры обладают огромным количеством преимуществ [3], основные из них: децентрализация, сохранность данных и прозрачность транзакций.
Основанные на технологии блокчейн цифровые активы и криптовалюты пользуются огромным спросом не только среди IT компаний, но и среди широкой массы пользователей. Транзакции, выполняемые в распределенных реестрах, а в особенности смарт-контракты (программы, хранящиеся и выполняющиеся в сети блокчейн) [4] могут предоставить людям огромные возможности, например, для развития бизнеса [5]. Транзакциями могут быть как простые переводы средств на счет, так и создание своих токенов для ICO (Initial coin offering) - форма привлечения инвестиций, которая заключается в продаже единиц токенов и является некоторой альтернативой классического IPO. Также оформление различных сделок, аналогов брачного договора или завещания, может ускорить процесс и исключить из дела посредников, что сэкономит людям время и деньги. В общем, блокчейн является крайне перспективной технологией, которая мо¬жет улучшить и упростить жизнь людей.
Однако в такой системе тоже могут существовать свои недостатки. Необходимо выявить и решить некоторые из них.
Постановка задачи
В блокчейне используется технология цифровых подписей, основанная на сложных криптографических алгоритмах [6]. Приватный ключ - все, что требуется для подписи транзакции и гарантии ее неподдельности. Это очень удобно, однако без такого ключа невозможно получить доступ к своим средствам. Другими словами, проблемой является то, что потеря приватного ключа ведет к полной потере доступа к кошельку, а следовательно и ко всем средствам на нем. Так как приватный ключ невозможно восстановить, то это становится серьезной проблемой, что отталкивает многих пользователей от технологии.
Эту проблему теоретически можно решить логикой, реализованной в смарт-контракте, однако это приводит нас ко второй проблеме. Написание смарт-контрактов - задача сложная, требующая определенных прикладных знаний и навыков. К тому же, почти все блокчейны на данный момент не поддерживают классические популярные языки программирования и требуют изучения новых инструментов для этого (например Solidity [7]). Этот факт делает невозможным написание за приемлемое время необходимых программ-контрактов для людей, абсолютно не знакомых с этой областью.
Таким образом, задачей является нахождение и реализация такого решения, которое обезопасило бы владельцев токенов (цифровых активов) от потери доступа к своим средствам, автоматизируя создание и развертывание защищающего эти активы смарт-контракта. Также необходимо предоставить клиентам такой интерфейс, благодаря которому каждый технически неподготовленный пользователь смог бы воспользоваться текущим решением.
Для достижения этой цели необходимо выполнить следующие подзадачи:
• подробно изучить технологию блокчейн;
• проанализировать существующие решения, выявить их преимущества и недостатки;
• разобраться в структуре и принципах работы существующего сервиса компании по автоматизации определенных видов смарт-контрактов, предложившей решить выявленные проблемы в качестве выпускной квалификационной работы;
• основываясь на полученных знаниях предложить идею решения, вы-двинуть технические требования, подобрать архитектуру проекта и инструменты для его реализации;
• реализовать минимально жизнеспособный продукт, удовлетворяющий поставленным требованиям;
• проанализировать полученное решение, сравнить с описанными существующими продуктами и подходами.


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

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

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


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



[1] A. Averin, O. Averina Review of Blockchain Technology Vulnerabilities and Blockchain-System Attacks // 2019 International Multi-Conference on Industrial Engineering and Modern Technologies (FarEastCon). 2019.
[2] Официальная статистика сети Ethereum URL:https://etherscan.io/chart/address (дата обращения: 19.05.2020).
[3] Badev, An. Baird, M. Brezinski, T. Chen, Cl. Ellithorpe, M. Fahy, L. Kargenian, V. Liao, K. Malone, B. Marquardt, J. Mills, D. Ng, W. Ravi, An. Wang, K. (2016). Distributed Ledger Technology in Payments, Clearing, and Settlement. Finance and Economics Discussion Series. 2016. doi:10.17016/FEDS.2016.095.
[4] Vinayak Singla, Indra Kumar Malav, Jaspreet Kaur, Sumit Kalra Develop Leave Application using Blockchain Smart Contract // 2019 11th International Conference on Communication Systems Networks (COMSNETS). 2019.
[5] Zil, K., Strazdin a, R. (2018). Blockchain Use Cases and Their Feasibility. Applied Computer Systems, 23(1), 12-20. doi:10.2478/acss-2018-0002
[6] Zheng, Z., Xie, S., Dai, H., Chen, X., Wang, H. (2017). An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends. 2017 IEEE International Congress on Big Data (BigData Congress). doi:10.1109/bigdatacongress.2017.85
[7] Официальная документация Solidity URL:https://solidity.readthedocs.io/en/v0.6.7/ (дата обращения: 17.04.2020).
[8] Официальная документация Uml2Solidity URL:https://github.com/UrsZeidler/uml2solidity (дата обращения: 17.04.2020).
[9] Официальный сайт сервиса Etherscripter URL:https://etherscripter.com/0-5-1/ (дата обращения: 17.04.2020).
[10] Библиотека смарт-контрактов OpenZeppelin URL:https://openzeppelin.com/ (дата обращения: 17.04.2020).
[11] Официальный сайт сервиса Unibright.io URL:https://unibright.io/(дата обращения: 17.04.2020).
[12] Официальный сайт сервиса Smartz.io URL:https://smartz.io/ (дата обращения: 17.04.2020).
[13] Официальный сайт сервиса Blockcat.io URL:https://blockcat.io/(дата обращения: 17.04.2020).
[14] Luu, L., Chu, Duc-Hiep, Olickel, H., Saxena, Pr., Hobor, Aq. (2016). Making Smart Contracts Smarter. 254-269. doi:10.1145/2976749.2978309.
[15] Официальный сайт сервиса MyWish.io URL:https://mywish.io/ (дата обращения: 17.04.2020).
[16] Официальный сайт сервиса SWAPS.NETWORK URL:https://swaps.network/ (дата обращения: 14.04.2020).
[17] Официальный сайт кошелька MetaMask URL:https://metamask.io/(дата обращения: 14.04.2020).
[18] Официальный сайт кошелька MyEtherWallet URL:https://www.myetherwallet.com/ (дата обращения: 11.04.2020).
[19] Bartoletti, M., Pompianu, L. (2017). An Empirical Analysis of Smart Contracts: Platforms, Applications, and Design Patterns. Lecture Notes in Computer Science. doi:10.1007/978-3-319-70278-0 31.
[20] Gavin Wood. (2014). Ethereum: A secure decentralised generalised transaction ledger. Ethereum Project Yellow Paper.
[21] Everett Hildenbrandt, Manasvi Saxena, Nishant Rodrigues, Xiaoran Zhu, Philip Daian, Dwight Guth KEVM: A Complete Formal Semantics of the Ethereum Virtual Machine // 2018 IEEE 31st Computer Security Foundations Symposium (CSF). 2018.
[22] Ethereum Yellow Paper URL:http://paper.gavwood.com/ (дата обращения: 25.04.2020).
[23] Среда для разработки и отладки смарт-контрактов в локальной сети Ethereum URL:https://remix.ethereum.org/ (дата обращения: 14.05.2020).
[24] Криптовалютная биржа Binance // Криптовалютная биржа Binance URL:https://www.binance.com/ru (дата обращения: 18.05.2020).
[25] Zhenglin Liu, Xin Dong, Yizhi Zhao, Dongfang Li Hardware implementation of SHA-3 candidate based on BLAKE-32 // 2012 5th International Conference on BioMedical Engineering and Informatics. 2012.
[26] Token Saver Smart Contract // GitHub URL:https://github.com/MyWishPlatform/token_saver (дата обращения: 20.05.2020).
[27] Ethereum White Paper URL:https://github.com/ethereum/wiki/wiki/White-Paper (дата обращения: 20.04.2020).
[28] Открытый реестр транзакций сети Ethereum "Etherscan"URL:https://etherscan.io/ (дата обращения: 15.05.2020).
[29] Dmitry Khovratovich, Jason Law BIP32-Ed25519: Hierarchical Deterministic Keys over a Non-linear Keyspace // 2017 IEEE European Symposium on Security and Privacy Workshops (EuroSPW). 2017.
[30] Selman Yakut, A. Bedri Ozer HMAC based one time password generator // 2014 22nd Signal Processing and Communications Applications Conference (SIU). 2014.
[31] Token Saver Project // GitHub URL:https://github.com/MyWishPlatform/mywill_backend (дата обращения: 20.05.2020).
[32] Ethereum Improvement Proposals URL:https://eips.ethereum.org/erc (дата обращения: 18.04.2020).


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




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