УДК 681.3
WEB-ОРИЕНТИРОВАННАЯ СИСТЕМА ПРОЦЕССИНГА КРИПТОВАЛЮТНЫХ ОПЕРАЦИЙ
А.С. Бибик, студент 4-го курса
Е.О. Савкова, канд. техн. наук, доцент
Донецкий национальный технический университет
ФГБОУ ВО «Донецкий национальный технический университет»
г. Донецк, Российская Федерация
Аннотация
В статье рассмотрен процессинг финансовых операций и предложена микросервисная архитектура системы автоматизации приема платежей в криптовалюте. Описаны основные компоненты системы, особенностью которых является работа с платформой базы блокчейна, распределённая архитектура, изолированная кодовая база, независимость развёртывания, репликация.
Ключевые слова
ПРОЦЕССИНГ, КРИПТОВАЛЮТА, RPC, REST API, HTTP, МИКРОСЕРВИСЫ
WEB-ORIENTED SYSTEM FOR PROCESSING CRYPTOCURRENCY OPERATIONS
A.S. Bibik, E.O. Savkova
«Donetsk National Technical University», Donetsk, Russian Federation
Abstract
The article describes the processing of financial transactions and proposed microservice architecture of the automation system for accepting payments in cryptocurrency. It describes the main components of the system, which feature is the work with the blockchain base platform, distributed architecture, isolated code base, deployment independence, replication.
Key words
processing, cryptocurrency, rpc, rest api, http, microservices
Безналичные платежи всюду окружают современного человека, совершает он покупку в магазине или оплачивает счёт за телефонную связь. В момент ожидания чека от POS-терминала, подтверждения оплаты, мы сталкиваемся с системами взаиморасчёта. В основе систем взиморасчёта функционирует процессинг финансовых операций.
Процессинг — это деятельность по обработке информации, используемой при совершении платёжных операций. Такую деятельность осуществляют процессинговые центры (провайдеры платёжных сервисов)[1]. Наиболее широкое распространение процессинг-сервисы получили в следующих отраслях:
- процессинг электронных платежей;
- процессинг пластиковых карт.
В простейшем виде процессинг через банковский шлюз состоит из нескольких этапов:
- магазин выставляет счёт покупателю;
- покупатель оплачивает счёт;
- банк подтверждает зачисление средств.
В последние годы с бумом блокчейн-технологий пришла и необходимость в разного рода процессинге криптовалют, будь то переводы или оплата товаров и услуг в сети.
Как правило, магазины для работы с безналичным расчётом не создают свои системы эквайринга и банковских операций, так как этот процесс очень сложен и требует дополнительных затрат. Вместо этого они пользуются услугами банка, который предоставляет всё, что необходимо и выгодно[2].
Также и владельцы интернет-магазинов, которые хотят принимать криптовалюту для расчётов, прибегают к использованию сервисов, представляющих данную услугу.
В свою очередь сервисы, производят консультацию и внедрение их систем в проекты партнёров. Простейшая схема их взаимодействия (рисунок 1) состоит из следующих этапов:
- клиент магазина-партнёра оформляет заказ. Магазин-партнёр отправляет на сервис запрос с заявкой на создание платёжного обязательства, в котором указывает сумму и остальную необходимую информацию;
- процессинговая система привязывает к платёжному обязательству кошелёк из собственного пула свободных кошельков или создаёт в блокчейне новый, если пул пуст;
- система отправляет адрес кошелька для оплаты магазину-партнёру, который предоставляет его своему клиенту;
- система процессинга, проверяет кошелёк на наличие средств, как только на счёт поступает установленная сумма, система оповещает магазин-партнёр о, том, что средства поступили;
- магазин подтверждает оплату заказа клиента;
- партнёр может перевести средства со своего счёта в системе на свой персональный кошелёк.
В связи с необходимостью автоматизации приёма платежей в криптовалюте необходимо разработать систему процессинга криптовалютных операций. Лучшим выбором для данной системы будет микросервисная архитектура, по следующим характеристикам:
- репликация (дублирования) сервисов для отказоустойчивости;
- распределённая архитектура позволяет балансировать нагрузки между репликами и создавать новые, в случае необходимости (Например, нагрузка в праздничные дни);
- изоляция кодовой базы сервисов друг от друга, позволяет вносить изменения в один сервис в случае необходимости, не затрагивая остальные, что соответствует принципу единственной ответственности и упрощает командную разработку таким образом, что разработчики могут независимо работать над разными модулями системы[3];
- позволяет перезапускать сервисы независимо друг от друга, так же в случае отказа менее важных сервисов остальные не прекратят свою работу. Например, в случае отказа сервиса получения курса валют, из системы пропадёт лишь функционал выставления счёта с калькуляцией запрашиваемой суммы, таким образом будут приниматься запросы только в криптовалюте, в аварийный период, что не затронет функционал и работу остальных компонентов системы.
Архитектура системы состоит из следующих компонентов (рисунок 2):
- координатор (REST API) - источник пользовательского трафика, сервис, к которому непосредственно обращаются клиенты через интернет по протоколу HTTP/HTTPS, который координирует работу остальных сервисов. Отвечает за учет пользователей, создание платёжных обязательств, создание заявок на переводы. Координатор общается с остальными сервисами по протоколу RPC (Remote Procedure Call);
- сервис проверки оплаты. Принимает адрес кошелька и ожидаемую сумму и обращается к блокчейну для проверки баланса кошелька;
- сервис получения курса валют. Получает тикеры валют (например, RUB/USD) и постоянно синхронизирует курс валют системы с биржевым курсом;
- сервис переводов. Получает заявки на переводы и занимается их обработкой;
- сервис создания кошельков занимается созданием кошельков в блокчейне.
Вывод
Выполнен анализ ситуации современных методов взиморасчёта, а также необходимости разработки систем процессинга криптовалютных операций. Была разработана предварительная архитектура системы с учётом современных тенденций, а также удобства микросервисной архитектуры.
Библиографический список
1. Мисько О. Н. Процессинг // Большая российская энциклопедия: [в 35 т.] / Большая российская энциклопедия, 2017.
2. Пол Винья Майкл Кейси. Эпоха криптовалют // издательство МАНН, ИВАНОВ И ФЕРБЕР Максимально полезные книги. 2019
3. Сэм Ньюмен. Создание микросервисов // O`Really (Питер) 2016.