区块链中文技术社区

什么是 SVM - Solana 虚拟机

Solana 作为下一代高度可扩展的区块链而备受关注,这主要归功于其卓越的性能,每秒可以处理数千笔交易且几乎不收取任何费用。Solana 先进技术的关键要素之一是其执行环境 SVM,其中包括 Sealevel 并行化引擎。

本文介绍了 Solana 虚拟机 (SVM),以及这种创新基础设施如何使 Solana 区块链能够提供比以太坊等传统 EVM 区块链更高的性能。虽然 EVM 长期以来一直是加密货币领域的主导虚拟机标准,但我们还将探讨 SVM 如何通过 Nitro 和 Eclipse 等汇总解决方案逐步扩展。

Solana 虚拟机 (SVM) 和 Sealevel 详解

Solana 虚拟机(简称 SVM)是 Solana 网络上处理交易和智能合约/程序的执行环境。为了更好地理解 SVM,我们首先需要了解虚拟机在加密网络中的工作原理。

在区块链的背景下,虚拟机 (VM) 是一种运行程序的软件,通常被称为加密网络执行智能合约的运行时环境。提交交易后,网络的虚拟机负责处理该交易并管理受此交易执行影响的区块链状态(整个网络的当前状态)。更改网络状态的具体规则由 VM 定义。

在处理交易时,虚拟机将智能合约代码转换为验证器硬件可以执行的格式。在 Solana 上,编写智能合约的主要语言是 Rust、C 和 C++,这些语言由 Solana 虚拟机 (SVM) 编译为 BPF 字节码,从而使网络节点 (验证器) 能够高效地执行交易。

Solana 网络的节点(称为验证器)各自运行自己的 Solana 虚拟机 (SVM) 隔离环境,以维护整个区块链的共识。部署智能合约(修改网络状态)时,它会将所需的状态更改传达给运行时。然后,Solana 运行时将这些状态更改转发到每个验证器系统内运行的 SVM 实例,所有验证器节点都会收到一份副本并对其进行转换,从而更新区块链。这种在验证器之间分布 SVM 实例的方式形成了去中心化的网络,降低了 DDoS 攻击或关闭的风险。此外,这种隔离可确保智能合约中的潜在错误或漏洞不会损害整个 Solana 网络的安全性或稳定性。

总而言之,这些 SVM 实例可以视为“微型计算机”,它们根据交易提供的指令执行必要的操作来更新 Solana 网络的状态。虽然当今许多区块链都依赖于以太坊虚拟机 (EVM),但 Solana 已经开发了自己的 VM,具有独特的功能,可提供更高的性能。

VM 的关键组件是Sealevel 该引擎允许多个智能合约同时运行而不会影响彼此的性能,从而实现 Solana 执行环境中的“水平”扩展,这一概念称为并行处理。这是因为 Solana 智能合约描述了在运行时执行时将读取或写入哪些数据(状态)。这允许没有冲突的交易以及仅读取相同信息的交易同时运行。因此,Sealevel 使 SVM 能够同时处理数万笔交易,而不是像以太坊虚拟机 (EVM) 那样逐一处理它们。

SVM 与 EVM(以太坊虚拟机)

虽然 EVM 和 SVM 都执行类似的功能,但 Solana VM 效率更高、速度更快。在 EVM 上,当智能合约从用户余额中转移一美元时,此交易将存储在特定合约的存储中。如果以太坊虚拟机尝试并行处理多个交易,这种设计会产生潜在问题。例如,两个不同的智能合约可能同时尝试使用用户的余额,或者另一个合约可能在更新过程中读取同一用户的余额,从而导致不一致和冲突。

相比之下,Solana 账户模型将数据(例如用户余额)分开,以便更好地组织和提高效率。Solana 上的交易还需要明确指定在 SVM 中执行之前将读取和修改的数据。如前所述,这允许不与相同数据交互的程序同时运行,这有助于缓解拥堵并降低高额费用。例如,Solana VM 可以同时处理 Toly 向 Raj 发送一美元和 Armani 向 Chase 发送三美元。

EVM 难以同时处理多个交易的原因部分在于它是一个“单线程”运行时环境,一次只能处理一个合约。因此,EVM 设计没有利用多核硬件,这意味着验证器硬件中只有一个核心在积极处理交易,而其他核心仍未得到充分利用。这通常会导致网络拥塞和更高的交易费用。然而,值得注意的是,除了多线程运行时之外,其他因素也导致了 EVM 的限制,例如希望保持运行节点的低硬件要求。

另一方面,Sealevel 通过高效利用可用的硬件资源优化了 Solana 运行时的性能。SVM 是一个多线程运行时环境,旨在通过使用验证器机器的所有可用核心并行处理多个交易。随着验证器硬件的不断改进,这使得 Solana 能够更有效地扩展。得益于其架构,Solana 虚拟机还可以更好地管理交易费用。这导致了本地费用市场的发展,从而可以按智能合约分配费用。相比之下,EVM 链依赖于全球费用市场,这意味着 NFT 铸币可以影响掉期或 DeFi 交易,即使这些交易毫无关联。

出于所有这些原因,SVM 的并行处理能力使 Solana 能够实现更高的 TPS,从而实现更快的交易速度,并且与 EVM 架构相比,几乎看不到费用。这使 SVM 成为下一代区块链环境,效率更高、性能更强。随着越来越多的开发人员认识到这一点,我们开始看到 SVM 被越来越多地采用为智能合约的执行环境,一个新兴的 SVM rollups 生态系统正在形成。

新兴的 SVM Rollups 生态系统

Rollup 是一种区块链扩展解决方案,它处理第 1 层区块链(例如 Solana)之外的交易,然后将数据追溯到第 1 层。 Rollup 旨在通过将多笔交易捆绑在一起,形成一个“证明”,然后提交给主链,从而减少网络拥塞和交易费用。构建 Rollup 的最大优势是能够完全自定义链。这种自定义允许各种用例,例如定制订单簿、用于最小化 MEV(矿工可提取值)的加密内存池或旨在满足特定要求的许可应用程序。

虚拟机还可用于简化使用同一 VM 的其他链上的开发人员的部署过程。这种网络效应极大地惠及了以太坊及其 VM,因为它是加密智能合约的第一个运行时环境。因此,EVM 一直是用于构建汇总区块链的主要执行环境。在 Optimistic 和 Zk 两种类型的汇总中, Arbitrum 等Optimistic 汇总最为广泛。最近,SVM 取得了许多进展,旨在将汇总技术带给 Solana 开发人员。为 Solana 构建汇总的主要项目是NitroEclipse

Nitro 是一种 Optimistic Rollup 解决方案,类似于 Arbitrum 或 Optimism,它利用 Solana 虚拟机 (SVM) 使 Solana 开发人员能够将其 dApp 移植到各种生态系统。Nitro 计划首先在 Sei 上推出,Sei 是基于 Cosmos 构建的行业特定交易链,然后再扩展到其他链。它使用 SVM 并行执行交易,这意味着用户将能够像在 Solana 上一样执行,而 Nitro 使用 Sei 进行结算和达成共识。此外,由于 Sei 是 Cosmos 生态系统的一部分,Nitro 的项目及其用户将能够从 IBC 互操作性技术中受益,从而访问 Cosmos 资产和流动性。

正在开发的另一个 SVM 汇总解决方案是 Eclipse,旨在促进可定制汇总的部署。Eclipse 的乐观汇总使项目能够创建自己独特的应用链,同时受益于现有网络(例如 Cosmos 应用链、Polygon、以太坊)的安全性并利用 Solana 虚拟机 (SVM)。SVM 用作执行环境,Eclipse 处理结算,共识和数据可用性 (DA) 由开发人员选择的第 1 层网络管理。目前,Eclipse 提供乐观汇总解决方案,但也在努力推出 zk-rollups。

Eclipse 已经宣布了两种基于 SVM 构建的汇总解决方案:

所有这些解决方案都简化了 Solana VM 的使用并扩大了其覆盖范围。来自其他链的用户也将能够毫无障碍地“体验” Solana 并行化体验,这可以进一步实现 SVM 的优越性,从而让更多项目将其 dApp 迁移到 Solana,以从其架构中受益并吸引更多用户。

SVM 是面向开发人员的下一代区块链环境

尽管只有三年的历史,Solana 已经展现出令人印象深刻的性能,在其 VM 之上开发 Nitro 和 Eclipse 等扩展解决方案凸显了其创新执行架构的成功。Solana 能够从比特币和以太坊等旧网络所面临的挑战中吸取教训。比特币不是为智能合约设计的,这导致了以太坊的出现。同样,以太坊也没有为大规模采用和高速交易做好准备,为 Solana 和并行处理铺平了道路。此外,随着 Neon Labs 引入与 Solana 运行时的 Solidity 兼容性,以及即将推出的Runtime v2 升级,开发人员可以更轻松地访问 SVM 环境,这将使开发人员能够使用 Move 等大量编程语言构建与 SVM 兼容的 dApp。

显然,Solana VM 为构建下一代应用程序提供了更先进的环境。交易的并行处理可以实现更高的吞吐量,类似于传统金融中可能实现的吞吐量,使开发人员能够构建任何类型的产品而不必担心速度限制或费用。在 TPS 高达 15 的链上构建不会使加密货币得到大规模采用。借助 SVM 和 Sealevel,Solana 可以(已经)处理数千笔交易,不会出现拥塞,也不会产生明显的 gas 费用,这使其成为构建这些新应用程序的理想环境。随着验证器硬件的改进,Solana 的 Sealevel 运行时将能够并行处理更多交易,从而扩大 SVM 和 EVM 之间的差距,同时吸引更多用户。

Squads 将支持 Solana 虚拟机(SVM)的扩展,并为整个 SVM 生态系统带来多重签名(multisig)功能,使任何人都可以使用最佳的区块链执行环境和最佳的自我托管体验来管理链上资产。

致谢:感谢 Jarry Xiao ( Ellipsis ) 和 Neal Somani ( Eclipse ) 对本文早期草稿的反馈。

原文:https://squads.so/blog/solana-svm-sealevel-virtual-machine

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »