Внедрение машинного обучения в блокчейн-системы | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 января, печатный экземпляр отправим 8 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №7 (349) февраль 2021 г.

Дата публикации: 12.02.2021

Статья просмотрена: 139 раз

Библиографическое описание:

Саскевич, А. В. Внедрение машинного обучения в блокчейн-системы / А. В. Саскевич. — Текст : непосредственный // Молодой ученый. — 2021. — № 7 (349). — С. 14-17. — URL: https://moluch.ru/archive/349/78609/ (дата обращения: 27.12.2024).



В данной работе предложены способы реализации и внедрения моделей машинного обучения в блокчейн-системы с учетом особенностей последних. Рассмотрены такие варианты, как подключение сторонних сервисов и реализация моделей непосредственно в самом блокчейне — посредством смарт-контрактов с помощью байткода виртуальной машины.

Ключевые слова: машинное обучение, блокчейн, архитектура вычислительных систем.

Стремительный рост блокчейн-систем и влияния криптовалют на экономику и общество ведут к увеличенному спросу на разнообразные стартапы и проекты, нацеленные на решение обширного спектра проблем и вопросов. Основная цель таких проектов практически одна и та же — перенести преимущества блокчейна и криптовалют в традиционные информационные системы. Среди самых основных преимуществ классически выделяют такие как: информационная безопасность, децентрализация, распределенная обработка данных и другие [1].

Комбинация машинного обучения с блокчейн-системой позволяет расширить задачи, доступные разработчику и бизнесу к реализации. В частности, на основе данных, которые записаны в блокчейн, модель может выполнять, например, прогностические операции, обнаружение паттернов и образов. Модель может быть реализована как в рамках блокчейн-системы посредством смарт-контрактов, так и реализована вне ее, посредством специальных сервисов-оракулов. В данной работе рассмотрены оба способа, а также проанализированы их преимущества и недостатки.

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

Блокчейн-системы Ethereum и Hyperledger позволяют разработчику реализовывать необходимую бизнес-логику с помощью смарт-контрактов, для написания исходного кода которых используются C-подобные языки — Solidity, JavaScript.

Для блокчейн-системы Ethereum был разработан и внедрен собственный язык программирования Solidity, компилируемый в байт-код, в последствии выполняемый в виртуальной машине [2]. Изначальная идея смарт-контракта предполагала реализацию различного рода скриптов, контролирующих, например, финансовые операции [3]. Например, посредством смарт-контракта возможна реализация собственной криптовалюты или некоторой денежной единицы, которая затем может применяться, например, в играх. Однако развитие виртуальной машины, добавление новых байт-код операций позволило расширить спектр возможностей смарт-контрактов.

В качестве простейшего примера реализации можно привести примеры однослойного перцептрона и линейной регрессии на базе Ethereum. Фундаментальным ограничением модели является отсутствие работы с числами с плавающей точкой. Для того, чтобы решить эту сложность, необходимо воспользоваться следующим подходом — считать, что в целом числе, например, несколько младших разрядов вещественной частью числа с плавающей точкой. Такой механизм позволит реализовать операции с плавающей точкой, однако будет наблюдаться накопление ошибок, связанных с точностью. В некоторых случаях это может оказаться неприемлемым. Также необходимо предварительное выделение ресурсов, например, на хранение коэффициентов модели. В примере ниже приведен фрагмент кода, реализующего процедуру обучения модели простейшего однослойного персептрона [4].

Реализация смарт-контракта в системе Hyperledger позволяет не только избежать недостатков, связанных с Ethereum и Solidity, но и переиспользовать уже существующие решения. Hyperledger предлагает к использованию такие языки программирования как JavaScript, Go и Java [5]. Готовые модели машинного обучения доступны для многих популярных языков программирования, например, TensorFlow.js [6].

Из преимуществ этого способа можно выделить такие как полная интеграция в блокчейн и легкий доступ к данным, хранящимся в нем, отказоустойчивость, а также наследование всех преимуществ блокчейна, связанных с безопасностью и масштабированием. Однако недостатки перевешивают преимущества. Среди них — сложность разработки и поддержки, недостатки с обработкой чисел с плавающей точкой, медленная скорость работы, выполнение лишних операций.

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

Второй способ реализации моделей машинного обучения призван исправить недостатки первого способа, имеет такие преимущества как быстродействие и масштабируемость. В данном способе модель машинного обучения реализуется и используется на сторонней машине, используя классические инструменты, например Python и TensorFlow.

Сторонние сервисы предоставляют разработчику доступ к специальному «оракулу» — программе, которая способна предоставлять данные внутрь блокчейна и обрабатывать события, происходящие внутри системы. Документация Ethereum предлагает к использованию Chainlink [7], который позволяет организовать аналог REST API, позволяющий изолированной среде блокчейна получить данные извне.

Тем не менее, использование посторонних ресурсов и инструментов добавляет уязвимые участки в разрабатываемую систему. В определенных случаях это может оказаться неприемлемо — например, при работе с чувствительными данными, личными и конфиденциальными данными. В таком случае необходимо сделать выбор между безопасностью, скоростью работы, сложностью поддержки и отказоустойчивостью.

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

Литература:

  1. Соколова Т. Н., Волошин И. П., Петрунин И. А. Преимущества и недостатки технологии блокчейн // Экономическая безопасность и качество. — 2019. — №. 1 (34).
  2. Dannen C. Introducing Ethereum and solidity. — Berkeley: Apress, 2017. — Т. 318.
  3. Осмоловская А. С. Смарт-контракты: функции и применение // Бизнес-образование в экономике знаний. — 2018. — №. 2 (10).
  4. Вакуленко С., Жихарева А. Практический курс по нейронным сетям // Университет ИТМО. — 2018.
  5. Androulaki E. et al. Hyperledger fabric: a distributed operating system for permissioned blockchains // Proceedings of the thirteenth EuroSys conference. — 2018. — С. 1–15.
  6. Smilkov D. et al. Tensorflow. js: Machine learning for the web and beyond // arXiv preprint arXiv:1901.05350. — 2019.
  7. Kaleem M., Shi W. Demystifying Pythia: A Survey of ChainLink Oracles Usage on Ethereum // arXiv preprint arXiv:2101.06781. — 2021.
Основные термины (генерируются автоматически): машинное обучение, виртуальная машина, реализация моделей, API, REST, данные, недостаток, посредство, преимущество, реализация.


Ключевые слова

машинное обучение, блокчейн, архитектура вычислительных систем

Похожие статьи

Обзор платформ для разработки смарт-контрактов

Для того чтобы разработка смарт-контрактов была эффективной, необходимы знание и понимание разработчиками особенностей блокчейн-платформ. Целью написания статьи являлось проведение обзора текущего состояния платформ смарт-контрактов и их особенностей...

Перспективы проектирования бизнес-архитектуры в цепочке поставок с использованием технологии блокчейн

Настоящая статья призвана показать общие перспективы реализации бизнес-архитектуры с использованием технологии блокчейн в цепочке поставок в рамках проекта (внедрение блокчейн технологии в сети снабжения в колумбийском контексте). Сперва будет дано к...

Автоматизация разработки программного обеспечения с помощью искусственного интеллекта: как нейросети могут изменить процессы разработки

В статье рассматриваются современные подходы к автоматизации процессов разработки программного обеспечения с использованием искусственного интеллекта и нейронных сетей. Проанализированы существующие решения и перспективы их развития.

Анализ средств для реализации нейронных сетей на языке программирования Java

В данной статье рассматриваются основные требования к реализации нейронных сетей, описываются возможности языка Java по созданию компонентов нейронных сетей. Так же приводится анализ и сравнение уже существующих решений для данного языка и производит...

Контейнеризация в системах обработки данных

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

Преимущества и риски внедрения смарт-контрактов и блокчейна в строительном секторе

Последние технологические достижения позволяют рассматривать смарт-контракты как альтернативу традиционным договорным документам. В статье описаны факторы, влияющие на принятие смарт-контрактов в строительном секторе, а также отмечены трудности, кото...

Применение технологии распознавания речи в бизнесе

В статье кратко описан процесс развития систем распознавания речи, приведён пример принципа работы одной из таких систем и кратко описаны бизнес-задачи, решаемые с помощью таких систем.

Методика построения информационно-аналитических систем

В работе рассматривается архитектура современной информационно-аналитической системы с точки зрения технологических процессов. Приводятся рекомендации по реализации этой архитектуры используя OLTP*системы.

Перспективы внедрения нейронных сетей в реализацию систем поддержки принятия решений

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

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

В данной статье рассматривается возможность реализации антивирусного ПО с использованием интеллектуальных технологий, их потенциальные возможности, преимущества перед аналогами, использующими традиционные методы выявления угроз и недостатки данных си...

Похожие статьи

Обзор платформ для разработки смарт-контрактов

Для того чтобы разработка смарт-контрактов была эффективной, необходимы знание и понимание разработчиками особенностей блокчейн-платформ. Целью написания статьи являлось проведение обзора текущего состояния платформ смарт-контрактов и их особенностей...

Перспективы проектирования бизнес-архитектуры в цепочке поставок с использованием технологии блокчейн

Настоящая статья призвана показать общие перспективы реализации бизнес-архитектуры с использованием технологии блокчейн в цепочке поставок в рамках проекта (внедрение блокчейн технологии в сети снабжения в колумбийском контексте). Сперва будет дано к...

Автоматизация разработки программного обеспечения с помощью искусственного интеллекта: как нейросети могут изменить процессы разработки

В статье рассматриваются современные подходы к автоматизации процессов разработки программного обеспечения с использованием искусственного интеллекта и нейронных сетей. Проанализированы существующие решения и перспективы их развития.

Анализ средств для реализации нейронных сетей на языке программирования Java

В данной статье рассматриваются основные требования к реализации нейронных сетей, описываются возможности языка Java по созданию компонентов нейронных сетей. Так же приводится анализ и сравнение уже существующих решений для данного языка и производит...

Контейнеризация в системах обработки данных

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

Преимущества и риски внедрения смарт-контрактов и блокчейна в строительном секторе

Последние технологические достижения позволяют рассматривать смарт-контракты как альтернативу традиционным договорным документам. В статье описаны факторы, влияющие на принятие смарт-контрактов в строительном секторе, а также отмечены трудности, кото...

Применение технологии распознавания речи в бизнесе

В статье кратко описан процесс развития систем распознавания речи, приведён пример принципа работы одной из таких систем и кратко описаны бизнес-задачи, решаемые с помощью таких систем.

Методика построения информационно-аналитических систем

В работе рассматривается архитектура современной информационно-аналитической системы с точки зрения технологических процессов. Приводятся рекомендации по реализации этой архитектуры используя OLTP*системы.

Перспективы внедрения нейронных сетей в реализацию систем поддержки принятия решений

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

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

В данной статье рассматривается возможность реализации антивирусного ПО с использованием интеллектуальных технологий, их потенциальные возможности, преимущества перед аналогами, использующими традиционные методы выявления угроз и недостатки данных си...

Задать вопрос