Введение 3
Постановка задачи 5
Обзор литературы 7
Глава 1. Децентрализованные финансы 8
1.1. Определение и суть концепции 8
1.2. Варианты использования сервисов DeFi 9
Глава 2. Обзор существующих решений и подходов 11
2.1. Экосистема Polkadot 11
2.1.1 Структура проекта и внутреннее устройство 11
2.1.2 Проекты на Polkadot 14
2.2. Блокчейн-мосты 17
Глава 3. Формирование концепции нового решения 19
3.1. Идея решения Wish Swap 19
3.2. Выдвижение технических требований 20
3.3. Выбор сетей для осуществления кроссчейн обмена .... 20
Глава 4. Реализация проекта 22
4.1. Написание кода смарт-контрактов 22
4.2. Реализация бэкенда 26
4.3. Реализация фронтенда 26
4.4. Архитектура проекта 27
4.5. Основной сценарий работы приложения 27
4.6. Нюансы проекта 29
4.7. Безопасность проекта 30
Глава 5. Анализ полученных результатов 33
Выводы 34
Заключение 36
Список литературы
На сегодняшний день блокчейн (распределенный реестр, данные в котором хранятся в блоках, создающих последовательную непрерывную цепочку)[1] является одной из самых популярных и перспективных технологий в IT-индустрии. Блокчейн имеет огромное количество применений, одним из которых являются децентрализованные финансы (DeFi)[2]. Основной задачей децентрализованных финансов является создание альтернативы банковскому сервису. А именно замена традиционных банковских операций протоколами с открытым исходным кодом. В настоящий момент концепция DeFi активно развивается и популяризируется. Убедиться в этом можно, посмотрев на график зависимости совокупной суммы средств, заблокированных в протоколе DeFi (график показателя total value locked, TVL)[3](FHe.1).
История децентрализованных финансов берет свое начало в октябре 2017 года. Концепция DeFi практически сразу стала трендом и оживила индустрию криптовалют идеей о том, что предприниматели смогут обходить централизованный контроль банков, компаний и правительств. Как мы можем видеть, на данный момент в системе уже заключено более 52-ух миллиардов долларов. Индустрия привлекает огромное количество финансовых средств и пользователей, несмотря на внутренние проблемы, которые, откровенно говоря, являются серьезными, но вполне разрешимыми. Решение и обзор одной из таких существенных проблем представлено в данной выпускной квалификационной работе.
Постановка задачи
Проблема концепции децентрализованных финансов заключается в следующем. Изначально индустрия DeFi задумывалась как единая экосистема, продукты которой будут легко совместимы между собой. Но дело в том, что каждая блокчейн-сеть создается самостоятельной, независимой и автономно работающей. В этом и заключается сложность: блокчейны сами по себе не могут взаимодействовать друг с другом и передавать друг другу информацию без посторонней помощи. Следовательно, ни о какой единой экосистеме речи идти не может. Именно поэтому вопрос объединения блокчейн сетей актуален вот уже несколько лет. Хочется также отметить, что данная задача распространяется не только на индустрию децентрализованных финансов, но и на практически все сферы применения технологии. Ведь сегодня блокчейн-разработчики при разработке и дизайне своих децентрализованных приложений вынуждены выбирать лишь одну блокчейн-платформу для своего будущего продукта и жертвовать такими серьезными и важными показателями как производительность, скорость, безопасность, масштабируемость и т.д., вместо того, чтобы объединять в своем проекте несколько блокчейн-сетей и использовать каждую в соответствии с ее преимуществами.
Данную проблему логичнее всего было бы решить, написав смарт- контракты[4] - программы на высокоуровневых, Тьюринг-полных языках программирования. Основным отличием данного программного кода от иного является невозможность редактирования или изменения после публикации его в блокчейне. Именно этот факт вызывает определенную сложность в написании смарт-контрактов и требует хорошего знания всех нюансов технологии блокчейн, сетей, с которыми ведется работа, а также обладания навыком программирования на таких языках, как, например, Solidity[5].
Таким образом, нашей задачей становится нахождение и реализация такого решения, которое бы позволило быстро, дешево и безопасно передавать токены (цифровые активы) между блокчейн сетями. Также необходимо предоставить клиентам такой интерфейс, благодаря которому каждый технически неподготовленный пользователь смог бы воспользоваться нашим решением.
Для достижения этой цели необходимо выполнить следующие подзадачи:
• подробно изучить технологию блокчейн и индустрию децентрализо-ванных финансов;
• проанализировать существующие решения, выявить их преимущества и недостатки;
• разобраться в структуре и принципах работы существующего сервиса компании, предложившей решить выявленные проблемы в качестве выпускной квалификационной работы;
• основываясь на полученных знаниях предложить идею решения, выдвинуть технические требования, подобрать архитектуру проекта и инструменты для его реализации;
• реализовать минимально жизнеспособный продукт, который будет удовлетворять поставленным требованиям;
• проанализировать полученное решение, сравнить с описанными существующими продуктами и подходами
В ходе выполнения выпускной квалификационной работы были решены задачи и достигнуты следующие результаты:
1. подробно изучена технология блокчейн, ее основные принципы работы и внутреннее устройство;
2. рассмотрены и проанализированы уже существующие проекты, решающие поставленную проблему;
3. основываясь на анализе уже готовых проектов, а также учитывая интересы компании, сформирована идея решения заявленной задачи;
4. выдвинуты технические требования к реализации проекта;
5. подобраны инструменты, технологии и фреймворки, удовлетворяющие техническим требованиям;
6. написаны, оптимизированы и протестированы смарт-контракты мостов и токенов;
7. проведено сравнение собственного решения со сторонними решениями, изученными в главе 2;
8. выработан путь дальнейшего развития проекта.