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

АНАЛИЗ БЛОКЧЕЙН ТРАНЗАКЦИЙ С ИСПОЛЬЗОВАНИЕМ ОБЛАЧНЫХ ТЕХНОЛОГИЙ Харлов А.А.

Харлов Артём Андреевич - магистрант, кафедра программного обеспечения информационных технологий, факультет компьютерных систем и сетей, Белорусский государственный университет информатики и радиоэлектроники, г. Минск, Республика Беларусь

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

Ключевые слова: анализ, блокчейн, Ethereum, смарт-контракт, облачные технологии, A WS.

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

В качестве провайдера облачных технологий рассматривается Amazon AWS, который является коммерческим публичным облаком, поддерживаемым и развиваемым компанией Amazon с 2006 года. Предоставляет подписчикам услуги как по инфраструктурной модели (виртуальные серверы, ресурсы хранения), так и платформенного уровня (облачные базы данных, облачное связующее программное обеспечение, облачные бессерверные вычисления, средства разработки) [1].

Ethereum — платформа для создания децентрализованных онлайн-сервисов на базе блокчейна (децентрализованных приложений), работающих на базе смарт-контрактов. Реализована как единая децентрализованная виртуальная машина [2].

Для осуществления анализа блокчейн транзакций на платформе Ethereum будут использованы следующие сервисы, предоставляемые Amazon AWS:

- DynamoDB;

- Lambda;

- Simple Notification Service;

- Simple Queue Service.

DynamoDB — система управления базами данных класса NoSQL в формате «ключ — значение», она будет хранить необходимую информацию о транзакциях, которые были совершены в блокчейн.

Lambda позволяет запускать программные коды без выделения серверов и управления ими. Логика по обработке транзакций содержится в данных функциях.

Simple Notification Service (SNS) - это высокодоступный, надежный, безопасный, полностью управляемый сервис отправки сообщений по модели «издатель -подписчик» (Pub/Sub), с помощью которого можно изолировать микросервисы, распределенные системы и бессерверные приложения. В Amazon SNS можно использовать темы для высокопроизводительной рассылки push-сообщений сразу множеству получателей. Используя темы Amazon SNS, системы публикаций могут рассылать сообщения большому количеству конечных подписчиков для параллельной

обработки, включая очереди SQS, функции Lambda и объекты HTTP/S webhooks. Кроме того, SNS можно использовать для рассылки информации конечным пользователям с помощью мобильных push-уведомлений, SMS-сообщений и электронных писем.

Simple Queue Service (SQS) - это полностью управляемый сервис очередей сообщений, с помощью которого можно изолировать и масштабировать микросервисы, распределенные системы и бессерверные приложения. С помощью SQS можно отправлять, хранить и получать сообщения компонентов ПО в любом масштабе без потери сообщений и необходимости обеспечивать доступность других сервисов.

Связав между собой описанные сервисы можно получить облачное решение для обработки транзакций, вариант такого решения представлен на рисунке 1.

Рис. 1. Диаграмма облачного решения для анализа транзакций

Lambda 1 осуществляет проверку блокчейна на наличие новых блоков с подтвержденными транзакциями, если такой блок существует, то его транзакции отправляются в SNS.

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

Lambda, получив сообщение от SQS, выполняет обработку транзакции и сохраняет полученную информацию в базу данных DynamoDB.

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

Представленное решение для анализа блокчейн транзакций на базе Amazon AWS позволяет легко масштабировать количество анализируемых смарт-контрактов в сети, а также добавляя и/или изменяя компоненты решения изменять количество и потом обработанных данных.

Список литературы

1. Amazon AWS. [Электронный ресурс]. Режим доступа: https://aws.amazon.com/ru/about-aws/ (дата обращения: 08.11.2019).

2. Ethereum // bits.media. [Электронный ресурс]. Режим доступа: https://bits.media/ethereum/ (дата обращения: 08.11.2019).

3. Introduction to Smart Contracts // Solidity. [Электронный ресурс]. Режим доступа: https://solidity.readthedocs.io/en/latest/introduction-to-smart-contracts.html/ (дата обращения: 11.11.2019).