ДВИЖОК

Ядро, о котором только говорят.

Движок матчинга на безопасном по памяти Rust. Детерминированный повтор из WAL. Двойная запись с контрольным гейтом баланса на каждом батче. Аудит-цепь на blake3, которая заметно ломается при любом вмешательстве.

МЕХАНИЗМЫ

Шесть утверждений.
Шесть механизмов.

За каждым утверждением — готовый механизм. Никаких прилагательных без доказательств: доверие к движку и есть доверие к бирже.

01 · Детерминизм

Детерминированный матчинг, который можно повторить.

Ордера и исполнения переживают сбой через WAL (fsync). Состояние повторяется, а не пересчитывается — при восстановлении сборка идёт бит-в-бит.

Механизм: fsync в WAL и детерминированный повтор с genesis.

02 · Сохранение

Каждое изменение баланса сохраняется.

Двойная запись на TigerBeetle. Баланс проверяет гейт (кеш ↔ реестр в lockstep). 0 drift по построению.

Механизм: двойная запись и контрольные гейты баланса.

03 · Следы вмешательства

Следы вмешательства видны по построению.

Хеш-цепь на blake3 с дозаписью в конец. Роли БД по минимуму привилегий. Экспорт hash-tip за пределы машины делает цепь проверяемой снаружи.

Механизм: blake3 с дозаписью в конец и аудит-БД с разделением ролей.

04 · Безопасность памяти

Без GC-пауз на горячем пути.

Движок на Rust. Однопоточный актор матчинга с низкой задержкой. Без сюрпризов stop-the-world, как у управляемых сред исполнения.

Механизм: Rust и однопоточное ядро матчинга.

05 · Инженерия риска

Настоящий риск, без недомолвок.

Кросс-маржа на едином счёте. Частичная ликвидация худших позиций в первую очередь. Модель поддерживающей маржи, страховой фонд и каскад ADL — всё на виду, ничего не спрятано.

Механизм: единая маржа и частичная ликвидация худших позиций первыми.

06 · Доступ по capability

Ваши данные — ваши.

RPC с аутентификацией по capability-модели. Никто не может прочитать чужой счёт. Комиссии проставляются на входе и закрепляются балансом через реестр.

Механизм: capability-токены с привязкой к счёту.

ИЗМЕРЕНО

Цифры,
и как они измерены.

Все значения измерены на канареечном железе под синтетической длительной нагрузкой. Методология опубликована рядом с каждой цифрой — в этом и весь смысл.

Order-ack p50 / p99
5 / 9 µs
Канареечный стенд на одном инструменте · репрезентативная нагрузка · прогон 30 мин · 2026-06
Устойчивая пропускная способность
1.1M ops / s
синтетическая нагрузка · один инструмент · 30 минут без спада
Детерминированное восстановление
2.9s
Повтор из WAL с genesis · лог 4 ГБ · бит-в-бит состояние
Сохранение реестра
0 drift · гейт
Свойство, а не бенчмарк — обеспечивается гейтом на каждом батче.
ДЕТАЛИ

Вопросы прямые ответы.

Зачем детерминизм, что даёт WAL-before-ack, как обеспечивается 0 drift и откуда цифры.

Зачем движок делать детерминированным?

Затем, что детерминированный движок можно повторить, а не просто ему верить. Состояние собирается повтором журнала WAL, а не пересчётом, поэтому восстановление ложится на бит-в-бит состояние каждый раз — и это как раз то, что делает аудит-цепь и контрольный гейт осмысленными. Недетерминированный движок нельзя вывести заново из его лога, а значит, его историю нельзя проверить независимо.

Что значит WAL-before-ack?

Каждый принятый ордер пишется в журнал WAL с fsync до того, как изменит хоть какое-то состояние или будет подтверждён, — лог это источник истины, а состояние движка это его детерминированный повтор. Запись до подтверждения и делает сбой переживаемым: не подтверждается ничего, что сперва не стало долговечным, поэтому восстановление собирает бит-в-бит состояние из лога.

Как обеспечивается 0 drift?

Балансы двигаются только парами переводов по двойной записи, и контрольный гейт сверяет кеш с реестром шаг в шаг на каждой пачке. Если они расходятся, пачка обрывается, а не проходит. «0 drift» — это то самое свойство: знаковые балансы по активу всегда сходятся в ноль — обеспечивается гейтом непрерывно, как тест, а не заявляется как маркетинговый бенчмарк.

На каком железе получены цифры?

Все значения измерены на канареечном железе под синтетической длительной нагрузкой, на in-process matching path с одним инструментом, и методология опубликована рядом с каждой цифрой — order-ack показан как p50 и p99 вместе (5 µs / 9 µs), а не только выгодный. Синтетическая нагрузка выбрана намеренно: измеренный потолок стоит выше реального потока ордеров любой биржи, и он помечен как бенчмарк, а не боевой трафик.

СМОТРИТЕ В ДЕЛЕ

Один ордер,
пять проверок.

Главная страница закрепляет один ордер, пока он идёт через движок — проверен, записан, сматчен, проведён, захеширован — и отдаёт доказательство на каждой стадии. Это тот же конвейер, что описывают эти механизмы, только виден целиком.

Дальше

Безопасность и проверяемость

Читать дальше
Высокорисковые деривативы. На бессрочных контрактах можно потерять больше, чем внесённая начальная маржа. Недоступно резидентам ограниченных юрисдикций (не-US · не-UK).
Полное раскрытие рисков →