Актуальность выбранной темы связана с резко повысившимся уровнем инфляции и необходимостью экономии средств, особенно в сфере предоставления финансовых услуг. Теория смарт-контрактов появилась еще в 90-х годах прошлого века, но эффективные инструменты реализации появились в недавнем времени с появлением технологии блокчейн. Исследователи в области применения блокчейна рассматривают смарт- контракты как один из инструментов реализации технологии наряду с биткоином. Применение технологии ведет к удешевлению стоимости проводимых транзакций, упрощению схем составления контрактов и отслеживания их исполнения благодаря формализации процесса.
Целью выпускной квалификационной работы (далее – ВКР) является реализация технологии блокчейн для смарт-контрактов, которые возможно применять для решения простых практических задач, тем самым расширяя область применения. Для заключения смарт-контрактов с целью обеспечения удобства пользователей необходимо продумать механизм формализации условий контрактов, определить наиболее эффективный способ хранения информации, поступаемой с узлов блокчейна. Определить математические
инструменты криптографических методов защиты, так как сохранение целостности данных важный аспект технологии блокчейн.
В связи с вышеизложенным для достижения поставленной цели были определены следующие задачи:
1) изучение существующих форм реализации смарт-контрактов и проведение их анализа;
2) изучение форм реализаций смарт-контрактов с документацией и без с целью определения степени производительности и уровня семантики, последующий выбор формы реализации;
3) разработка модели работы смарт-контракта от заключения до завершения;
4) разработка макета оформления клиентской части смарт-контракта;
5) разработка модели и организация хранения данных цепочек блокчейн;
6) выбор инструментов для реализации поставленной задачи;
7) сбор вводных данных для оракула;
8) программная реализация работы смарт-контракта;
9) тестирование.
ВВЕДЕНИЕ..................................................................................................... 3
1. Технология блокчейн и смарт-контракты................................................ 5
1.1. Технология блокчейн и его реализации................................................ 5
1.2. Вопросы реализации и свойства смарт-контрактов............................. 7
1.3. Исследование блокчейн платформ со смарт-контрактами................. 11
2. Область и модель реализации смарт-контракта....................................... 13
3. Оракул и генерация данных...................................................................... 15
4. Блокчейн составляющая смарт-контракта................................................ 17
4.1. Генерация блоков транзакций и создание цепочек............................... 17
4.2. Применяемые криптографические инструменты.................................. 18
5. Инструменты реализации.......................................................................... 21
5.1. Организация хранения структуры данных........................................... 21
5.2. Программная реализация.................................................................... 24
6. Тестирование основного функционала..................................................... 27
6.1. Тестирование добавления смарт-контрактов в блокчейн..................... 27
6.2. Описание внутреннего функционала окна клиент-узел........................ 28
6.3. Тестирование корректности ввода контракта........................................ 29
6.4. Тестирование окна добавления смарт-контрактов и функциональной части 37
6.5. Тестирование функционала отслеживания статуса смарт-контрактов. 39
7. Тестирование работоспособности программной реализации................. 41
7.1. Тестирование работы оракула............................................................... 41
7.2. Проведение эксперимента исполнимости смарт-контрактов................ 43
ЗАКЛЮЧЕНИЕ............................................................................................. 51
СПИСОК ЛИТЕРАТУРЫ............................................................................. 57
ПРИЛОЖЕНИЕ............................................................................................. 60
1) Bashir I. Mastering Blockchain: A deep dive into distributed ledgers, consensus protocols, smart contracts, DApps, cryptocurrencies, Ethereum, and more. – Packt Publishing Ltd, 2020.
2) Башир И. Блокчейн: архитектура, криптовалюты, инструменты разработки, смарт-контракты. – Litres, 2022.
3) Грылева И. В. Смарт-контракты и технология блокчейн
//Экономика и бизнес: теория и практика. – 2019. – №. 4-2. – С. 63-66.
4) Артамонов В. А., Артамонова Е. В. Применение семантических технологий и блокчейна в юридической сфере //Защита информации. Инсайд.
– 2019. – №. 2. – С. 25.
5) Осмоловская Анастасия Сергеевна Смарт-контракты: функции и применение // Бизнес-образование в экономике знаний. 2018. №2 (10). URL: https://cyberleninka.ru/article/n/smart-kontrakty-funktsii-i-primenenie (дата обращения: 30.03.2023).
6) Что такое смарт-контракты простым языком // prostocoin : сайт. – URL: https://prostocoin.io/blog/smart-contract (дата обращения: 30.03.2023).
7) Kosba A. et al. Hawk: The blockchain model of cryptography and privacy-preserving smart contracts //2016 IEEE symposium on security and privacy (SP). – IEEE, 2016. – С. 839-858.
8) Баринова А. А. Методы и средства обеспечения конфиденциальности смарт-контрактов //Безопасность информационных технологий. – 2017. – Т. 24. – №. 2. – С. 16-23.
9) Генкин А. С., Михеев А. А. ICO-новые экономико-правовые формы секьюритизации на базе технологии блокчейн //Современный юрист. – 2017. –
№. 3. – С. 71.
10) Данные об отправлениях «Почты России» попали в открытый доступ // Факультет компьютерной опасности URL: https://xakep.ru/2022/07/30/pochta-leak/ (дата обращения: 01.05.2023).
11) В сети появился новый фрагмент из базы данных клиентов «Почты России» // Сетевое издание RB.RU URL: https://clck.ru/34NZPr (дата обращения: 01.05.2023).
12) Урванцев, Д. А. Анализ технологии блокчейн / Д. А. Урванцев // Роль инноваций в трансформации современной науки : сборник статей Международной научно-практической конференции: в 6 частях, Уфа, 01 июня 2017 года. Том Часть 2. – Уфа: Общество с ограниченной ответственностью
«Аэтерна», 2017. – С. 131-132. – EDN YQICUJ.
13) Что такое Хэширование? Под капотом блокчейна // Хабр URL: https://habr.com/ru/articles/345740/ (дата обращения: 25.02.2023).
14) SHA-256 Cryptographic Hash Algorithm // Movable Type Scripts URL: https://www.movable-type.co.uk/scripts/sha256.html (дата обращения: 08.04.2023).
15) Андрианова А. А., Мухтарова Т. М., Рубцова Р. Г. Лабораторный практикум по курсу «Технологии баз данных»: Учебное пособие. – 2016.
16) PostgreSQL: The World's Most Advanced Open Source Relational Database // PostgreSQL URL: https://www.postgresql.org/ (дата обращения: 04.02.2023).
17) Система управления базами данных Visual FoxPro. Перспективы использования. // Казанский федеральный университет URL: https://kpfu.ru/sistema-upravleniya-bazami-dannyh-visual-foxpro_383849.html (дата обращения: 04.04.2023).
18) Анисимова Э. С. и др. Использование программной системы dbforge studio for mysql в подготовке бакалавров направления подготовки
«Математика и компьютерные науки». – 2017.
19) dbForge Studio for MySQL - Professional от 2 300265520-2// SoftMagazin URL: https://www.softmagazin.ru/devart/300265520-2/ (дата обращения: 03.03.2023).
20) Стоит ли изучать python: стоит ли учить python, как первый язык программирования, и можно ли, зная только его, найти работу? // Дом, где вам
помогут URL: https://csri.ru/raznoe-2/stoit-li-izuchat-python-stoit-li-uchit-python- kak-pervyj-yazyk-programmirovaniya-i-mozhno-li-znaya-tolko-ego-najti- rabotu.html (дата обращения: 25.04.2023).
21) Switch // Kivy: The Open Source Python App Development Framework. URL: https://kivy.org/doc/stable/api-kivy.uix.switch.html (дата обращения: 15.05.2023).
22) CheckBox // Kivy: The Open Source Python App Development Framework. URL: https://kivy.org/doc/stable/api-kivy.uix.checkbox.html (дата обращения: 15.05.2023).
23) Изучение Python Kivy в одной статье! Основы Kivy // Status telecom URL: https://status-telecom.ru/news/it_news/izuchenie-python-kivy-v-odnoy-state- osnovy-kivy/ (дата обращения: 15.05.2023).
24) Алгоритм SHA-256: определение // Справка Google URL: https://support.google.com/google-ads/answer/9004655?hl=ru (дата обращения: 17.05.2023).