Напишу биржа криптовалют

И ещё так: как биржу криптовалют делать не нужно.

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

И начал я смотреть другие биржи криптовалют. И обнаружил что в половине случаев они также сделаны через жопу, человеками далёкими от трейдинга и понимания того как дОлжно выстраивать архитектуру ядра, чтобы потом не обрубать алготрейдеров от торгов за то что они хотят видеть стакан чаще чем раз в пять секунд (ШТО?!).

1) Архитектуру света, правды и распределённых вычеслений — которую можно будет безболезненно расширять и разносить нагрузку. Это тяжёлый и праведный путь. Который, однако, вероятно не будет для Вас более денежным чем второй.

1.Устройство ядра нормальной биржи

Все они примерно похожи.

Есть некая программа, написанное на С / С++, которую называют ядром биржи. У ядра есть четыре основных функции:

Все четыре эти функции могут быть распараллелены как виртуально (просто многопоточное исполнение) так и физически (на разных серверах в рамках одной локальной сети).

Вокруг ядра есть окружение в виде различных шлюзов для получения информации и выставления заявок. В случае ASTS и Spectra это CGate, ASTS Bridge, Twime, Fix, Fast и т.д.

Рядом с ядром биржи, физически. Стоят другие сервера, в которых размещены премиальные пользователи. Это промежуточные сервера брокеров и роботы, которым нужен быстрый доступ к ядру.

Все остальные вынуждены торговать либо через вёб интерфейсы или через терминалы БРОКЕРОВ. Которые дают Вам потрейдить через свои промежуточные сервера в зоне колокации. Через интернет. Соединение их медленное и печальное. Но от этого не менее стабильное и приемлемое.

Если Ядро и Api писалось нормальными ребятами, то всё должно быть прекрасно расширяемо и работать охренительно быстро почти при любых нагрузках.

Адаптировать для криптоБиржи данную картинку впринципе очень даже можно.

Думаете кто-то на Крипто-Биржах сделал так? Хренас два!

Давайте тоже сразу с картинки начнём.

Рис. 2. Упрощённая схема ядра Крипто биржи и его окружения

Все теперь должны получать дату через единый HTTP интерфейс.

Ядро

1) Вместо C/C++ у нас здесь PHP, и бесплатная база данных, вроде MySQL.

3) Как выглядит «работа» «ядра»:

4) При этом запрос данных происходит напрямую из базы данных.

API

Что тут ещё сказать. Не хочу углубляться в его суть. Нормальный протокол для мало и средне нагруженных проектов просто супер. Но ОДНАКО. Если Вы подумали что главная проблема бирж криптовалют в том что там ядро детьми написано — это не так.

И на первых этапах, когда школьники только всё замутили за пару месяцев и взяли свой первый миллиард у инвесторов лохов. Эта проблема не видна. Всё вроде бы прилично на первый взгляд.

И не дай бог, на эту биржу придут алготрейдеры, и начнут запрашивать стаканы чаще одного раза в пару секунд — всё. Биржа лежит.

Например у моего любимого кракена, это от 1 до 4 секунд между запросами. Если чаще — банят по IP адресу. https://support.kraken.com/hc/en-us/articles/206548367-What-is-the-API-call-rate-limit-

3.Заключение

Я знаю, что эта тема весьма актуальна уже очень длительное время.

Ребят, да я не против. Делайте. Только не надо потом давать весёлые интервью о том что сделали биржу за три недели и гордитесь этим(https://cryptocurrency.tech/kak-za-3-nedeli-sozdat-svoyu-birzhu-kriptovalyut-s-nulya-istoriya-birzhi-bitflip/). Делайте это как-то сука тихо чтоли. Через оффшоры. Пользуйтесь именами вымышленными. Ведь всем, включая Вас понятно, что то что Вы сделали никогда не станет биржей.

С другой стороны. Понять Вас тоже можно. На самом деле это хорошая тема для Вашего обогащения. Если бы у меня не было совести я бы замутил тоже свою биржу за пару недель.

Инвестору

Вам кажется что ещё немного и Вы сможете прикоснуться к передовым технологиям будущего?

Но сначала задайте своим программистам несколько простых вопросов.

2) Будет ли Апи программирования для алготрейдеров. Если ответят что будет HTTP, то это тоже плохо. На этой бирже никогда не будет серьёзных оборотов. Она будет не стабильна и медленна.

Постоянному читателю

Хотел написать Кракену что они не правы. А потом подумал что они и так это знают. Просто уже не в силах остановится. И это было известно ещё на этапе проектирования биржи. Вот решил написать потомкам восьмидесятых.

Удачных алгоритмов!

Да. да... Есть ещё средний вариант архитектуры, когда тяжёлые данные отпарвляются при помощи WebSocket. Это весьма популярное решение для многих «бирж» криптовалют. Это вроде бы уже более-менее приемлемо, с точки зрения алготрейдинга. Хотя бы стаканы можно получать не раз в пять секунд а в момент их изменения. Но я честно не знаю как к такой архитектуре относится. Определённо это ещё не биржа, но торговать уже можно) Как-то так.

Источник