Технологическое масштабирование BitMEX: Часть 1

Статья от 27 апреля 2018 года
Автор: Sam Reed

Здравствуйте! Меня зовут Сэмюэль Рид, я главный технический директор BitMEX.

Последние четыре года, которые мы посвятили созданию BitMEX, были невероятно насыщенными. Когда мы начинали, не думаю, что кто-то из основателей мог представить себе успех этой платформы и ее лидирующие позиции в сфере торговли Bitcoin/USD в 2018 г.

С 2014 года платформа BitMEX выросла с нуля до колоссального объема торгов — в среднем 3 млрд долларов США в сутки. Наш основной продукт, XBT/USD, пользуется бОльшим спросом, чем любой другой криптовалютный продукт в мире. Мы обслуживаем клиентов со всего мира на пяти языках и стали главной платформой с точки зрения определения цены биткоина и ликвидности.

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

Мы хотели бы рассказать о том, как создавалась наша компания и что мы планируем делать дальше. Как справедливо заметил один неглупый человек: «Чтобы устранить ошибку, ее нужно понять»1 


Начну с реальной истории.

Source: russellfreeman.com

В 2014-м я выступал на семинаре веб-разработчиков в Гонконге, который проходил в рамках GeneralAssembly, тренировочных курсов для программистов. Организаторы хотели дать своим будущим выпускникам возможность поработать в профессиональной среде. В выступлении я рассказал о себе и своем послужном списке, в котором на тот момент была работа на нескольких малых предприятиях, в стартапах и госучреждениях, особо подчеркнув, как невероятно востребованы инженеры-программисты.

Откуда-то из задних рядов прозвучал громкий вопрос: «Как бедному стартапу заполучить технического директора? Как его убедить? Как привлечь хороших специалистов в такой конкурентной среде?»

«Хороший вопрос, на который не так просто ответить, — сказал я. — Когда нет финансирования, не так-то просто убедить человека предпочесть рискованное предприятие верному делу со стабильным доходом. Что может заставить опытного программиста отказаться от годовой зарплаты в 200 000 долларов или больше в крупной технологической компании, в удобной среде и огромными ресурсами, чтобы работать по 80 или больше часов в неделю? По сути, вам придется найти какого-то дурачка, — я в самом деле так сказал, — который поверит в вашу идею настолько, что будет готов рискнуть, несмотря на множество куда более выгодных вариантов». Я пожелал автору вопроса удачи, и семинар продолжился.

После окончания семинара он подошел ко мне и сказал, что хочет создать биржу для торговли деривативами биткоина. Тогда я понял, что был тем дурачком, а Артур Хейс и я станем деловыми партнерами.

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

К большому неудовольствию моей жены, окончательный запуск BitMEX состоялся во время нашего медового месяца в Хорватии, 24 ноября 2014 г. Бен и Артур отмечали это событие отдельно, в Гонконге. Обратите внимание на оригинальный торговый интерфейс на обеих фотографиях. Вы и сегодня можете прочитать первые сообщения в чате Trollbox того времени.

24 ноября 2014 г., Дубровник, Хорватия.

 

24 ноября 2014 г., Гонконг.


Любые начинания являются продуктом своей эпохи. В начале 2014 г. экосистема криптовалют еще не успела заполнить вакуум, образовавшийся после закрытия биржи Mt.Gox. В то время использовался не алгоритм «доказательства выполнения работы» (proofofwork)  или «доказательства доли владения» (proofofstake), как сегодня, но забытый теперь алгоритм «доказательства резервов» (proofofreserves) — просто загуглите его и посмотрите на время публикации всех популярных записей. Более того, вопрос об этом стал самым популярным комментарием к нашему объявлению о запуске биржи на Reddit.

Первое правило биткоиновой биржи (всегда было и остается) — ни в коем случае не терять биткоин.

Эту правилу подчинены все аспекты деятельности BitMEX. Это правило диктует нашу политику даже сегодня: мы по-прежнему используем 100% «холодный» мультисигновый кошелек, т. е. для выполнения каждой платежной операции необходимо разрешение нескольких лиц. Найдите транзакцию 3BMEX в блокчейне и сами увидите. В течение 1250 дней подряд (!) как минимум двое из нас троих просматривают заявки на вывод за текущий день, выполняют проверку рисков и разрешают транзакции, после чего данные передаются следующему партнеру на утверждение и записи в блокчейне.


                                               BitMEX в 2014 году.

2014-й также немало повлиял на создание и становление BitMEX. Mой опыт разработки клиентских приложений заставил меня обратиться к библиотеке ReactJS, и BitMEXстала первой биржей, созданной на ее основе. Этот выбор оказался настолько удачным, что продолжает приносить дивиденды даже сегодня, в 2018-м.

Мы также стали первой — и, скорее всего, единственной — биржей, создавшей систему сверки и маржирования ордеров на основе kdb+/q— технологии, традиционно использовавшейся для выполнения запросов в крупномасштабных массивах данных временных рядов. Это был идеальный вариант. Она быстро работает (не спешите возражать) и использует SIMD-инструкции, чтобы значительно увеличить производительность. Она характеризуется гибкостью и точностью. Гибкость и скорость технологии Kdb+ позволили нам дважды переориентировать наши предложения: перейти от обратных и кванто фьючерсов с низким кредитным плечом к фьючерсам с высоким кредитным плечом, и от фьючерсов с высоким кредитным плечом к нашему флагманскому продукту, бессрочным фьючерсам по XBT/USD. Для этого потребовались гибкость, инновации и немалый личный трудовой вклад от каждого члена команды. Мы гордимся проделанной работой.


Было бы нечестно углубиться в такие детали и не раскрыть смысл названия этой статьи. На сегодняшний день объем торгов BitMEXдостигает $6,5 млрд в сутки. Наш последний рекорд за 1 минуту составил 35 млн долларов США, что выше объема торгов за весь апрель 2016 г.

В показанном месяце (март 2016 г.) объем торгов по XBT/USD составил 16 млн долларов США. Сегодня торги по XBT/USDза одну минуту вдвое превышают эту цифру.

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

Чтобы понять, почему система BitMEXиногда «тормозит», несмотря на использование такой надежной технологии, как KDB+, важно знать, чем BitMEX отличается от других бирж.

Цифра 100[величина кредитного плеча] вызывает самую разную реакцию, от «вы спятили?» до «как это возможно?» Это возможно только благодаря невероятной финансовой схеме, разработанной соучредителем компании, нашим директором по стратегическому развитию Беном Дело (Ben Delo). Бен — блестящий и дотошный математик. Он создал для торговли идеальную математическую модель, неизменно когерентную систему, которая непрерывно проверяет все сделки и всегда сводит их сумму к нулю. В системе BitMEX сделки никогда не теряются. Баланс счета пользователя никогда уходит в минус. Есть целые классы ошибок, которые повсеместно встречаются на других платформах, но исключены на платформе BitMEX. Внимание к деталям — это «мелочь», от которой зависит все. Определение цены исполнения на основе цены маркировки/справедливой цены, система автоделевериджинга (ADL), ставки финансирования по бессрочным контрактам, использование изолированной/перекрестной маржи — все это новые, инновационные концепции, которые ввела BitMEX.

Неизменная когерентность (согласование данных) в системе BitMEX позволяет нам предлагать кредитное плечо 100x. Как показало время, технология KDB+ работает достаточно быстро, чтобы мы могли непрерывно менять маржу по всем позициям после каждого изменения цен. Это обеспечивает безопасность и скорость, необходимые для того, чтобы не только продержаться на плаву в условиях предельно узкой маржи обслуживания 0,5%, но и достичь немалого успеха. На момент написания материала в страховом фонде BitMEX, гарантирующем исполнение контрактов BitMEX, насчитывалось целых 6149 XBTили более 50 миллионов долларов США. Размер страховых фондов наших конкурентов не превышает однозначного числа биткоинов, хотя они предлагают кредитное плечо всего 20x.

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

С конца 2017 года главным приоритетом для команды BitMEX является повышение производительности нашей системы. Мы сформировали команду, полную лучших профессионалов своего дела, которая непрерывно растет и расширяется. Наша команда активно готовится к следующему 100-кратному увеличению объема торгов.


Во второй части этого материала будут подробно рассмотрены следующие темы:

  • Как система BitMEX обрабатывает ордеры и выставляет требования о внесении дополнительной маржи
  • Как сообщения в реальном времени передаются из нашей системы в ваш браузер
  • Как BitMEX использует приоритетный дизайн API (APIfirst) для создания самого мощного API в отрасли
  • Графики производительности, показывающие «горячие точки», пиковую и базовую нагрузку и проблемные ситуации
  • Объяснение наводящего ужас сообщения «Система перегружена» и того, как оно генерируется

В третьей части буду освещены следующие вопросы:

  • Показатели эффективности, демонстрирующие, как увеличилась наша производительность с 2017 года
  • За последние месяцы мы достигли значительных успехов — но спрос на наши услуги вырос не меньше
  • План действий на 2-й квартал
  • Видение BitMEX будущего онлайн-торговли деривативами

Спасибо за то, что помогаете BitMEX достичь успеха. Бен, Артур и я счастливы работать в такой замечательной компании: наши клиенты, команда и возможности для торговли — лучшие в своем роде.

Вы можете связаться со мной напрямую в Twitter (@STRML_) и в Telegram (STRML). Я также иногда общаюсь с трейдерами на форуме WhalepoolTeamSpeak, сообществе для трейдеров, которое на протяжении вот уже нескольких лет остается источником ценных отзывов и поддержки.


Обычное зрелище из окна квартиры в Дубровнике, где был запущен проект BitMEX.

1 – «Звездный десант» значительно опередил свое время с точки зрения взглядов на программирование.