Наука о данных и технология блокчейн созданы друг для друга. Но сколько и каких реальных приложений существует?

Технология блокчейн - горячая тема в настоящее время, особенно в связи с недавним бумом децентрализованных финансов, экспоненциальным ростом биткойнов и других криптовалют, а также продолжающимся увлечением NFT. С точки зрения специалиста по данным, блокчейны также являются прекрасным источником высококачественных данных, которые можно использовать для решения широкого круга интересных проблем с помощью статистики и машинного обучения. Но каковы именно эти проблемы и достаточно ли спроса на специалистов по данным в индустрии блокчейнов, чтобы построить карьеру? Эта статья представляет собой попытку ответить на эти вопросы, предоставляя свободный от шумихи обзор текущей ситуации и тенденций, возникающих на стыке науки о данных и технологии блокчейн.

Заявление об ограничении ответственности: я не являюсь аффилированным лицом и не поддерживаю какую-либо из компаний, упомянутых здесь. Эти компании и их продукты упоминаются только в иллюстративных целях.

Перво-наперво - терминология

Не существует общепринятого определения термина Data Science. Здесь я буду придерживаться своего любимого определения, которое сформулировала Кэсси Козыркова (руководитель отдела аналитики решений в Google):

«Наука о данных - это дисциплина, позволяющая сделать данные полезными».

Это всеобъемлющее определение, поэтому было бы полезно иметь более подробное разделение способов практики Data Science. Козырков (2018) предложил следующую таксономию приложений Data Science в зависимости от количества принимаемых ими решений:

  • Интеллектуальный анализ данных / описательная аналитика - исследовательский анализ для выявления интересных, ранее неизвестных закономерностей в данных и формулирования гипотез о лежащих в основе процессах, вызвавших эти закономерности. Здесь пока нет никаких решений - мы только «ищем вдохновение» в имеющемся наборе данных.
  • Статистический вывод - создание одного или нескольких заключений о мире с контролем риска, которые выходят за рамки проанализированного набора данных.
  • Машинное обучение / искусственный интеллект - создание «рецептов принятия решений», которые можно (повторно) использовать для автоматического принятия множества решений.

Хотя разница между этими типами проектов Data Science не всегда столь очевидна, давайте примем эту таксономию как достаточную для наших целей.

Согласно Википедии,

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

Блокчейны реализованы в виде децентрализованных распределенных баз данных только для записи, которые работают в одноранговых компьютерных сетях. Традиционно блокчейны использовались в качестве реестров для учета транзакций с криптовалютой (например, Биткойн, Эфириум, Dash и т. Д.). Однако в настоящее время эта технология получает множество других вариантов использования.

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

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

Подобно Chen et al. (2020) мы разделим приложения Data Science, связанные с блокчейном, на два типа - для блокчейна и в блокчейне. Приложения первого типа делают что-то полезное с данными в цепочке и, возможно, вне цепочки, но не обязательно развертываются в инфраструктуре блокчейна (например, в информационной панели на основе данных в цепочке, которая развертывается в инфраструктуре поставщика облачных услуг). Приложения второго типа являются частью самой цепочки блоков.

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

Наука о данных и технология блокчейн созданы друг для друга

В отличие от традиционных источников данных (например, корпоративных баз данных с централизованным управлением), блокчейны по своей конструкции предоставляют несколько преимуществ, которые важны для приложений Data Science:

  • Высокое качество данных. Все новые записи проходят тщательную проверку, специфичную для блокчейна, с помощью одного из многих механизмов консенсуса. После проверки и утверждения эти записи становятся неизменяемыми - никто не может изменять их для каких-либо целей, хороших или злонамеренных. Данные блокчейна обычно хорошо структурированы, а их схемы хорошо документированы. Это делает жизнь специалиста по данным, который работает с такими данными, намного проще и предсказуемее.
  • Прослеживаемость: записи блокчейна содержат всю информацию, необходимую для отслеживания их происхождения и контекста, например, какой адрес инициировал транзакцию, время, когда это произошло, количество переданного актива и по какому адресу этот актив был получен. Более того, у большинства общедоступных блокчейнов есть исследователи - веб-сайты, на которых любой может изучить любую запись, когда-либо созданную на соответствующем блокчейне (см., Например, исследователи Bitcoin, Ethereum и Ripple).
  • Встроенная анонимность. Блокчейны не требуют от пользователей предоставления какой-либо личной информации, что важно в мире, где сохранение конфиденциальности стало реальной проблемой. С точки зрения специалиста по данным, это помогает преодолеть головную боль, связанную с некоторыми нормативными актами (например, GDPR в Европе), которые требуют обезличивания личных данных перед обработкой.
  • Большие объемы данных. Многие алгоритмы машинного обучения требуют больших объемов данных для обучения моделей. Это не проблема для зрелых блокчейнов, которые предлагают гигабайты данных.

Сбор данных из блокчейнов - дело непростое, но есть варианты

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

Вариант 1. Используйте наборы данных, уже подготовленные кем-то другим

В рамках своей программы BigQuery Public Datasets Google Cloud предоставляет полную историю транзакций для Bitcoin, Bitcoin Cash, Dash, Dogecoin, Ethereum, Ethereum Classic, Litecoin, и Zcash. Эти наборы данных можно легко запросить с помощью SQL, а результаты можно экспортировать для дальнейшего анализа и моделирования. Удобно, что в большинстве этих наборов данных используется одна и та же схема, что упрощает повторное использование SQL-запросов. Обучающие материалы смотрите в сообщениях Евгения Медведева на Medium.

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

Вариант 2. Используйте API-интерфейс для конкретной цепочки блоков или инструмент ETL

Публичные наборы данных BigQuery действительно охватывают основные проекты блокчейнов, но что, если интересующий блокчейн не входит в их число? Хорошая новость заключается в том, что практически все блокчейны предоставляют программный способ взаимодействия со своими сетями через соответствующие API REST и / или Websocket. См., Например, API для запроса Bitcoin, Ethereum, EOS, NEM, NEO, Nxt, ​​Ripple, Stellar, Tezos, TRON, Zilliqa .

К счастью, часто существуют удобные клиентские библиотеки, которые абстрагируются от тонкостей конкретных API и позволяют специалистам по данным работать со своими предпочтительными языками - Python или R. Примеры таких библиотек для Python включают bitcoin (Биткойн), trinity и web3.py (Ethereum), blockcypher (Bitcoin, Litecoin, Dogecoin, Dash), tronpy (TRON), litecoin-utils (Litecoin) и т. Д. Примеров пакетов R меньше, но они существуют: Rbitcoin (Биткойн), ether (Ethereum), tronr (ТРОН).



Помимо API-интерфейсов, можно также рассмотреть возможность использования специальных инструментов ETL для сбора данных из цепочек блоков. Одним из известных проектов с открытым исходным кодом в этой области является Blockchain ETL, коллекция скриптов Python, разработанная Nansen.ai. Фактически, это те самые скрипты, которые вводят данные в вышеупомянутые общедоступные наборы данных BigQuery.

Хотя собственные API-интерфейсы блокчейна и приложения ETL с открытым исходным кодом предоставляют специалистам по данным большую гибкость, их использование на практике может потребовать дополнительных усилий и навыков инженерии данных: настройка и поддержка локального или облачного узла блокчейна, среды выполнения для выполнения сценариев. , база данных для хранения извлеченных данных и т. д. Соответствующие требования к инфраструктуре также могут повлечь за собой значительные затраты.

Вариант 3 - использовать коммерческие решения

Чтобы сэкономить время, усилия и затраты, связанные с инфраструктурой, можно также выбрать коммерческие решения для сбора данных о блокчейне. Такие инструменты обычно предоставляют данные через API или интерфейс с поддержкой SQL с использованием схемы, объединенной для нескольких цепочек блоков (см., Например, Anyblock Analytics, Bitquery, BlockCypher, Coin Metrics, Crypto APIs). », Dune Analytics , Flipside Crypto ). Это облегчает проведение различных сравнительных анализов и, по крайней мере, теоретически, позволяет разрабатывать приложения Data Science, которые могут взаимодействовать с различными блокчейнами.

Мы живем в эпоху описательной блокчейн-аналитики

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

  • отслеживание и визуализация потоков средств между адресами, например, для поиска украденных средств, раскрытия манипуляций с ценами на криптовалюту, раскрытия личности воров и предотвращения отмывания денег;
  • маркировка адресов блокчейнов и их привязка к реальным объектам (например, «торговые площадки даркнета», «программы-вымогатели», «мошенничество», «пулы для майнинга», «игровые приложения», «обмены криптовалютой»), так далее.);
  • оповещение в режиме реального времени о событиях в сети, таких как подозрительные транзакции, крупные переводы средств, активность на санкционированных адресах;
  • кросс-блокчейн поиск с использованием единой схемы данных;
  • расчет и визуализация пользовательских он-чейн показателей;
  • выполнение пользовательских запросов к данным.

Некоторые из крупнейших игроков в области аналитики блокчейн-расследований включают AnChain.ai, Bitfury, CipherTrace, Chainalysis, Coin Metrics, Dune Analytics, Elliptic, Glassnode, Nansen. .ai ».

Машинное обучение и блокчейны: много академических исследований, не так много реальных реализаций

Существует большое количество академических исследований, в которых машинное обучение применялось для решения различных проблем, связанных с блокчейном. В своей всеобъемлющей обзорной статье Liu et al. (2021) классифицируют эти проблемы по следующим трем темам (см. Также Chen et al. 2020 для аналогичного обсуждения).

  • Прогноз цен на криптовалюту - эта тема на сегодняшний день является самой популярной, что неудивительно, учитывая постоянно растущий интерес к криптовалюте среди розничных и институциональных инвесторов. В большинстве опубликованных исследований предпринимались попытки предсказать будущую цену Биткойна или Эфириума либо в абсолютном выражении, либо в направлении движения цены (вверх или вниз). Это было сделано с помощью различных алгоритмов, от простой логистической регрессии до методов на основе XGBoost и глубокого обучения (например, Greaves and Au 2015; Abay et al. 2019; Barry and Crane 2019; Chen et al. 2020 ). Входные данные модели обычно включали комбинацию переменных внутри сети (например, количество активных адресов, объем транзакций, сложность майнинга, график транзакций) и переменных вне сети (например, объемы торгов на биржах). В целом, нейронные сети (в частности, с архитектурой на основе LSTM) оказались эффективнее древовидных алгоритмов, хотя точность предсказания даже в наиболее эффективных моделях была лишь незначительно выше, чем случайное предположение.
  • Выявление идентичности адреса - По умолчанию личность владельцев адреса цепочки блоков обычно неизвестна. Однако возможность классифицировать определенные адреса в заранее определенные группы или, что еще лучше, связать их с реальными объектами, может иметь большое значение. Это особенно верно для адресов, вовлеченных в незаконную деятельность, такую ​​как отмывание денег, распространение наркотиков, программы-вымогатели, схемы Понци, торговля людьми и даже финансирование терроризма. Проблема категоризации адресов успешно решалась с помощью контролируемого обучения в нескольких исследованиях, в которых были разработаны либо бинарные классификаторы (например, незаконный vs законный, как в вышеупомянутой статье Вебера и др. 2019), либо мультиклассовые классификаторы (например, обмен , Пул , азартные игры и сервис , как в Liang et al. 2019 ; см. Также Harlev et al. 2018 , Yin et al. 2019 ; Michalski et al. 2020 ). Соответствующие модели были разработаны с использованием данных в цепочке и различных стандартных алгоритмов машинного обучения. Интересно, что в отличие от исследований прогнозирования цен на криптовалюту, древовидные методы (в частности, случайный лес) часто превосходят алгоритмы, основанные на глубоком обучении (Liu et al. 2021).
  • Обнаружение аномалий. Блокчейны могут подвергаться различным видам злонамеренных атак и мошеннических действий (например, Moubarak et al. 2018; Rahouti et al. 2018), которые потенциально могут быть обнаружены путем анализа шаблоны транзакций. Поскольку количество аномальных транзакций по своей природе невелико, эта проблема решалась либо с помощью эмпирических правил, либо с помощью методов неконтролируемого машинного обучения, таких как кластеризация k -средств, одноклассная SVM, метки на основе расстояния Махаланобиса. , и Isolation Forest (например, Camino et al. 2017; Pham and Lee 2017a, 2017b). Лю и др. (2021) пришли к выводу, что большинство этих исследований плохо отзывались, что подтверждает необходимость дальнейших исследований. В то же время Tann et al. (2019) создали высокоточный двоичный классификатор на основе LSTM для обнаружения уязвимостей кода в смарт-контрактах.

В дополнение к описанным выше вариантам использования многие исследователи предложили и даже экспериментально протестировали блокчейн-платформы на базе машинного обучения, направленные на улучшение существующих электронных систем управления медицинскими записями, обеспечение лучшей прослеживаемости в цепочках поставок и повышение безопасности в Интернете вещей. сети и т. д. (Салах и др. 2018; Чен и др. 2020). В нескольких статьях также были предложены платформы и протоколы на основе блокчейнов для коллективного обучения и распространения моделей машинного обучения (например, DInEMMo Марате и др. 2018, Протокол DanKu Куртумлуса и Даниэля 2018 и Децентрализованный и совместный ИИ на блокчейне »Харриса и Вагонера 2019 ).

Несмотря на многочисленные примеры экспериментальных блокчейн-систем, основанных на машинном обучении, которые можно найти в академической литературе, практические реализации таких систем все еще редки. Для этого есть много причин, как связанных с данными, так и инфраструктурных (Salah et al. 2018). Например, деанонимизация адресов блокчейна с использованием контролируемого обучения требует достаточно больших помеченных наборов обучающих данных. Однако высококачественные метки обычно доступны только для небольшой части адресов, что препятствует использованию контролируемого обучения (но см. Родригес 2019 для обсуждения возможных решений).

Многие алгоритмы машинного обучения потенциально могут быть развернуты в блокчейнах с помощью смарт-контрактов благодаря широко используемым текстовым форматам PMML, PFA и ONNX (Ван 2018). Однако развертывание некоторых из более сложных алгоритмов, таких как глубокая нейронная сеть на основе Tensor Flow, обученная на графических процессорах, по-прежнему является нетривиальной задачей.

Также может быть сложно развернуть и использовать модели машинного обучения в блокчейнах из-за низкой пропускной способности и высокой стоимости транзакций, отсутствия технических стандартов и протоколов взаимодействия, а также потребности в надежных поставщиках внешних данных (также известных как оракулы). которые могут сделать смарт-контракты с поддержкой машинного обучения более полезными (Salah et al. 2018).

Тем не менее, ряд компаний, в том числе Algorithmia, AnChain.ai, Bitfury, Fetch.ai, IBM, IntoTheBlock, SingularityNET и другие, заявляют, что они используют машинное обучение в свои блокчейн-продукты. Несомненно, в ближайшем будущем мы увидим больше таких компаний и продуктов. Помимо прочего, этому росту будут в значительной степени способствовать более простые способы сделать смарт-контракты умнее с помощью сигналов вне сети, предоставляемых оракулами - C hainlink и P rovable уже предлагают соответствующие решения.

Заключение: если вы хотите стать специалистом по данным по блокчейну, сейчас самое подходящее время

Технология блокчейн может изменить многие отрасли и бизнес-процессы. В своей недавней статье Forbes Technology Council определил 13 развивающихся и появляющихся вариантов использования блокчейна, включая управление правами для художников, межотраслевую консолидацию данных, децентрализованные финансы, управление цепочкой поставок, аутентификацию пользователей и управление паролями, электронное медицинские записи и т. д. Все эти разработки потребуют целой армии экспертов, способных сделать данные полезными, то есть специалистов по данным. Спектр интересных и нерешенных проблем в области науки о данных блокчейн огромен. Более того, многие из этих проблем еще предстоит сформулировать. Таким образом, если вы думаете о том, чтобы войти в захватывающий мир блокчейна в качестве специалиста по данным, время как нельзя лучше. Многие из компаний, упомянутых в этой статье, уже имеют открытые вакансии для специалистов по анализу данных - обязательно ознакомьтесь с разделами Карьера на их сайтах!

Прежде чем ты уйдешь

Оказываю консультационные услуги в области Data Science. "Связаться"!