Автор24

Информация о работе

Подробнее о работе

Страница работы

РАЗРАБОТКА СИСТЕМЫ ИНТЕГРАЦИИ БЛОКЧЕЙН СЕТЕЙ ДЛЯ ПРОВЕДЕНИЯ БЫСТРЫХ ТРАНЗАКЦИЙ

  • 62 страниц
  • 2019 год
  • 55 просмотров
  • 2 покупки
Автор работы

ksfei121

В основном сосредоточен на продажу готовых своих личных работ по символическим ценам.

900 ₽

Работа будет доступна в твоём личном кабинете после покупки

Гарантия сервиса Автор24

Уникальность не ниже 50%

Фрагменты работ

Введение 4
Глоссарий 7
1. Принципы работы существующих систем, позволяющие проводить off-chain транзакции 8
1.1. Открытие и закрытие канала 9
1.2. Использование канала 11
1.3. Аннулирование состояния 13
1.4. Кооперативное закрытие 14
1.5. Raiden Network 14
2. Структура блокчейн-системы NEO 16
3. Смарт-контракты с мультиподписью и временной блокировкой в Neo 21
4. Программная реализация системы для проведения off-chain транзакций 24
4.1. Архитектура 24
4.2. Основные инструменты для разработки системы для проведения off-chain транзакций 25
4.3. Описание разработанной системы и API для проведения off-chain транзакций 29
5. Клиентское приложения для взаимодействия с разработанной системой 34
Заключение 39
Список литературы и используемых источников 40
Приложение 42
Приложение 1. Сравнение узлов GUI и CLI 42
Приложение 2. Файлы конфигурации для узла в частной сети 44
Приложение 3. Описание основных вызываемых методов системы 46

Введение

На сегодняшний день мы можем наблюдать сильную взаимосвязь многих аспектов нашей жизни. Происходит всё большая глобализация, многие границы в нашем мире стираются, и способствует этому, от части, коммерческие сети, которые осуществляют свою экономическую деятельность. Как правило, подобные сети взаимодействую между собой на торговых площадках, где производители, потребители и другие заинтересованные лица управляют и владеют ценностями – активами, – а также реализуют свои права на них.
Участниками данных сетей могут быть различные продавцы, покупатели и посредники. Коммерческие соглашения и контракты, которые возникают между ними вносятся в разнообразные реестры. Реестры, в свою очередь, являются системами учёта экономической деятельности и интересов различных организаций.
Реестры, которые используются сегодня повсеместно в предпринимательской деятельности, во многом несовершенны.
...

Глоссарий

Блокчейн – это децентрализованный распределенный регистр. Он может быть использован для регистрации и выпуска цифровых активов, сертификатов на право собственности, кредитных баллов и т.д. Данный регистр позволяет переводить, оплачивать и проводить транзакции между одноранговыми узлами.
Смарт-контракт – это набор обязательств, сформулированных в цифровом виде, а также соглашение, определяющее, каким образом стороны контракта будут выполнять данные обязательства.
Платёжный канал – отношение между участниками, которое регистрируется в блокчейне и регулируется смарт-контрактом.
Консенсус – процесс согласования транзакций между узлами в блокчейне.
Шардинг – дробление блокчейна на части (шарды), каждая из которых сохраняет только свою часть информации.
1.
...

1. Принципы работы существующих систем, позволяющие проводить off-chain транзакции
Концепция проведения быстрых off-chain транзакций, как решение проблем масштабируемости блокчейна, была впервые разработана и применена для блокчейна криптовалюты Bitcoin. Попытки создания подобных сетей предпринимались почти с момента создания Bitcoin. Но концепция полноценного решения появилась только к началу 2015 года и получила название Lightning Network [1].
Lightning Network - это платежный протокол, который оперирует над блокчейнами (обычно используется Биткойн) [2]. Данный протокол позволяет проводить транзакции между участниками (нодами) и предлагается как решение проблемы масштабирования биткоина. Сеть Lightning Network состоит из узлов участников, а также платежных каналов, которые являются двунаправленными. Платежный канал устанавливается между двумя узлами сети. Узлы участник блокируют в блокчейне Биткоина некоторую сумму средств для платёжного канала.
...

1.1. Открытие и закрытие канала

Далее объясним работу платёжного канала на примере двух узлов, назовём их Алисой и Бобом. Для открытия канала, Алиса и Боб должны:
• заблокировать свои средства на общем адресе (multisig), для этого им нужно создать и отправить в сеть фондирующей транзакции (funding transaction);
• сформировать транзакцию состояния канала (commitment transaction), она отражает текущее состояние и распределяет средства из общего адреса в первоначальной пропорции;
• сохранить сформированную транзакцию состояния канала на обеих сторонах, и не отправлять её в сеть на обработку валидаторам.
Транзакция, которая тратит средства из общего адреса называется транзакцией состояния. При помощи этой транзакции и Боб, и Алиса могут вернуть свои средства из общего адреса. Транзакцию-состояние можно представить, как договор о распределении средств между двумя участниками, который они могут исполнить в любой момент времени путём отправки его в блокчейн.
...

1.2. Использование канала

Плата в канале определяется как процесс аннулирования старой транзакции-состояния и создание новой, в которой средства из общего адреса распределены по-новому, отличному от предыдущего состояния.
Процесс перехода от старого состояния к новому занимает доли секунды, так как этот процесс не требует записи в блокчейне и ограничено только скоростью интернет-соединения между узлами. За счет этого достигается скорость в концепции Lightning Network.
Следует также обозначить минусы такой концепции. Максимальное количество средств, которое может быть передано другому узлу, не может быть больше количества средств, заблокированных в общем адресе с мультиподписью. Данная проблема может быть частично решена посредством увеличения объёма заблокированных средств или ребалансировкой канала.
...

1.3. Аннулирование состояния

Более подробно опишем процесс аннулирования транзакции-состояния, при переходе в новое состояние. Так как нет гарантии того, что другая сторона удаляет предыдущую транзакцию-состояния при переходе на новое состояние, существует механизм, который делает отправку старого состояния канала экономически невыгодным: если одна из сторон отправляет в блокчейн старое состояние, то другая может взять все средства себе.
Так, возвращаясь к примеру с Бобом и Алисой, Боб имеет возможность получить средства Алисы, для этого он должен предоставить свою электронную подпись, а также дополнительный ключ, который знает только Алиса. Симметрично делается и по отношению к Бобу. При переходе на новое состояние стороны должны обменяться ключами, тем самым аннулируя предыдущее состояние.
...

1.4. Кооперативное закрытие

Процесс закрытия канала разделён на два типа: вынужденный и кооперативный.
Оба участника канала хранят разные транзакции-состояния, гарантирующие им возврат средств, которые были оговорены, а также эти транзакции-состояния содержат в себе необходимые механизмы для аннулирования при переходе на новое состояние.
Данные механизмы для аннулирования, нужны только при формировании новой транзакции-состояния. В случае же кооперативного закрытия платежного канала, узлы могут сформировать новое состояние, которое отражает те же самые балансы, но не содержат механизмов аннулирования. Полученная кооперативная транзакция-состояния будет эквивалентна первоначальной версии. Данный процесс называется кооперативным закрытием (cooperative close).
...

1.5. Raiden Network

Сеть Raiden Network является аналогом Lightning Network, за тем исключением, что оперирует над блокчейном Ethereum [4]. Она предназначена для передачи вне блокчейна токенов Ethereum стандарта ERC20. Это быстрая, масштабируемая и дешёвая альтернатива внутрисетевой передаче токенов.
Raiden Network использует ту же концепцию платёжных каналов что и Lightning Network. Все этапы открытия, использования и закрытия канала аналогичны с Lightning Network, но происходят в блокчейне Ethereum.
2.
...

2. Структура блокчейн-системы NEO

В ходе проведения исследования и анализа блокчейн-систем [5], было выявлено, что платформа NEO обладает рядом преимуществ, а именно:

• вертикальная и горизонтальная масштабируемость;
• низкая плата за транзакции;
• гибкая и быстрая разработка смарт-контрактов;
• широкий выбор языков программирования;
• тьюринг-полные смарт-контракты;
• децентрализованные хранилище (протокол распределенного хранения: NeoFS)
• возможность оцифровки собственных активов, что даёт большой толчок для создания смарт-экономики;
• потенциальная квантовая устойчивость (механизм анти-квантовой криптографии – NeoQS).
Поэтому в качестве блокчейн-системы для регистрации открытия и закрытия канала будет использоваться платформа NEO.
В блокчейн-системе NEO узлы, которые хранят всю цепочку блоков, называются «полными узлами». Они подключены к блокчейну через сеть P2P.
...

3. Смарт-контракты с мультиподписью и временной блокировкой в Neo
В этом разделе разберём особенности работы смарт-контрактов с мультиподписью и временной блокировкой в Neo.
Для понимания, как работаю контракты с мультиподписью (или
«адреса» с мультиподписью), разберём, как работают базовые адреса в NEO.

Самые основные адреса в NEO (т.е., которые можно легко получить в любом программном обеспечении кошелька NEO) построены на основе концепции закрытых-открытых ключей. В качестве примера рассмотрим этот адрес: APLJBPhtRg2XLhtpxEHd6aRNL7YSLGH2ZL
Прежде всего, каждый адрес связан с scripthash, 20-байтовым массивом, который в данном случае имеет вид: 0f2b7a6ee34db32d9151c6028960ab2a8babea52.
...

4. Программная реализация системы для проведения off-chain транзакций
4.1. Архитектура

В разработанной системе для проведения off-chain транзакций можно выделить следующие основные компоненты (рисунок 3):
• непосредственно узлы, между которыми открыт платёжный канал, и которые взаимодействуют с блокчейном Neo. На данном этапе, для взаимодействия с блокчейном, необходимо, чтобы узлы являлись полными;
• блокчейн системы Neo. В нём хранятся смарт-контракты необходимые для открытия и закрытия канала. При открытии платёжного канала в блокчейне будет храниться открывающая транзакция, в которой депозит между участниками распределён в изначальной пропорции. Также при закрытии канала в нём будет храниться закрывающая транзакция, в которой изначальный депозит распределён между участниками в соответствии с последней транзакцией состояния;
• шлюз для взаимодействия между узлами, через протокол передачи данных JSON-RPC [7].
...

Рисунок 2 – Архитектура виртуальной машины Neo (NeoVM)

С точки зрения языка смарт-контракты NEO могут быть реализован на многих языках программирования высокого уровня, а именно: C#, VB.Net, F#, Java, Kotlin, Python.
Существует два способа вызвать смарт-контракты:

• аутентификация пользователя по контракту: в данном случае смарт-контракт – это контрактный аккаунт. Когда пользователь запрашивает использование контокоррентной учетной записи в активе, он запускает смарт контракт.
• вызов смарт-контракта вручную: здесь пользователь отправляет транзакцию (Invocation Transaction), чтобы инициировать реализацию смарт-контракта.
3. Смарт-контракты с мультиподписью и временной блокировкой в Neo
В этом разделе разберём особенности работы смарт-контрактов с мультиподписью и временной блокировкой в Neo.
Для понимания, как работаю контракты с мультиподписью (или
«адреса» с мультиподписью), разберём, как работают базовые адреса в NEO.

Самые основные адреса в NEO (т.е.
...

4.2. Основные инструменты для разработки системы для проведения off-chain транзакций
Для разработки различных приложений на базе NEO, например, клиента кошелька, игр и т. д. мы можем использовать NEO SDK. Благодаря Neo SDK наш проект будет функционировать в существующей среде, не обращаясь к NeoVM.
Для компиляции написанных смарт-контрактов нам понадобиться Neon NEO MSIL Transcompiler – компилятор для смарт-контрактов в сети NEO.
Neo-GUI – программа, которая имеет все основные функции пользовательского клиента, включая графический интерфейс пользователя, и предназначен для пользователей сети NEO. Он включает в себя некоторые дополнительные функции, упрощающие развертывание контрактов Neo Smart и получение событий возврата/выполнения при вызове смарт-контракта.
Neo-CLI, которая предоставляет внешний API для основных функций кошелька, предназначена для разработчиков NEO. Данная программа помогает также другим узлам достичь консенсуса с сетью и участвует в создании новых блоков.
...

1. The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments [Электронный ресурс]. — 2016. — URL: https://lightning.network/lightning- network-paper.pdf (дата обращения 04.05.2019).
2. Lightning Network [Электронный ресурс]. — 2019. — URL: https://ru.wikipedia.org/wiki/Lightning_Network (дата обращения 04.05.2019).
3. Lightning Network Часть №3: Смарт-контракты [Электронный ресурс].
— 2017. — URL: https://medium.com/bitlum/part-3-smart-contracts-ece8a6ef6328 (дата обращения 06.05.2019).
4. Raiden Network [Электронный ресурс]. — 2018. — URL: https://raiden.network/101.html (дата обращения 08.05.2019).
5. Гибадуллин И.Н. Исследование и анализ блокчейн систем в сфере финансов: курсовая работа [Текст] / Ин-т вычислительной математики и информационных технологий. — K., КФУ, — 2019. — 10 с.
6. Header Class [Электронный ресурс]. — 2019. — URL: https://docs.neo.org/en-us/sc/reference/fw/dotnet/neo/Header.html (дата обращения 05.05.2019).
7. JSON-RPC [Электронный ресурс]. — 2019. — URL: https://ru.wikipedia.org/wiki/JSON-RPC (дата обращения 05.06.2019).
8. Scrypt [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/scrypt (дата обращения 07.06.2019).
9. Pycrypto [Электронный ресурс]. — 2013. — URL: https://pypi.org/project/scrypt (дата обращения 07.06.2019).
10. Ecdsa [Электронный ресурс]. — 2019. — URL: https://github.com/warner/python-ecdsa (дата обращения 07.06.2019).

11. PyMySQL [Электронный ресурс]. — 2017. — URL: https://o7planning.org/ru/11463/connecting-mysql-database-in-python-using- pymysql (дата обращения 07.06.2019).
12. Neocore [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/neocore (дата обращения 07.06.2019).
13. Gevent [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/gevent (дата обращения 07.06.2019).
14. SQLAlchemy [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/SQLAlchemy (дата обращения 07.06.2019).
15. Requests [Электронный ресурс]. — 2015. — URL: https://pypi.org/project/requests/2.7.0 (дата обращения 07.06.2019).
16. Flask [Электронный ресурс]. — 2019. — URL: https://ru.wikibooks.org/wiki/Flask (дата обращения 07.06.2019).
17. Flask-JSONRPC [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/Flask-JSONRPC (дата обращения 07.06.2019).
18. Neo Private network [Электронный ресурс]. — 2019. — URL: https://hub.docker.com/r/cityofzion/neo-privatenet (дата обращения 04.04.2019).
19. Node.js [Электронный ресурс]. — 2019. — URL: https://ru.wikipedia.org/wiki/Node.js (дата обращения 01.05.2019).

Форма заказа новой работы

Не подошла эта работа?

Закажи новую работу, сделанную по твоим требованиям

Оставляя свои контактные данные и нажимая «Заказать Дипломную работу», я соглашаюсь пройти процедуру регистрации на Платформе, принимаю условия Пользовательского соглашения и Политики конфиденциальности в целях заключения соглашения.

Фрагменты работ

Введение 4
Глоссарий 7
1. Принципы работы существующих систем, позволяющие проводить off-chain транзакции 8
1.1. Открытие и закрытие канала 9
1.2. Использование канала 11
1.3. Аннулирование состояния 13
1.4. Кооперативное закрытие 14
1.5. Raiden Network 14
2. Структура блокчейн-системы NEO 16
3. Смарт-контракты с мультиподписью и временной блокировкой в Neo 21
4. Программная реализация системы для проведения off-chain транзакций 24
4.1. Архитектура 24
4.2. Основные инструменты для разработки системы для проведения off-chain транзакций 25
4.3. Описание разработанной системы и API для проведения off-chain транзакций 29
5. Клиентское приложения для взаимодействия с разработанной системой 34
Заключение 39
Список литературы и используемых источников 40
Приложение 42
Приложение 1. Сравнение узлов GUI и CLI 42
Приложение 2. Файлы конфигурации для узла в частной сети 44
Приложение 3. Описание основных вызываемых методов системы 46

Введение

На сегодняшний день мы можем наблюдать сильную взаимосвязь многих аспектов нашей жизни. Происходит всё большая глобализация, многие границы в нашем мире стираются, и способствует этому, от части, коммерческие сети, которые осуществляют свою экономическую деятельность. Как правило, подобные сети взаимодействую между собой на торговых площадках, где производители, потребители и другие заинтересованные лица управляют и владеют ценностями – активами, – а также реализуют свои права на них.
Участниками данных сетей могут быть различные продавцы, покупатели и посредники. Коммерческие соглашения и контракты, которые возникают между ними вносятся в разнообразные реестры. Реестры, в свою очередь, являются системами учёта экономической деятельности и интересов различных организаций.
Реестры, которые используются сегодня повсеместно в предпринимательской деятельности, во многом несовершенны.
...

Глоссарий

Блокчейн – это децентрализованный распределенный регистр. Он может быть использован для регистрации и выпуска цифровых активов, сертификатов на право собственности, кредитных баллов и т.д. Данный регистр позволяет переводить, оплачивать и проводить транзакции между одноранговыми узлами.
Смарт-контракт – это набор обязательств, сформулированных в цифровом виде, а также соглашение, определяющее, каким образом стороны контракта будут выполнять данные обязательства.
Платёжный канал – отношение между участниками, которое регистрируется в блокчейне и регулируется смарт-контрактом.
Консенсус – процесс согласования транзакций между узлами в блокчейне.
Шардинг – дробление блокчейна на части (шарды), каждая из которых сохраняет только свою часть информации.
1.
...

1. Принципы работы существующих систем, позволяющие проводить off-chain транзакции
Концепция проведения быстрых off-chain транзакций, как решение проблем масштабируемости блокчейна, была впервые разработана и применена для блокчейна криптовалюты Bitcoin. Попытки создания подобных сетей предпринимались почти с момента создания Bitcoin. Но концепция полноценного решения появилась только к началу 2015 года и получила название Lightning Network [1].
Lightning Network - это платежный протокол, который оперирует над блокчейнами (обычно используется Биткойн) [2]. Данный протокол позволяет проводить транзакции между участниками (нодами) и предлагается как решение проблемы масштабирования биткоина. Сеть Lightning Network состоит из узлов участников, а также платежных каналов, которые являются двунаправленными. Платежный канал устанавливается между двумя узлами сети. Узлы участник блокируют в блокчейне Биткоина некоторую сумму средств для платёжного канала.
...

1.1. Открытие и закрытие канала

Далее объясним работу платёжного канала на примере двух узлов, назовём их Алисой и Бобом. Для открытия канала, Алиса и Боб должны:
• заблокировать свои средства на общем адресе (multisig), для этого им нужно создать и отправить в сеть фондирующей транзакции (funding transaction);
• сформировать транзакцию состояния канала (commitment transaction), она отражает текущее состояние и распределяет средства из общего адреса в первоначальной пропорции;
• сохранить сформированную транзакцию состояния канала на обеих сторонах, и не отправлять её в сеть на обработку валидаторам.
Транзакция, которая тратит средства из общего адреса называется транзакцией состояния. При помощи этой транзакции и Боб, и Алиса могут вернуть свои средства из общего адреса. Транзакцию-состояние можно представить, как договор о распределении средств между двумя участниками, который они могут исполнить в любой момент времени путём отправки его в блокчейн.
...

1.2. Использование канала

Плата в канале определяется как процесс аннулирования старой транзакции-состояния и создание новой, в которой средства из общего адреса распределены по-новому, отличному от предыдущего состояния.
Процесс перехода от старого состояния к новому занимает доли секунды, так как этот процесс не требует записи в блокчейне и ограничено только скоростью интернет-соединения между узлами. За счет этого достигается скорость в концепции Lightning Network.
Следует также обозначить минусы такой концепции. Максимальное количество средств, которое может быть передано другому узлу, не может быть больше количества средств, заблокированных в общем адресе с мультиподписью. Данная проблема может быть частично решена посредством увеличения объёма заблокированных средств или ребалансировкой канала.
...

1.3. Аннулирование состояния

Более подробно опишем процесс аннулирования транзакции-состояния, при переходе в новое состояние. Так как нет гарантии того, что другая сторона удаляет предыдущую транзакцию-состояния при переходе на новое состояние, существует механизм, который делает отправку старого состояния канала экономически невыгодным: если одна из сторон отправляет в блокчейн старое состояние, то другая может взять все средства себе.
Так, возвращаясь к примеру с Бобом и Алисой, Боб имеет возможность получить средства Алисы, для этого он должен предоставить свою электронную подпись, а также дополнительный ключ, который знает только Алиса. Симметрично делается и по отношению к Бобу. При переходе на новое состояние стороны должны обменяться ключами, тем самым аннулируя предыдущее состояние.
...

1.4. Кооперативное закрытие

Процесс закрытия канала разделён на два типа: вынужденный и кооперативный.
Оба участника канала хранят разные транзакции-состояния, гарантирующие им возврат средств, которые были оговорены, а также эти транзакции-состояния содержат в себе необходимые механизмы для аннулирования при переходе на новое состояние.
Данные механизмы для аннулирования, нужны только при формировании новой транзакции-состояния. В случае же кооперативного закрытия платежного канала, узлы могут сформировать новое состояние, которое отражает те же самые балансы, но не содержат механизмов аннулирования. Полученная кооперативная транзакция-состояния будет эквивалентна первоначальной версии. Данный процесс называется кооперативным закрытием (cooperative close).
...

1.5. Raiden Network

Сеть Raiden Network является аналогом Lightning Network, за тем исключением, что оперирует над блокчейном Ethereum [4]. Она предназначена для передачи вне блокчейна токенов Ethereum стандарта ERC20. Это быстрая, масштабируемая и дешёвая альтернатива внутрисетевой передаче токенов.
Raiden Network использует ту же концепцию платёжных каналов что и Lightning Network. Все этапы открытия, использования и закрытия канала аналогичны с Lightning Network, но происходят в блокчейне Ethereum.
2.
...

2. Структура блокчейн-системы NEO

В ходе проведения исследования и анализа блокчейн-систем [5], было выявлено, что платформа NEO обладает рядом преимуществ, а именно:

• вертикальная и горизонтальная масштабируемость;
• низкая плата за транзакции;
• гибкая и быстрая разработка смарт-контрактов;
• широкий выбор языков программирования;
• тьюринг-полные смарт-контракты;
• децентрализованные хранилище (протокол распределенного хранения: NeoFS)
• возможность оцифровки собственных активов, что даёт большой толчок для создания смарт-экономики;
• потенциальная квантовая устойчивость (механизм анти-квантовой криптографии – NeoQS).
Поэтому в качестве блокчейн-системы для регистрации открытия и закрытия канала будет использоваться платформа NEO.
В блокчейн-системе NEO узлы, которые хранят всю цепочку блоков, называются «полными узлами». Они подключены к блокчейну через сеть P2P.
...

3. Смарт-контракты с мультиподписью и временной блокировкой в Neo
В этом разделе разберём особенности работы смарт-контрактов с мультиподписью и временной блокировкой в Neo.
Для понимания, как работаю контракты с мультиподписью (или
«адреса» с мультиподписью), разберём, как работают базовые адреса в NEO.

Самые основные адреса в NEO (т.е., которые можно легко получить в любом программном обеспечении кошелька NEO) построены на основе концепции закрытых-открытых ключей. В качестве примера рассмотрим этот адрес: APLJBPhtRg2XLhtpxEHd6aRNL7YSLGH2ZL
Прежде всего, каждый адрес связан с scripthash, 20-байтовым массивом, который в данном случае имеет вид: 0f2b7a6ee34db32d9151c6028960ab2a8babea52.
...

4. Программная реализация системы для проведения off-chain транзакций
4.1. Архитектура

В разработанной системе для проведения off-chain транзакций можно выделить следующие основные компоненты (рисунок 3):
• непосредственно узлы, между которыми открыт платёжный канал, и которые взаимодействуют с блокчейном Neo. На данном этапе, для взаимодействия с блокчейном, необходимо, чтобы узлы являлись полными;
• блокчейн системы Neo. В нём хранятся смарт-контракты необходимые для открытия и закрытия канала. При открытии платёжного канала в блокчейне будет храниться открывающая транзакция, в которой депозит между участниками распределён в изначальной пропорции. Также при закрытии канала в нём будет храниться закрывающая транзакция, в которой изначальный депозит распределён между участниками в соответствии с последней транзакцией состояния;
• шлюз для взаимодействия между узлами, через протокол передачи данных JSON-RPC [7].
...

Рисунок 2 – Архитектура виртуальной машины Neo (NeoVM)

С точки зрения языка смарт-контракты NEO могут быть реализован на многих языках программирования высокого уровня, а именно: C#, VB.Net, F#, Java, Kotlin, Python.
Существует два способа вызвать смарт-контракты:

• аутентификация пользователя по контракту: в данном случае смарт-контракт – это контрактный аккаунт. Когда пользователь запрашивает использование контокоррентной учетной записи в активе, он запускает смарт контракт.
• вызов смарт-контракта вручную: здесь пользователь отправляет транзакцию (Invocation Transaction), чтобы инициировать реализацию смарт-контракта.
3. Смарт-контракты с мультиподписью и временной блокировкой в Neo
В этом разделе разберём особенности работы смарт-контрактов с мультиподписью и временной блокировкой в Neo.
Для понимания, как работаю контракты с мультиподписью (или
«адреса» с мультиподписью), разберём, как работают базовые адреса в NEO.

Самые основные адреса в NEO (т.е.
...

4.2. Основные инструменты для разработки системы для проведения off-chain транзакций
Для разработки различных приложений на базе NEO, например, клиента кошелька, игр и т. д. мы можем использовать NEO SDK. Благодаря Neo SDK наш проект будет функционировать в существующей среде, не обращаясь к NeoVM.
Для компиляции написанных смарт-контрактов нам понадобиться Neon NEO MSIL Transcompiler – компилятор для смарт-контрактов в сети NEO.
Neo-GUI – программа, которая имеет все основные функции пользовательского клиента, включая графический интерфейс пользователя, и предназначен для пользователей сети NEO. Он включает в себя некоторые дополнительные функции, упрощающие развертывание контрактов Neo Smart и получение событий возврата/выполнения при вызове смарт-контракта.
Neo-CLI, которая предоставляет внешний API для основных функций кошелька, предназначена для разработчиков NEO. Данная программа помогает также другим узлам достичь консенсуса с сетью и участвует в создании новых блоков.
...

1. The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments [Электронный ресурс]. — 2016. — URL: https://lightning.network/lightning- network-paper.pdf (дата обращения 04.05.2019).
2. Lightning Network [Электронный ресурс]. — 2019. — URL: https://ru.wikipedia.org/wiki/Lightning_Network (дата обращения 04.05.2019).
3. Lightning Network Часть №3: Смарт-контракты [Электронный ресурс].
— 2017. — URL: https://medium.com/bitlum/part-3-smart-contracts-ece8a6ef6328 (дата обращения 06.05.2019).
4. Raiden Network [Электронный ресурс]. — 2018. — URL: https://raiden.network/101.html (дата обращения 08.05.2019).
5. Гибадуллин И.Н. Исследование и анализ блокчейн систем в сфере финансов: курсовая работа [Текст] / Ин-т вычислительной математики и информационных технологий. — K., КФУ, — 2019. — 10 с.
6. Header Class [Электронный ресурс]. — 2019. — URL: https://docs.neo.org/en-us/sc/reference/fw/dotnet/neo/Header.html (дата обращения 05.05.2019).
7. JSON-RPC [Электронный ресурс]. — 2019. — URL: https://ru.wikipedia.org/wiki/JSON-RPC (дата обращения 05.06.2019).
8. Scrypt [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/scrypt (дата обращения 07.06.2019).
9. Pycrypto [Электронный ресурс]. — 2013. — URL: https://pypi.org/project/scrypt (дата обращения 07.06.2019).
10. Ecdsa [Электронный ресурс]. — 2019. — URL: https://github.com/warner/python-ecdsa (дата обращения 07.06.2019).

11. PyMySQL [Электронный ресурс]. — 2017. — URL: https://o7planning.org/ru/11463/connecting-mysql-database-in-python-using- pymysql (дата обращения 07.06.2019).
12. Neocore [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/neocore (дата обращения 07.06.2019).
13. Gevent [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/gevent (дата обращения 07.06.2019).
14. SQLAlchemy [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/SQLAlchemy (дата обращения 07.06.2019).
15. Requests [Электронный ресурс]. — 2015. — URL: https://pypi.org/project/requests/2.7.0 (дата обращения 07.06.2019).
16. Flask [Электронный ресурс]. — 2019. — URL: https://ru.wikibooks.org/wiki/Flask (дата обращения 07.06.2019).
17. Flask-JSONRPC [Электронный ресурс]. — 2019. — URL: https://pypi.org/project/Flask-JSONRPC (дата обращения 07.06.2019).
18. Neo Private network [Электронный ресурс]. — 2019. — URL: https://hub.docker.com/r/cityofzion/neo-privatenet (дата обращения 04.04.2019).
19. Node.js [Электронный ресурс]. — 2019. — URL: https://ru.wikipedia.org/wiki/Node.js (дата обращения 01.05.2019).

Купить эту работу

РАЗРАБОТКА СИСТЕМЫ ИНТЕГРАЦИИ БЛОКЧЕЙН СЕТЕЙ ДЛЯ ПРОВЕДЕНИЯ БЫСТРЫХ ТРАНЗАКЦИЙ

900 ₽

или заказать новую

Лучшие эксперты сервиса ждут твоего задания

от 3000 ₽

Гарантии Автор24

Изображения работ

Страница работы
Страница работы
Страница работы

Понравилась эта работа?

или

28 июля 2020 заказчик разместил работу

Выбранный эксперт:

Автор работы
ksfei121
4.7
В основном сосредоточен на продажу готовых своих личных работ по символическим ценам.
Купить эту работу vs Заказать новую
2 раза Куплено Выполняется индивидуально
Не менее 40%
Исполнитель, загружая работу в «Банк готовых работ» подтверждает, что уровень оригинальности работы составляет не менее 40%
Уникальность Выполняется индивидуально
Сразу в личном кабинете Доступность Срок 1—6 дней
900 ₽ Цена от 3000 ₽

5 Похожих работ

Дипломная работа

Диплом Нейросети "Распознавание сервированных блюд с использованием нейронных сетей" сдан на 5 + исходный код

Уникальность: от 40%
Доступность: сразу
249 ₽
Дипломная работа

Разработка програмного обеспечения для предоставления государственных услуг через портал

Уникальность: от 40%
Доступность: сразу
2800 ₽
Дипломная работа

Разработка компьютерного демонстрационного эксперемента по физике на флеше

Уникальность: от 40%
Доступность: сразу
2800 ₽
Дипломная работа

Разработка AMR-специалиста отдела снабжения предприятия малого бизнеса

Уникальность: от 40%
Доступность: сразу
2800 ₽
Дипломная работа

Разработка WEB-cистемы "АРМ сотрудник УМО" средствами ASP.NET версии 4.0 и СУБД Microsoft SQL сервер

Уникальность: от 40%
Доступность: сразу
2800 ₽

Отзывы студентов

Отзыв Геннадий Полушкин об авторе ksfei121 2018-04-25
Дипломная работа

Автор молодец, просто работа не нужна больше

Общая оценка 5
Отзыв Lesha об авторе ksfei121 2014-06-17
Дипломная работа

Работа сложная, диплом по программированию. Большое спасибо за ответственный подход.

Общая оценка 5
Отзыв user13484 об авторе ksfei121 2016-05-11
Дипломная работа

Большое спасибо, все замечательно!

Общая оценка 5
Отзыв vovikluch об авторе ksfei121 2014-06-24
Дипломная работа

очень хороший автор Спасибо за работу

Общая оценка 5

другие учебные работы по предмету

Готовая работа

Разработка IP-сервера для обеспечения IP-телефонии во внутренних сетях связи

Уникальность: от 40%
Доступность: сразу
2240 ₽
Готовая работа

Обработка и визуализация данных при моделировании электрических машин с использованием программного комплекса «Моделирование в технических устройствах

Уникальность: от 40%
Доступность: сразу
3000 ₽
Готовая работа

Разработка системы для измерения уровня жидкости в резервуарах промышленных масштабов на основе ультразвукового уровнемера.

Уникальность: от 40%
Доступность: сразу
2240 ₽
Готовая работа

Разработка информационной системы поддержки научно-исследовательской деятельности на основе метода Zettelkasten

Уникальность: от 40%
Доступность: сразу
1799 ₽
Готовая работа

Разработка информационной системы учета приёма и оплаты заказов посетителей с использованием СУБД SQL Server и языка программирования С#

Уникальность: от 40%
Доступность: сразу
2200 ₽
Готовая работа

WEB-приложение оформления заказов в кондитерской. Предметом исследования является учет заказов кондитерских изделий в кондитерской.

Уникальность: от 40%
Доступность: сразу
4000 ₽
Готовая работа

WEB-приложение для салона красоты. Предмет исследования – процесс учёта заказов в салон красоты.

Уникальность: от 40%
Доступность: сразу
4000 ₽
Готовая работа

Автоматизация учета и анализа клиентского оборудования для интернет провайдера

Уникальность: от 40%
Доступность: сразу
2800 ₽
Готовая работа

Сравнительный анализ клиентских реализаций импорта пакетов и модулей в экосистеме JavaScript

Уникальность: от 40%
Доступность: сразу
2240 ₽
Готовая работа

Разработка интернет магазина по продаже семян и удобрений на базе joomla 1.7.

Уникальность: от 40%
Доступность: сразу
2000 ₽
Готовая работа

Разработка программного продукта для решений задач на основе метода анализа иерархий

Уникальность: от 40%
Доступность: сразу
500 ₽
Готовая работа

НАХОЖДЕНИЕ СПЕКТРАЛЬНОГО РАДИУСА МАТРИЦЫ МОДИФИЦИРОВАННЫМ СТЕПЕННЫМ МЕТОДОМ

Уникальность: от 40%
Доступность: сразу
3000 ₽