Виртуальная машина — это компьютерная система, эмулируемая программным обеспечением, которая обеспечивает среду выполнения программы. Он может эмулировать различные аппаратные устройства, чтобы программы могли работать в контролируемой и совместимой среде.
Виртуальная машина Ethereum (EVM) — это виртуальная машина на основе стека, которая выполняет смарт-контракты Ethereum; zkEVM оптимизирует эффективность генерации zk-proof на основе эквивалентности/совместимости EVM.
zkVM отбрасывает эквивалентность/совместимость EVM и повышает приоритет zk-friendly.
privacyzkVM накладывает собственные функции конфиденциальности на zkVM;
SVM, FuelVM и MoveVM объединяет стремление к максимальной производительности за счет параллельного выполнения, но у них есть свои особенности в деталях проектирования.
ESCVM и BitVM провели несколько инновационных экспериментов вычислительного уровня на цепочках ETH и BTC соответственно, но спрос на реальную реализацию в текущих условиях низок.
Огромная пользовательская экосистема EVM определяет, что любой блокчейн-сети, которая откажется от нее, будет трудно конкурировать с ней в краткосрочной перспективе, поэтому экосистема, не относящаяся к EVM, знакомит пользователей экосистемы EVM с помощью транспайлеров/компиляторов/интерпретаторов байт-кода и даже уровней совместимости с виртуальными машинами, а также использует функции виртуальных машин, отличных от EVM, для построения нового экологического нарратива или необходимого пути к успеху.
**1.1 Что такое виртуальная машина? **
Виртуальная машина (ВМ) — это строительный блок виртуализированных вычислительных ресурсов, который выполняет практически те же функции, что и компьютер, включая запуск приложений и операционных систем. Концепция виртуальных машин не нова, и технология широко используется во многих технологических экосистемах.
В контексте блокчейна виртуальная машина (ВМ) — это часть программного обеспечения, которая запускает программы, часто называемая средой выполнения, которая выполняет смарт-контракты блокчейна. Виртуальные машины обычно предоставляют среду виртуальных компьютеров путем эмуляции различных аппаратных устройств. Разные виртуальные машины могут эмулировать разные аппаратные устройства, но обычно включают ЦП, память, жесткие диски, сетевые интерфейсы и т. д. Когда отправляется транзакция в цепочке, виртуальная машина отвечает за обработку транзакции и обновление состояния блокчейна (текущее глобальное состояние всей сети), на которое влияет выполнение этой транзакции. Конкретные правила, изменяющие состояние сети, определяются виртуальной машиной. При обработке транзакции виртуальная машина преобразует код смарт-контракта в формат, который может быть выполнен оборудованием узла/валидатора.
Самым важным ядром в виртуальной машине является LLVM (low-level-virtual-machine), которое можно считать самым важным ядром компилятора. На рисунке показана схема работы оригинального EVM, а смарт-контракт преобразуется в Bytecode через промежуточный код LLVM IR. Эти байт-коды хранятся в блокчейне, и при вызове смарт-контракта байт-код преобразуется в соответствующий опкод, который затем выполняется оборудованием EVM и узла.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/b3da87c9e06d747a77eba26a9dbd96e9.)
1.2 Основные виртуальные машины
1.2.1 EVM - Blockchain VM имеет один камень, EVM имеет восемь блоков, а остальное разделено на два блока
Представительские проекты: Optimism, Arbitrum
Как экосистема блокчейна с самой высокой активностью разработчиков и пользователей в отрасли, виртуальная машина Ethereum EVM представляет собой виртуальную машину на основе стека, которая обеспечивает виртуальную компьютерную среду путем эмуляции аппаратных устройств, таких как процессор, память, память и стеки, для выполнения инструкций смарт-контракта и хранения состояния и данных смарт-контракта. Набор инструкций EVM включает в себя различные коды операций кода операции, такие как арифметические операции, логические операции, операции хранения, операции перехода и т. д.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/5697bec2651732ec30d01cdb82f404c2.)
Память и память, эмулируемые EVM, являются устройствами, используемыми для хранения состояния и данных смарт-контракта. EVM рассматривает память и память как две отдельные области, которые могут получить доступ к состоянию и данным смарт-контракта путем чтения и записи в память и память.
Стек EVM-симуляций используется для хранения операндов и результатов инструкций. Большинство инструкций в наборе инструкций EVM основаны на стеке, они считывают операнды из стека и отправляют результаты обратно в стек.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/3868c7284468389a35dd1c4f01a906ae.)
Очевидно, что процесс проектирования EVM идет снизу вверх, сначала завершается смоделированная аппаратная среда (стек, память), а затем разрабатывается собственный набор наборов ассемблерных инструкций (Opcode) и байт-кода (Bytecode) в соответствии с соответствующей средой. Сообщество Ethereum разработало два компилируемых высокоуровневых языка - Solidity и Vyper - для эффективности выполнения EVM. Излишне говорить, что Vyper — это высокоуровневый язык EVM от Vitalik, предназначенный для устранения некоторых недостатков в Solidity, но он не получил широкого распространения в сообществе, поэтому постепенно канул в безвестность.
1.2.2zkEVM - Я хочу все: совместим со средой EVM + поддержка преобразования корня глобального состояния для генерации zk-proof
Поскольку EVM не построен с учетом zk-proof-вычислений, он не дружелюбен к схемам доказательства, особенно с точки зрения специальных кодов операций, архитектур на основе стека, накладных расходов на хранение и затрат на доказательство. zkEVM - это виртуальная машина, которая выполняет смарт-контракты способом, совместимым с zk-proof computing, так что процесс выполнения EVM может быть проверен более эффективно и экономично с помощью zk-proof/validity-proof. По сравнению с OPRollup, уровень выполнения должен только копировать EVM, и создание EVM, совместимого с ZK, является дополнительной проблемой для ZK Rollup.
ZK-роллапы нелегко совместимы с виртуальной машиной Ethereum (EVM). Доказательство вычисления EVM общего назначения в цепи является более сложным и ресурсоемким, чем доказательство простого вычисления, такого как передача токена, описанная ранее.
Однако достижения в технологии нулевого разглашения(откроется в новой вкладке) возродили интерес к обертке вычислений EVM в доказательства с нулевым разглашением. Эти усилия направлены на создание реализации EVM с нулевым разглашением (zkEVM), которая может эффективно проверять правильность выполнения программы.
Как и EVM, zkEVM переходит из одного состояния в другое после выполнения вычислений на определенных входных данных. Разница заключается в том, что zkEVM также создает доказательства с нулевым разглашением для проверки правильности каждого шага в выполнении программы. Доказательства валидности могут проверить правильность операций, связанных с состоянием виртуальной машины (памяти, стека, хранилища) и самих вычислений (т. е. вызвала ли операция правильные коды операций и правильно ли их выполнила?). )。
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/e4db398cf7cd926f3d6ce5de03b860de.)
В настоящее время Rollup сложно достичь ZK-friendly и EVM совместимости (или даже эквивалента), то есть либо максимально полно реплицировать уровень исполнения Ethereum L1, включая хеши, деревья состояний, деревья транзакций, прекомпиляцию и т. д., чтобы клиент исполнения Ethereum L1 мог использовать его как есть для обработки блоков Rollup; Либо откажитесь от совместимости EVM и воссоздайте существующий код операции для доказательства/проверки в схеме, что позволит выполнять смарт-контракты.
1.2.3zkVM - Вы не можете иметь и то, и другое: 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.4Privacy zkVM - zk friendly + встроенная поддержка конфиденциальности пытается зажечь новую искру в экосистеме
Блокчейн — это публичная система реестра, в которой все транзакции осуществляются в блокчейне, что означает, что изменения состояния, содержащие информацию об активах, связанных с адресами или счетами, являются открытыми и прозрачными. В результате, помимо работы над решениями для масштабирования, некоторые блокчейн-команды считают, что следующей ключевой функцией, которая должна быть реализована, является конфиденциальность.
В дополнение к поддержке масштабирования, дружественной к zk, PrivacyzkVM позволяет разработчикам приложений верхнего уровня открывать децентрализованные приложения, связанные с конфиденциальностью, благодаря функциям конфиденциальности, изначально поддерживаемым собственным языком программирования, что принесет новые сценарии приложений и грандиозные повествования, такие как полное решение проблемы MEV и обеспечение владения пользовательскими данными. Конечно, сложность дизайна PrivacyzkVM требует гораздо большей технической команды для реализации, и на это может уйти несколько лет.
1.2.5SVM - После отлива все еще остаются угли: среда выполнения, которая была спроектирована с максимальной производительностью
SVM, или виртуальная машина Solana, ориентирована на высокопроизводительную среду выполнения, а смарт-контракты в основном написаны на Rust. В отличие от однопоточных вычислительных сред выполнения EVM и EOSWASM, SVM обеспечивает неперекрывающиеся транзакции и параллельное выполнение транзакций, которые считывают только одно и то же состояние, требуя, чтобы транзакции Solana описывали все состояния, которые будут прочитаны или записаны в них во время выполнения.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/7224c8325f628b476cc8a58648118a12.)
Кроме того, для быстрой проверки/трансляции большого количества блоков транзакций в процессе проверки транзакций в сети Solana широко используются оптимизации конвейера, которые распространены при проектировании процессоров. Чтобы соответствовать ситуации, когда последовательность шагов обрабатывает входной поток данных, и каждый шаг имеет свою аппаратную ответственность. Типичной аналогией является стиральная и сушильная машины, которые стирают/сушат/складывают несколько партий белья последовательно. Перед сушкой необходимо проводить стирку, а перед сушкой – складывание, но каждая из этих трех операций выполняется отдельным агрегатом.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/4a6afec0f411e515b6b7acd0ca7f7986.)
Кроме того, SVM основаны на регистрах и имеют гораздо меньший набор инструкций, чем EVM, что упрощает выполнение SVM в ZK. Для оптимистичных сверток проекты на основе регистров упрощают установку контрольных точек.
1.2.6FuelVM - Buff Stacked: параллельная виртуальная машина под UTXO Framework
Представительский проект: Топливо
Fuel VM основана на технологическом фреймворке EVM, Solana, WASM, BTC и Cosmos и имеет следующие особенности по сравнению с EVM:
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/893b74b06bf09e594fcaa3facdcab828.)
Самое уникальное заключается в том, что Fuel не только имеет возможность выполнять транзакции параллельно с непересекающимися транзакциями, устанавливая списки доступа, такие как SVM, но и использует модель UTXO, которая разделена на токен UTXO и контрактный UTXO, что еще больше повышает эффективность доступа и вычислительную пропускную способность.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/597b6194925d676cbc7b16ee50934720.)
Кроме того, Fuel VM обеспечивает мощный и гибкий интерфейс разработчика с помощью собственного предметно-ориентированного языка Sway и набора инструментов поддержки Fort, а также среды разработки, которая сохраняет преимущества языков смарт-контрактов, таких как Solidity, но при этом принимает парадигмы, представленные в экосистеме инструментов Rust.
В будущем в Fuel VM также будут реализованы обновления языка Sway, включая оптимизацию компилятора с точки зрения размера байт-кода, Sway будет поддерживать больше бэкендов (бэкенды EVM уже находятся в разработке), абстракции станут более экономичными, больше приложений будет перенесено с Solidity/Vyper на Sway, улучшен анализ повторного входа на уровне компилятора и многое другое.
1.2.7ESCVM - Преемник Ordinal/Smartweave: вычислительный уровень поверх Ethereum
Представительский проект: Ethions Protocol
ESCVM, или Ethions Virtual Machine, — это схема смарт-контрактов, предложенная Ethions Protocol. Сам протокол Ethions — это протокол, похожий на BTC Ordinal в цепочке Ethereum, ориентированный на изучение недорогих альтернатив смарт-контрактам и L2.
Ethions позволяет пользователям обходить хранение и выполнение смарт-контрактов за небольшую часть стоимости, а также применять calldata в Tx для вычислений с помощью заранее согласованных правил протокола. Проще говоря, до тех пор, пока успешная транзакция Ethereum имеет calldata, который соответствует указанной валидной спецификации данных, а уникальный адрес & «to» не равен 0, можно считать, что он законно создал Ethion, где адрес «от» является создателем, а адрес «кому» — владельцем.
В начале дизайна каждый Ethion больше склоняется к форме NFT, например, к изображению NFT, и напрямую записывает содержимое изображения в calldata через формат Base64:
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/6a16558230f9a8edcdf93f3c49f3ff18.)
Самым популярным eths в последнее время является Ethion, который был создан со ссылкой на спецификацию протокола BRC-20:
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/32932301680ca546fcdd7ac441b73628.)
Смарт-контракт, представленный ESC VM, известный как «тупой контракт», рекламируется как логический контракт, но не взаимодействует в блокчейне в виде самого EVM. Кроме того, ESC VM также добавляет специальный формат "Computer 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.8BitVM - интересный исследовательский эксперимент: одноранговые каналы исполнения на BTC
Представительский проект: ZeroSync
Робин Лайнус, основатель ZeroSync, 9 октября выпустил white paper «BitVM: Compute Anything On Bitcoin», который является не виртуальной машиной, если быть точным, а попыткой создать полное по Тьюрингу вычислительное пространство с контрактами, хранящимися в цепочке биткоина, но логика контракта выполняется вне блокчейна. Если вы считаете, что другая сторона находится в состоянии дефолта, вы можете запустить челлендж в цепочке, а если другая сторона не может правильно ответить, вы можете забрать все средства по контракту.
Преимущество заключается в том, что он может дать Биткойну Тьюринга полноту без каких-либо модификаций протокола Биткойна, без новых опкодов, без софтфорков и готов к применению.
Его недостатки также очевидны, один из них заключается в том, что он поддерживает транзакции только между двумя сторонами (одна доказывает, а другая проверяет), а другой заключается в том, что создание контракта требует создания большого объема данных и предварительного подписания большого количества транзакций, а стоимость хранения информации вне сети огромна.
Вот краткое введение в техническую логику:
ОБЯЗАТЕЛЬСТВО ПО ВВОДУ БАЛЛОВ
Фиксация ввода с точкой позволяет проверяющему установить входное значение 0 или 1 для логического вента, и в этом промисе есть два хеш-значения H(A0) и H(A1), и проверяющий должен раскрыть хэш предшественника, например, A0, затем установить входное значение равным 0, если обнаружено A1, установить входное значение равным 1.
Обязательство Logic Gate
После того, как у вас есть входные значения, вы можете комбинировать любой логический вентиль в Bitcoin Script, комбинируя коды операций amp и NAND Bitcoin.
Обещание бинарной схемы
Полнота по Тьюрингу может быть достигнута путем объединения сотен миллионов логических вентилей в двоичную схему. Для того, чтобы зафиксировать эту бинарную схему в сети Bitcoin, все логические вентили должны быть помещены в конечный узел с адресом Taproot.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/7468e3b36e547f00ef329309820a4b07.)
ВЫЗОВ - ОТВЕТНАЯ СЕССИЯ
Недостаточно зафиксировать цепь в блокчейне, обеим сторонам транзакции нужен эффективный способ проверки правильности расчетов контракта. В идеале контракт действует вне блокчейна, и обе стороны счастливы, когда они сотрудничают и не оспариваются. Однако, если между двумя сторонами сделки возникает спор, необходимо перейти на стадию Challenge-Response, чтобы проверить результаты расчета и принудительно распределить баланс канала через Bitcoin Script.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/31d50ed5a8744519960a6656929a6615.)
Таким образом, BitVM — это далеко не какой-то BitcoinRollup или L2, который не имеет полноценной среды выполнения виртуальных машин, глобального состояния, высокоуровневого языка для публикации сложных смарт-контрактов и не может позволить любому количеству пользователей легко взаимодействовать с этими контрактами. Чтобы проиллюстрировать это на примере неспециалиста, BitVM похожа на создание гигантского компьютера размером больше комнаты в эпоху, когда каждый может использовать мобильные устройства.
1.2.9 MoveVM - продукт наследования гена Web2 от Facebook
Репрезентативные проекты: Aptos, Sui
Move — это язык программирования для написания безопасных смарт-контрактов, который изначально был разработан Facebook для поддержки блокчейна Diem, а после того, как блокчейн-проект Diem был прекращен, такие проекты, как Aptos и Sui, продолжили использовать язык Move. Самая большая особенность блокчейна Move заключается в том, что хранилище данных использует глобальное хранилище, которое состоит из дерева с адресом учетной записи в качестве корня, и каждый адрес может хранить данные ресурсов и код модуля.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/880930d84eb1ed81df7b4ec1fbd8c82f.)
Существует два различных типа программ для Move: модули и скрипты. Модуль — это библиотека, определяющая типы структур и функции, работающие с этими типами. Тип структуры определяет глобальный режим хранения для Move, а функция module определяет правила обновления хранилища. Сами модули также хранятся в глобальном хранилище. Скрипты, с другой стороны, являются точкой входа в исполняемый файл, подобно функции main в традиционных языках, и представляют собой временные фрагменты кода, которые не публикуются в глобальном хранилище.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/bffe7529268a49a3df8994f343dc55b0.)
Таким образом, модуль Move похож на модуль динамической библиотеки, который загружается при выполнении системного исполняемого файла, в то время как сценарий аналогичен основной программе. Пользователи могут писать свои собственные сценарии для доступа к глобальному хранилищу, включая вызов модулей, в то время как публикацией модулей или выполнением сценариев можно управлять с помощью MoveVM.
1.3 Тенденция экологического развития
Теперь, когда сетевой эффект EVM настолько силен, миграция пользователей EVM в экосистемы, не связанные с EVM, стала самой большой точкой роста для новых блокчейн-проектов, которые принесут большую компонуемость Dapp, а более широкие возможности подключения могут привести к более быстрому росту пользователей в ближайшие годы.
1.3.1 Совместимость с интерфейсом кошелька
Представление пользователей EVM в цепочках, отличных от EVM, исторически было серьезным препятствием, но недавний запуск Metamask Snap сломает этот барьер. Пользователи EVM могут продолжать использовать MetaMask без необходимости менять кошельки. Благодаря вкладу Drift с открытым исходным кодом, который создает отличную реализацию MetaMask Snap, UX эквивалентен взаимодействию с любой цепочкой EVM. Пользователи основной сети Eclipse смогут взаимодействовать с нативными приложениями в MetaMask или использовать собственные кошельки Solana, такие как Salmon.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/5e997aade0d79e4b85ab48913fcc7941.)
Совместимость с серверной частью 1.3.2VM
1.3.2.1 Транспайлер/компилятор
Представительский проект: Wrap
Warp — это транспайлер Solidity-Cairo, разработанный Nethermind, известной командой по инфраструктуре Ethereum. Warp может транслировать код Solidity в Cairo, но переведенная программа Cairo часто нуждается в модификации и добавлении функций Cairo (таких как вызов встроенных функций, оптимизация памяти и т. д.) для максимизации эффективности выполнения.
1.3.2.2 Интерпретатор байт-кода/уровень, совместимый с VM
Представительские проекты: Kakarot, Neon EVM
Kakarot — это интерпретатор байт-кода EVM, реализованный в виде смарт-контракта, написанного на Cairo на Starknet, который имитирует стек, память, выполнение и другие аспекты EVM в виде смарт-контракта Cairo. По сравнению с трансляцией кода, Kakarot реализует поэлементную реализацию Opcode и Pre-compile за EVM, а также создает такие компоненты, как Account Registry и Blockhash Registry, чтобы обеспечить дополнительную обработку для сопоставления адресов учетных записей и получения информации о блоках, чтобы kakarot имел более высокую нативную совместимость.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/663d518717668dd2d6b29088d974b1a6.)
Neon EVM — это тип EVM, который работает как смарт-контракт и может быть развернут в любой цепочке SVM. Сама основная сеть Eclipse использует SVM в качестве среды выполнения, но обеспечивает полную совместимость с EVM (включая поддержку байт-кода EVM и Ethereum JSON-RPC) через Neon EVM и более высокую пропускную способность, чем однопоточный EVM. Кроме того, каждый экземпляр Neon EVM имеет свой локальный рынок комиссий, то есть существует верхний предел (1/4 блока вычислительной единицы), связанный с взаимодействием одного контрактного аккаунта на высоте блока, поэтому пользователям нужно платить приоритетные сборы только тогда, когда конкретное взаимодействие или блок горячего контракта заполнены. В этом смысле приложение развертывает свой собственный контракт, чтобы получить преимущество, аналогичное преимуществу цепочки приложений, тем самым уменьшая нарушение пользовательского опыта, безопасности или ликвидности всей сети, когда конкретный контракт взаимодействует с перегрузкой передачи.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/103e4dc44ec28ccee4ab8035e4e0867d.)
Ресурсы:
«Kakarot: Изучение пути Starknet к совместимости EVM», Cynic & Starknet Astro,
«BitVM горячо обсуждается, может ли сеть Биткойн достичь полноты по Тьюрингу?» ",Хаотянь,
«Обзор архитектуры и экосистемы технологии Starkware», автор Maxlion,
«Исследование проекта 丨 Отчет об исследовании топлива на уровне модульного высокоскоростного исполнения», от Web3CN,
«Анализ первой критической уязвимости Aptos Move VM», Numen Cyber Labs,
11."Что такое SVM - виртуальная машина Solana",от Squads,
12."Introducing Eclipse Mainnet: The Ethereum SVM L2", автор Eclipse,
«Различные типы ЗК-ЭВМ», Виталик Бутерин,
«Исследовательский отчет Cipholio: разговор о решении и будущем ZkVM», Йоло Шен, Cipholio Ventures,
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать
Автор: PSE Trading Analyst @cryptohawk
ТЛ; ДОКТОР
Виртуальная машина — это компьютерная система, эмулируемая программным обеспечением, которая обеспечивает среду выполнения программы. Он может эмулировать различные аппаратные устройства, чтобы программы могли работать в контролируемой и совместимой среде.
Виртуальная машина Ethereum (EVM) — это виртуальная машина на основе стека, которая выполняет смарт-контракты Ethereum; zkEVM оптимизирует эффективность генерации zk-proof на основе эквивалентности/совместимости EVM.
zkVM отбрасывает эквивалентность/совместимость EVM и повышает приоритет zk-friendly.
privacyzkVM накладывает собственные функции конфиденциальности на zkVM;
SVM, FuelVM и MoveVM объединяет стремление к максимальной производительности за счет параллельного выполнения, но у них есть свои особенности в деталях проектирования.
ESCVM и BitVM провели несколько инновационных экспериментов вычислительного уровня на цепочках ETH и BTC соответственно, но спрос на реальную реализацию в текущих условиях низок.
**1.1 Что такое виртуальная машина? **
Виртуальная машина (ВМ) — это строительный блок виртуализированных вычислительных ресурсов, который выполняет практически те же функции, что и компьютер, включая запуск приложений и операционных систем. Концепция виртуальных машин не нова, и технология широко используется во многих технологических экосистемах.
В контексте блокчейна виртуальная машина (ВМ) — это часть программного обеспечения, которая запускает программы, часто называемая средой выполнения, которая выполняет смарт-контракты блокчейна. Виртуальные машины обычно предоставляют среду виртуальных компьютеров путем эмуляции различных аппаратных устройств. Разные виртуальные машины могут эмулировать разные аппаратные устройства, но обычно включают ЦП, память, жесткие диски, сетевые интерфейсы и т. д. Когда отправляется транзакция в цепочке, виртуальная машина отвечает за обработку транзакции и обновление состояния блокчейна (текущее глобальное состояние всей сети), на которое влияет выполнение этой транзакции. Конкретные правила, изменяющие состояние сети, определяются виртуальной машиной. При обработке транзакции виртуальная машина преобразует код смарт-контракта в формат, который может быть выполнен оборудованием узла/валидатора.
Самым важным ядром в виртуальной машине является LLVM (low-level-virtual-machine), которое можно считать самым важным ядром компилятора. На рисунке показана схема работы оригинального EVM, а смарт-контракт преобразуется в Bytecode через промежуточный код LLVM IR. Эти байт-коды хранятся в блокчейне, и при вызове смарт-контракта байт-код преобразуется в соответствующий опкод, который затем выполняется оборудованием EVM и узла.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/b3da87c9e06d747a77eba26a9dbd96e9.)
1.2 Основные виртуальные машины
1.2.1 EVM - Blockchain VM имеет один камень, EVM имеет восемь блоков, а остальное разделено на два блока
Представительские проекты: Optimism, Arbitrum
Как экосистема блокчейна с самой высокой активностью разработчиков и пользователей в отрасли, виртуальная машина Ethereum EVM представляет собой виртуальную машину на основе стека, которая обеспечивает виртуальную компьютерную среду путем эмуляции аппаратных устройств, таких как процессор, память, память и стеки, для выполнения инструкций смарт-контракта и хранения состояния и данных смарт-контракта. Набор инструкций EVM включает в себя различные коды операций кода операции, такие как арифметические операции, логические операции, операции хранения, операции перехода и т. д.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/5697bec2651732ec30d01cdb82f404c2.)
Память и память, эмулируемые EVM, являются устройствами, используемыми для хранения состояния и данных смарт-контракта. EVM рассматривает память и память как две отдельные области, которые могут получить доступ к состоянию и данным смарт-контракта путем чтения и записи в память и память.
Стек EVM-симуляций используется для хранения операндов и результатов инструкций. Большинство инструкций в наборе инструкций EVM основаны на стеке, они считывают операнды из стека и отправляют результаты обратно в стек.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/3868c7284468389a35dd1c4f01a906ae.)
Очевидно, что процесс проектирования EVM идет снизу вверх, сначала завершается смоделированная аппаратная среда (стек, память), а затем разрабатывается собственный набор наборов ассемблерных инструкций (Opcode) и байт-кода (Bytecode) в соответствии с соответствующей средой. Сообщество Ethereum разработало два компилируемых высокоуровневых языка - Solidity и Vyper - для эффективности выполнения EVM. Излишне говорить, что Vyper — это высокоуровневый язык EVM от Vitalik, предназначенный для устранения некоторых недостатков в Solidity, но он не получил широкого распространения в сообществе, поэтому постепенно канул в безвестность.
1.2.2zkEVM - Я хочу все: совместим со средой EVM + поддержка преобразования корня глобального состояния для генерации zk-proof
Представительские проекты: Taiko, Scroll, PolygonzkEVM
Поскольку EVM не построен с учетом zk-proof-вычислений, он не дружелюбен к схемам доказательства, особенно с точки зрения специальных кодов операций, архитектур на основе стека, накладных расходов на хранение и затрат на доказательство. zkEVM - это виртуальная машина, которая выполняет смарт-контракты способом, совместимым с zk-proof computing, так что процесс выполнения EVM может быть проверен более эффективно и экономично с помощью zk-proof/validity-proof. По сравнению с OPRollup, уровень выполнения должен только копировать EVM, и создание EVM, совместимого с ZK, является дополнительной проблемой для ZK Rollup.
ZK-роллапы нелегко совместимы с виртуальной машиной Ethereum (EVM). Доказательство вычисления EVM общего назначения в цепи является более сложным и ресурсоемким, чем доказательство простого вычисления, такого как передача токена, описанная ранее.
Однако достижения в технологии нулевого разглашения(откроется в новой вкладке) возродили интерес к обертке вычислений EVM в доказательства с нулевым разглашением. Эти усилия направлены на создание реализации EVM с нулевым разглашением (zkEVM), которая может эффективно проверять правильность выполнения программы.
Как и EVM, zkEVM переходит из одного состояния в другое после выполнения вычислений на определенных входных данных. Разница заключается в том, что zkEVM также создает доказательства с нулевым разглашением для проверки правильности каждого шага в выполнении программы. Доказательства валидности могут проверить правильность операций, связанных с состоянием виртуальной машины (памяти, стека, хранилища) и самих вычислений (т. е. вызвала ли операция правильные коды операций и правильно ли их выполнила?). )。
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/e4db398cf7cd926f3d6ce5de03b860de.)
В настоящее время Rollup сложно достичь ZK-friendly и EVM совместимости (или даже эквивалента), то есть либо максимально полно реплицировать уровень исполнения Ethereum L1, включая хеши, деревья состояний, деревья транзакций, прекомпиляцию и т. д., чтобы клиент исполнения Ethereum L1 мог использовать его как есть для обработки блоков Rollup; Либо откажитесь от совместимости EVM и воссоздайте существующий код операции для доказательства/проверки в схеме, что позволит выполнять смарт-контракты.
1.2.3zkVM - Вы не можете иметь и то, и другое: 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.4Privacy zkVM - zk friendly + встроенная поддержка конфиденциальности пытается зажечь новую искру в экосистеме
Представительские проекты: Aleo, Ola, PolygonMiden
Блокчейн — это публичная система реестра, в которой все транзакции осуществляются в блокчейне, что означает, что изменения состояния, содержащие информацию об активах, связанных с адресами или счетами, являются открытыми и прозрачными. В результате, помимо работы над решениями для масштабирования, некоторые блокчейн-команды считают, что следующей ключевой функцией, которая должна быть реализована, является конфиденциальность.
В дополнение к поддержке масштабирования, дружественной к zk, PrivacyzkVM позволяет разработчикам приложений верхнего уровня открывать децентрализованные приложения, связанные с конфиденциальностью, благодаря функциям конфиденциальности, изначально поддерживаемым собственным языком программирования, что принесет новые сценарии приложений и грандиозные повествования, такие как полное решение проблемы MEV и обеспечение владения пользовательскими данными. Конечно, сложность дизайна PrivacyzkVM требует гораздо большей технической команды для реализации, и на это может уйти несколько лет.
1.2.5SVM - После отлива все еще остаются угли: среда выполнения, которая была спроектирована с максимальной производительностью
Репрезентативные проекты: Eclipse Mainnet, Nitro, MakerDAOChain (возможно)
SVM, или виртуальная машина Solana, ориентирована на высокопроизводительную среду выполнения, а смарт-контракты в основном написаны на Rust. В отличие от однопоточных вычислительных сред выполнения EVM и EOSWASM, SVM обеспечивает неперекрывающиеся транзакции и параллельное выполнение транзакций, которые считывают только одно и то же состояние, требуя, чтобы транзакции Solana описывали все состояния, которые будут прочитаны или записаны в них во время выполнения.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/7224c8325f628b476cc8a58648118a12.)
Кроме того, для быстрой проверки/трансляции большого количества блоков транзакций в процессе проверки транзакций в сети Solana широко используются оптимизации конвейера, которые распространены при проектировании процессоров. Чтобы соответствовать ситуации, когда последовательность шагов обрабатывает входной поток данных, и каждый шаг имеет свою аппаратную ответственность. Типичной аналогией является стиральная и сушильная машины, которые стирают/сушат/складывают несколько партий белья последовательно. Перед сушкой необходимо проводить стирку, а перед сушкой – складывание, но каждая из этих трех операций выполняется отдельным агрегатом.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/4a6afec0f411e515b6b7acd0ca7f7986.)
Кроме того, SVM основаны на регистрах и имеют гораздо меньший набор инструкций, чем EVM, что упрощает выполнение SVM в ZK. Для оптимистичных сверток проекты на основе регистров упрощают установку контрольных точек.
1.2.6FuelVM - Buff Stacked: параллельная виртуальная машина под UTXO Framework
Представительский проект: Топливо
Fuel VM основана на технологическом фреймворке EVM, Solana, WASM, BTC и Cosmos и имеет следующие особенности по сравнению с EVM:
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/893b74b06bf09e594fcaa3facdcab828.)
Самое уникальное заключается в том, что Fuel не только имеет возможность выполнять транзакции параллельно с непересекающимися транзакциями, устанавливая списки доступа, такие как SVM, но и использует модель UTXO, которая разделена на токен UTXO и контрактный UTXO, что еще больше повышает эффективность доступа и вычислительную пропускную способность.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/597b6194925d676cbc7b16ee50934720.)
Кроме того, Fuel VM обеспечивает мощный и гибкий интерфейс разработчика с помощью собственного предметно-ориентированного языка Sway и набора инструментов поддержки Fort, а также среды разработки, которая сохраняет преимущества языков смарт-контрактов, таких как Solidity, но при этом принимает парадигмы, представленные в экосистеме инструментов Rust.
В будущем в Fuel VM также будут реализованы обновления языка Sway, включая оптимизацию компилятора с точки зрения размера байт-кода, Sway будет поддерживать больше бэкендов (бэкенды EVM уже находятся в разработке), абстракции станут более экономичными, больше приложений будет перенесено с Solidity/Vyper на Sway, улучшен анализ повторного входа на уровне компилятора и многое другое.
1.2.7ESCVM - Преемник Ordinal/Smartweave: вычислительный уровень поверх Ethereum
Представительский проект: Ethions Protocol
ESCVM, или Ethions Virtual Machine, — это схема смарт-контрактов, предложенная Ethions Protocol. Сам протокол Ethions — это протокол, похожий на BTC Ordinal в цепочке Ethereum, ориентированный на изучение недорогих альтернатив смарт-контрактам и L2.
Ethions позволяет пользователям обходить хранение и выполнение смарт-контрактов за небольшую часть стоимости, а также применять calldata в Tx для вычислений с помощью заранее согласованных правил протокола. Проще говоря, до тех пор, пока успешная транзакция Ethereum имеет calldata, который соответствует указанной валидной спецификации данных, а уникальный адрес & «to» не равен 0, можно считать, что он законно создал Ethion, где адрес «от» является создателем, а адрес «кому» — владельцем.
В начале дизайна каждый Ethion больше склоняется к форме NFT, например, к изображению NFT, и напрямую записывает содержимое изображения в calldata через формат Base64:
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/6a16558230f9a8edcdf93f3c49f3ff18.)
Самым популярным eths в последнее время является Ethion, который был создан со ссылкой на спецификацию протокола BRC-20:
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/32932301680ca546fcdd7ac441b73628.)
Смарт-контракт, представленный ESC VM, известный как «тупой контракт», рекламируется как логический контракт, но не взаимодействует в блокчейне в виде самого EVM. Кроме того, ESC VM также добавляет специальный формат "Computer 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.8BitVM - интересный исследовательский эксперимент: одноранговые каналы исполнения на BTC
Представительский проект: ZeroSync
Робин Лайнус, основатель ZeroSync, 9 октября выпустил white paper «BitVM: Compute Anything On Bitcoin», который является не виртуальной машиной, если быть точным, а попыткой создать полное по Тьюрингу вычислительное пространство с контрактами, хранящимися в цепочке биткоина, но логика контракта выполняется вне блокчейна. Если вы считаете, что другая сторона находится в состоянии дефолта, вы можете запустить челлендж в цепочке, а если другая сторона не может правильно ответить, вы можете забрать все средства по контракту.
Преимущество заключается в том, что он может дать Биткойну Тьюринга полноту без каких-либо модификаций протокола Биткойна, без новых опкодов, без софтфорков и готов к применению.
Его недостатки также очевидны, один из них заключается в том, что он поддерживает транзакции только между двумя сторонами (одна доказывает, а другая проверяет), а другой заключается в том, что создание контракта требует создания большого объема данных и предварительного подписания большого количества транзакций, а стоимость хранения информации вне сети огромна.
Вот краткое введение в техническую логику:
ОБЯЗАТЕЛЬСТВО ПО ВВОДУ БАЛЛОВ
Фиксация ввода с точкой позволяет проверяющему установить входное значение 0 или 1 для логического вента, и в этом промисе есть два хеш-значения H(A0) и H(A1), и проверяющий должен раскрыть хэш предшественника, например, A0, затем установить входное значение равным 0, если обнаружено A1, установить входное значение равным 1.
Обязательство Logic Gate
После того, как у вас есть входные значения, вы можете комбинировать любой логический вентиль в Bitcoin Script, комбинируя коды операций amp и NAND Bitcoin.
Обещание бинарной схемы
Полнота по Тьюрингу может быть достигнута путем объединения сотен миллионов логических вентилей в двоичную схему. Для того, чтобы зафиксировать эту бинарную схему в сети Bitcoin, все логические вентили должны быть помещены в конечный узел с адресом Taproot.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/7468e3b36e547f00ef329309820a4b07.)
ВЫЗОВ - ОТВЕТНАЯ СЕССИЯ
Недостаточно зафиксировать цепь в блокчейне, обеим сторонам транзакции нужен эффективный способ проверки правильности расчетов контракта. В идеале контракт действует вне блокчейна, и обе стороны счастливы, когда они сотрудничают и не оспариваются. Однако, если между двумя сторонами сделки возникает спор, необходимо перейти на стадию Challenge-Response, чтобы проверить результаты расчета и принудительно распределить баланс канала через Bitcoin Script.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/31d50ed5a8744519960a6656929a6615.)
Таким образом, BitVM — это далеко не какой-то BitcoinRollup или L2, который не имеет полноценной среды выполнения виртуальных машин, глобального состояния, высокоуровневого языка для публикации сложных смарт-контрактов и не может позволить любому количеству пользователей легко взаимодействовать с этими контрактами. Чтобы проиллюстрировать это на примере неспециалиста, BitVM похожа на создание гигантского компьютера размером больше комнаты в эпоху, когда каждый может использовать мобильные устройства.
1.2.9 MoveVM - продукт наследования гена Web2 от Facebook
Репрезентативные проекты: Aptos, Sui
Move — это язык программирования для написания безопасных смарт-контрактов, который изначально был разработан Facebook для поддержки блокчейна Diem, а после того, как блокчейн-проект Diem был прекращен, такие проекты, как Aptos и Sui, продолжили использовать язык Move. Самая большая особенность блокчейна Move заключается в том, что хранилище данных использует глобальное хранилище, которое состоит из дерева с адресом учетной записи в качестве корня, и каждый адрес может хранить данные ресурсов и код модуля.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/880930d84eb1ed81df7b4ec1fbd8c82f.)
Существует два различных типа программ для Move: модули и скрипты. Модуль — это библиотека, определяющая типы структур и функции, работающие с этими типами. Тип структуры определяет глобальный режим хранения для Move, а функция module определяет правила обновления хранилища. Сами модули также хранятся в глобальном хранилище. Скрипты, с другой стороны, являются точкой входа в исполняемый файл, подобно функции main в традиционных языках, и представляют собой временные фрагменты кода, которые не публикуются в глобальном хранилище.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/bffe7529268a49a3df8994f343dc55b0.)
Таким образом, модуль Move похож на модуль динамической библиотеки, который загружается при выполнении системного исполняемого файла, в то время как сценарий аналогичен основной программе. Пользователи могут писать свои собственные сценарии для доступа к глобальному хранилищу, включая вызов модулей, в то время как публикацией модулей или выполнением сценариев можно управлять с помощью MoveVM.
1.3 Тенденция экологического развития
Теперь, когда сетевой эффект EVM настолько силен, миграция пользователей EVM в экосистемы, не связанные с EVM, стала самой большой точкой роста для новых блокчейн-проектов, которые принесут большую компонуемость Dapp, а более широкие возможности подключения могут привести к более быстрому росту пользователей в ближайшие годы.
1.3.1 Совместимость с интерфейсом кошелька
Представление пользователей EVM в цепочках, отличных от EVM, исторически было серьезным препятствием, но недавний запуск Metamask Snap сломает этот барьер. Пользователи EVM могут продолжать использовать MetaMask без необходимости менять кошельки. Благодаря вкладу Drift с открытым исходным кодом, который создает отличную реализацию MetaMask Snap, UX эквивалентен взаимодействию с любой цепочкой EVM. Пользователи основной сети Eclipse смогут взаимодействовать с нативными приложениями в MetaMask или использовать собственные кошельки Solana, такие как Salmon.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/5e997aade0d79e4b85ab48913fcc7941.)
Совместимость с серверной частью 1.3.2VM
1.3.2.1 Транспайлер/компилятор
Представительский проект: Wrap
Warp — это транспайлер Solidity-Cairo, разработанный Nethermind, известной командой по инфраструктуре Ethereum. Warp может транслировать код Solidity в Cairo, но переведенная программа Cairo часто нуждается в модификации и добавлении функций Cairo (таких как вызов встроенных функций, оптимизация памяти и т. д.) для максимизации эффективности выполнения.
1.3.2.2 Интерпретатор байт-кода/уровень, совместимый с VM
Представительские проекты: Kakarot, Neon EVM
Kakarot — это интерпретатор байт-кода EVM, реализованный в виде смарт-контракта, написанного на Cairo на Starknet, который имитирует стек, память, выполнение и другие аспекты EVM в виде смарт-контракта Cairo. По сравнению с трансляцией кода, Kakarot реализует поэлементную реализацию Opcode и Pre-compile за EVM, а также создает такие компоненты, как Account Registry и Blockhash Registry, чтобы обеспечить дополнительную обработку для сопоставления адресов учетных записей и получения информации о блоках, чтобы kakarot имел более высокую нативную совместимость.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/663d518717668dd2d6b29088d974b1a6.)
Neon EVM — это тип EVM, который работает как смарт-контракт и может быть развернут в любой цепочке SVM. Сама основная сеть Eclipse использует SVM в качестве среды выполнения, но обеспечивает полную совместимость с EVM (включая поддержку байт-кода EVM и Ethereum JSON-RPC) через Neon EVM и более высокую пропускную способность, чем однопоточный EVM. Кроме того, каждый экземпляр Neon EVM имеет свой локальный рынок комиссий, то есть существует верхний предел (1/4 блока вычислительной единицы), связанный с взаимодействием одного контрактного аккаунта на высоте блока, поэтому пользователям нужно платить приоритетные сборы только тогда, когда конкретное взаимодействие или блок горячего контракта заполнены. В этом смысле приложение развертывает свой собственный контракт, чтобы получить преимущество, аналогичное преимуществу цепочки приложений, тем самым уменьшая нарушение пользовательского опыта, безопасности или ликвидности всей сети, когда конкретный контракт взаимодействует с перегрузкой передачи.
! [Под волной накопительных пакетов виртуальным машинам по-прежнему есть что рассказать] (https://cdn-img.panewslab.com//panews/2022/10/30/images/103e4dc44ec28ccee4ab8035e4e0867d.)
Ресурсы:
«Kakarot: Изучение пути Starknet к совместимости EVM», Cynic & Starknet Astro,
«BitVM горячо обсуждается, может ли сеть Биткойн достичь полноты по Тьюрингу?» ",Хаотянь,
«Обзор архитектуры и экосистемы технологии Starkware», автор Maxlion,
«Исследование проекта 丨 Отчет об исследовании топлива на уровне модульного высокоскоростного исполнения», от Web3CN,
«Анализ первой критической уязвимости Aptos Move VM», Numen Cyber Labs,
11."Что такое SVM - виртуальная машина Solana",от Squads,
12."Introducing Eclipse Mainnet: The Ethereum SVM L2", автор Eclipse,
«Различные типы ЗК-ЭВМ», Виталик Бутерин,
«Исследовательский отчет Cipholio: разговор о решении и будущем ZkVM», Йоло Шен, Cipholio Ventures,