Действующая модель простейшей криптовалютной биржи
До 2021-го года я не видел практического применения криптовалют. Потом наткнулся на книги Андреаса Антонопулоса. Меня зацепило его утверждение, что криптовалюты подобны интернету денег. Если это так, то криптобиржи для интернета денег подобны ВордПрессу интернета информации.
Примерно в то же время я узнал, что на 10.397 криптовалют приходится около 380 криптобирж. Если следовать философии Биткойна, должно быть наоборот.
Малое количество криптобирж позволяет злокачественным игрокам ограничивать доступ простых людей к криптовалютам под предлогом борьбы с терроризмом, отмыванием денег и санкций. Если бы был миллион криптобирж, их невозможно было бы зарегулировать до смерти.
Почему криптобирж так мало?
Потому что для запуска криптобиржи, нужно от 100.000 до 500.000 долларов (1, 2).
Можно ли срезать эти затраты?
Здесь есть два варианта.
Первый: Купить готовую биржу. Знакомый говорил, что в Китае код таких бирж продается за несколько тысяч долларов. Но нет никакой гарантии, что эта криптобиржа будет работать как надо.
Второй вариант – открытое ПО.
Криптобиржа с открытым кодом
Есть минимум одна криптобиржа с открытым кодом.
Здесь опять две проблемы.
Во-первых, это китайский продукт и большинство документации на китайском. Это проблема для всех, кто не владеет китайским.
Во-вторых, эта криптобиржа слишком сложна. Традиционный подход к разработке ПО таков: Сначала делаем что-то очень простое, а потом, по мере необходимости добавляем нужные функции.
В случае же с этой биржей есть много разных функций, которые нужны далеко не всем. Ниже показана структура системы согласно документации.
Устройство криптобиржи с открытым кодом. Источник: https://github.com/jammy928/CoinExchange_CryptoExchange_Java
Эта криптобиржа предоставляет приложения для Андроида и Эппла, и, скорее всего, позволяет работать под большой нагрузкой.
Здорово, но не нужно, если я хочу обмениваться криптой с моими 10 друзьями через веб-приложение в стиле «инженерный дизайн».
Я задался еще одним вопросом.
Насколько трудно создать минимальную криптобиржу с нуля?
Ответить на этот вопрос можно только опытным путем. Поэтому я решил сделать простейшую криптобиржу, чтобы понять, как она может быть устроена.
Какие валюты менять?
Если это биржа минимальна, то должно быть две криптовалюты.
Я решил взять Биткойн и Тезер (Tether, USDT).
Тезер – это криптовалюта, создатели которой утверждают, что на каждый токен Тезера есть доллар в банке (некоторые люди с этим несогласны). Поэтому если у Вас есть 1 Тезер, то это по сути один доллар. Курс Тезера скачет меньше, чем курс Биткойна.
Отказ от ответственности
Тот факт, что для этого проекта я использовал Биткойн и Тезер не означает, что я рекомендую то или другое в качестве вложения. У меня нет ни Биткойна, ни Тезера, есть совсем немного Кардано.
Лучшим доступным средством сохранить деньги я считают золотые и серебряные монеты (физические, которые можно положить в сейф, а не ETF).
Как устроена система
Структура простейшей криптобиржи выглядит так:
Испытательные сети (testnets) для Биткойна и Эфира нужны, чтобы можно было отлаживать код, не переводя настоящие деньги. Тезер является смартконтрактом на базе Эфира, поэтому, чтобы работать с Тезером нужна испытательная сеть для Эфира.
Сердцем системы является BPM-движок на базе Камунды. Этот BPM-движок хранит все свои данные в in-memory базе данных H2.
Зачем нужна Камунда
BPM-движки (Камунда, Flowable, Activiti, jBPM, TIBCO iProcess, Pega и другие) используются, когда нужно реализовать взаимодействие с несколькими разнородными системами. В нашем случае Камунда оркестрирует взаимодействие с испытательными сетями Биткойна и Эфира.
Другая причина использовать Камунду – визуальное представление процесса, которое улучшает взаимопонимание программистов и специалистов предметной области (такая схема понятна и тем, и другим).
У Камунды есть бесплатная (Community Edition) и платная (Enterprise Edition) версии. Насколько я знаю, это так останется для версий 7.x. Восьмая версия Камунды будет полностью закрытой и в России продаваться не будет, т. к. производитель присоединился к санкционной вакханалии. Самая дешевая платная версия сейчас стоит около 50.000 евро в год.
В версиях 7.х отличие бесплатной Community Edition от платной Enterprise Edition есть только в веб-приложениях, наличии инструмента аналитики Optimize и поддержки со стороны производителя. Все остальное в обоих версиях одинаково (в т. ч. движок).
Ряд российских и немецких банков в продакшене используют бесплатную версию. Также есть отечественный и бесплатный аналог Enterprise Edition: Excamad.
Одно из ключевых преимуществ Камунды – это активное русскоязычное сообщество в Телеграме.
Описание процессов на визуальном языке BPMN
Например, процесс обмена Биткойна на Тезер выглядит так:
BPMN-схема процесса обмена Биткойна на Тезер
Квадратики с шестеренками изображают куски кода на Джаве и Кложуре (например, Get USDT balance of the exchange ). Они называются служебными задачами (service tasks).
Квадратики с человечком в верхнем левом углу являются т. н. пользовательским задачами (например, Ask the user to transfer the BTC and enter the target USDT address ). В этом случае человеку надо зайти в перечень задач (task list) в веб-приложении Камунды и отметить задачу, как выполненную.
Квадратики с жирной окантовкой являются подпроцессами, для которых есть отдельная схема (например, Wait for the BTC to arrive ).
Обращаю внимание, что пользовательские задачи Wait нужны исключительно в целях демонстрации и отладки. Дело в том, что в открытой версии (Camunda Community Edition) невозможно увидеть в веб-приложении завершенные экземпляры процессов. Если в конце процесса поставить такую задачу, то выполнение процесса остановится и его можно будет увидеть.
Процесс продолжится после того, как пользователь отметит задачу как выполненную в перечне задач (task list).
Делегаты на Джаве
Делегаты на Джаве позволяют выполнять код в соответствующих местах BPMN-диаграммы. ApproveUsdtTransfer.java является примером такого делегата.
Ключевое место любого делегата на Джаве – это метод execute , который принимает экземпляр DelegateExecution в качестве аргумента:
Через объект DelegateExecution код на Джаве может взаимодействовать с движком BPM. Например, в коде выше строка
считывает значение переменной процесса USDT_AMOUNT .
Если делегат на Джаве выбрасывает исключение (кроме BPMNError ), оно будет отображено в виде инцидента в кокпите (часть пользовательской оболочки Камунды). Там можно повторить попытку выполнить этот код.
Делегаты на Кложуре
Кложур – это Лисп на платформе JVM. Этот язык позволяет изменять код приложения без его перезапуска и магии вроде JRebel.
Это очень удобно для прототипирования: Можно изменять диаграмму BPMN в Камунда Моделере и изменять код делегатов, который в ней выполняется, через REPL (которая работает, например, внутри плагина для Идеи Cursive). Возможность быстро менять код и видеть результаты делает разработку субъективно более приятной.
Поэтому ряд служебных задач реализован на Кложуре.
Рассмотрим пример. Служебная задача Determine whether or not we have any ETH реализована на Кложуре – это видно потому, что в моделере в поле Delegate Expression написано $ . Это название Спринг-компонента с кодом из ClojureDelegate.java.
Во вкладке Input/Output Вы можете увидеть, что переменной cljfn (Clojure function) присвоено значение check_if_or_we_have_any_eth .
Функция check_if_or_we_have_any_eth выглядит так:
Этот код означает следующее:
Мы определяем функцию с названием check_if_or_we_have_any_eth (первая строка).
Эта функция принимает объект de (DelegateExecution) в качеcтве аргумента (вторая строка).
В третьей строке мы сохраняем в переменной available-eth значение переменной процесса EXCHANGE_ACCOUNT_BALANCE_WEI . Кложуристый код (.getVariable de «EXCHANGE_ACCOUNT_BALANCE_WEI») делает то же, что de.getVariable(«EXCHANGE_ACCOUNT_BALANCE_WEI») на Джаве.
В крайней строке мы устанавливаем переменную процесса ANY_ETH_AVAILABLE равной результату выражения available-eth > 0 .
Как попробовать эту криптобиржу в действии?
Для этого нужно
установить испытательные сети,
правильно сконфиругировать Камунду,
обменять Биткойн на Тезер и
Тезер на Биткойн.
Как это сделать, описано в приложениях 1, 2 и 3 ниже.
Известные проблемы этого решения
Если Вы внимательно посмотрите на код, то заметите ряд серьезных проблем, включая следующие:
Отсутствие системы двойной записи (double-entry accounting): В текущей реализации биржа учитывает только деньги, которые есть в том или ином крипто-кошельке. Она не учитывает деньги, которые идут (но еще не пришли) в кошелек биржи, а также те деньги, которые биржа пообещала отдать пользователям в рамках уже запущенных обменных процессов (но еще не отправила). Чтобы учитывая кредиторскую и дебиторскую задолженность, нужна система двойной записи.
Отсутствие нормальной обработки ошибок: Если обмен не может быть произведен по той или иной причине, деньги должны быть возвращены отправителю. На данный момент такого механизма нет.
Плохая проектировка процесса: В данной реализации есть две схемы BPMN для одного и того же делового процесса (обмен одной валюты на другую). Скорее всего, можно сделать одну схему BPMN и адаптировать ее под пары валют с помощью переменных процесса. Это улучшит сопровождаемость системы.
Если я знаю про эти проблемы, почему они не устранены?
Обменник Биткойна на Тезер бесполезен для реальной жизни
После того, как прототип был более-менее готов и работал на моей локальной машине, я спросил товарища: «Если я хочу отправить 1 доллар в тезеровом эквиваленте, сколько мне надо будет заплатить накладных?» Накладные – это в т. ч. «газ» – деньги за использование их сети.
Он ответил: «Все зависит от времени. На Реддите полно сообщений от людей, отправивших 100 долларов за 300 долларов накладных.»
Здесь стало ясно, что прототип не готов для следующего шага – развертывании где-нибудь на Хероку и отладкой на реальных деньгах. Для этого нужна валюта, в которой можно делать проверочные переводы на суммы, которые не страшно потерять. С Тезером и любыми валютами, основанными на Эфире, это не пройдет.
Уже после того, как обмен Биткойна на Тезер заработал, я узнал, что для копеечных платежей могут быть пригодны следующие криптовалюты:
Cardano (якобы у этой валюты накладные за перевод не могут превышать 30 центов)
Так это или нет, можно узнать только опытным путем.
Что дальше?
Предлагаю посмотреть код и попробовать его согласно приложениям ниже.
Если Вы знаете, как его улучшить, поделитесь, пожалуйста, вашим мнением мне в Телеграм (@dpisarenko) и здесь в комментариях.
Кто знает, может быть из этой искры возгорится пламя и у нас когда-нибудь появится свой маленький криптообменник в каждом подъезде.
Приложение 1: Установка испытательного окружения
Использовать переводы с реальными деньгами для отладки прототипа опасно. Поэтому нам надо установить две локальные испытательные сети: Одну для Биткойна (BTC), вторую для Тезера (USDT). USDT – это смарт-контракт, который работает на Эфире. Поэтому нам нужна испытательная сеть для Эфира.
Далее описано, как установить обе сети.
Шаг 1: Установить Докер
Я использую Докер, чтобы сократить количество ручных операций при установке испытательных сетей. Поэтому вам понадобится Докер. Установите его, если это еще не сделано.
Шаг 2: Создать контейнеры Докера
После того, как Докер установлен, выгрузите (git clone) хранилище minimal-crypto-exchange. Там вы найдете файл docker-compose.yml.
В командной строке выполните команду docker-compose up -d в той же директории, где находится файл docker-compose.yml .
Шаг 3: Исправить ошибку в испытательной сети Биткойна
Этот материал осноснован на этом ответе ответе.
Шаг 3.1: Откройте командную строку
Чтобы открыть командную строку, щелкните по иконке в настольном приложении Докера:
После этого вы увидите вот это:
Шаг 3.2: Измените конфигурацию узла Биткойн
Введите следующую команду в командной строке:
Добавьте следующий параметр в файл и сохраните его.
Выполните следующую команду в командной строке:
Если все правильно, вы увидите следующее:
Шаг 3.3: Перезапустите узел Биткойна
Для этого нажмите кнопку Restart в настольном приложении Докера:
Шаг 4: Проверьте, что веб-приложение испытательной сети Биткойна работает
Откройте адрес http://localhost:3002 в браузере. Браузер попросит имя пользователя и пароль. Введите electrumx в качестве имени пользователя и test в качестве пароля.
После этого вы увидите следующий экран:
Шаг 5: Проверьте, что доступно веб-приложение испытательной сети Эфира (Blockscout)
Если вы введете адрес http://localhost:4000 в браузере, то увидите следующее:
Шаг 6: Установите смарт-контракт USDT
В командной строке перейдите в директорию erc20/npm-prj. В ней выполните команду ./deploy-USDT.sh .
Эта команда выдаст текст вроде USDT contract deployed to: 0x0B0fA2cC0edd477953D864d8d45c7453c6142802 . Запишите этот адрес.
После этого откройте отображение транзакций в Блокскауте по адресу http://localhost:4000/txs. Там должна быть видна запись Token Minting.
Возможные проблемы
Чтобы выполнить этот шаг, вам нужно установить Hardhat. Чтобы установка прошла правильно, может потребоваться удалить папку HardHat из erc20/npm-prj/node_modules/.bin .
Шаг 7: Установить адрес смарт-контракта USDT в конфигурации Камунды
Возьмите адрес смарт-контракта USDT из предыдущего шага и вставьте его в качестве значения параметра accounts.eth.usdt.contract-address в файле minimal-crypto-exchange/process-engine/src/main/resources/application.yaml:
Шаг 8: Добавьте Эфира в счет биржи
Суть этого шага заключается в следующем. В испытательной сети Эфира будет счет криптовалютной биржи. Мы создали пустую испытательную сеть, поэтому на этом счету нет денег (нет Эфира). В этом шаге мы положим Эфир на этот счет.
Шаг 1: Откройте командную строку geth
Если вы работаете под МакОС, щелкните на кнопку CLI в пользовательской оболочке Докера.
Шаг 2: Запустите интерфейс JavaScript
В оболочке geth введите команду geth attach http://localhost:8178.
Шаг 3: Разблокируйте буферный счет
Воспользуйтесь следующей командой, чтобы разблокировать буферный счет. Первый аргумент – адрес буферного счета, второй – пароль.
Шаг 4: Отправьте Эфир
Воспользуйтесь кодом ниже, чтобы отправить 1000 единиц Эфира с буферного счета на счет криптобиржи:
web3.toWei(1000, ‘ether’) означает 1000 ETH (1000 единиц Эфира).
Не закрывайте командную строку geth , т. к. она понадобится вам в следующем шаге.
Шаг 9: Добавьте Эфира на счет отправителя USDT
Этот шаг аналогичен шагу 8. Поэтому здесь даны команды без объяснений.
Шаг 1: Разблокируйте буферный счет
Шаг 2: Отправьте Эфир
Приложение 2: Обмен Биткойна на Эфир
Здесь описано, как с помощью криптобиржи можно обменять Биткойн на Эфир.
Шаг 1: Создайте Биткойн-адреса 1 и 2
Откройте командную строку узла Биткойн с помощью
Создайте и запишите два адреса в испытательной сети Биткойна, Адрес 1 и Адрес 2 с помощью команды
в описанной выше командной строке.
Шаг 2: Намайните 101 Биткойнов в счет Адрес 1
Примечание: Если не ошибаюсь, количество должно быть не менее 101.
Шаг 3: Установите адрес криптобиржи в Камунде равным Адрес 2
Откройте файл minimal-crypto-exchange/process-engine/src/main/resources/application.yaml в Идее. Установите параметр accounts.btc.exchange.address равным Адрес 2 из шага 1 выше.
Шаг 4: Удалите файлы кошельков
Если в директории minimal-crypto-exchange/process-engine есть файлы
Шаг 5: Отправьте Эфир на счет криптобиржи
Шаг 1: Откройте командную строку geth
Если работаете в Макоси, щелкните на кнопку CLI в пользовательской оболочке Докера.
Шаг 2: Запустите интерфейс JavaScript
В командной строке geth введите geth attach http://localhost:8178.
Шаг 3: Разблокируйте буферный счет
Воспользуйтесь следующей командой, где первый агрумент – адрес буферного счета, а второй – пароль.
Шаг 4: Отправьте эфир
С помощью команды ниже отправьте один Эфир из буферного счета на счет криптобиржи:
Шаг 6: Запустите Камунду
Запустите приложение с помощью основного класса com.dpisarenko.minimalcryptoexchange.MinimalCryptoExchangeProcessApplication .
В видео How to build and launch Camunda process engine показано как собрать и запустить код процессуального движка.
Шаг 7: Запустите процесс обмена Биткойна на Тезер в Камунде
Откройте адрес http://localhost:8080 в браузере (имя пользователя и пароль – demo ). Перейдите в перечень задач (task list) и запустите процесс Exchange BTC for USDT Process .
Шаг 8: Дождитесь, пока токен дойдет до пользовательской задачи
Ждите до тех пор, пока не увидите следующую картину в кокпите (синий кружок на пользовательской задаче):
Шаг 9: Отправьте Биткойн по адресу Адрес 2
В командной строке узла Биткойна, выполните команду
чтобы отправить 0.00001 единиц Биткойна по адресу Адрес 2 (например, bitcoin-cli -regtest sendtoaddress 2N1z8DaS2SC4N65A1pda25t8TgE5ynYRpDz 0.00001 ).
Эта команда выведет на экран идентификатор транзакции. Запишите его и отметьте как BTC Tx ID .
Шаг 10: Введите BTC Tx ID в формуляр пользовательской задачи
В браузере, вернитесь в веб-приложение Камунды и откройте формуляр пользовательской задачи в перечне задач (task list):
Введите значение BTC Tx ID в поле с названием ID of the «customer to exchange» BTC transaction и нажмите кнопку Complete .
Шаг 11: Проверьте транзакцию USDT в Блокскауте
Откройте отображение транзакций (http://localhost:4000/txs) в Блокскауте. Если все прошло успешно, вы увидите транзакцию с отправкой USDT:
Приложение 3: Обмен Эфира на Биткойн
Теперь рассмотрим обратный процесс, т. е. когда пользователь отправляет Тезер криптобирже и получает взамен Биткойн.
Шаг 1: Запустите процесс в Камунде
В браузере перейдите в перечень задач (task list) и запустите процесс Exchange USDT for BTC Process.
Шаг 2: Откройте отображение экземпляра процесса в кокпите
Вы увидите, что токен (синий круг) на квадратике пользовательской задачи в начале процесса:
Это означает что нам надо завершить пользовательскую задачу в перечне задач (task list). Если вы его откроете, то увидите задачу Transfer USDT to the exchange outside of the exchange .
Это значит, что нам надо отправить Тезер на счет криптобиржи и ввести идентификатор транзакции в формуляр.
Шаг 3: Отправьте Тезер на счет биржи
Откройте файл erc20/npm-prj/scripts/send-usdt-to-exchange.js в текстовом редакторе. Вы увидите следующий код:
так, чтобы usdtAddress стал равен адресу из шагов Шаг 6: Установите смарт-контракт USDT и Шаг 7: Установить адрес смарт-контракта USDT в конфигурации Камунды из Приложения 1.
Сохраните файл и после этого запустите скрипт erc20/npm-prj/send-usdt-to-exchange.sh . Появится ряд сообщений. Перейдите к той их части, которая начинается с Sending USDT. . Она может выглядеть так:
Значение в поле hash является идентификатором транзакции, в рамках которой мы отправили Тезер криптобирже. Запишите его.
Шаг 4: Введите идентификатор транзакции в формуляр в перечне задач Камунды
Откройте перечень задач Камунды и щелкните по ссылке Claim, чтобы присвоить эту задачу себе. После этого вы сможете ввести идентификатор транзакции в формуляр.
Введите идентификатор транзакции из шага 3 в поле с названием ID of the incoming transaction (USDT sender to the exchange) .
После этого нажмите на кнопку Complete .
Шаг 5
Вернитесь обратно в кокпит. Если все сработало как ожидалось, вы увидите токен в конце процесса.
В нижней части страницы вы можете увидеть переменные процесса. Одна из них называется TARGET_BTC_ADDRESS и содержит адрес, по которому биржа отправила Биткойн.
Руководство по созданию новой криптобиржи правильным способом
Майнинг криптовалют в наши дни стал очень сложным делом, даже незаконным в некоторых странах. Поэтому эксперты советуют искать другие способы заработка денег в сфере цифровых валют. И вы вполне можете получить прибыль, разработав криптовалютную биржевую платформу.
Люди во всём мире используют такие платформы для транзакций. Чаще всего они предпочитают хранить деньги в биткоинах или других виртуальных валютах, ожидая, что в будущем их обменные курсы станут более высокими. Например, в прошлом году оборот Биткоина достиг 16 млн долларов. Однако физических мест для вывода криптовалют всё ещё крайне мало. С цифровыми площадками ситуация гораздо лучше.
Так что вам ничто не мешает создать свой собственный сайт криптовалютной биржи. Вы уже сейчас можете начать предлагать услуги выгодного обмена цифровых валют членам криптосообщества. Мы расскажем вам, как создать свою криптобиржу и сделать её успешной.
Что такое криптовалютная биржа
Криптовалютная биржа – это сервис для обмена виртуальной валюты на другие активы, такие как различные цифровые токены или фиатные деньги. В настоящее время эти сервисы чрезвычайно популярны, и многие компании/предприниматели занимаются криптовалютным трейдингом. Даже угроза запрета со стороны Евросоюза не может сильно поколебать позиции Биткоина и других криптовалют.
На сайте любой биткоин-биржи зарегистрированный пользователь может покупать и продавать цифровые валюты, отслеживать их обменные курсы (поскольку они постоянно изменяются) и хранить некоторые из своих собственных криптоактивов. Такие сервисы обычно уделяют больше всего внимания уровню своей безопасности и поддержке платёжных систем. Однако опытный пользователь должен смотреть на предлагаемый ими обменный курс.
Более наглядно это показано в следующей инфографике:
Чем биржа отличается от рынка
Криптовалютные рынки предназначены для людей, уже имеющих криптовалюту, и позволяют взаимодействовать с другими криптотрейдерами, заключая сделки через платформу. Этим они принципиально отличаются от криптобирж, где вы получаете возможность обменивать свои криптовалюты одного типа на монеты другого типа, взаимодействуя с одним поставщиком услуг (а не с другими трейдерами).
С точки зрения пользователей, биржи являются гораздо более надёжными в плане стабильности валютных курсов из-за их централизованного характера. Этот аспект имеет как свои плюсы (биржи не занимаются мошенничеством), так и минусы (владельцы бирж сами решают, какие курсы устанавливать, и могут сделать их крайне невыгодными).
С другой стороны, цены на биржах, как правило, зависят от ситуации на наиболее популярных рынках. Как правило, на бирже вы не можете выбрать наиболее подходящий вариант обменного курса, и вынуждены придерживаться только одного установленного тарифа.
Типы бирж
Можно определить два основных типа криптобирж
- Оффлайн. Они предоставляют эффективный способ вывода вашей криптовалюты в эквиваленте реальных денег (например, доллары или евро). Для этого пользователь должен перейти на сайт биржи и подать заявку. Через некоторое время он сможет получить свои наличные деньги в физическом отделении сервиса или в банке. Таких бирж в настоящее время немного, так как они не слишком популярны среди пользователей.
- Онлайн. Биржи, работающие через интернет, представляют собой полномасштабные платформы цифровой коммерции, которые позволяют покупать или продавать криптовалюты по определённым ставкам. Как правило, это наиболее часто встречающиеся биржи, на которых, помимо фиатной валюты, вы можете обменивать биткоины, эфириум и другие альткоины.
Как создать собственный сайт криптовалютной биржи
Разработка сайта криптовалютной биржи с нуля может оказаться непростой задачей. Однако для этого вам не понадобятся огромные суммы денег и блестящие технические знания. Мы подготовили для вас несколько основных советов относительно того, как запустить этот процесс и получить прибыль.
Определение своей целевой аудитории
Подумайте, насколько широк должен быть охват целевой аудитории – он может быть ограничен одной страной и её юрисдикцией, но если вы планируете сделать свой бизнес глобальным с самого начала, это будет совсем другая история. В последнем случае вам нужно будет позаботиться обо всех необходимых международных лицензиях и разрешениях в соответствии с законами стран, в которых вы планируете представить свой бизнес.
В любом случае вам понадобится помощь юриста, имеющего опыт работы с международными законами, касающимися бирж.
Формирование партнёрских отношений с надёжным банком
Чтобы управлять фиатными деньгами, вам неизбежно придётся иметь дело с банком или платежным провайдером. Поэтому очень важно выбрать надёжный банк с достаточным количеством онлайн-сервисов, дружественными условиями для партнёров и более или менее выгодными обменными курсами. Лучше всего устанавливать такие связи в государствах, где криптовалюта принимается в качестве обычного платёжного средства, например, в США или скандинавских странах.
Уделите внимание программному обеспечению
Технологический рынок сегодня крайне дружественен для предпринимателей, которые хотят запустить свои стартапы по обмену цифровых валют. Поэтому вы без труда найдёте стартовый пакет программного обеспечения. Такие сайты, как BTCTrader или Alphapoint , предлагают готовые решения для бирж.
Помимо веб-интерфейса биржи, не забывайте о разработке мобильных приложений, так как они могут значительно увеличить ваши доходы. Тем не менее, хорошей идеей является создание индивидуального пакета программного обеспечения, в котором вы сможете предложить клиентам совершенно новые средства обмена.
Создание архитектуры биржи
Базовое архитектурное решение для сайта криптовалютной биржи должно включать в себя четыре обязательных компонента
- Торговый движок. Без этой основной части весь механизм не сможет работать. Торговый движок должен иметь беспрепятственный доступ к книге ордеров, сводить между собой все ордера на покупку и продажу, обрабатывать транзакции и рассчитывать балансы счетов.
- Фронт-энд. Пользовательский интерфейс вашей платформы должен быть полностью подготовлен для быстрого и плавного процесса торговли и совершения транзакций. Постарайтесь сделать его интуитивно понятным и удобным, чтобы ваши клиенты могли без труда найти свои счета, максимально быстро увидеть любые изменения валютных курсов, вносить криптовалюты или фиатные деньги, а также размещать любые ордера.
- Кошелёк. Электронные кошельки для цифровых валют, которые вы предоставляете пользователям своего сайта, должны очень быстро и легко запускаться, но при этом обеспечивать безопасность операций вывода виртуальных денег и конвертации их в фиатную валюту.
- Панель администратора. Хорошая панель управления должна помочь администратору управлять торговыми операциями, а также контролировать процессы, создавать ликвидность и предоставлять клиентам полезную и профессиональную поддержку.
Обеспечение соответствующего уровня безопасности
Цифровые деньги создавались для того, чтобы обеспечить максимальную защиту и безопасность. Мы бы посоветовали вам придерживаться этих принципов, поскольку было подсчитано, что почти половина всех криптовалютных бирж закрывается из-за взломов.
Убедитесь, что ваш сайт является абсолютно безопасной платформой для любых торговых транзакций, ICO и операций вывода денег, которые вы будете проводить. То же самое касается и конфиденциальной личной информации ваших клиентов, поскольку в наши дни она должна быть защищена гораздо строже, чем раньше.
Обеспечение прозрачности и безопасности
Практически все сервисы, работающие с валютами, должны соблюдать правила «Знай своего клиента» (Know Your Customer, KYC), которые подразумевают проверку паспортных или каких-то других идентификационных данных для подтверждения личности клиента. Основная цель соблюдения таких правил – исключить возможность мошенничества в биржевой сети.
Ассортимент криптовалют
Любой биржевой сайт должен поддерживать как можно больше важных криптовалют и фиатных валют. Таким образом, разработчики расширяют клиентскую аудиторию и обеспечивают быструю международную экспансию.
Однако ручная интеграция каждой поддерживаемой валюты может стать сложной задачей, поэтому запустить биржу с поддержкой большого количества цифровых валют будет практически невозможно. Поэтому вам нужно будет провести тщательное исследование, чтобы проанализировать целевой рынок и посмотреть, какие валюты будут лучшим выбором для вашего стартапа.
Помимо популярных Bitcoin и Ethereum, вы также должны обратить внимание на Litecoin, Ripple и некоторые другие монеты.
Обеспечение ликвидности
В первое время после запуска своей биржи вам придётся искусственно моделировать спрос на свои услуги.
Это можно сделать двумя способами
- создать искусственную активность, покупая и продавая криптовалюты с профилей, которые создали вы сами;
- подключиться к сети других бирж, чтобы получить ликвидность всех сервисов, которые уже работают в ней.
Организация хорошей службы поддержки клиентов
После запуска платформы вам следует нанять хотя бы нескольких сотрудников, которые займутся поддержкой клиентов. Крайне важно обеспечить полную доступность службы поддержки – то есть, сотрудники должны быстро реагировать и оказывать помощь с достаточно высоким уровнем компетентности.
Как происходит запуск криптовалютной биржи с точки зрения бизнеса
В начале работы с новой криптобиржей в качестве владельца бизнеса формально вы должны пройти три серьёзных этапа.
Расчёт бюджета
Для начала вам следует подумать о том, сколько будет стоить весь ваш проект. При этом наиболее затратными аспектами являются разработка, настройка и поддержка биржевого веб-сайта. Как вариант, вы можете взять какой-то готовый шаблон, адаптировав его к своим собственным потребностям.
Это обойдётся вам в 500-1000$. Конечно, индивидуально разработанный сайт будет стоить дороже. Кроме того, не забывайте о расходах на SEO и продвижение, которые могут доходить до нескольких тысяч долларов.
Наконец, вам нужно будет приобрести определенное количество криптовалюты или фиатных денег, чтобы у вас было, с чем совершить первую сделку. Как правило, минимальный объём денежных средств на бирже должен быть не менее 20 000$.
Составление документации
В некоторых странах деятельность онлайн-бирж вообще не регулируется законом, поэтому они могут работать без документации, не нарушая никаких законов. Тем не менее, сделав свой бизнес полностью легальным с самого начала, вы минимизируете будущие риски, связанные с регистрацией в «не очень удобных для бизнеса» местах.
Вы можете предоставлять услуги в рамках бессрочной кредитной сделки с клиентами, зарегистрировать частную компанию с физическим лицом в качестве руководителя, либо приобрести японскую лицензию.
Запуск онлайн-платформы
Завершающим этапом перед стартом вашего бизнеса должен быть технический запуск онлайн-платформы. Прежде всего, вам следует выбрать хостинг. Он должен предоставлять возможность дальнейшего масштабирования, поэтому не пытайтесь экономить на выборе своего будущего провайдера. Что касается самой платформы, то вы можете либо купить готовый шаблон, либо заказать индивидуальное решение у специализированного разработчика.
В любом случае, вам понадобится специалист, который напишет базовый скрипт для вашего программного обеспечения. Однако вы можете сэкономить и на этом, если займётесь поисками на GitHub или других подобных форумах, где можно найти множество готовых скриптов с открытым исходным кодом.
Запуск криптовалютной биржи: где посмотреть примеры
В целом, предприятие по торговле криптовалютами и их обмену практически гарантированно будет успешным, если у его владельца хватит терпения и бюджета. Но даже если у вас есть и то, и другое, мы всё же рекомендуем обратить внимание на успех таких лидеров в своей нише, как Binance или Poloniex.
BINANCE входит в число относительно молодых платформ, фокусирующихся на операциях с криптовалютой, и была представлена на рынке в 2017 году. Биржа принадлежит компании Binance Limited, которая зарегистрирована в Китае и действует в соответствии с местным законодательством. На сегодняшний день она считается одним из ведущих игроков в своей сфере по среднесуточному объёму сделок.
Биржа предлагает пользователям довольно низкие комиссии, высокую производительность, возможность использовать профессиональные торговые инструменты для расширенного технического анализа, а также позволяет выводить до 100 BTC в день.
Что касается биржи Poloniex, то она работает с 2014 года и принадлежит компании Poloniex, Inc., зарегистрированной в США. Компания занимает лидирующие позиции по объёму торгов Ethereum, привлекая к этой монете огромное количество пользователей. Почти 30 000 пользователей постоянно находятся в сети. Платформа обеспечивает поддержку большого количества криптовалют, всего более шестидесяти.
Глядя на этих двух гигантов, мы видим, что для достижения такого же успеха в этой области необходимыми факторами являются безупречный пользовательский интерфейс, поддержка множества криптовалют и гарантии безопасности пользователей.
Во сколько обойдётся создание собственного сайта биржи
Что касается проблем, которые вам нужно преодолеть при создании собственной криптовалютной биржи, то этот процесс не может не быть дорогостоящим. Тем не менее, вооружившись разумным отношением и предпринимательским духом, вы сможете запустить свой стартап со вполне нормальной ценовой политикой.
Независимо от вашего выбора программного обеспечения, в состав вашей идеальной команды должен входить менеджер проекта (если только вы не хотите занять эту должность самостоятельно), разработчик платформы, QA-инженер, опытный веб-дизайнер и разработчик пользовательского интерфейса. Стоимость их услуг может существенно варьироваться в зависимости от нескольких факторов. Самым важным здесь, вероятно, является страна, в которой работают члены вашей команды.
Если вы не готовы потратить огромную сумму денег на свой новый проект, вам нужно будет найти идеальный баланс между ценой и опытом. Так или иначе, стартовая цена создания простого сайта криптовалютной биржи с нуля будет не менее 25 000$, если вы обратитесь к специалистам из Восточной Европы. Если вы собираетесь разрабатывать сайт с привлечением специалистов из США или Западной Европы, будьте готовы заплатить гораздо больше – до 400 000$.
Три часто задаваемых вопроса по разработке криптобиржи
Будет ли созданное решение достаточно безопасным?
Разрабатываемое вами решение будет безопасным, если вы
- будете использовать биометрические данные пользователей для аутентификации;
- примените искусственный интеллект для обнаружения подозрительной активности во время транзакций;
- выберете платформу, основанную на блокчейне.
Только использование блокчейна гарантирует достаточно высокий уровень защиты данных благодаря его базовой технологии распределённого реестра.
Будет ли созданное решение работать достаточно быстро
В случае Биткоина пропускная способность составляет 7 транзакций в секунду, а в случае Эфириума – 20 транзакций в секунду. При превышении допустимого количества операций формируется очередь. Это, в свою очередь, приводит к увеличению комиссий за каждую транзакцию. Чем выше приоритет очереди, тем выше размер комиссии.
К счастью, решить эту проблему можно несколькими способами
- регулирование размера блока в зависимости от нагрузки на биржу;
- внедрение протокола PoS;
- выбор централизованного блокчейна вместо децентрализованного.
Будет ли созданная биржа легальной на территории США
В США любая деятельность, связанная с использованием криптовалют, считается законной (за исключением ICO).
Поэтому ваш бизнес, если вы зарегистрируете его в США, будет облагаться налогом в соответствии со следующими нормами
- при хранении до года и постепенном увеличении цены криптовалюта облагается налогом по ставке 10-37%;
- при хранении более года и постепенном увеличении цены она облагается налогом по ставке 24%;
Выводы
В этой статье мы поделились с вами своим мнением относительно того, как лучше создать криптовалютную биржу. Надеемся, что вы получите вдохновение от наших советов и запустите собственный сайт с идеальными условиями для трейдеров.
Источник https://habr.com/ru/post/655843/
Источник https://cryptofans.ru/news/instrukcii_i_obzori/rukovodstvo_po_sozdaniju_novoj_kriptobirzhi_pravilnim_sposobom.html
Источник https://bitexpert.io/services/kak-sozdat-birzhu-kriptovalyut/