

После запуска основной сети StarkNet в конце 2021 года и дальнейших шагов по децентрализации инфраструктуры, StarkNet стал одним из ведущих проектов в сфере разработки блокчейнов и технологий ZK (zero-knowledge) Rollup. Платформа обеспечивает значительное повышение скорости транзакций и многократное снижение комиссий в безопасной и совместимой с Ethereum среде, что делает StarkNet одной из наиболее заметных Layer 2 (L2) решений масштабирования на текущем рынке.
Для разработчиков, планирующих создавать приложения на этой платформе, важно учитывать одно ключевое отличие. StarkNet использует Cairo в качестве основного языка программирования, что отличает его от других решений ZK-Rollup, таких как zkSync 2.0. zkSync позволяет перекомпилировать смарт-контракты или приложения первого уровня, написанные на Vyper и Solidity, для исполнения в Layer 2 без изменения исходного кода. StarkNet требует разработки непосредственно на Cairo.
Несмотря на необходимость изучения нового языка, Cairo получил широкое распространение и признание в отрасли. По данным StarkNet, Cairo занимает четвёртое место по TVL (total value locked) среди языков для смарт-контрактов. Решения на Cairo обеспечили более 300 миллионов транзакций, создание 90 миллионов невзаимозаменяемых токенов (NFT) и сделки на сумму $790 млн в сети Ethereum. Эти данные подтверждают, что разработка на Cairo предоставляет уникальные преимущества и возможности, которые будут рассмотрены далее в статье.
Cairo — это высокоуровневый язык программирования, разработанный для удобства специалистов, знакомых с такими популярными языками, как Python и JavaScript. Язык специально создан для работы на платформе StarkNet и обладает функциями, позволяющими использовать её уникальные возможности.
Ключевые возможности включают исключительную масштабируемость, значительно превосходящую решения Layer 1, а также поддержку сложных вычислений вне блокчейна при сохранении криптографической безопасности. Cairo реализует подход, позволяющий создавать zero-knowledge proof без глубоких знаний криптографии, благодаря чему разработчики могут сосредотачиваться на логике приложения, а система STARK автоматизирует сложные криптографические операции для обеспечения целостности и безопасности расчётов.
Cairo — первая универсальная архитектура Von Neumann STARK, реализованная для блокчейна на основной сети Ethereum. Это значимое достижение, и Cairo часто называют MVL (minimum viable language) для построения STARK-систем. Архитектура фон Неймана обеспечивает высокую гибкость, поскольку память для инструкций и данных общая. Распределение памяти между компонентами динамически меняется в зависимости от конкретной вычислительной задачи.
Этот подход отличается от архитектуры Гарварда, которая является структурным аналогом Cairo. В архитектуре Гарварда память для данных и инструкций разделена, что ограничивает гибкость. В этом случае объём памяти для данных и инструкций фиксирован и не перераспределяется по мере необходимости.
Использование архитектуры фон Неймана в Cairo позволяет эффективнее расходовать память, что особенно важно при генерации STARK-доказательств, когда вычислительные требования могут существенно варьироваться в зависимости от сложности операций. Такая гибкость позволяет динамически оптимизировать ресурсы для более эффективной генерации и проверки доказательств.
Cairo реализует так называемый «принцип Златовласки», позволяющий достичь оптимального баланса между выразительностью кода и эффективностью работы STARK prover. Принцип назван в честь персонажа сказки, которая искала вариант «в самый раз» — ни слишком много, ни слишком мало.
С одной стороны, Cairo «не слишком горячий» — в нём минимальный набор регистров: Program Counter (PC), указатель распределения и указатель фрейма. Язык использует компактный набор инструкций, способный выполнять низкоуровневые операции с высокой эффективностью. Благодаря этому снижается затраты на хранение, выполнение и чтение инструкций, а для кода требуется меньше памяти. Это напрямую влияет на скорость генерации доказательств и снижает вычислительные издержки.
С другой стороны, Cairo «не слишком холодный», поскольку предоставляет достаточно высокоуровневых функций для полноценной разработки. Язык поддерживает функции, рекурсию, произвольный доступ к памяти и сложные схемы управления потоком. Такой баланс позволяет сохранять высокую производительность при генерации доказательств, не жертвуя выразительностью для создания сложных децентрализованных приложений.
Кроме того, Cairo готов к промышленному применению: это не просто спецификация, а полноценная среда разработки. Сюда входят компилятор для преобразования кода в байткод, виртуальная машина для выполнения, инструменты для отладки, расширения для IDE и обширные примеры кода. Cairo — основной язык StarkNet, и все DApp, которые хотят масштабироваться на этой инфраструктуре, должны быть написаны на Cairo. Развитая экосистема инструментов является ключевым фактором для принятия решения разработчиками.
Одно из главных преимуществ Cairo как языка программирования — это его подход к вычислительной целостности (Computational Integrity, CI). Вычислительная целостность — это гарантия корректного выполнения вычислений, которая достигается различными способами.
В классических системах целостность обеспечивается репутацией и делегированной ответственностью, как, например, в крупных финансовых организациях и банках, где доверие строится на статусе института. Альтернативный подход — fraud proofs, используемый в Optimistic Rollups, когда для публичного оспаривания подозрительных транзакций выделяются challenge periods. В эти периоды валидаторы могут представить доказательства ошибочного исполнения, инициируя процедуру разрешения спора.
Cairo использует другой принцип: вычислительная целостность достигается с помощью криптографических доказательств, в частности STARK (Scalable Transparent ARgument of Knowledge). В системе криптографическое доказательство формируется провайдером, который математически подтверждает корректность множества транзакций или вычислений. Затем доказательство передаётся верификатору, и он может оперативно проверить его и удостовериться в целостности вычислений.
Преимущество такого криптографического метода — это математическая гарантия, а не экономические стимулы или доверие. Верификатор уверен в корректности вычислений без необходимости повторного выполнения всего процесса. Этот механизм лежит в основе масштабируемости StarkNet с сохранением безопасности, эквивалентной базовому слою Ethereum.
В начале 2023 года соучредитель StarkWare Эли Бен-Сассон объявил о предстоящем перезапуске Cairo на StarkNet — Cairo 1.0. Это крупное обновление переосмысливает язык и делает Cairo похожим на популярный системный Rust. Главная цель — упростить старт для разработчиков с общим опытом программирования и современными знаниями, чтобы они могли создавать децентрализованные приложения на Ethereum Layer 2 в сети StarkNet.
Cairo 1.0 получил множество улучшений конструкции и функциональности. Среди них — усовершенствованный синтаксис и структуры, соответствующие современным языкам, развитая система типов для поиска ошибок на этапе компиляции, удобные библиотеки с готовыми функциями, оптимизированная генерация кода, а также строгая типизация с обязательным указанием типов данных, что повышает безопасность и удобство поддержки.
Особое значение имеет внедрение промежуточного слоя Sierra (Safe Intermediate Representation). Sierra — это промежуточное представление между исходным кодом Cairo 1.0 и байткодом, позволяющее безопасно обновлять язык, предотвращать уязвимости и оптимизировать компиляцию.
С этим обновлением команда StarkNet рассчитывает на более активное принятие Cairo сообществом разработчиков, что стимулирует приток новых проектов на платформу. Более низкий порог входа и улучшенный пользовательский опыт ускоряют рост экосистемы и разнообразие приложений.
Разработчики уже могут писать, компилировать и тестировать программы на Cairo 1.0 с помощью доступных инструментов и документации. Cairo 1.0 постоянно дорабатывается и получает новые функции по мере развития. Актуальные обновления, документацию и вклад сообщества можно найти в официальном репозитории Cairo, который является ключевым центром развития языка и взаимодействия с сообществом.
StarkNet — это решение для масштабирования Ethereum Layer 2, использующее ZK-Rollups. В отличие от других Layer 2 решений, StarkNet делает акцент на доказательствах с нулевым разглашением для повышения приватности и вычислительной эффективности при сохранении совместимости с Ethereum.
Cairo — эффективный низкоуровневый язык StarkNet с лаконичным синтаксисом. Новички могут начать с официальной документации и видеоуроков для освоения ключевых концепций и рабочего процесса.
Создайте смарт-контракт на Cairo, скомпилируйте код, затем разверните его с помощью CLI или SDK инструментов StarkNet для быстрой публикации в сети.
StarkNet применяет доказательства с нулевым разглашением для масштабирования и повышения пропускной способности транзакций при сохранении безопасности и приватности. Такой подход позволяет эффективно выполнять вычисления вне цепочки с последующей проверкой на блокчейне, снижая комиссии и ускоряя обработку без утраты децентрализации.
StarkNet снижает затраты на транзакции примерно на 95% по сравнению с основной сетью Ethereum и существенно увеличивает скорость и пропускную способность для более эффективной обработки транзакций.
Cairo создан для StarkNet и обеспечивает масштабируемость на базе validity proofs, поддерживает хеш-таблицы в памяти, чего нет в Solidity. Cairo оптимизирован для сложных вычислений и использует иной синтаксис, рассчитанный на zero-knowledge proof, тогда как Solidity ориентирован на экосистему Ethereum.
Установите Python и Rust, скачайте репозиторий Protostar, настройте переменные окружения и выполните скрипты для запуска локального узла StarkNet.
В экосистеме StarkNet находится 105 проектов, среди которых DeFi, инструменты, GameFi и NFT. В сети уже функционируют несколько приложений DeFi и NFT.











