У каждого валидатора — вне пути консенсуса
Внутри консенсуса
Торговые площадки
Оракульный sidecarу каждого валидатора
Валидатор проверяет и подписывает
Gossip между валидаторами
Сертификация по эпохам и раундам
Переносятся в блок
Ядро — маркировочная цена · маржа · ликвидация · расчёт финансированиярассчитывает по ценам, зафиксированным в том же событии консенсуса
Получение индексной цены
Каждый валидатор запускает собственный оракульный sidecar, который собирает данные с нескольких торговых площадок и сводит их к одной индексной цене на инструмент. Свёртка намеренно устроена не как простое среднее: среднее сдвигается одним плохим источником без всякого труда.Фильтрнеконечные и некорректные значения
Медианапо источникам
Зажимкаждый источник: медиана ± полоса
Веспо спреду и стабильности
Потолокпо уровню площадки
Индексная цена
Порядок и есть замыселФильтр идёт первым: одно бесконечное значение, дожившее до медианы или взвешенной суммы, портит всё дальше. Зажим вместо отбрасывания сохраняет каждый источник в счёте, ограничивая, насколько далеко любой из них может утянуть.
Не простое среднее — среднее легко сдвинуть одним плохим источником
Источник, котирующий вне своей полосы, не отбрасывается — его подтягивают к краю полосы. Различие существенное: отбрасывание позволяет атакующему сузить выборку, а при зажиме учитываются все источники, но ограничено, насколько далеко любой из них может утянуть результат.
Вес по качеству, затем потолок. Зажатые источники сводятся взвешенным средним, а не поровну. Вес растёт с качеством котировки — чем уже спред, тем больше вес — и со стабильностью, которую измеряют сравнением недавнего объёма с более длинным дневным средним: нетипичный всплеск объёма не должен давать площадке лишнего влияния.
Затем веса ограничиваются потолком по уровню источника, чтобы ни одна площадка не могла в одиночку определять результат, как бы хорошо ни выглядели её котировки:
Инструменты, котируемые в разных валютах, приводятся к общей валюте котировки ещё до всего этого, чтобы медиана бралась по сопоставимым числам, а не по смеси номиналов.
Каждая константа здесь — вопрос политики, а не природная постоянная. Полосы отклонения, назначение уровней и потолки весов — это конфигурация, и именно эти рычаги подкручивают, когда меняется поведение площадки или добавляется новый источник.
Сертификация
Индексная цена, которую выдаёт sidecar, — мнение одного валидатора. В то, по чему сеть может вести расчёты, она превращается уже в консенсусе. Валидатор забирает цену из собственного sidecar и проверяет её до подписи — в том числе на свежесть относительно настроенного порога, так что зависший sidecar не отправляет устаревшую цену: он не отправляет ничего. Затем он подписывает данные о цене и рассылает их другим валидаторам через gossip как сообщение сети консенсуса. Сертифицированные цены собираются по эпохам и раундам и переносятся в предложение блока. Поэтому подписи, фиксирующие транзакции блока, фиксируют и цены, по которым эти транзакции рассчитаны: отдельной оракульной транзакции нет, и нет окна между публикацией цены и её использованием. Валидатор не может предложить блок без валидных наблюдений цен за раунд. Доступность цены — предусловие производства блока, а не входные данные, которые исполнение надеется найти.Индексная цена и маркировочная цена
Сертифицированная цена — это индексная цена, взгляд сети на внешний рынок. Это не та цена, по которой исполняются сделки. Ядро выводит из неё маркировочную цену — сглаженную и ограниченную, чтобы краткий сбой в индексе не обернулся каскадом ликвидаций. Именно маркировочная цена и используется в марже, ликвидации и расчёте финансирования. Взгляд со стороны торговли — см. Маркировочная цена и Индексная цена.Что это гарантирует и чего не гарантирует
Гарантируется, что цена, по которой рассчитана транзакция, была сертифицирована кворумом валидаторов в том раунде, который зафиксировал транзакцию, и что ни один путь исполнения не мог прочитать другую. Не гарантируется, что цена была верной. Если сами площадки, из которых собран индекс, ошибаются — из-за согласованного движения на нескольких сразу или общерыночного сбоя, — зажим и взвешивание ограничивают, насколько далеко один источник может утянуть результат, но взять информацию, которой у рынка не было, они не могут.Что дальше
IntentionBFT
Как сертификация вшивается в те же подписи, что фиксируют блок.
Клиринговая палата
Что маржа, ликвидация и расчёт финансирования делают с ценой.
Маркировочная цена
Как индекс превращается в число, которое двигает позиции.
Раскрытие рисков
Где остаётся ценовой риск и во что он может обойтись.