什么是 Solana 虚拟机 (SVM)?
Solana 虚拟机 (SVM) 是 Solana 区块链上的软件基础设施,它利用 dApp 和智能合约的并行处理模型,使 Solana 能够每秒处理数千笔交易。
关键要点
Solana 虚拟机是 Solana 区块链上智能合约的执行环境。它使 Solana 区块链能够每秒处理数千笔交易。
虚拟机是在安全环境中执行智能合约的计算机系统的软件模拟。
Solana VM 采用 Rust 编程语言编写,并为应用程序运行并行处理模型。据开发人员称,这可以提高性能和网络容量。
本文讨论了 Solana 虚拟机的工作原理和其他主要功能。
智能合约是区块链的关键组成部分。最初,区块链被设计为一个巨大的替代支付网络,用于点对点之间的单向交易。随着区块链虚拟机(VM)的创建,智能合约得以在区块链之上构建。从那时起,区块链就成为了构建任何事物的基础层。
以太坊开发了首个用于区块链技术的虚拟机实例。以太坊虚拟机 (EVM)已被广泛采用,BNB 智能链、Avalanche 和 Tron 等热门 Layer 1 区块链都是基于 EVM 构建的,更不用说目前众多兼容 EVM 的Layer 2 区块链正在构建中。通过 EVM,开发者只需进行少量代码修改,即可轻松地将现有应用程序移植到兼容 EVM 的区块链上。
然而,Solana 虚拟机 (SVM),作为为智能合约区块链提供支持的虚拟机的最新原型之一,正在成为其竞争对手。据开发人员介绍,Solana VM 是从零开始构建的,其技术专注于高性能和整体敏捷性。
了解 Solana 虚拟机 (SVM)
Solana 虚拟机负责处理 Solana 区块链的智能合约交易。该虚拟机采用 Rust 编程语言构建,开发人员声称,SVM 已针对高需求情况进行了调整,旨在以最高效的方式处理交易。作为虚拟机,SVM 充当虚拟化处理机,负责处理智能合约部署、交易以及来自这些合约的其他请求。
这些交易是状态变更请求,Solana VM 计算请求并在每次运行后更新区块链的整体状态。总而言之,SVM 是 Solana 区块链的执行环境。它与 Solana 区块链的共识层协同工作,为 Web3 应用程序提供一个构建和运行的动态网络。
Solana VM 支持各种智能合约应用,包括 GameFi、DeFi 应用和其他去中心化应用。与 EVM 类似,Solana VM 是一个模块化机器,可以与其他组件(例如数据可用性/共识层)一起部署,从而构建去中心化网络,而无需对其原始形式进行任何或很少的更改。
为了更好地理解 Solana VM,让我们看看虚拟机实际上是什么。
什么是虚拟机?
虚拟机 (VM) 是计算机系统的软件仿真,可以运行操作系统,并安装和执行应用程序。传统上,用户将虚拟机作为沙盒环境运行,这些环境与主计算机操作系统完全隔离。
传统虚拟机是独立的沙盒,而区块链虚拟机则充当去中心化应用程序网络的执行层。区块链虚拟机是去中心化的,网络上的节点在其设备上运行区块链虚拟机的实例,计算状态变化,并监控其他验证者建议的状态变化以达成共识,确保交易记录在网络上正确记录。
Solana 虚拟机的工作原理
区块链用户始终在寻找安全的区块链网络,以便他们能够以尽可能低的费用完成交易。Solana VM 的开发旨在满足区块链用户和开发者对吞吐量的需求,同时平衡区块链的去中心化、可扩展性和安全性三难困境。
Solana VM 运行的核心是并行交易处理模型。通过构建 Solana 区块链以同时(而非顺序)处理多个交易,它可以提供更高的吞吐量,同时实现可扩展性。
使用 SeaLevel 并行执行
SeaLevel 是 Solana 虚拟机中最重要的组件之一,因为它允许虚拟机并行执行交易。与顺序执行模型相比,并行交易处理模型由整个网络的验证器同时处理交易。这使得网络能够实现更高的吞吐量和增强的可扩展性。
例如,一个钱包有 0.5 SOL 余额。有两个请求:一个请求向该账户发送 2 SOL,另一个请求从该账户转出 1 SOL。如果转账请求先于发送请求处理,则可能会出现错误。让我们看看 SeaLevel 如何处理这种情况。
借助 Sea Level,Solana 区块链能够使用多线程执行环境处理海量交易。Solana 合约的设计旨在明确其影响,智能合约会声明每笔交易会修改区块链状态的哪一部分。这使得状态机能够区分依赖交易和独立交易。独立交易可以无冲突运行,因为它们不会影响同一个账户。对于影响同一个账户的依赖交易,则会按顺序处理,以避免冲突。
并行交易处理模型使 Solana 区块链能够最大限度地利用其资源,从而实现更快的交易处理速度和更低的交易费用。此外,为了解决其他虚拟机(如 EVM)面临的 Gas 费用可扩展性问题,Solana 区块链运营着一个本地化的费用市场。
本地化费用市场
与全球费用市场相比,本地化费用市场可以防止某个智能合约的活动激增影响网络的整体 gas 结构。
在全球费用市场中,整个网络都在争夺同一个处理能力。当某个智能合约需求量大时,整个网络都会因该智能合约的高请求频率而受到影响。这会导致当热门项目活动激增时(例如,在热门项目铸造 NFT 期间),整体网络费用会飙升。
为了防止这种情况发生,Solana 网络实施了本地化费用市场。通过这种方式,网络上的每个智能合约都运行单独的处理费用结构。如果出现交易活动激增,来自智能合约的交易将经历 Gas 费用激增,而网络的其余部分仍按正常的 Gas 费率运行。这限制了相关智能合约应用程序交易活动激增的影响,而网络的其余部分则基本不受影响。
然而,在高峰需求期间,网络上的所有 dApp 都处于高活动状态,这仍然会增加对剩余区块空间的竞争,并导致更高的 gas 费用。
使用 SVM 汇总项目
由于 Solana 虚拟机的高性能,一些 Rollup 项目选择使用 Solana 虚拟机执行,同时保留主网络的安全性和去中心化。以下是一些使用 Solana 虚拟机的 Rollup 网络。
蚀
Eclipse是一个使用 Solana VM 构建的兼容 EVM 的 Layer 2零知识网络。据该项目介绍,采用 Solana VM 模型在以太坊网络上构建极速的 Rollup 和交易结算系统,能够兼具两者的优势。虽然 Solana VM 的交易处理速度比 EVM 更快,但以太坊被认为是最安全、去中心化的智能合约网络之一。因此,Eclipse 能够比其他 EVM 以太坊 Rollup 网络实现更高的速度,同时保持以太坊级别的安全性和去中心化。
Eclipse 使用Celestia作为其数据可用性(DA) 层。借助 Celestia,Eclipse 旨在构建一个稳定的网络,用于在其执行环境和以太坊共识系统之间传输数据。它还使用RISC zero进行零知识证明计算。Eclipse 希望使用 ZK 有效性证明系统,在主网上实现其交易数据的即时验证。这样一来,就无需像Optimistic Rollups那样额外部署防欺诈系统,也无需等待主网验证。
在撰写本文时,Eclipse 尚未公开发布。根据 Eclipse 基金会最近的公告,该项目已筹集总计 6500 万美元,用于推进为以太坊区块链构建 SVM L2 的工作。
MakerDAO
MakerDAO 社区即将过渡到一条新链,以便在新的独立区块链上完全重新实现整个 Maker 协议。
虽然该项目仍处于社区治理阶段,但一些信息已经公开。其中包括 MakerDAO 联合创始人 Rune Christensen 倾向于将 Solana 代码库作为项目新链的原型。在 Rune 提交给社区的一份提案中,他指出 Solana 区块链在 FTX 交易所崩溃后的韧性,以及其为运营单一、高效的区块链而进行的优化,是他选择 Solana 网络代码库作为首选的主要原因。
根据社区帖子,Cosmos 是另一个主要竞争者,它拥有使用 Cosmos 堆栈成功构建应用链的历史。然而,他强调:“Cosmos 的核心构建方式与 Solana 不同,效率是其核心构建方式,这意味着维护和保持性能的成本会更高。”
如果该项目最终决定采用 Solana 网络代码库作为其 NewChain 的标准,这将有力地证明 Solana 虚拟机对区块链项目产生的积极影响。Rune 重申了他对 Solana 代码库的偏好,并指出使用 Solana 代码库开发区块链网络将使 Maker 受益于 Solana 区块链及其社区的韧性。此外,MakerDAO 将能够接触到大量的开发人员和资源,从而实现更快的增长。该网络还将使用桥接器与 Solana 网络建立通信路径。
SVM 与 EVM
Solana 网络正在利用 Solana VM 为自己开辟一条道路。随着 SVM 生态系统的发展,它将在相关性和采用率方面与更老的 EVM 展开竞争。SVM 和 EVM 都能够处理区块链网络的智能合约交易。与 EVM 一样,SVM 也在 Solana 网络以外的其他区块链网络上获得应用。本文,我们将探讨它们的一些主要区别。
编程语言:Rust 与 Solidity
Solidity 编程语言是专为 EVM 开发的。它是 JavaScript 编程语言的改编版,旨在简化学习。与 JavaScript 和许多其他高级编程语言一样,Solidity 是面向对象的,变量使用对象和类来声明。作为智能合约和 EVM 的编程语言,Solidity 的设计重点是安全性。
相比之下,Rust 是一种通用编程语言。它可以用于智能合约和其他应用程序。虽然 Rust 学习难度较大,但它以其敏捷性和内存效率而闻名,并且以促进高性能和并发性而闻名,这与 Solana 对可扩展性的关注相一致。
事务处理模型:并行处理与顺序处理
SVM 是一个多线程交易处理环境。它充分利用网络上的可用资源来处理交易。多个交易在不同的验证器核心上并发执行,并在网络每次运行后达到统一状态时提交交易证明以达成共识。如上所述,Solana SeaLevel 确保网络在运行此执行模型时避免并行处理的复杂性。
相反,EVM 按顺序处理交易。多个交易被排队并逐一处理。网络每次使用一个验证器核心来验证交易。并行处理已显示出比顺序交易处理模型更高的吞吐量。根据报告数据,Solana 区块链每秒可处理数千笔交易——这高于以太坊区块链以及 EVM 其他实例(例如 L2 网络和 POS 侧链)的报道速度。
效率:TPS 与交易费
根据官方网络浏览器获取的信息,Solana 网络的交易速度超过 2400 TPS,交易费用低至 0.001 美元。与Base Network 等 EVM 网络(交易速度约为 47 TPS ,交易费用约为 0.03 美元)相比,Solana 网络的成本效率和时间效率显著提升。虽然这可能受网络状况影响,但 Solana 网络也可以扩展到 60,000 TPS 以上。EIP -4844实施后,Base Network 0.03 美元的交易费用较主网区块链的交易费用有所提升,但仍与 Solana 区块链的成本效率存在差距。
SVM 与 EVM 的总结
Solana 虚拟机(SVM) | 以太坊虚拟机(EVM) | |
交易处理 | 多线程事务处理环境 | 单线程事务处理环境 |
数据处理 | Solana 智能合约描述了交易在执行时将读取或写入的所有状态 | 交易按顺序执行,无需在执行前声明状态 |
编程语言 | Rust,C++ | Solidity、Vyper、JavaScript |
效率 | 更快地处理交易 | 由于采用单线程模型,速度相对较慢 |
采用 | Solana、Nitro、Eclipse | 被众多侧链、L1 和 L2 网络使用 |
费用市场 | 全球和本地化的费用市场 | 全球费用市场 |
最后的想法
Solana 虚拟机优先考虑高吞吐量;这是众多区块链开发者所追求的功能。它的构建目标是提供比大多数其他处理机更快的交付速度和更低的成本,这极大地提升了 Solana 区块链的整体普及度。
随着 Solana 网络的成功和普及,我们看到其他项目也开始采用 Solana VM,类似于 EVM 早期的发展路径。这些项目要么直接基于 Solana 网络的现有成果进行构建,要么使用其他模块化组件创建自己的堆栈。