Почему Validity Rollups — самый многообещающий способ масштабирования Ethereum?

Автор: StarkWare, Компилятор: Bumpman.

Краткое содержание

  • **Наиболее многообещающим способом увеличения пропускной способности Ethereum безопасным и децентрализованным способом являются Validity Rollups; zkEVM и Cairo VM (CVM) — это два типа виртуальных машин, используемых в Validity Rollups. **
  • **zkEVM ориентирован на совместимость с Ethereum в ущерб производительности и масштабируемости. **
  • **Виртуальная машина Cairo, используемая в Starknet, отдает предпочтение производительности и масштабируемости, а не совместимости. **

Роллапы — горячая тема в этом году, когда речь идет о масштабировании Ethereum. Среди различных типов сверток мы считаем, что Validity Rollups (VRs), также известные как zk-rollups, являются наиболее многообещающим способом увеличения пропускной способности Ethereum безопасным и децентрализованным способом. В основе этого масштабирующего решения лежат проверяемые вычисления с использованием доказательств достоверности. Вот как они работают:

Вместо того, чтобы обрабатывать каждую транзакцию в основной сети Ethereum, операторы переносят выполнение транзакций в среду вне сети. Эта среда вне сети действует как уровень 2, то есть уровень, который работает поверх Ethereum.

После обработки большого количества транзакций операторы уровня 2 возвращают результаты для применения к состоянию Ethereum вместе с доказательствами достоверности для проверки целостности выполнения вне сети. Это доказательство гарантирует, что все транзакции в пакете действительны и автономно проверяются контрактом валидатора в цепочке. Это позволяет Ethereum применить результат к своему состоянию.

Почему Validity Rollups является наиболее многообещающим методом расширения для Ethereum?

Накопительные пакеты валидности

Примечание. Накопительные пакеты достоверности часто ошибочно называют накопительными пакетами с нулевым разглашением, но это неверно. Большинство накопительных пакетов Validity не используют ZKP и не используются в целях конфиденциальности. Таким образом, более точным является термин «Сводка валидности».

виртуальная машина вне сети

Прежде чем продолжить, первый вопрос, на который мы должны ответить: **Что такое виртуальная машина (ВМ)? Проще говоря, это среда, в которой могут работать программы, как на Mac с операционной системой Windows. Он переходит между состояниями после выполнения вычислений на некоторых входных данных. Виртуальная машина Ethereum (EVM) — это виртуальная машина, которая запускает смарт-контракты Ethereum. **

** Виртуальная машина с нулевым разглашением (zkVM) — это среда выполнения программы, которая вместе с выходными данными программы позволяет генерировать доказательства достоверности, которые можно легко проверить. **Данное подтверждение действительности подтверждает правильность выполнения программы. ** Когда используется термин «zkEVM», он обычно относится к агрегации, которая использует виртуальную машину Ethereum (EVM) и может подтвердить выполнение EVM. **Эта терминология может вводить в заблуждение, поскольку сама EVM не генерирует эти доказательства; вместо этого доказательства генерируются отдельным механизмом проверки, который начинается с результатов выполнения EVM. Кроме того, эти доказательства касаются достоверности, а не конфиденциальности, поэтому они не являются доказательствами с нулевым разглашением. Тем не менее, ради последовательности мы будем придерживаться традиционного термина «zkEVM» в этой статье.

Хотя все накопительные пакеты валидности нацелены на масштабирование Ethereum с доказательством валидности, они отличаются выбором виртуальных машин для выполнения транзакций вне сети. Многие накопительные пакеты валидности предпочитают копировать дизайн EVM (отсюда и термин «свертки zkEVM»), пытаясь воспроизвести Ethereum на свертках L2. Starknet использует новый тип виртуальных машин — Cairo VM (CVM), специально разработанный для оптимизации эффективности проверки достоверности.

У этих двух методов есть свои преимущества и недостатки, но zkEVM меняет производительность на совместимость с Ethereum, в то время как Cairo VM ставит производительность выше совместимости и масштабируемости.

подход zkEVM

**zkEVM — это пакет Validity Rollup, целью которого является полное внедрение опыта Ethereum в блокчейны уровня 2. Он направлен на то, чтобы воспроизвести среду разработки Ethereum в виде накопительного пакета. ** С zkEVM разработчикам не нужно изменять свой код или отказываться от своих инструментов EVM (и смарт-контрактов) при написании смарт-контрактов или переносе смарт-контрактов на более масштабируемые решения.

Основным недостатком этого подхода является то, что он снижает потенциал масштабирования доказательств достоверности. Поскольку zkEVM нацелен на совместимость с Ethereum, он медленнее и требует больше ресурсов. В отличие от CVM, EVM не разрабатывался с расчетом на эффективность доказательства. Это ограничивает использование оптимизаций, которые могут повысить эффективность и масштабируемость, что в конечном итоге влияет на общую производительность системы.

Доказуемость EVM

Основная проблема подхода zkEVM коренится в исходной схеме EVM — она не была предназначена для работы в контексте подтверждения валидности. В результате попытки отразить его функциональность не могут раскрыть весь потенциал доказательств достоверности, что приводит к неоптимальному уровню эффективности. Эта неэффективность в конечном итоге снижает общую производительность системы. Совместимости EVM с доказательствами валидности препятствуют:

**В EVM используется модель на основе стека, в то время как доказательство эффективности более эффективно для модели на основе регистров. Основанная на стеке природа EVM усложняет проверку правильности ее выполнения и прямую поддержку ее родной цепочки инструментов. **

Схема хранения Ethereum в значительной степени зависит от Keccak и большого дерева Merkle Patricia Tree, оба из которых плохо подходят для проверки достоверности и налагают большое бремя доказательства. Например, Keccak очень быстр для архитектуры x86 (на которой мы обычно запускаем EVM), но для проверки требуется 90 тысяч шагов (встроенная специальная сборка). В то время как Pedersen (хэш-функция, дружественная к zk) требует 32 шага. Даже при рекурсивном сжатии использование Keccak в zkEVM означает много ресурсов для проверки, которые в конечном итоге оплачиваются пользователем.

В результате различные zkEVM предназначены для обеспечения различных уровней поддержки инструментов Ethereum — чем более совместим zkEVM с Ethereum, тем ниже его производительность. (Для получения дополнительной информации о типах zkEVM перейдите к концу статьи.)

Почему Validity Rollups является наиболее многообещающим методом расширения для Ethereum?

Подход Cairo-VM

Решение zkEVM тратит много времени на разработку, чтобы «заставить EVM работать для свертки достоверности», отдавая предпочтение совместимости, а не долгосрочной производительности и масштабируемости. Есть еще один вариант: использовать совершенно новую выделенную виртуальную машину и добавить сверху поддержку инструментов Ethereum в качестве дополнительного слоя. Это подход, используемый Starknet, накопительным пакетом Validity Rollup без разрешений, который будет запущен в ноябре 2021 года. Starknet — это первый накопительный пакет Validity Rollup, предлагающий платформу смарт-контрактов общего назначения в полностью компонуемой сети.

Starknet использует Cairo-VM (CVM), одноименный язык высокого уровня. Cairo-VM — это виртуальная машина, предназначенная для эффективного создания доказательств правильности выполнения программы.

Используя Cairo (виртуальную машину и язык), мы имеем:

  1. Доказательство эффективности оптимизации - каждая инструкция имеет корректное алгебраическое представление

  2. Rust-подобный язык для написания доказуемых программ

  3. Промежуточное представление (Sierra) между высокоуровневым Cairo и сборкой Cairo (инструкции VM), позволяющее эффективно выполнять код Cairo.

Разработка нового языка позволяет адаптировать его к конкретным потребностям, для удовлетворения которых он предназначен, и оснастить его функциями, которые удовлетворяют ранее неудовлетворенные потребности.

Каир и плюрализм кодирования

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

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

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

** Написание кода в Cairo: ** С выпуском Cairo 1.0 разработчики теперь могут использовать эргономичный и безопасный язык Rust, который упрощает написание программной логики и снижает вероятность ошибок.

**Совместимость с Solidity:**разработчики Solidity могут писать код, который может использоваться Cairo VM. Этот подход предоставляет разработчикам опыт, аналогичный Ethereum, и делает смарт-контракты Solidity переносимыми в Starknet. Есть два способа добиться этого:

**Перевод: **Перевод — это процесс преобразования исходного кода, написанного на одном языке программирования, в другой язык. Команда Nethermind создала транспилятор Warp для переноса кода Solidity в Cairo. Warp делает смарт-контракты Solidity переносимыми в Starknet, фактически превращая его в zkEVM типа 4. Он использовался для перевода и развертывания контрактов Uniswap с минимальными изменениями.

zkEVM в Starknet: виртуальную машину Cairo можно использовать для подтверждения выполнения другой виртуальной машины. Kakarot — это zkEVM, написанный в Каире, который можно использовать для запуска смарт-контрактов Ethereum в Starknet. Cairo VM и zkEVM не являются конкурирующими подходами, мы можем иметь как Cairo VM, так и zkEVM вместо того, чтобы выбирать между Cairo VM и zkEVM!

Несмотря на свое недолгое существование, Cairo является четвертым по популярности языком смарт-контрактов TVL и получил более 350 миллионов долларов финансирования.

Подведем итог

**ZkEVM стремится воспроизвести среду Ethereum в виде накопительного пакета и позволить разработчикам использовать знакомые инструменты Ethereum. Однако этот подход ограничивает весь потенциал доказательств достоверности и может потребовать значительных ресурсов. **

Cairo VM разработан для систем подтверждения достоверности без ограничений EVM. Он поддерживается новым, безопасным и эргономичным языком программирования, вдохновленным Rust, под названием Cairo 1.0, образуя мощный инструмент, направленный на достижение максимальной эффективности путем масштабирования Ethereum с помощью доказательств STARK.

Было интересно наблюдать за тем, чего Cairo достигает каждую неделю, и за ростом различных вариантов для разработчиков, таких как Kakarot zkEVM и Warp. По мере того, как Starknet dApp запускается в производство, демонстрируя мощь Cairo, мы считаем, что в будущем оно будет использоваться для более амбициозных проектов.

Благодаря трем описанным выше способам масштабирования STARK и другим, которые, несомненно, будут доступны в ближайшие месяцы, разработчики теперь имеют беспрецедентный контроль над масштабированием блокчейна.

Посмотреть Оригинал
Содержание носит исключительно справочный характер и не является предложением или офертой. Консультации по инвестициям, налогообложению или юридическим вопросам не предоставляются. Более подробную информацию о рисках см. в разделе «Дисклеймер».
  • Награда
  • комментарий
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить