ПЕРЕЧЕНЬ ПРИНЯТЫХ СОКРАЩЕНИЙ 7
ВВЕДЕНИЕ 8
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 9
1.1 Развитие веб-технологий в современном мире 9
1.1.1 Сферы применения веб-технологий 12
1.2 Сетевая модель передачи данных HTTP 13
1.2.1 Структура HTTP-запросов и ответов 14
1.3. Технология блокчейн 18
1.3.1 Характеристики блокчейна 20
1.3.2 Применение технологии блокчейн в различных сферах человеческой
деятельности 21
1.4 Основные принципы работы блокчейна Etherium 23
1.4.1 Правила консенсуса - протокол GHOST 24
1.4.2 Компоненты платформы Etherium 25
2 РАЗРАБОТКА ПРИЛОЖЕНИЯ 29
2.1 Постановка задачи 29
2.2 Структура данных приложений 29
2.3 Выбор архитектуры приложения и способа организации пользовательского
интерфейса 31
2.4 Описание разработки программы 34
2.5 Отладка и тестирование 37
3 ОПИСАНИЕ ПРОГРАММЫ 38
3.1 Описание клиентского приложения 38
3.3 Описание серверного приложения 41
3.4 Руководство пользователя 42
ЗАКЛЮЧЕНИЕ 55
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ 56
ПРИЛОЖЕНИЕ А Листинги программы сервера 57
Приложение А.1 Файл сервера main.py 57
Приложение А.2_Файл сервера block.py 59
ПРИЛОЖЕНИЕ B Листинги программы клиента 63
Приложение B.1 Файл клиента base.html 63
Приложение B.2 Файл клиента index.html 79
ПРИЛОЖЕНИЕ С Презентация 83
Неоспоримым фактом является то, что безопасность занимает высокую позицию в нашей жизни, что является причиной того, что развитие технологий, обеспечивающих безопасность, является неотъемлемой частью научно¬технического прогресса.
Необходимость создания протоколов для верификации и подтверждения авторства документов заставляет придумывать и использовать все более и более новые и совершенные алгоритмы подписи и верификации файлов. Однако неотъемлемой частью алгоритмов, позволяющих предотвратить незаметное изменение данных, а также проверить их подлинность являются специальные структуры данных и технологии, которые в последнее время стали всё активнее проникать в различные сферы человеческой деятельности. Одной из таких технологий является Blockchain.
В основе данной технологии лежит хеширование блоков информации и связывание путем полученных хешей этих блоков в цепочку, в результате чего каждый последующий блок становится зависим от предыдущего и, как следствие, изменение информации в блоках становится явно заметным.
Однако основным недостатком существующих систем на основе этой технологии является техническая сложность реализации и использования.
В рамках данной выпускной квалификационной работы необходимо разработать систему регистрации документов на основе технологии блокчейн, которая бы обладала простым и понятным пользовательским интерфейсом в сочетании с функциональностью и надежностью и позволяла бы устранить проблему проверки важных документов на неизменность с течением времени
Результатом работы является веб-приложение, имеющее интуитивно понятный пользовательский интерфейс, которое позволяет регистрировать файлы в БД и проверять их неизменность после добавления. Приложение обеспечивает невозможность внесения злоумышленником незаметных изменений в базу данных после добавления транзакции при отсутствии у злоумышленника технического превосходства. Данный проект полностью удовлетворяет поставленной цели.
Отладка и тестирование, проведенные на созданной БД, а также множество добавленных и проверенных файлов, позволили исправить ошибки в программе и добиться получения корректных результатов ее работы.
Работа над проектом позволила расширить знания и улучшить навыки создания веб-приложений, работы с базами данных.
Программа может быть улучшена добавлением личного кабинета с возможностью авторизации, сохранением истории добавленных файлов, а также возможностью регистрации и проверки папок с документами.
1. Васильев А. Н. «JavaScript в примерах и задачах» Москва: Эксмо, 2017. - 720 с.
2. Марк Лутц «Learning Python» Москва:
Символ-Плюс, 2011. - 848 с.
3. Дэвид Сойер Макфарланд «JavaScript и JQuery. Исчерпывающее руководство» Москва: Эксмо, 2017. - 880 c.
4. Эдди Османи «Паттерны для масштабируемых JavaScript-приложений» URL:http://largescalejs.ru/what-exactly-is-a-large-j avascript-application/