// Криптовалюта

Как Сделать Скрипт для Децентрализованной Биржи Криптовалют?

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

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

  • простота;
  • безопасность;
  • разнообразие активов.
Говоря о простоте мы имеем ввиду лёгкость и доступность пользовательского интерфейса. Этот интерфейс – лицо биржи, а значит, играет решающую роль в успехе компании. Соответственно, у разрабатываемой биржи он должен быть не только приятным, но и уникальным, а также продуманным до мелочей.

Вопрос безопасности затрагивает сохранность средств. Взлом и утечки на криптовалютных биржах случаются очень часто. За 2018 год общая сумма похищенных с бирж финансов составляет приблизительно 927 миллионов долларов. Соответственно, подход к обеспечению внутренней и внешней безопасности должен быть полностью профессиональным.

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

Участвуя в обмене на децентрализованной бирже, пользователь полностью контролирует процесс, свои средства и персональные данные и при этом не платит третьей стороне за услуги гаранта. Честность и надежность сделок обеспечивают блокчейн и смарт-контракты.

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

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

Процесс обмена. Децентрализованные криптовалютные площадки, как правило, используют атомарные свопы для автоматического обмена одной криптовалюты на другую. Сделки осуществляются в соответствии с концепцией PLUG & PLAY, то есть все происходит здесь и сейчас, без необходимости подключать к платформе криптовалютный кошелек или переводить на депозит биржи нужную сумму.

Как сделать децентрализованный скрипт обмена Dex

При торговле на DEX нет посредников

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

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

Как создать скрипт децентрализованного обменника криптовалют

Наём компании-разработчика

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

Как сделать децентрализованный скрипт обмена плюсы

Готовое программное обеспечение

Нет ничего проще и в то же время удобнее, чем решение «из коробки», которое достаточно просто выбрать и купить. Впоследствие компания-разработчик собственными силами проводит установку, настройку и тестирование. Ещё более простой путь – покупка готовой площадки и её ребрендинг (переименование).

Как сделать децентрализованный скрипт обмена минусы

White label решения

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

Рекомендуем прочитать:

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

Как сделать децентрализованный скрипт обмена Плюсы и минусы

Разработка внутри компании

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

Как сделать децентрализованный скрипт обмена

На что обратить внимание при разработке

Торговый движок

Движок – ядро создаваемой биржи. Именно он связывает покупателей с продавцами. Это основа любой криптовалютной биржи. Торговый движок собирает всю информацию, элементы и функции площадки в один механизм для того, чтобы:
  • сопоставлять ордера для поиска контрагентов;
  • инициализировать смарт-контракты обмена активами;
  • осуществлять расчет остатков.
Скорость и производительность биржи зависят именно от торгового механизма. Как правило, платформы используют лимит и рыночные ордера, дабы гарантировать высокий уровень производительности.

Некоторые системы в угоду продвинутым трейдерам позволяют размещать ордера стоп-лимит и стоп-лосс.

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

Атомарные свопы

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

Как сделать децентрализованный скрипт обмена bitcoins for air

Пример атомарного свопа для обмена биткоинов на эфир

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

Преимущества атомарных свопов:

  1. Цена. Атомарные свопы используют Lightning Network, поэтому транзакционные комиссии таких операций очень низкие. Например, одного доллара хватит для сотен операций с биткоинами в Lightning Network. Тогда как комиссия при обычной биткоин-транзакции составляет 25 центов (12 февраля 2019 года).
  2. Децентрализация. Атомарные операции запускают непосредственные участники сделки, и в них никто не может вмешаться или отменить.
  3. Скорость. Если не учитывать время для ожидания подтверждения транзакции для закрытия контракта, то можно сказать, что операция обмена осуществляется практически мгновенно.
  4. Легкость. Чем меньше участников, тем проще сделка.
  5. Безопасность. Шанс того, что данные украдут, минимален, поскольку информация идёт напрямую от клиента к клиенту без посредников в лице централизованной биржи или третьей стороны.
Тем не менее, присутствует и ряд если не недостатков, то моментов, на которые необходимо обратить внимание. Прежде всего, для осуществления обмена с применением атомарных свопов криптовалюты должны быть основаны на блокчейнах, которые используют один и тот же алгоритм хеширования (например, SHA-256).К тому же валюты должны быть совместимыми с HTLC и другими программируемыми функциями. К тому же некоторые исследователи беспокоятся о проблеме приватности: атомарные стволы вполне реально отследить в блокчейне, благодаря чему технически грамотный человек без проблем может связать адреса пользователя между собой.

Книга заказов

Децентрализованные площадки, как правило, не любят использовать стандартные книги заказов, вместо этого они используют Distributed hash table (DHT). Как и в случае с децентрализованным блокчейном, информация в таких книгах заказов шифруется и распределяется между узлами экосистемы. Следовательно, чтобы ее изменить или украсть, нужно найти и взломать большую часть этих узлов.

Особенности книг заказов на DHT:

  1. Децентрализация. Используют систему независимых, физически разделенных узлов, которые контролируются пользователями, а не какой-то централизованной структурой (сервером).
  2. Масштабируемость. Сеть одинаково эффективно работает как с тысячей, так и с миллионом узлов.
  3. Отказоустойчивость. Система в целом будет работать, даже если многие из ее узлов отключатся, будут постоянно подключаться/отключаться или выдавать ошибки.

Пользовательский интерфейс

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

Как сделать децентрализованный скрипт обмена Sample DEX

Пример элементов пользовательского интерфейса DEX
При разработке пользовательского интерфейса нужно ориентироваться на такие правила:
  1. Логичное и последовательное предоставление информации, что уменьшит когнитивное напряжение пользователя и облегчит знакомство с системой и ее использование.
  2. Сведение к минимуму потенциальных ошибок пользователей. При этом должна быть возможность быстро откатить все действия назад и совершить их повторно.
  3. Все иконки и кнопки должны быть стандартизированы, то есть означать одно и то же в разных разделах и запускать одинаковые действия (вперед, назад, отменить, купить и тому подобное).
  4. Эстетичность и минимализм.

Платежные инструменты

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

Выбор конкретных платежных сервисов должен зависеть от географии:

  1. Северная Америка: PayPal, 2Checkout, Simplify Commerce, Stripe, WorldPay, SagePay, Amazon Payments.
  2. Латинская Америка: 2Checkout, PayU Latam, Mercado Pago, Pagseguro, WorldPay.
  3. Европейский Союз: SecurionPay, Skrill, Stripe, Amazon Pay, PayPal.
  4. Азия: 2Checkout, Paypal, Skrill, WorldPay, Alipay, UnionPay, Tenpay.
  5. СНГ: PayPal, WebMoney, Qiwi, Yandex.Money, Robokassa.
  6. Африка: MyGate, SagePay, Ingenico, WafaCash, Skrill.
Для подключения платежных сервисов MasterCard, VISA, American Express нужно обратиться в местный банк и заключить с ним соответствующий договор.

Внутренний мессенджер

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

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

Панель администратора

Нужна для управления ресурсом и настройки переменными конфигурациями обмена. К возможностям этого рабочего инструмента нужно добавить такие функции:
  1. Возможность вручную пополнять счета в случае проблем с поддержкой и билетов.
  2. Управление листингом торговых пар.
  3. Расширение списка криптовалют.
  4. Изменение торговых сборов.
  5. Средства арбитража.

Ликвидность

Децентрализованные биржи не заставляют пользователей переводить деньги на депозиты площадки, создавая таким образом пулы ликвидности, поэтому у таких площадок есть проблемы со скоростью обработки транзакций. Эту проблему решают двумя способами:
  1. Дилинговый центр — модуль, создающий «искусственный» курс по выбранным торговым парам. Делая ставки по этим торговым парам, трейдеры играют против биржи.
  2. Внешний пул ликвидности — интерфейс API, который подключает площадку к другим биржам (например, Kraken) или поставщикам ликвидности.
Во втором случае ваша биржа принимает заявку на покупку/продажу криптовалюты и отправляет ее внешнему поставщику ликвидности, который ее и обработает. Это ускорит операции обмена, но немного увеличит их стоимость, так как поставщику ликвидности нужно будет платить комиссию.

Каналы поддержки клиентов

Служба поддержки клиентов – это не просто механизм ликвидации проблем с пользователями, которые нередко обладают сложным характером либо недостаточно опытны для квалифицированного обращения с биржей. Это также инструмент для апгрейда собственной платформы, поскольку никто не подскажет, что требуется добавить, убрать или улучшить лучше, чем сам клиент. Персонал обеспечивает обратную связь (желательно – круглосуточно), отвечает на жалобы, одобряет или отвергает запросы KYC и так далее.

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

Потенциальные затраты и усилия

Даже по самым скромным оценкам запуск биржи криптовалют обойдётся очень недешево. Даже при условии найма программистов из стран постсоветского пространства, Африки или Азии, что, как правило, подразумевает намного меньшие затраты на производство, сроки (даже при наличии у специалиста должной квалификации) варьируются от пары месяцев до полугода, а по финансовым расходам – от 50 000 до 240 000 евро в Европе и от 65 000 до 310 000 долларов в США. Ниже представлен более детальный разбор с учётом затрат на работу каждого конкретного специалиста.

Децентрализованный скрипт обмена

Есть вопросы? Задайте их здесь

Имя *
Email *
Телефон
Ваш бюджет
Сообщение