MMS

TL;DR

Cairo — первая платформа промышленного класса для создания доказательств STARK для общих вычислений. Он завершен по Тьюрингу и очень эффективен. Все, что мы создавали — начиная с нашей заявки на Reddit Bake-off — написано в Cairo, включая все наши предстоящие развертывания: DeversiFi , Immutable и dYdX .

Какими бы ни были ваши потребности в вычислениях и хранении, если вы хотите масштабироваться при низкой стоимости газа на Ethereum, Cairo может быть вам полезен. В ближайшие кварталы мы начнем предлагать инструменты для разработчиков Cairo; до тех пор мы приглашаем вас поговорить с нами о совместной разработке вашего приложения.

Фон

Конкурс Great Reddit Scaling Bake-off стал важной вехой для нас в StarkWare. Не столько из-за того , чего мы достигли — 300 000 транзакций в одном доказательстве STARK , — сколько из-за того , как мы этого добились. Reddit Bake-off был первым разом, когда мы развернули Cairo, нашу платформу Turing-complete¹ производственного уровня для создания доказательств STARK для общих вычислений, в основной сети Ethereum. Все наши предстоящие развертывания основной сети будут базироваться в Каире, в том числе:

Этот пост: (i) объясняет потребность в Cairo, (ii) описывает его новизну, возможности и эффективность масштабирования и (iii) обсуждает следующие шаги в нашей дорожной карте для совместного использования цепочки инструментов Cairo с сообществом разработчиков.

Потребность: Тьюринг-полные STARK производственного уровня

Мы сосредоточились на решении проблем масштабирования с момента нашей регистрации в 2018 году, начиная с Ethereum. Мы рано поняли, что Validity Proofs — это мощное решение для масштабирования , и что STARK имеют уникальные возможности для решения проблемы масштабируемости для общих вычислений. Вспомните общую концепцию: доказательство вне сети, которое обрабатывает большие вычисления (например, большие пакеты транзакций) и производит экспоненциально меньшие доказательства достоверности, которые, в свою очередь, проверяются в сети.

У каждого из наших партнеров есть уникальные вычисления, которые им необходимо перенести на уровень 2 (L-2). DeversiFi поддерживает спотовую торговлю. Immutable поддерживает создание и торговлю NFT, а dYdX выполняет бессрочные контракты. Создание пользовательской «рукописной» системы STARK² для каждого такого проекта потребует много времени, так же как создание специальной «ASIC» для каждого вычисления. Таким образом, нам стало ясно, что для масштабирования нашего бизнеса и поддержки высокой производительности необходима полная по Тьюрингу система STARK L-2 производственного уровня, и поэтому мы разработали Cairo.Каир означаетСПУАалгебраическийяпромежуточныйрпредставление (AIR) и включает в себя один AIR, который проверяет набор инструкций этого «ЦП».

Решение: Cairo — один воздух, чтобы править всеми

Cairo присоединяется к респектабельному списку наборов инструментов, которые создают масштабируемые доказательства и/или доказательства с нулевым разглашением (ZK) для общих вычислений. Все предыдущие системы, развернутые в тестовых или основных сетях, можно отнести к категории «библиотек для написания схем»³. Их также можно рассматривать как эквивалент цепочек инструментов для создания «ASIC» для конкретных вычислений. Каир — это принципиально другой зверь. Внедрение Cairo можно рассматривать как переход от «ASIC» к «CPU».

Cairo — это первая испытательная система производственного уровня, реализующая полную архитектуру фон Неймана по Тьюрингу : каждая программа Cairo P находится в памяти виртуальной машины вместе с данными D, которые она обрабатывает. Cairo поставляется с одним AIR (и, следовательно, с одним Verifier — в смарт-контракте, WebAssembly и т. д.), который может проверить любую программу Cairo. А именно, Cairo AIR проверяет вычислительную целостность выполнения P на D и правильность состояния системы после выполнения.

С Cairo новая бизнес-логика не требует нового смарт-контракта, для этого требуется только другая программа Cairo. Следовательно, бизнес-логика и система доказательств четко разграничены.

Один AIR, управляющий ими всеми, имеет глубокое значение: можно использовать одно доказательство, чтобы подтвердить целостность множества различных программ. Например, аукцион с закрытыми ставками на основе VeeDo , чеканка партии карт Gods Unchained и еще одна партия сделок dYdX могут быть подтверждены одним доказательством! Мы называем эту функцию универсальной службой проверки (GPS), и вскоре вы узнаете об этом подробнее.

Каирский язык

Программы Cairo пишутся на языке программирования, похожем на ассемблер (так называемый Cairo), который имеет следующие особенности: память, вызовы функций, рекурсия и условия ветвления. Он также использует «подсказки» на стороне прувера для создания ярлыков и включения определенных вычислений. Когда мы говорим, что Cairo — это производственный уровень, мы имеем в виду не только предстоящее развертывание основной сети — мы имеем в виду мощную среду разработки, которую мы создали для нее, включая компилятор языка Cairo в байт-код Cairo, виртуальную машину, которая имитирует Cairo, отладчик, интеграция с IDE и упомянутый выше единый смарт-контракт Verifier, написанный на Solidity.

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

Эффективность и безопасность Cairo

Эффективность и безопасность можно рассматривать в контексте задействованной математики (AIR) или инженерной реализации (смарт-контракт Verifier для Ethereum) — Cairo помогает на обоих фронтах.

AIR от Cairo относительно прост, что обеспечивает эффективность и низкие амортизированные затраты как для службы проверки в сети, так и для услуги проверки вне сети. Это также приводит к повышению безопасности, поскольку аудит одного простого AIR безопаснее, чем аудит нескольких сложных AIR для конкретных приложений.

Следовательно, с Cairo мы можем полагаться на один смарт-контракт Verifier; больше нет необходимости развертывать Verifier для каждого используемого приложения. Обратите внимание на влияние этого свойства на безопасность: единый набор аудитов для этого одного контракта защищает любое приложение от системного риска доказательства, оставляя им возможность аудита только бизнес-логики. Что касается бизнес-логики, гораздо проще понять и проверить правильность кода , чем понять AIR для конкретного приложения.

Чтобы оценить конкретную эффективность Cairo, измеренную в реальных случаях использования, давайте рассмотрим два примера:

DeversiFi:

Система StarkEx, которая в настоящее время поддерживает DeversiFi 2.0 в основной сети Ethereum, представляет собой систему STARK «ASIC». Мы внедрили тот же StarkEx в Cairo, запустили его в тестовой сети и сравнили две системы. Как это часто бывает, процессоры медленнее, чем ASIC. Но в нашем случае из-за мощных оптимизаций Cairo разница незначительна:

  • Cairo Prover на 30% медленнее, чем текущая реализация ASIC.
  • Verifier потребляет всего на 3% больше газа

Выпечка Reddit:

Вместе с остальной частью экосистемы мы поспешили завершить Великий конкурс масштабирования Reddit . Благодаря Каиру:

  • Мы достигли этого с беспрецедентной эффективностью: наша способность объединять все 300 000 транзакций в одно доказательство, включая агрегированные данные о звонках (представляющие для каждого пакета только измененные учетные записи, а не каждую транзакцию) — это было прямым результатом программируемости Cairo, и легкость, с которой алгоритмические оптимизации могут быть собраны. Мы завершили все это за 6:03 минуты.
    Стоит отметить: программирование более высокого уровня позволяет легко добавлять оптимизации, которые часто перевешивают «штраф» процессора, упомянутый выше. Таким образом, во многих случаях реализация Cairo может в конечном итоге иметь более высокую производительность, чем та, которая была бы практически достигнута с помощью специализированного AIR.
  • Мы сделали это быстро: мало кто заметил, что наше единственное доказательство было отправлено в Mainnet 15 июля, за две недели до крайнего срока шестинедельного спринта. Это свидетельствует о чудесах, которые Cairo может сделать для увеличения скорости.

Дорога впереди

Мы планируем сделать возможности Cairo и GPS, разработанные нами и другими, доступными для более широкого сообщества разработчиков. Мы намерены предложить мощные инструменты для разработчиков. Мы планируем разработать компиляторы с языков высокого уровня для Cairo. Мы сделаем нашу облачную производственную среду доступной для длинного хвоста разработчиков. Это потребует значительных усилий и ресурсов — Каир за один день не построишь. Вместо этого мы регулярно будем вводить новые поколения Cairo, которые будут предлагать расширенную функциональность, лучшую производительность и мощную оптимизацию.

В настоящее время мы еженедельно улучшаем Cairo вместе с нашими партнерами DeversiFi , Immutable и dYdX . Если вы хотите строить на Ethereum сегодня , и вас останавливают масштабы и растущие цены на газ, если вы хотите построить реальный бизнес, для которого требуется набор инструментов производственного уровня с высокой скоростью функционирования, обратитесь к нам.

Твиттер: StarkWare , электронная почта: [email protected]

Спасибо Bobbin Threadbare и Georgios Konstantopoulos за проницательные комментарии к черновику этой публикации.

Лиор Голдберг , Шахар Папини , Майкл Рябзев и Эли Бен-Сассон

¹ Мы используем этот термин в его разговорном значении, охватывающем все вычисления общего назначения в реальном мире.
² Точнее, в разных приложениях различается алгебраическое промежуточное представление (AIR), которое является аналогом STARK арифметических схем и систем R1CS, используемых в SNARK.
³ В соответствии с классификацией всеобъемлющего zkp.science

Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *