Смарт-контракты являются ключевой частью блокчейна. Первоначально блокчейны были разработаны как гигантская альтернативная платежная сеть для односторонних транзакций между узлами. Создание виртуальных машин блокчейна (VM) позволило создавать смарт-контракты поверх блокчейнов. С тех пор блокчейн стал базовым слоем, на котором можно было построить что угодно.
Ethereum разработал первый экземпляр виртуальной машины для технологии блокчейн. Виртуальная машина Ethereum (EVM) получила широкое распространение: популярные блокчейны уровня 1, такие как BNB Smart Chain, Avalanche и Tron, работают как ответвление EVM, не говоря уже о многих EVM-совместимых блокчейнах уровня 2, создаваемых сегодня. С помощью EVM разработчики могут легко переносить существующие приложения через EVM-совместимые блокчейны с минимальными изменениями кода.
Однако виртуальная машина Solana (SVM), один из новейших прототипов виртуальной машины, созданной для работы блокчейнов смарт-контрактов, становится конкурентом EVM. По словам разработчиков, SVM была создана с нуля с использованием технологий, ориентированных на высокую производительность и общую гибкость.
Понимание виртуальной машины Solana (SVM)
Виртуальная машина Solana обрабатывает транзакции смарт-контрактов для блокчейна Solana. Разработчики утверждают, что SVM, созданная на языке программирования Rust, адаптирована к условиям высоких требований и предназначена для наиболее эффективной обработки транзакций. В качестве виртуальной машины SVM работает как виртуализированная обрабатывающая машина, которой поручено развертывание смарт-контрактов, обработка транзакций и других запросов из этих контрактов.
Эти транзакции представляют собой запросы на изменение состояния, когда виртуальная машина Solana вычисляет запросы и обновляет общее состояние блокчейна после каждого запуска. Таким образом, SVM — это среда выполнения блокчейна Solana. Он действует в синергии с уровнем консенсуса блокчейна Solana, обеспечивая динамическую сеть для создания и запуска приложений Web3.
SVM поддерживает разнообразные приложения для смарт-контрактов, включая GameFi, приложения DeFi и другие децентрализованные приложения. Как и EVM, SVM представляет собой модульную машину, в которой приложения можно развертывать вместе с другими компонентами, например, уровнем доступности данных/консенсуса, для построения децентрализованных сетей с небольшими изменениями или без изменений их исходной формы.
Чтобы лучше понять это, давайте посмотрим, что на самом деле представляет собой виртуальная машина.
Что такое виртуальная машина?
Виртуальная машина (VМ) — это программная эмуляция компьютерной системы, которая может запускать операционную систему, а также устанавливать и выполнять приложения. Традиционно пользователи запускали виртуальную машину как отдельную среду, полностью изолированную от операционной системы основного компьютера.
В то время как традиционные виртуальные машины представляют собой изолированные песочницы, виртуальные машины с блокчейном функционируют как уровень исполнения сети для децентрализованных приложений. Виртуальные машины блокчейна децентрализованы: узлы в сети запускают экземпляр виртуальной машины блокчейна на своем устройстве, вычисляют изменения состояния и отслеживают изменения состояния, предложенные другими валидаторами, для достижения консенсуса, обеспечивая правильную запись записей транзакций в сети.
Как работает виртуальная машина Solana
Пользователи блокчейна всегда ищут безопасные сети блокчейна, которые позволяют им выполнять транзакции как можно быстрее, платя при этом минимально возможные комиссии. Виртуальная машина Solana была разработана для удовлетворения требований пользователей и разработчиков блокчейна к пропускной способности одновременно с соблюдением баланса между децентрализацией, масштабируемостью и безопасностью блокчейна.
В основе работы Solana VM лежит модель параллельной обработки транзакций. Структурируя блокчейн Solana для одновременной обработки нескольких транзакций, а не последовательно, SVM может повысить пропускную способность и одновременно обеспечить масштабируемость.
Параллельное выполнение с SeaLevel
SeaLevel — один из наиболее важных компонентов виртуальной машины Solana, поскольку он позволяет виртуальной машине выполнять транзакции параллельно. В отличие от модели последовательного выполнения, модель параллельной обработки транзакций обрабатывает транзакции одновременно валидаторами по сети. Это позволяет сети достичь более высокой пропускной способности и улучшенной масштабируемости.
Обработка транзакций SVM и EVM
Одна из проблем параллельного выполнения заключается в том, что две транзакции, изменяющие состояние одной и той же учетной записи, выполняются одновременно, что может привести к ошибкам в окончательном вычислении учетной записи.
Например, баланс кошелька составляет 0,5 SOL. Есть два запроса: запрос на отправку 2 SOL на аккаунт и запрос на перевод 1 SOL со счёта. Если запрос на передачу обрабатывается до запроса на отправку, могут возникнуть ошибки. Давайте посмотрим, как SeaLevel справляется с этой ситуацией.
Благодаря Sea Level блокчейн Solana способен обрабатывать множество транзакций, используя многопоточную среду выполнения. Контракты Solana разработаны так, чтобы их последствия были явными: в смарт-контрактах указывается, какая часть состояния блокчейна изменяется каждой транзакцией. Это позволяет конечному автомату отличать зависимые транзакции от независимых. Независимые транзакции могут выполняться без конфликтов, поскольку они не влияют на одну и ту же учетную запись. В случае зависимых транзакций, затрагивающих одну и ту же учетную запись, они обрабатываются последовательно, чтобы избежать конфликтов.
Модель параллельной обработки транзакций позволяет блокчейну Solana максимально использовать свои ресурсы, что приводит к более быстрой обработке транзакций и снижению комиссий за транзакции. Более того, чтобы решить проблему масштабируемости комиссий за газ, с которой сталкиваются другие виртуальные машины, такие как EVM, блокчейн Solana управляет локализованным рынком комиссий.
Локализованный рынок комиссий
В отличие от глобального рынка комиссий, локализованный рынок комиссий не позволяет всплеску активности одного смарт-контракта повлиять на общую структуру комиссий сети.
Рынки комиссий — глобальный и локализованный
На глобальных рынках комиссионных вся сеть борется за один и тот же процессинговый центр. В сценарии, когда один смарт-контракт испытывает высокий спрос, вся сеть страдает от высокой частоты запросов от этого смарт-контракта. Это приводит к ситуациям, когда общая плата за сеть увеличивается, когда популярный проект испытывает всплеск активности, например, во время выпуска NFT для популярного проекта.
Чтобы предотвратить это, сеть Solana реализует локализованный рынок комиссий. При этом каждый смарт-контракт в сети использует отдельную структуру платы за обработку. В случае всплеска активности транзакции смарт-контракта испытывают всплеск газа, в то время как остальная часть сети по-прежнему работает с обычной ставкой газа. Это ограничивает влияние всплесков активности связанных приложений смарт-контрактов, в то время как остальная часть сети остается практически незатронутой.
Однако в периоды пикового спроса, когда все децентрализованные приложения в сети испытывают высокую активность, это по-прежнему усиливает конкуренцию за оставшееся блоковое пространство и приводит к более высоким комиссиям за газ.
Объединение проектов с использованием SVM
Благодаря высокой производительности Solana VM некоторые накопительные проекты выбирают для исполнения SVM, сохраняя при этом безопасность и децентрализацию основной сети. Вот несколько объединенных сетей, использующих виртуальную машину Solana.
Eclipse
Eclipse — это EVM-совместимая сеть с нулевым разглашением уровня 2, построенная с использованием виртуальной машины Solana. Согласно проекту, принятие модели SVM для создания чрезвычайно быстрого объединения и расчета транзакций в сети Ethereum позволяет им объединить лучшее из обоих миров. Хотя виртуальная машина Solana способна обрабатывать транзакции быстрее, чем EVM, Ethereum известен как одна из самых безопасных и децентрализованных сетей смарт-контрактов. Таким образом, Eclipse может достичь более высокой скорости по сравнению с другими объединенными сетями EVM Ethereum, сохраняя при этом безопасность и децентрализацию на уровне Ethereum.
Eclipse использует Celestia для своего уровня доступности данных (DA). Целью Celestia является создание стабильной сети для передачи данных между средой исполнения и консенсусной системой Ethereum. Он также использует нулевой RISC для вычислений доказательства с нулевым разглашением. Используя систему подтверждения достоверности ZK, Eclipse надеется добиться немедленной проверки данных своих транзакций в основной сети. Это устраняет необходимость в дополнительной системе защиты от мошенничества и интервале ожидания проверки основной сети, как в случае оптимистичных пакетов.
На момент написания Eclipse еще не был публично запущен. Согласно недавнему объявлению Eclipse Foundation, проект собрал в общей сложности 65 миллионов долларов для продвижения своих усилий по созданию SVM L2 для блокчейна Ethereum.
MakerDAO
Проект все еще находится на этапе управления сообществом, но уже доступна некоторая информация. Соучредитель MakerDAO Руне Кристенсена предпочел кодовую базу Solana в качестве прототипа для нового блокчейна проекта. В предложении, представленном сообществу Rune, он назвал устойчивость блокчейна Solana в условиях краха биржи FTX и его оптимизацию с целью эксплуатации единственного, высокоэффективного блокчейна в качестве основной причины, по которой он считает кодовую базу сети лучшим выбором.
Судя по сообщению сообщества, Cosmos является еще одним основным претендентом, имеющим историю успешных блокчейнов приложений, использующих стек Cosmos. Однако Cosmos не построен на эффективности в своей основе, как Solana, а это означает, что его обслуживание и поддержание производительности будут стоить дороже.
Если проект, наконец, решит принять кодовую базу сети Solana в качестве стандарта для своего NewChain, это послужит смелым заявлением о положительном впечатлении, которое виртуальная машина Solana произвела на блокчейн-проекты. Подтверждая свое предпочтение кодовой базе Solana, Руне упомянул, что разработка сети блокчейнов с кодовой базой Solana позволит Maker извлечь выгоду из устойчивости блокчейна Solana и его сообщества. Кроме того, MakerDAO сможет получить доступ к большому пулу разработчиков и ресурсам, что позволит ему расти быстрее. Сеть также создаст путь связи с сетью Solana с помощью мостов.
SVM против EVM
Сеть Solana создает для себя путь с помощью виртуальной машины Solana. По мере роста экосистемы SVM будет конкурировать с гораздо более старой EVM с точки зрения актуальности и внедрения. SVM и EVM могут обрабатывать транзакции смарт-контрактов для сетей блокчейна. Как и EVM, SVM находит применение в других сетях блокчейнов, помимо сети Solana. Здесь мы рассмотрим некоторые из их ключевых отличий.
Язык программирования: Rust против Solidity
Язык программирования Solidity был разработан специально для EVM. Это адаптация языка программирования JavaScript, разработанная для простоты обучения. Как и JavaScript и многие другие языки программирования высокого уровня, Solidity является объектно-ориентированным, где переменные объявляются с использованием объектов и классов. Как язык программирования для смарт-контрактов и EVM, Solidity разработан с упором на безопасность.
Для сравнения, Rust — это общий язык программирования. Его можно использовать для смарт-контрактов и других приложений. Хотя Rust сложнее изучить, он известен своей гибкостью и эффективностью использования памяти, а также своей репутацией в области обеспечения высокой производительности и параллелизма, что согласуется с акцентом Solana на масштабируемости.
Модель обработки транзакций: параллельная и последовательная обработка
SVM — это многопоточная среда обработки транзакций. Он широко использует ресурсы, доступные в сети, для обработки транзакций. Несколько транзакций выполняются одновременно на разных ядрах валидатора, а доказательства транзакций передаются на согласование, поскольку сеть достигает однородного состояния после каждого запуска. Как указано выше, Solana SeaLevel гарантирует, что сеть избежит сложностей параллельной обработки при выполнении этой модели выполнения.
И наоборот, EVM обрабатывает транзакции последовательно. Несколько транзакций ставятся в очередь и обрабатываются одна за другой. Сеть проверяет транзакции, используя одно ядро валидатора одновременно. Параллельная обработка показала значительно более высокую пропускную способность, чем модели последовательной обработки транзакций. Согласно сообщенным данным, блокчейн Solana может обрабатывать тысячи транзакций в секунду — это выше, чем заявленная скорость блокчейна Ethereum и других экземпляров EVM, таких как сети L2 и сайдчейны POS.
Эффективность: TPS против комиссии за транзакцию
Судя по информации, полученной от официальных исследователей сети, Solana имеет скорость транзакций более 2400 TP, а комиссия за транзакцию составляет всего 0,001 доллара США. По сравнению с сетями EVM, такими как Base Network, со скоростью транзакций около 47 TPS и комиссией за транзакцию около 0,03 доллара США, сеть Solana демонстрирует значительно более высокую эффективность затрат и времени. Хотя это может зависеть от условий сети, Solana также может масштабироваться до более чем 60 000 TPS. После внедрения EIP-4844 комиссия за транзакцию базовой сети составляет 0,03 доллара США, что является улучшением по сравнению с комиссией за транзакцию в блокчейне основной сети, однако она все еще не достигает экономической эффективности блокчейна Solana.
Сводная информация о SVM и EVM
Solana VM (SVM) | Ethereum VM (EVM) | |
---|---|---|
Обработка транзакции | Многопоточная среда обработки транзакций | Однопоточная среда обработки транзакций |
Обработка данных | Смарт-контракты Solana описывают все состояния, в которых транзакция будет читать или записывать во время выполнения | Транзакции выполняются последовательно, что устраняет необходимость объявлять состояния перед выполнением |
Язык программирования | Rust, С++ | Solidity, Vyper, JavaScript |
Эффективность | Транзакции обрабатываются быстрее | Относительно медленнее из-за однопоточной модели |
Принятие | Solana, Nitro, Eclipse | Используется многочисленными сайдчейнами, сетями L1 и L2 |
Рынок комиссий | Глобальный и локализованный рынок комиссий | Глобальный рынок комиссий |
Заключение
Виртуальная машина Solana отдает приоритет высокой пропускной способности; функция, которую ищет большая часть разработчиков блокчейнов. Это в значительной степени способствует общей популярности блокчейна Solana.
Поскольку сеть Solana сейчас добилась успеха и внедрения, мы наблюдаем раннее внедрение SVM в других проектах, аналогично тому, как ранее внедрялась EVM. Эти проекты либо основываются непосредственно на достижениях сети Solana, либо создают собственный стек с использованием других модульных компонентов.
В этой статье делается попытка дать читателям представление о том, что на самом деле представляет собой виртуальная машина Solana и как она работает. Однако она не исчерпывает всех аспектов Solana VM и связанных с ней проектов. При этом обратите внимание, что эта статья предназначена только для образовательных целей и не является финансовым советом.