Первоначально написано PSE Trading Analyst @cryptohawk
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5a402ab8f9-dd1a6f-69ad2a.webp)
ТЛ; ДОКТОР
Виртуальная машина – это компьютерная система, которая моделируется программным обеспечением и обеспечивает среду для выполнения программы. Он может эмулировать различные аппаратные устройства, чтобы программы могли работать в контролируемой и совместимой среде.
Виртуальная машина Ethereum (EVM) — это виртуальная машина на основе стека, которая выполняет смарт-контракты Ethereum; В zkEVM произведена определенная оптимизация эффективности генерации zk-proof в эквивалентности/совместимости EVM.
zkVM отбрасывает эквивалентность/совместимость EVM и повышает приоритет zk-friendly.
privacy zkVM накладывает нативные функции конфиденциальности на zkVM;
SVM, FuelVM и MoveVM объединяет стремление к максимальной производительности за счет параллельного выполнения, но у них есть свои особенности в деталях проектирования.
ESC VM и BitVM провели несколько инновационных экспериментов вычислительного уровня на цепочках ETH и BTC соответственно, но спрос на реальную реализацию в текущих условиях низкий.
3. Огромная пользовательская экосистема EVM определяет, что любой блокчейн-сети, которая откажется от нее, будет трудно конкурировать с ней в краткосрочной перспективе, поэтому экосистема, не относящаяся к EVM, может представить пользователей экосистемы EVM через транспайлеры/компиляторы/интерпретаторы байт-кода или даже уровни совместимости с виртуальными машинами, а также использовать функции виртуальных машин, отличных от EVM, для создания нового экологического нарратива или необходимого пути к успеху.
1.1 Что такое виртуальная машина?
Виртуальная машина (ВМ) — это строительный блок виртуализированных вычислительных ресурсов, который выполняет практически те же функции, что и компьютер, включая запуск приложений и операционных систем. Концепция виртуальных машин не нова, и технология широко используется во многих технологических экосистемах.
В контексте блокчейна виртуальная машина (ВМ) — это часть программного обеспечения, которая запускает программы, часто называемая средой выполнения, которая выполняет смарт-контракты блокчейна. Виртуальные машины обычно предоставляют среду виртуальных компьютеров путем эмуляции различных аппаратных устройств. Разные виртуальные машины могут эмулировать разные аппаратные устройства, но обычно включают ЦП, память, жесткие диски, сетевые интерфейсы и т. д. Когда отправляется транзакция в цепочке, виртуальная машина отвечает за обработку транзакции и обновление состояния блокчейна (текущее глобальное состояние всей сети), на которое влияет выполнение этой транзакции. Конкретные правила, изменяющие состояние сети, определяются виртуальной машиной. При обработке транзакции виртуальная машина преобразует код смарт-контракта в формат, который может быть выполнен оборудованием узла/валидатора.
Самым важным ядром в виртуальной машине является LLVM (low-level-virtual-machine), которое можно считать самым важным ядром компилятора. На рисунке показана схема работы оригинального EVM, а смарт-контракт преобразуется в Bytecode через промежуточный код LLVM IR. Эти байт-коды хранятся в блокчейне, и при вызове смарт-контракта байт-код преобразуется в соответствующий опкод, который затем выполняется оборудованием EVM и узла.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-e6504cde98-dd1a6f-69ad2a.webp)
1.2 Основные виртуальные машины
1.2.1 EVM — виртуальная машина блокчейна имеет в общей сложности один камень, EVM является эксклюзивным для восьми сегментов, а остальное разделено на два блока
Репрезентативные проекты: Optimism, Arbitrum
Как экосистема блокчейна с самой высокой активностью разработчиков и пользователей в отрасли, виртуальная машина Ethereum EVM представляет собой виртуальную машину на основе стека, которая обеспечивает виртуальную компьютерную среду путем эмуляции аппаратных устройств, таких как процессор, память, память и стеки, для выполнения инструкций смарт-контракта и хранения состояния и данных смарт-контракта. Набор инструкций EVM включает в себя различные коды операций кода операции, такие как арифметические операции, логические операции, операции хранения, операции перехода и т. д.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-b215612938-dd1a6f-69ad2a.webp)
Память и память, эмулируемые EVM, являются устройствами, используемыми для хранения состояния и данных смарт-контракта. EVM рассматривает память и память как две отдельные области, которые могут получить доступ к состоянию и данным смарт-контракта путем чтения и записи в память и память.
Стек EVM-симуляций используется для хранения операндов и результатов инструкций. Большинство инструкций в наборе инструкций EVM основаны на стеке, они считывают операнды из стека и отправляют результаты обратно в стек.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-74a85b3f36-dd1a6f-69ad2a.webp)
Очевидно, что процесс проектирования EVM идет снизу вверх, сначала завершается смоделированная аппаратная среда (стек, память), а затем разрабатывается собственный набор наборов ассемблерных инструкций (Opcode) и байт-кода (Bytecode) в соответствии с соответствующей средой. Сообщество Ethereum разработало два компилируемых высокоуровневых языка - Solidity и Vyper - для эффективности выполнения EVM. Излишне говорить, что Vyper — это высокоуровневый язык EVM от Vitalik, предназначенный для устранения некоторых недостатков в Solidity, но он не получил широкого распространения в сообществе, поэтому постепенно канул в безвестность.
1.2.2 zkEVM - Я хочу все: совместимость со средой EVM + поддержка преобразования корня глобального состояния для генерации zk-proof
Поскольку EVM не построен с учетом zk-proof-вычислений, он не дружелюбен к схемам доказательства, особенно с точки зрения специальных кодов операций, архитектур на основе стека, накладных расходов на хранение и затрат на доказательство. zkEVM - это виртуальная машина, которая выполняет смарт-контракты способом, совместимым с zk-proof computing, так что процесс выполнения EVM может быть проверен более эффективно и экономично с помощью zk-proof/validity-proof. По сравнению с OP Rollup, уровень выполнения должен только копировать EVM, а ZK-дружественная конструкция EVM является дополнительной проблемой для ZK Rollup.
ZK-роллапы нелегко совместимы с виртуальной машиной Ethereum (EVM). Доказательство вычисления EVM общего назначения в цепи является более сложным и ресурсоемким, чем доказательство простого вычисления, такого как передача токена, описанная ранее.
Однако достижения в технологии нулевого разглашения(откроется в новой вкладке) возродили интерес к обертке вычислений EVM в доказательства с нулевым разглашением. Эти усилия направлены на создание реализации EVM с нулевым разглашением (zkEVM), которая может эффективно проверять правильность выполнения программы.
Как и EVM, zkEVM переходит из одного состояния в другое после выполнения вычислений на определенных входных данных. Разница заключается в том, что zkEVM также создает доказательства с нулевым разглашением для проверки правильности каждого шага в выполнении программы. Доказательства валидности могут проверить правильность операций, связанных с состоянием виртуальной машины (памяти, стека, хранилища) и самих вычислений (т. е. вызвала ли операция правильные коды операций и правильно ли их выполнила?). )。
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-3885eea05b-dd1a6f-69ad2a.webp)
В настоящее время Rollup сложно достичь ZK-friendly и EVM совместимости (или даже эквивалента), то есть либо максимально полно реплицировать уровень исполнения Ethereum L1, включая хеши, деревья состояний, деревья транзакций, предкомпиляцию и т. д., чтобы клиент исполнения Ethereum L1 можно было использовать как есть для обработки блоков Rollup; Либо откажитесь от совместимости EVM и воссоздайте существующий код операции для доказательства/проверки в схеме, что позволит выполнять смарт-контракты.
1.2.3 zkVM - Вы не можете иметь и то, и другое: zk-proof-ориентированные на эффективность, не evm виртуальные машины
Репрезентативные проекты: Starknet, Zksync, RISC ZERO
Вместо совместимости с EVM, zkVM нашла общий делитель между криптографией и высокоуровневыми языками с доказательствами данных и обновлениями состояния в качестве своих основных целей, обеспечивая общую структуру для широкого спектра приложений.
Starkware имеет определенное технологическое лидерство благодаря раннему старту во всей области ZK и относительно достаточному накоплению технологий. Он является репрезентативной ZK-центричной технической архитектурой, вокруг которой построены Cairo VM и язык Cairo. Недостаток в том, что Каир дороже в изучении.
Фреймворк ZKsync совместим как с EVM, так и с ZK, и интегрирует Solidity с собственным языком схем Zinc, унифицируя их на IR-уровне в компиляторе. Преимущество заключается в том, что LLVM ядра компилятора совместим с несколькими языками.
RISC Zero использует архитектуру RISC-V для создания симуляторов, которые позволяют программистам писать программы для zkVM на языках общего назначения, таких как Rust, C/C++ и Go, что означает, что логика приложения не должна быть ограничена тем, что может быть выражено в Solidity, что позволяет писать код, не зависящий от цепочки.
1.2.4 Privacy zkVM - zk friendly + встроенная поддержка конфиденциальности, пытаясь зажечь новую искру в экосистеме
Блокчейн — это публичная система реестра, в которой все транзакции осуществляются в блокчейне, что означает, что изменения состояния, содержащие информацию об активах, связанных с адресами или счетами, являются открытыми и прозрачными. В результате, помимо работы над решениями для масштабирования, некоторые блокчейн-команды считают, что следующей ключевой функцией, которая должна быть реализована, является конфиденциальность.
В дополнение к поддержке масштабирования, дружественной к zk, Privacy zkVM позволяет разработчикам приложений верхнего уровня открывать децентрализованные приложения, связанные с конфиденциальностью, благодаря функциям конфиденциальности, изначально поддерживаемым собственным языком программирования, что принесет новые сценарии приложений и грандиозные повествования, такие как полное решение проблемы MEV и обеспечение владения пользовательскими данными. Конечно, сложность дизайна Privacy zkVM потребует гораздо большей технической команды для реализации, и на это может уйти несколько лет.
1.2.5 SVM - После отлива все еще остаются угли: среда выполнения, которая была спроектирована с максимальной производительностью
SVM, или виртуальная машина Solana, ориентирована на высокопроизводительную среду выполнения, а смарт-контракты в основном написаны на Rust. В отличие от однопоточных вычислительных сред выполнения EVM и EOS WASM, SVM обеспечивают неперекрывающиеся транзакции и параллельное выполнение транзакций, которые считывают только одно и то же состояние, требуя, чтобы транзакции Solana описывали все состояния, которые будут прочитаны или записаны в них во время выполнения.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5c07390761-dd1a6f-69ad2a.webp)
Кроме того, чтобы обеспечить быструю проверку/трансляцию больших блоков транзакций, в процессе проверки транзакций в сети Solana широко используются оптимизации конвейера, которые распространены при проектировании процессоров. Чтобы соответствовать ситуации, когда последовательность шагов обрабатывает входной поток данных, и каждый шаг имеет свою аппаратную ответственность. Типичная аналогия — стиральная машина и сушилка, которые стирают/сушат/складывают несколько партий белья последовательно. Перед сушкой необходимо проводить стирку, а перед сушкой – складывание, но каждая из этих трех операций выполняется отдельным агрегатом.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-c9b316a16d-dd1a6f-69ad2a.webp)
Кроме того, SVM основаны на регистрах и имеют гораздо меньший набор инструкций, чем EVM, что упрощает выполнение SVM в ZK. Для оптимистичных сверток проекты на основе регистров упрощают установку контрольных точек.
1.2.6 Fuel VM - Buff Stacking: Параллельная виртуальная машина под фреймворком UTXO
Репрезентативный проект: Топливо
Fuel VM основана на технологическом фреймворке EVM, Solana, WASM, BTC и Cosmos и имеет следующие особенности по сравнению с EVM:
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-dc84c420c7-dd1a6f-69ad2a.webp)
Самое уникальное заключается в том, что Fuel не только имеет возможность выполнять транзакции параллельно с непересекающимися транзакциями, устанавливая списки доступа, такие как SVM, но и использует модель UTXO, которая разделена на токен UTXO и контрактный UTXO, что еще больше повышает эффективность доступа и вычислительную пропускную способность.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-54817c581d-dd1a6f-69ad2a.webp)
Кроме того, Fuel VM обеспечивает мощный и гибкий интерфейс разработчика с помощью собственного предметно-ориентированного языка Sway и набора инструментов поддержки Fort, а также среды разработки, которая сохраняет преимущества языков смарт-контрактов, таких как Solidity, но при этом принимает парадигмы, представленные в экосистеме инструментов Rust.
В будущем в Fuel VM также будут реализованы обновления языка Sway, включая оптимизацию компилятора с точки зрения размера байт-кода, Sway будет поддерживать больше бэкендов (бэкенды EVM уже находятся в разработке), абстракции станут более экономичными, больше приложений будет перенесено с Solidity/Vyper на Sway, улучшен анализ повторного входа на уровне компилятора и многое другое.
1.2.7 ESC VM — преемник Ordinal/Smartweave: вычислительный уровень поверх Ethereum
Репрезентативный проект: Протокол Этионов
ESC VM, или Ethions Virtual Machine, — это решение для смарт-контрактов, предлагаемое Ethions Protocol. Сам протокол Ethions — это протокол, похожий на BTC Ordinal в цепочке Ethereum, ориентированный на изучение недорогих альтернатив смарт-контрактам и L2.
Ethions позволяет пользователям обходить хранение и выполнение смарт-контрактов за небольшую часть стоимости, а также применять calldata в Tx для вычислений с помощью заранее согласованных правил протокола. Проще говоря, до тех пор, пока успешная транзакция Ethereum имеет calldata, который соответствует указанной валидной спецификации данных, а уникальный адрес & «to» не равен 0, можно считать, что он законно создал Ethion, где адрес «от» является создателем, а адрес «кому» — владельцем.
В начале проектирования каждый Ethion больше склоняется к форме NFT, например, к изображению NFT, и напрямую записывает содержимое изображения в calldata через формат Base 64:
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-59364b934a-dd1a6f-69ad2a.webp)
Самым популярным eths в последнее время является Ethion, который был создан со ссылкой на спецификацию протокола BRC-20:
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8b1cde6b8b-dd1a6f-69ad2a.webp)
Смарт-контракт, представленный ESC VM, известный как «тупой контракт», рекламируется как логический контракт, но сам по себе не взаимодействует в блокчейне в виде EVM. Кроме того, ESC VM также добавляет специальный формат "machine command", который будет распознаваться ESC VM для взаимодействия с dumb контрактами, такими как Deploy - deploy - deploy - call dumb contract.
У этой схемы есть некоторые ограничения, одно из которых заключается в том, что функция «тупого контракта» не оплачивается, то есть, если вы хотите отправить ETH через тупой контракт, вы должны пройти через «бридж-контракт», а сам «бридж-контракт» имеет риск злоупотребления контролем и кражи активов; Во-вторых, в экосистеме существует порог входа, который не позволяет произвольно создавать глупые контракты, и ее код должен быть определен через предложение по управлению протоколом Ethions.
Подводя итог, можно сказать, что ESC VM — это вычислительный уровень, построенный поверх Ethereum L1 в качестве уровня хранения данных, который реализуется путем размещения логики контракта, вызовов контрактов, вызовов контрактов и другого содержимого данных в calldata Ethereum tx, а глобальный консенсус состояния ESC VM — это консенсус клиентов ESC VM, который аналогичен логике реализации SmartWeave Arweave, но уровень хранения данных SmartWeave — Arweave.
1.2.8 Bit VM - Интересный исследовательский эксперимент: одноранговый канал выполнения поверх BTC
Репрезентативный проект: ZeroSync
Основатель ZeroSync Робин Линус 9 октября выпустил white paper «BitVM: Compute Anything On Bitcoin», который является не виртуальной машиной, если быть точным, а попыткой создать полное по Тьюрингу вычислительное пространство с контрактами, хранящимися в цепочке биткоина, но логика контрактов выполняется вне блокчейна. Если вы считаете, что другая сторона находится в состоянии дефолта, вы можете запустить челлендж в цепочке, а если другая сторона не может правильно ответить, вы можете забрать все средства по контракту.
Преимущество заключается в том, что он может дать Биткойну Тьюринга полноту без каких-либо модификаций протокола Биткойна, без новых опкодов, без софтфорков и готов к применению.
Его недостатки также очевидны, один из них заключается в том, что он поддерживает транзакции только между двумя сторонами (одна доказывает, а другая проверяет), а другой заключается в том, что создание контракта требует создания большого объема данных и предварительного подписания большого количества транзакций, а стоимость хранения информации вне сети огромна.
Вот краткое введение в техническую логику:
(1) Обязательство по вводу баллов
Обязательство точечного ввода позволяет проверяющему установить входное значение 0 или 1 для логического вентиля, и в этом промисе есть два хеш-значения H(A 0) и H(A 1), и доказательство должно раскрыть хэш-предшественник, например, A 0, затем установить входное значение в 0, если обнаружено A 1, то установить входное значение в 1 .
(2) Фиксация логического вентиля
После того, как у вас есть входные значения, вы можете комбинировать любой логический вентиль в Bitcoin Script, комбинируя коды операций amp и NAND Bitcoin.
(3) Обязательство по двоичной схеме
Полнота по Тьюрингу может быть достигнута путем объединения сотен миллионов логических вентилей в двоичную схему. Для того, чтобы зафиксировать эту бинарную схему в сети Bitcoin, все логические вентили должны быть помещены в конечный узел с адресом Taproot.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-2adb7ce547-dd1a6f-69ad2a.webp)
(4) Ссылка «вызов-ответ»
Недостаточно зафиксировать цепь в блокчейне, обеим сторонам транзакции нужен эффективный способ проверки правильности расчетов контракта. В идеале контракт действует вне блокчейна, и обе стороны счастливы, когда они сотрудничают и не оспариваются. Однако, если между двумя сторонами транзакции возникает спор, вам необходимо ввести шаг «вызов-ответ», чтобы проверить результаты расчета и принудительно распределить баланс канала через Bitcoin Script.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-51632a6382-dd1a6f-69ad2a.webp)
Таким образом, BitVM далека от того, чтобы быть каким-то Bitcoin Rollup или L2 и не имеет полноценной среды выполнения виртуальных машин, глобального состояния, высокоуровневого языка для публикации сложных смарт-контрактов и не может позволить любому количеству пользователей легко взаимодействовать с этими контрактами. Чтобы проиллюстрировать это на примере неспециалиста, BitVM похожа на создание гигантского компьютера размером больше комнаты в эпоху, когда каждый может использовать мобильные устройства.
1.2.9 MoveVM - продукт генов Web2 от Facebook
Репрезентативные проекты: Aptos, Sui
Move — это язык программирования для написания безопасных смарт-контрактов, который изначально был разработан Facebook для поддержки блокчейна Diem, а после того, как блокчейн-проект Diem был прекращен, такие проекты, как Aptos и Sui, продолжили использовать язык Move. Самая большая особенность блокчейна Move заключается в том, что хранилище данных использует глобальное хранилище, которое состоит из дерева с адресом учетной записи в качестве корня, и каждый адрес может хранить данные ресурсов и код модуля.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-4bc57a20bb-dd1a6f-69ad2a.webp)
Существует два различных типа программ для Move: модули и скрипты. Модуль — это библиотека, определяющая типы структур и функции, работающие с этими типами. Тип структуры определяет глобальный режим хранения для Move, а функция module определяет правила обновления хранилища. Сами модули также хранятся в глобальном хранилище. Скрипты, с другой стороны, являются точкой входа в исполняемый файл, подобно функции main в традиционных языках, и представляют собой временные фрагменты кода, которые не публикуются в глобальном хранилище.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8a301faa9e-dd1a6f-69ad2a.webp)
Таким образом, модуль Move похож на модуль динамической библиотеки, который загружается при выполнении системного исполняемого файла, в то время как сценарий аналогичен основной программе. Пользователи могут создавать собственные сценарии для доступа к глобальному хранилищу, включая вызывающие модули, в то время как публикацией модулей или выполнением сценариев можно управлять с помощью виртуальной машины Move.
1.3 Тенденции экологического развития
Теперь, когда сетевой эффект EVM настолько силен, миграция пользователей EVM в экосистемы, не связанные с EVM, стала самой большой точкой роста для новых блокчейн-проектов, которые принесут большую компонуемость Dapp, а более широкие возможности подключения могут привести к более быстрому росту пользователей в ближайшие годы.
1.3.1 Совместимость с интерфейсом кошелька
Представление пользователей EVM в цепочках, отличных от EVM, исторически было серьезным препятствием, но недавний запуск Metamask Snap преодолеет этот барьер. Пользователи EVM могут продолжать использовать MetaMask без необходимости менять кошельки. Благодаря вкладу Drift с открытым исходным кодом, который создает отличную реализацию MetaMask Snap, UX эквивалентен взаимодействию с любой цепочкой EVM. Пользователи основной сети Eclipse смогут взаимодействовать с нативными приложениями в MetaMask или использовать собственные кошельки Solana, такие как Salmon.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-238b0558fb-dd1a6f-69ad2a.webp)
Совместимость с серверной частью VM 1.3.2
1.3.2.1 Транспайлер/компилятор
Репрезентативный проект: Wrap
Warp — это транспайлер Solidity-Cairo, разработанный Nethermind, известной командой по инфраструктуре Ethereum. Warp может транслировать код Solidity в Cairo, но переведенная программа Cairo часто нуждается в модификации и добавлении функций Cairo (таких как вызов встроенных функций, оптимизация памяти и т. д.) для максимизации эффективности выполнения.
1.3.2.2 Интерпретатор байт-кода и уровень совместимости виртуальных машин
Репрезентативные проекты: Kakarot, Neon EVM
Kakarot — это интерпретатор байт-кода EVM, реализованный в виде смарт-контракта, написанного на Cairo на Starknet, который имитирует стек, память, выполнение и другие аспекты EVM в виде смарт-контракта Cairo. По сравнению с трансляцией кода, Kakarot реализует поэлементную реализацию Opcode и Pre-compile за EVM, а также создает такие компоненты, как Account Registry и Blockhash Registry, чтобы обеспечить дополнительную обработку для сопоставления адресов учетных записей и получения информации о блоках, чтобы kakarot имел более высокую нативную совместимость.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-7049ae3417-dd1a6f-69ad2a.webp)
Neon EVM — это тип EVM, который работает как смарт-контракт и может быть развернут в любой цепочке SVM. Сама основная сеть Eclipse использует SVM в качестве среды выполнения, но обеспечивает полную совместимость с EVM (включая поддержку байт-кода EVM и Ethereum JSON-RPC) через Neon EVM и более высокую пропускную способность, чем однопоточный EVM. Кроме того, каждый экземпляр Neon EVM имеет свой локальный рынок комиссий, то есть существует верхний предел (1/4 блока вычислительной единицы), связанный с взаимодействием одного контрактного аккаунта на высоте блока, поэтому пользователям нужно платить приоритетные сборы только тогда, когда конкретное взаимодействие или блок горячего контракта заполнены. В этом смысле приложение развертывает свой собственный контракт, чтобы получить преимущество, аналогичное преимуществу цепочки приложений, тем самым уменьшая нарушение пользовательского опыта, безопасности или ликвидности всей сети, когда конкретный контракт взаимодействует с перегрузкой передачи.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-663a3c3002-dd1a6f-69ad2a.webp)
Ресурсы:
«Kakarot: Исследование пути Starknet к совместимости с EVM», Cynic & Starknet Astro
«BitVM горячо обсуждается, может ли сеть Биткойн достичь полноты по Тьюрингу?» ",Хаотянь
«Технологическая архитектура и экосистема Starkware», Maxlion
«Исследование проекта 丨 Отчет об исследовании топлива модульного высокоскоростного уровня исполнения», от Web3 CN
«Анализ первой критической уязвимости виртуальной машины Aptos Move», Numen Cyber Labs
11."Что такое SVM - виртуальная машина Solana", от Squads
12."Introducing Eclipse Mainnet: The Ethereum SVM L2", автор Eclipse
«Различные типы ЗК-ЭВМ», Виталик Бутерин
«Исследовательский отчет Cipholio: обсуждение подхода и будущего ZkVM», Йоло Шен, Cipholio Ventures
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Торговля PSE: На волне роллапов виртуальным машинам все еще есть что рассказать
Первоначально написано PSE Trading Analyst @cryptohawk
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5a402ab8f9-dd1a6f-69ad2a.webp)
ТЛ; ДОКТОР
zkVM отбрасывает эквивалентность/совместимость EVM и повышает приоритет zk-friendly.
privacy zkVM накладывает нативные функции конфиденциальности на zkVM;
SVM, FuelVM и MoveVM объединяет стремление к максимальной производительности за счет параллельного выполнения, но у них есть свои особенности в деталях проектирования.
ESC VM и BitVM провели несколько инновационных экспериментов вычислительного уровня на цепочках ETH и BTC соответственно, но спрос на реальную реализацию в текущих условиях низкий. 3. Огромная пользовательская экосистема EVM определяет, что любой блокчейн-сети, которая откажется от нее, будет трудно конкурировать с ней в краткосрочной перспективе, поэтому экосистема, не относящаяся к EVM, может представить пользователей экосистемы EVM через транспайлеры/компиляторы/интерпретаторы байт-кода или даже уровни совместимости с виртуальными машинами, а также использовать функции виртуальных машин, отличных от EVM, для создания нового экологического нарратива или необходимого пути к успеху.
1.1 Что такое виртуальная машина?
Виртуальная машина (ВМ) — это строительный блок виртуализированных вычислительных ресурсов, который выполняет практически те же функции, что и компьютер, включая запуск приложений и операционных систем. Концепция виртуальных машин не нова, и технология широко используется во многих технологических экосистемах.
В контексте блокчейна виртуальная машина (ВМ) — это часть программного обеспечения, которая запускает программы, часто называемая средой выполнения, которая выполняет смарт-контракты блокчейна. Виртуальные машины обычно предоставляют среду виртуальных компьютеров путем эмуляции различных аппаратных устройств. Разные виртуальные машины могут эмулировать разные аппаратные устройства, но обычно включают ЦП, память, жесткие диски, сетевые интерфейсы и т. д. Когда отправляется транзакция в цепочке, виртуальная машина отвечает за обработку транзакции и обновление состояния блокчейна (текущее глобальное состояние всей сети), на которое влияет выполнение этой транзакции. Конкретные правила, изменяющие состояние сети, определяются виртуальной машиной. При обработке транзакции виртуальная машина преобразует код смарт-контракта в формат, который может быть выполнен оборудованием узла/валидатора.
Самым важным ядром в виртуальной машине является LLVM (low-level-virtual-machine), которое можно считать самым важным ядром компилятора. На рисунке показана схема работы оригинального EVM, а смарт-контракт преобразуется в Bytecode через промежуточный код LLVM IR. Эти байт-коды хранятся в блокчейне, и при вызове смарт-контракта байт-код преобразуется в соответствующий опкод, который затем выполняется оборудованием EVM и узла.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-e6504cde98-dd1a6f-69ad2a.webp)
1.2 Основные виртуальные машины
1.2.1 EVM — виртуальная машина блокчейна имеет в общей сложности один камень, EVM является эксклюзивным для восьми сегментов, а остальное разделено на два блока
Репрезентативные проекты: Optimism, Arbitrum
Как экосистема блокчейна с самой высокой активностью разработчиков и пользователей в отрасли, виртуальная машина Ethereum EVM представляет собой виртуальную машину на основе стека, которая обеспечивает виртуальную компьютерную среду путем эмуляции аппаратных устройств, таких как процессор, память, память и стеки, для выполнения инструкций смарт-контракта и хранения состояния и данных смарт-контракта. Набор инструкций EVM включает в себя различные коды операций кода операции, такие как арифметические операции, логические операции, операции хранения, операции перехода и т. д.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-b215612938-dd1a6f-69ad2a.webp)
Память и память, эмулируемые EVM, являются устройствами, используемыми для хранения состояния и данных смарт-контракта. EVM рассматривает память и память как две отдельные области, которые могут получить доступ к состоянию и данным смарт-контракта путем чтения и записи в память и память.
Стек EVM-симуляций используется для хранения операндов и результатов инструкций. Большинство инструкций в наборе инструкций EVM основаны на стеке, они считывают операнды из стека и отправляют результаты обратно в стек.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-74a85b3f36-dd1a6f-69ad2a.webp)
Очевидно, что процесс проектирования EVM идет снизу вверх, сначала завершается смоделированная аппаратная среда (стек, память), а затем разрабатывается собственный набор наборов ассемблерных инструкций (Opcode) и байт-кода (Bytecode) в соответствии с соответствующей средой. Сообщество Ethereum разработало два компилируемых высокоуровневых языка - Solidity и Vyper - для эффективности выполнения EVM. Излишне говорить, что Vyper — это высокоуровневый язык EVM от Vitalik, предназначенный для устранения некоторых недостатков в Solidity, но он не получил широкого распространения в сообществе, поэтому постепенно канул в безвестность.
1.2.2 zkEVM - Я хочу все: совместимость со средой EVM + поддержка преобразования корня глобального состояния для генерации zk-proof
Репрезентативные проекты: Taiko, Scroll, Polygon zkEVM
Поскольку EVM не построен с учетом zk-proof-вычислений, он не дружелюбен к схемам доказательства, особенно с точки зрения специальных кодов операций, архитектур на основе стека, накладных расходов на хранение и затрат на доказательство. zkEVM - это виртуальная машина, которая выполняет смарт-контракты способом, совместимым с zk-proof computing, так что процесс выполнения EVM может быть проверен более эффективно и экономично с помощью zk-proof/validity-proof. По сравнению с OP Rollup, уровень выполнения должен только копировать EVM, а ZK-дружественная конструкция EVM является дополнительной проблемой для ZK Rollup.
ZK-роллапы нелегко совместимы с виртуальной машиной Ethereum (EVM). Доказательство вычисления EVM общего назначения в цепи является более сложным и ресурсоемким, чем доказательство простого вычисления, такого как передача токена, описанная ранее.
Однако достижения в технологии нулевого разглашения(откроется в новой вкладке) возродили интерес к обертке вычислений EVM в доказательства с нулевым разглашением. Эти усилия направлены на создание реализации EVM с нулевым разглашением (zkEVM), которая может эффективно проверять правильность выполнения программы.
Как и EVM, zkEVM переходит из одного состояния в другое после выполнения вычислений на определенных входных данных. Разница заключается в том, что zkEVM также создает доказательства с нулевым разглашением для проверки правильности каждого шага в выполнении программы. Доказательства валидности могут проверить правильность операций, связанных с состоянием виртуальной машины (памяти, стека, хранилища) и самих вычислений (т. е. вызвала ли операция правильные коды операций и правильно ли их выполнила?). )。
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-3885eea05b-dd1a6f-69ad2a.webp)
В настоящее время Rollup сложно достичь ZK-friendly и EVM совместимости (или даже эквивалента), то есть либо максимально полно реплицировать уровень исполнения Ethereum L1, включая хеши, деревья состояний, деревья транзакций, предкомпиляцию и т. д., чтобы клиент исполнения Ethereum L1 можно было использовать как есть для обработки блоков Rollup; Либо откажитесь от совместимости EVM и воссоздайте существующий код операции для доказательства/проверки в схеме, что позволит выполнять смарт-контракты.
1.2.3 zkVM - Вы не можете иметь и то, и другое: zk-proof-ориентированные на эффективность, не evm виртуальные машины
Репрезентативные проекты: Starknet, Zksync, RISC ZERO
Вместо совместимости с EVM, zkVM нашла общий делитель между криптографией и высокоуровневыми языками с доказательствами данных и обновлениями состояния в качестве своих основных целей, обеспечивая общую структуру для широкого спектра приложений.
Starkware имеет определенное технологическое лидерство благодаря раннему старту во всей области ZK и относительно достаточному накоплению технологий. Он является репрезентативной ZK-центричной технической архитектурой, вокруг которой построены Cairo VM и язык Cairo. Недостаток в том, что Каир дороже в изучении.
Фреймворк ZKsync совместим как с EVM, так и с ZK, и интегрирует Solidity с собственным языком схем Zinc, унифицируя их на IR-уровне в компиляторе. Преимущество заключается в том, что LLVM ядра компилятора совместим с несколькими языками.
RISC Zero использует архитектуру RISC-V для создания симуляторов, которые позволяют программистам писать программы для zkVM на языках общего назначения, таких как Rust, C/C++ и Go, что означает, что логика приложения не должна быть ограничена тем, что может быть выражено в Solidity, что позволяет писать код, не зависящий от цепочки.
1.2.4 Privacy zkVM - zk friendly + встроенная поддержка конфиденциальности, пытаясь зажечь новую искру в экосистеме
Представительские проекты: Aleo, Ola, Polygon Miden
Блокчейн — это публичная система реестра, в которой все транзакции осуществляются в блокчейне, что означает, что изменения состояния, содержащие информацию об активах, связанных с адресами или счетами, являются открытыми и прозрачными. В результате, помимо работы над решениями для масштабирования, некоторые блокчейн-команды считают, что следующей ключевой функцией, которая должна быть реализована, является конфиденциальность.
В дополнение к поддержке масштабирования, дружественной к zk, Privacy zkVM позволяет разработчикам приложений верхнего уровня открывать децентрализованные приложения, связанные с конфиденциальностью, благодаря функциям конфиденциальности, изначально поддерживаемым собственным языком программирования, что принесет новые сценарии приложений и грандиозные повествования, такие как полное решение проблемы MEV и обеспечение владения пользовательскими данными. Конечно, сложность дизайна Privacy zkVM потребует гораздо большей технической команды для реализации, и на это может уйти несколько лет.
1.2.5 SVM - После отлива все еще остаются угли: среда выполнения, которая была спроектирована с максимальной производительностью
Представительские проекты: Eclipse Mainnet, Nitro, MakerDAO Chain (возможно)
SVM, или виртуальная машина Solana, ориентирована на высокопроизводительную среду выполнения, а смарт-контракты в основном написаны на Rust. В отличие от однопоточных вычислительных сред выполнения EVM и EOS WASM, SVM обеспечивают неперекрывающиеся транзакции и параллельное выполнение транзакций, которые считывают только одно и то же состояние, требуя, чтобы транзакции Solana описывали все состояния, которые будут прочитаны или записаны в них во время выполнения.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5c07390761-dd1a6f-69ad2a.webp)
Кроме того, чтобы обеспечить быструю проверку/трансляцию больших блоков транзакций, в процессе проверки транзакций в сети Solana широко используются оптимизации конвейера, которые распространены при проектировании процессоров. Чтобы соответствовать ситуации, когда последовательность шагов обрабатывает входной поток данных, и каждый шаг имеет свою аппаратную ответственность. Типичная аналогия — стиральная машина и сушилка, которые стирают/сушат/складывают несколько партий белья последовательно. Перед сушкой необходимо проводить стирку, а перед сушкой – складывание, но каждая из этих трех операций выполняется отдельным агрегатом.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-c9b316a16d-dd1a6f-69ad2a.webp)
Кроме того, SVM основаны на регистрах и имеют гораздо меньший набор инструкций, чем EVM, что упрощает выполнение SVM в ZK. Для оптимистичных сверток проекты на основе регистров упрощают установку контрольных точек.
1.2.6 Fuel VM - Buff Stacking: Параллельная виртуальная машина под фреймворком UTXO
Репрезентативный проект: Топливо
Fuel VM основана на технологическом фреймворке EVM, Solana, WASM, BTC и Cosmos и имеет следующие особенности по сравнению с EVM:
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-dc84c420c7-dd1a6f-69ad2a.webp)
Самое уникальное заключается в том, что Fuel не только имеет возможность выполнять транзакции параллельно с непересекающимися транзакциями, устанавливая списки доступа, такие как SVM, но и использует модель UTXO, которая разделена на токен UTXO и контрактный UTXO, что еще больше повышает эффективность доступа и вычислительную пропускную способность.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-54817c581d-dd1a6f-69ad2a.webp)
Кроме того, Fuel VM обеспечивает мощный и гибкий интерфейс разработчика с помощью собственного предметно-ориентированного языка Sway и набора инструментов поддержки Fort, а также среды разработки, которая сохраняет преимущества языков смарт-контрактов, таких как Solidity, но при этом принимает парадигмы, представленные в экосистеме инструментов Rust.
В будущем в Fuel VM также будут реализованы обновления языка Sway, включая оптимизацию компилятора с точки зрения размера байт-кода, Sway будет поддерживать больше бэкендов (бэкенды EVM уже находятся в разработке), абстракции станут более экономичными, больше приложений будет перенесено с Solidity/Vyper на Sway, улучшен анализ повторного входа на уровне компилятора и многое другое.
1.2.7 ESC VM — преемник Ordinal/Smartweave: вычислительный уровень поверх Ethereum
Репрезентативный проект: Протокол Этионов
ESC VM, или Ethions Virtual Machine, — это решение для смарт-контрактов, предлагаемое Ethions Protocol. Сам протокол Ethions — это протокол, похожий на BTC Ordinal в цепочке Ethereum, ориентированный на изучение недорогих альтернатив смарт-контрактам и L2.
Ethions позволяет пользователям обходить хранение и выполнение смарт-контрактов за небольшую часть стоимости, а также применять calldata в Tx для вычислений с помощью заранее согласованных правил протокола. Проще говоря, до тех пор, пока успешная транзакция Ethereum имеет calldata, который соответствует указанной валидной спецификации данных, а уникальный адрес & «to» не равен 0, можно считать, что он законно создал Ethion, где адрес «от» является создателем, а адрес «кому» — владельцем.
В начале проектирования каждый Ethion больше склоняется к форме NFT, например, к изображению NFT, и напрямую записывает содержимое изображения в calldata через формат Base 64:
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-59364b934a-dd1a6f-69ad2a.webp)
Самым популярным eths в последнее время является Ethion, который был создан со ссылкой на спецификацию протокола BRC-20:
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8b1cde6b8b-dd1a6f-69ad2a.webp)
Смарт-контракт, представленный ESC VM, известный как «тупой контракт», рекламируется как логический контракт, но сам по себе не взаимодействует в блокчейне в виде EVM. Кроме того, ESC VM также добавляет специальный формат "machine command", который будет распознаваться ESC VM для взаимодействия с dumb контрактами, такими как Deploy - deploy - deploy - call dumb contract.
У этой схемы есть некоторые ограничения, одно из которых заключается в том, что функция «тупого контракта» не оплачивается, то есть, если вы хотите отправить ETH через тупой контракт, вы должны пройти через «бридж-контракт», а сам «бридж-контракт» имеет риск злоупотребления контролем и кражи активов; Во-вторых, в экосистеме существует порог входа, который не позволяет произвольно создавать глупые контракты, и ее код должен быть определен через предложение по управлению протоколом Ethions.
Подводя итог, можно сказать, что ESC VM — это вычислительный уровень, построенный поверх Ethereum L1 в качестве уровня хранения данных, который реализуется путем размещения логики контракта, вызовов контрактов, вызовов контрактов и другого содержимого данных в calldata Ethereum tx, а глобальный консенсус состояния ESC VM — это консенсус клиентов ESC VM, который аналогичен логике реализации SmartWeave Arweave, но уровень хранения данных SmartWeave — Arweave.
1.2.8 Bit VM - Интересный исследовательский эксперимент: одноранговый канал выполнения поверх BTC
Репрезентативный проект: ZeroSync
Основатель ZeroSync Робин Линус 9 октября выпустил white paper «BitVM: Compute Anything On Bitcoin», который является не виртуальной машиной, если быть точным, а попыткой создать полное по Тьюрингу вычислительное пространство с контрактами, хранящимися в цепочке биткоина, но логика контрактов выполняется вне блокчейна. Если вы считаете, что другая сторона находится в состоянии дефолта, вы можете запустить челлендж в цепочке, а если другая сторона не может правильно ответить, вы можете забрать все средства по контракту.
Преимущество заключается в том, что он может дать Биткойну Тьюринга полноту без каких-либо модификаций протокола Биткойна, без новых опкодов, без софтфорков и готов к применению.
Его недостатки также очевидны, один из них заключается в том, что он поддерживает транзакции только между двумя сторонами (одна доказывает, а другая проверяет), а другой заключается в том, что создание контракта требует создания большого объема данных и предварительного подписания большого количества транзакций, а стоимость хранения информации вне сети огромна.
Вот краткое введение в техническую логику:
(1) Обязательство по вводу баллов
Обязательство точечного ввода позволяет проверяющему установить входное значение 0 или 1 для логического вентиля, и в этом промисе есть два хеш-значения H(A 0) и H(A 1), и доказательство должно раскрыть хэш-предшественник, например, A 0, затем установить входное значение в 0, если обнаружено A 1, то установить входное значение в 1 .
(2) Фиксация логического вентиля
После того, как у вас есть входные значения, вы можете комбинировать любой логический вентиль в Bitcoin Script, комбинируя коды операций amp и NAND Bitcoin.
(3) Обязательство по двоичной схеме
Полнота по Тьюрингу может быть достигнута путем объединения сотен миллионов логических вентилей в двоичную схему. Для того, чтобы зафиксировать эту бинарную схему в сети Bitcoin, все логические вентили должны быть помещены в конечный узел с адресом Taproot.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-2adb7ce547-dd1a6f-69ad2a.webp)
(4) Ссылка «вызов-ответ»
Недостаточно зафиксировать цепь в блокчейне, обеим сторонам транзакции нужен эффективный способ проверки правильности расчетов контракта. В идеале контракт действует вне блокчейна, и обе стороны счастливы, когда они сотрудничают и не оспариваются. Однако, если между двумя сторонами транзакции возникает спор, вам необходимо ввести шаг «вызов-ответ», чтобы проверить результаты расчета и принудительно распределить баланс канала через Bitcoin Script.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-51632a6382-dd1a6f-69ad2a.webp)
Таким образом, BitVM далека от того, чтобы быть каким-то Bitcoin Rollup или L2 и не имеет полноценной среды выполнения виртуальных машин, глобального состояния, высокоуровневого языка для публикации сложных смарт-контрактов и не может позволить любому количеству пользователей легко взаимодействовать с этими контрактами. Чтобы проиллюстрировать это на примере неспециалиста, BitVM похожа на создание гигантского компьютера размером больше комнаты в эпоху, когда каждый может использовать мобильные устройства.
1.2.9 MoveVM - продукт генов Web2 от Facebook
Репрезентативные проекты: Aptos, Sui
Move — это язык программирования для написания безопасных смарт-контрактов, который изначально был разработан Facebook для поддержки блокчейна Diem, а после того, как блокчейн-проект Diem был прекращен, такие проекты, как Aptos и Sui, продолжили использовать язык Move. Самая большая особенность блокчейна Move заключается в том, что хранилище данных использует глобальное хранилище, которое состоит из дерева с адресом учетной записи в качестве корня, и каждый адрес может хранить данные ресурсов и код модуля.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-4bc57a20bb-dd1a6f-69ad2a.webp)
Существует два различных типа программ для Move: модули и скрипты. Модуль — это библиотека, определяющая типы структур и функции, работающие с этими типами. Тип структуры определяет глобальный режим хранения для Move, а функция module определяет правила обновления хранилища. Сами модули также хранятся в глобальном хранилище. Скрипты, с другой стороны, являются точкой входа в исполняемый файл, подобно функции main в традиционных языках, и представляют собой временные фрагменты кода, которые не публикуются в глобальном хранилище.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8a301faa9e-dd1a6f-69ad2a.webp)
Таким образом, модуль Move похож на модуль динамической библиотеки, который загружается при выполнении системного исполняемого файла, в то время как сценарий аналогичен основной программе. Пользователи могут создавать собственные сценарии для доступа к глобальному хранилищу, включая вызывающие модули, в то время как публикацией модулей или выполнением сценариев можно управлять с помощью виртуальной машины Move.
1.3 Тенденции экологического развития
Теперь, когда сетевой эффект EVM настолько силен, миграция пользователей EVM в экосистемы, не связанные с EVM, стала самой большой точкой роста для новых блокчейн-проектов, которые принесут большую компонуемость Dapp, а более широкие возможности подключения могут привести к более быстрому росту пользователей в ближайшие годы.
1.3.1 Совместимость с интерфейсом кошелька
Представление пользователей EVM в цепочках, отличных от EVM, исторически было серьезным препятствием, но недавний запуск Metamask Snap преодолеет этот барьер. Пользователи EVM могут продолжать использовать MetaMask без необходимости менять кошельки. Благодаря вкладу Drift с открытым исходным кодом, который создает отличную реализацию MetaMask Snap, UX эквивалентен взаимодействию с любой цепочкой EVM. Пользователи основной сети Eclipse смогут взаимодействовать с нативными приложениями в MetaMask или использовать собственные кошельки Solana, такие как Salmon.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-238b0558fb-dd1a6f-69ad2a.webp)
Совместимость с серверной частью VM 1.3.2
1.3.2.1 Транспайлер/компилятор
Репрезентативный проект: Wrap
Warp — это транспайлер Solidity-Cairo, разработанный Nethermind, известной командой по инфраструктуре Ethereum. Warp может транслировать код Solidity в Cairo, но переведенная программа Cairo часто нуждается в модификации и добавлении функций Cairo (таких как вызов встроенных функций, оптимизация памяти и т. д.) для максимизации эффективности выполнения.
1.3.2.2 Интерпретатор байт-кода и уровень совместимости виртуальных машин
Репрезентативные проекты: Kakarot, Neon EVM
Kakarot — это интерпретатор байт-кода EVM, реализованный в виде смарт-контракта, написанного на Cairo на Starknet, который имитирует стек, память, выполнение и другие аспекты EVM в виде смарт-контракта Cairo. По сравнению с трансляцией кода, Kakarot реализует поэлементную реализацию Opcode и Pre-compile за EVM, а также создает такие компоненты, как Account Registry и Blockhash Registry, чтобы обеспечить дополнительную обработку для сопоставления адресов учетных записей и получения информации о блоках, чтобы kakarot имел более высокую нативную совместимость.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-7049ae3417-dd1a6f-69ad2a.webp)
Neon EVM — это тип EVM, который работает как смарт-контракт и может быть развернут в любой цепочке SVM. Сама основная сеть Eclipse использует SVM в качестве среды выполнения, но обеспечивает полную совместимость с EVM (включая поддержку байт-кода EVM и Ethereum JSON-RPC) через Neon EVM и более высокую пропускную способность, чем однопоточный EVM. Кроме того, каждый экземпляр Neon EVM имеет свой локальный рынок комиссий, то есть существует верхний предел (1/4 блока вычислительной единицы), связанный с взаимодействием одного контрактного аккаунта на высоте блока, поэтому пользователям нужно платить приоритетные сборы только тогда, когда конкретное взаимодействие или блок горячего контракта заполнены. В этом смысле приложение развертывает свой собственный контракт, чтобы получить преимущество, аналогичное преимуществу цепочки приложений, тем самым уменьшая нарушение пользовательского опыта, безопасности или ликвидности всей сети, когда конкретный контракт взаимодействует с перегрузкой передачи.
! [Торговля PSE: В волне роллапа VM все еще есть что рассказать] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-663a3c3002-dd1a6f-69ad2a.webp)
Ресурсы:
«Kakarot: Исследование пути Starknet к совместимости с EVM», Cynic & Starknet Astro
«BitVM горячо обсуждается, может ли сеть Биткойн достичь полноты по Тьюрингу?» ",Хаотянь
«Технологическая архитектура и экосистема Starkware», Maxlion
«Исследование проекта 丨 Отчет об исследовании топлива модульного высокоскоростного уровня исполнения», от Web3 CN
«Анализ первой критической уязвимости виртуальной машины Aptos Move», Numen Cyber Labs
11."Что такое SVM - виртуальная машина Solana", от Squads
12."Introducing Eclipse Mainnet: The Ethereum SVM L2", автор Eclipse
«Различные типы ЗК-ЭВМ», Виталик Бутерин
«Исследовательский отчет Cipholio: обсуждение подхода и будущего ZkVM», Йоло Шен, Cipholio Ventures