Быстрее, дешевле, безопаснее и надежнее, чем Ethereum
Введение
dYdX недавно запустила свою платформу бессрочных контрактов, работающую на механизме масштабирования StarkEx в режиме ZK-Rollup (т. е. с данными в цепочке). StarkEx обеспечивает масштабируемость и более низкие затраты на газ для пользователей, но также позволяет создавать более совершенную систему: внедрять новую бизнес-логику, включая новые функции, которые были бы слишком дорогими без решения уровня 2.
В этом сообщении блога мы обсудим, как StarkEx использует цены оракула более эффективно и безопасно.
Oracles на StarkEx
Оракулы являются неотъемлемой частью любого блокчейна без разрешения, поскольку они позволяют dApps полагаться на данные, которые являются внешними по отношению к блокчейну. dYdX ничем не отличается: он использует ценовые потоки для различных активов, торгуемых на нем, чтобы отслеживать коэффициент обеспечения трейдеров.
Однако обновление оракулов стоит довольно дорого. Надежное обновление — это обновление, собранное из многих источников, что означает множество проверок подписей и операций хранения на уровне L1. Как правило, стоимость такого обновления может достигать миллионов единиц газа — немалые затраты, которые в конечном итоге ложатся на плечи пользователей.
Дорогостоящие обновления означают менее частые обновления, что приводит к менее эффективному децентрализованному приложению. Обновлять цену USD-ETH внутри сети в каждом блоке нецелесообразно, а это означает, что децентрализованные приложения, зависящие от такого обновления, будут медленнее реагировать на изменения цен. Эта проблема усугубляется во времена, когда нам больше всего нужны частые обновления, а именно в периоды быстрого движения цены. В такие времена люди, скорее всего, захотят взаимодействовать с L1 и потребуют актуальные цены, тем самым увеличивая перегрузку блокчейна. Заторы означают, что обновления цен, к сожалению, будут происходить реже (как это произошло в « черный четверг »).). Несмотря на то, что система dYdX StarkEx работает всего две недели, нам посчастливилось уже пройти такой стресс-тест: утром 17 апреля 2021 года цены на криптовалюту упали на целых 20% — StarkEx без проблем провел более 1000 ликвидаций. менее чем за час , чуть более 6 тыс. газа/ликвидации.
Благодаря StarkEx dYdX может значительно увеличить частоту и количество ценовых оракулов, тем самым лучше защищая ленту от ценовых манипуляций. В настоящее время мы используем сеть оракулов Chainlink для обеспечения безопасной передачи цен для нашего протокола уровня 2. Chainlink интегрировался со Starkware, чтобы расширить функции оракула сети Chainlink для высокопроизводительных решений уровня 2. Вскоре для некоторых рынков могут быть использованы другие поставщики оракулов, такие как MakerDAO. Эти доступные, частые и надежные обновления цен позволяют dYdX предлагать трейдерам более высокое кредитное плечо.
Как это работает?
Во-первых, детали списка сторон, ответственных за поставку ценовых потоков вне сети для dYdX (наряду с требуемым кворумом), хешируются и сохраняются в смарт-контракте dYdX. Трейдеры скоро смогут увидеть прообраз на веб-сайте dYdX и решить, доверяют ли они этим организациям и кворуму или нет, что обеспечивает ту же прозрачность, что и смарт-контракт L1.
Давайте посмотрим, как мы можем обеспечить частые обновления экономичным способом. Во-первых, подходящие стороны отправляют — вне сети! — подписали цены. dYdX объединяет эти входные данные и вычисляет медиану.
Весь этот набор подписей, а также медиана затем отправляются в StarkEx, где программа dYdX Cairo проверяет выполнение следующего:
- Валидность ввода: подписи действительны, и все открытые ключи принадлежат правомочным сторонам в списке, который появляется в цепочке.
- Временные метки достаточно свежие
- Имеется кворум действительных подписей с открытым ключом
- Средняя цена была рассчитана правильно
Предполагая, что вышеуказанные свойства действительно выполняются, генерируется STARK-доказательство для правильного выполнения программы Cairo. Доказательство STARK отправляется в цепочку, где — если оно проверено — сохраняется одно число (среднее значение между минимальной и максимальной ценой, используемой в пакете). Стоит отметить: единая цена, хранящаяся для каждого актива в партии, не зависит от количества поставщиков вне сети, предоставляющих ее, или частоты их отчетов во время партии.
Вот и все!
Теперь цену можно использовать немедленно в последующих транзакциях вне сети, даже до того, как доказательство будет проверено в сети. Важно отметить, что правильность ценового тика гарантируется доказательством STARK, а это означает, что если цена недействительна, партия, включающая ее, и все транзакции, основанные на этой недействительной цене, отклоняются.
Примечание об OR & Price и ценовых Oracles
В отличие от ZK-Rollups, Optimistic Rollups требует публикации всех данных, связанных с ценами оракула, в сети. Это означает, что в OR расходы на газ растут линейно с частотой обновления цен и количеством поставщиков цен вне сети.
Вывод
Поскольку решения масштабируемости L2 становятся все более популярными и сложными, интересно наблюдать, как они не только расширяют существующие возможности L1, но и открывают совершенно новые функции и бизнес-логику. Мы надеемся, что в ближайшем будущем все больше dApps будут полагаться на StarkEx, а вскоре и на StarkNet, чтобы предлагать пользователям более масштабируемые, безопасные, надежные услуги в режиме реального времени.