
Расшифровка Cairo VM, CASM, Cairo Zero, Cairo и Sierra.
вступление
Чтобы разблокировать безопасное и децентрализованное масштабирование для Ethereum, Validity Rollups делает проверку пакетов транзакций значительно более эффективной, чем их простое повторное выполнение. Специализированные узлы (называемые секвенсорами) на уровне 2 (L2) объединяют транзакции в новые блоки L2, в то время как узлы основной сети Ethereum подтверждают эти транзакции с минимальными усилиями.
Starknet — это накопительный пакет достоверности, в котором используется виртуальная машина Cairo, специально разработанная для оптимизации эффективности доказательств достоверности. Starknet использует STARK (масштабируемый, прозрачный аргумент знаний) в качестве системы доказательств, позволяющей генерировать краткие доказательства для сложных вычислений, тем самым значительно снижая сложность процессов проверки в цепочке.
В этом сообщении блога мы углубимся в различные компоненты, которые делают Starknet самым производительным L2 по версии TPS — Cairo VM, CASM, Cairo Zero, Cairo и Sierra.
Cairo VM
Создание доказательств достоверности общих вычислительных программ требует глубокого понимания сложных математических принципов, лежащих в основе STARK. Для каждого вычисления крайне важно построить алгебраическое промежуточное представление (AIR), которое включает в себя набор полиномиальных ограничений, которые точно представляют данное вычисление. Первоначально названный «CPU AIR», Cairo представляет собой виртуальный процессор и единый AIR, способный описывать любые вычисления с помощью одного и того же «общего» AIR. Виртуальная машина Cairo специально разработана для систем Validity Proof и не ограничена ограничениями, налагаемыми EVM (виртуальной машиной Ethereum).
Cairo V |
ЭВМ | |
---|---|---|
Цель | Доказательство оптимизированной виртуальной машины | Блокчейн |
Вычислительная модель | Архитектура фон Неймана | Стековая машина |
Базовый тип | Элементы поля | 256-битные слова |
Модель памяти | Недетерминированная постоянная память (ключ в оптимизации доказательства доступа к памяти) | Память чтения/записи требует дополнительных вычислений для генерации доказательства. |
CASM
CASM (Cairo Assembly) — это машинный код, который запускает виртуальная машина Cairo. CASM преобразуется в полиномиальные ограничения, которые обеспечивают правильное выполнение программы. CASM является ключевым компонентом экосистемы, поскольку независимо от того, что пользователь отправляет в секвенатор Starknet, доказано правильное выполнение CASM.
Cairo Zero, A Breakthrough
Cairo Zero, выпущенный в 2020 году, представил первый в мире полный по Тьюрингу язык для создания STARK-доказуемых программ, что произвело революцию в проверяемых вычислениях. Программы Cairo Zero были локально скомпилированы в CASM, а затем отправлены в секвенатор Starknet. Несмотря на то, что Cairo Zero был новаторским, ему потребовалась крутая кривая обучения из-за его низкоуровневой природы, и он не полностью абстрагировал основные криптографические примитивы, необходимые для доказательства выполнения программы.
Cairo Zero, A Breakthrough
Cairo (теперь версия 2.1.1) преодолевает ограничения Cairo Zero, обещая более безопасное и эффективное составление контрактов. Cairo значительно улучшает работу разработчиков благодаря синтаксису, подобному Rust, и абстрагированию ограничений, которые присутствовали в Cairo Zero (например, однократная запись в память).
Cairo привносит современные концепции программирования из мира ржавчины, такие как типажи/имплеты, дженерики, сопоставление перечислений, без ущерба для эффективности генерации доказательств, обеспечиваемой базовой CairoVM.
Sierra
Вместе с Cairo пришла Sierra. Sierra служит промежуточным представительством между Каиром и CASM. Этот дополнительный уровень гарантирует, что пользовательский код останется доказуемым во всех случаях. Sierra компилируется в «безопасный CASM», подмножество CASM, которое гарантированно доказуемо для всех входных данных. Этот промежуточный уровень между пользовательским кодом и проверенным кодом имеет решающее значение для защиты секвенсора Starknet от DOS в форме недоказуемых транзакций.
Возможно, неожиданным преимуществом Sierra является то, что благодаря этому простому промежуточному представлению секвенсоры Starknet могут в конечном итоге работать на собственном оборудовании напрямую, а не через CairoVM. Чтобы проиллюстрировать возможности секвенсоров, выполняющих Sierra, рассмотрим следующий пример: можно использовать информацию о типе из Sierra для работы с собственными типами (например, u32) вместо работы с основным полем CairoVM.
Заключение
Cairo опирается на фундамент, заложенный CairoVM, чтобы произвести революцию в проверяемых вычислениях. Благодаря синтаксису, подобному Rust, и функциям современных языков программирования, Cairo значительно расширяет возможности разработчиков, упрощая написание контрактов и снижая вероятность ошибок. Каир становится мощным инструментом стимулирования децентрализованных инноваций.