Тема: РЕАЛИЗАЦИЯ ПРОГРАММНОГО РЕШЕНИЯ ДЛЯ МОБИЛЬНЫХ УСТРОЙСТВ НА БАЗЕ ПРОТОКОЛА BLOCKCHAIN С ЦЕЛЬЮ ПОСТРОЕНИЯ РАСПРЕДЕЛЕННОЙ СИСТЕМЫ ОБМЕНА ДАННЫМИ
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1. ПРОТОКОЛ БЛОКЧЕЙН И ПРИНЦИПЫ ЕГО РАБОТЫ 6
1.1. Общие сведения 6
1.2. Блоки транзакций 6
1.3. Хеш-функции 8
1.4. Цепочки блоков 9
2. ОБЗОР СУЩЕСТВУЮЩИХ РЕШЕНИЙ 11
2.1. Bitcoin 11
2.2. Ethereum 11
2.3. Storj.io 12
2.4. Выводы 13
3. ОПИСАНИЕ ПРОГРАММНОЙ РЕАЛИЗАЦИИ 15
3.1. Общая информация о реализации 15
3.2. Модуль коммуникации между узлами 16
3.2.1. Основные методы модуля коммуникации между узлами 17
3.2.2. Основные эндпоинты серверной части 17
3.3. Модуль взаимодействия с блокчейном 18
4. ПРИНЦИП РАБОТЫ РАЗРАБОТАННОЙ P2P-СЕТИ 19
5. РЕАЛИЗАЦИЯ БЛОКЧЕЙН-СЕТИ 22
5.1. Проектирование структуры блока и транзакции 22
5.2. Хэширование блоков 23
5.3. Реализация алгоритма генерации новых блоков 24
5.4. Реализация алгоритма верификации блоков 25
5.5. Построение структуры для хранения цепочки блоков транзакции 26
5.6. Построение блокчейн-сети для каждой сессии обмена данными 27
6. АЛГОРИТМ PROOF OF WORK 29
6.1. Стандартная реализация алгоритма PoW 29
6.2. Модификация алгоритма PoW 30
7. СИНХРОНИЗАЦИЯ УЗЛОВ СЕТИ 33
7.1. Стандартный механизм разрешения конфликтов 33
7.2. Собственный механизм разрешения конфликтов 35
8. ПРОГРАММНАЯ БИБЛИОТЕКА 37
ЗАКЛЮЧЕНИЕ 40
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 42
ПРИЛОЖЕНИЕ
📖 Введение
Согласно статистике, 67% из всего населения земного шара ежедневно используют мобильные устройства, из них 80% - пользователи смартфонов. Кроме того, средняя тактовая частота процессора смартфона на сегодняшний день 2 ГГц [1]. Приведенные статистические данные показывают, что на сегодняшний день, ввиду наличия мобильных устройств у большинства людей, значительный объем данных передается именно с использованием таких устройств. Принимая во внимание этот факт, а также достаточную для применения алгоритмов шифрования мощность современных мобильных устройств, можно сделать вывод о возможности и необходимости реализации на базе мобильных устройств системы защищенного обмена информацией. В виду децентрализованности, а также применения принципов шифрования, для реализации подобной системы подходит такой инструмент, как блокчейн - распределенная база данных, построенная с использованием шифрования данных по определенным правилам.
В ходе исследования существующих реализаций протокола блокчейн, таких как Bitcoin, Ethereum, Storj .io, а также инструментов, связанных с ними, было обнаружено, что ни одна из данных реализаций не пригодна для мобильных платформ по причине слишком сложных вычислений, либо из-за отсутствия инструментов для интеграции мобильных устройств.
В виду вышесказанного, для того, чтобы использовать блокчейн на мобильных устройствах, необходимо разработать собственную реализацию данной технологии, ориентированную на специфику таких устройств, а именно - ограниченные вычислительные мощности по сравнению с компьютерами. Перед отправкой информацию необходимо обработать, поместив данные в транзакции, а транзакции - в блоки, которые затем будут встроены в блокчейн. Таким образом, возникает задача интеграции обмена информацией с разрабатываемой распределенной системой.
Целью данной работы является разработка реализации протокола блокчейн, пригодной для использования на мобильных устройствах.
Для достижения цели работы были поставлены следующие задачи:
• Разработка требований к системе на основании результатов обзора текущих реализаций технологии блокчейн;
• Проектирование программного решения;
• Реализация модуля коммуникации между узлами;
• Построение собственной сети блокчейн для каждой сессии обмена информацией;
• Модификации алгоритма Proof of Work;
• Реализация взаимодействия и синхронизации;
• Разрешение конфликтов между узлами сети;
• Разработка программной библиотеки для ОС iOS.
✅ Заключение
В процессе выполнения работы выполнены следующие задачи:
• Реализация модуля коммуникации между узлами;
• Построение собственной сети блокчейн для каждой сессии обмена информацией;
• Модификации алгоритма Proof-of-Work;
• Реализация взаимодействия и синхронизации;
• Разрешение конфликтов между узлами сети;
• Разработка программной библиотеки для ОС iOS.
Разработанная библиотека была опубликована на Bitbucket [11] и может быть подключена к проекту с использованием системы управления зависимостями CocoaPods и использована в любом приложении для устройств под управлением операционной системы iOS версии 10 и выше.
Помимо этого для демонстрации работы библиотеки разработано демонстрационное приложение-мессенджер, которое использует реализованную библиотеку для построения P2P-сетей, в которых происходит обмен сообщениями между пользователями.
В отличие от большинства существующих аналогов, разработанная программная библиотека имеет возможность интеграции с мобильными устройствами. Кроме того, в разработанном программном продукте решена проблема медленной работы майнера на мобильных устройствах из-за слишком сложных вычислений. В качестве критерия оценки быстродействия было выбрано время генерации одного блока. Сравнение проводилось с блокчейном Ethereum, так как из рассмотренных только он имеет средства для интеграции с мобильными платформами. Время на генерацию одного блока в сети Ethereum при помощи мобильного устройства составляет от 1 до 6 часов, в разработанной реализации один блок генерируется в среднем 0,5 секунды.



