最初,区块链用作处理交易的去中心化网络。然而,虚拟机推动区块链上智能合约的开发,将其转变为广泛应用程序和用例的基本组件。Solana 虚拟机 (SVM) 和以太坊虚拟机 (EVM) 就是这样的项目。
Solana 虚拟机 (SVM) 是支撑 Solana 区块链的软件基础架构。有了它,Solana 区块链能够促进智能合约的实施并实现更高的交易吞吐量。与采用顺序处理范式并使用 Solidity 的以太坊虚拟机 (EVM) 不同,SVM 使用 Rust 编程语言和并行交易处理技术。
Solana 虚拟机 (SVM) 是处理 Solana 网络上的交易、智能合约和程序的执行环境。Solana 虚拟机每秒处理数千笔交易 (TPS) ,以此增强网络的可扩展性。开发人员声称,SVM 针对高需求场景进行了优化,并使用 Rust 编程语言构建,从而能最有效地执行交易。
以太坊是第一个开发区块链虚拟机 EVM 的公司,此后它已发展成为行业标准。EVM 的架构为众多区块链提供了灵感,包括 BNB Smart Chain、Avalanche 和 Tron,它们都实现了与 EVM 兼容或源自 EVM 的系统。
Solana 虚拟机已成为现有 EVM 的强大竞争对手。SVM 充当虚拟化处理引擎,负责部署智能合约、处理交易以及满足这些合约的其他请求。
这些交易是状态更改请求,由 Solana VM 计算并在每次迭代后更新区块链的整体状态。总之,Solana 区块链的执行环境是 SVM。它通过与 Solana 区块链的共识层协同工作,为 Web3 应用程序的开发和运行提供动态网络。
SVM 可支持各种智能合约应用程序,例如 DeFi、GameFi 和其他去中心化应用程序。Solana VM 是一种类似于 EVM 的模块化机器。它可以与其他组件(例如数据可用性或共识层)一起部署,以构建去中心化网络,而不更改或最小幅度地更改其原始形式。
来源:Squads 协议
虚拟机 (VM) 是在区块链环境中执行程序的软件组件,通常称为运行时环境。它用于为加密网络实现智能合约。虚拟机还可精简使用同一 VM 的其他渠道上的开发人员的部署过程。
提交交易后,网络的虚拟机负责处理并管理区块链的状态,即整个网络的当前状态,因为它受交易执行的影响。VM 建立了改变网络状态的精确规则。
VM 将智能合约代码转换为验证者硬件在交易处理期间可执行的格式。Solana 虚拟机 (SVM) 将 Rust、C 和 C++ 编译为 BPF 字节码,这是在 Solana 上编写智能合约的主要语言。此过程让网络节点(验证者)能够高效地执行交易。
在过往,用户使用虚拟机 (VM) 作为完全与其主计算机操作系统隔离的实验环境。区块链虚拟机充当去中心化应用程序网络的执行层,而传统虚拟机则是隔离的沙箱。区块链虚拟机 (VM) 是去中心化的,允许网络上的节点在其设备上运行区块链虚拟机的实例,计算状态变化,并监视其他验证者建议的状态变化,从而达成共识。这确保了交易记录被正确地记录在网络上。
区块链的节点(验证者)作为 Solana 虚拟机的不同、自主实例运行。每个验证者在其硬件上的独立 SVM 本地环境中处理交易。然而,SVM 必须首先将智能合约转换为验证者硬件可以处理的格式,然后验证者才能执行智能合约。
当智能合约得到有效部署时,区块链的状态会发生变化。此更改必须报告给 Slana 的运行时,后者将更改转发给 SVM,使所有验证者节点能够使用状态更改更新区块链。
虚拟机使用了 SeaLevel 并行事务处理,这是 Solana 虚拟机的一个重要组件,它与以太坊虚拟机形成了鲜明的对比。SVM 能够比 EVM 更快地处理交易,其原因有很多;然而,主要因素为两个区块链的运行时差异。总之,由于 EVM 的“单线程”运行时,因此它只能同时处理一个合约。相反,SVM 采用“多线程”运行时,可以同时处理多个合约。
SVM 的工作机制可以使用一系列不同的过程来中断。它们包括:
SeaLevel 是 Solana VM 的重要组件,因为它让虚拟机能够串联执行交易。与顺序执行模型不同,并行交易处理模型由整个网络的验证者同时处理交易。因此,网络能够获得更高的吞吐量和更好的可扩展性。这有利于在 Solana 执行环境中进行“水平”扩展,允许同时执行多个智能合约而不影响其各自的性能。Solana 智能合约通过指定在执行期间将读取或写入的数据(状态)来实现这一点。
交易因而能够并行执行,而不会发生冲突,并只需访问相同的信息。Sealevel 允许 SVM 同时处理数万个交易,而不是像以太坊虚拟机 (EVM) 那样单独处理。
Sealevel 采用乐观并发控制技术,这种方法假设大多数交易不会发生冲突,允许并行执行交易。如果在执行过程中检测到冲突,Sealevel 将按顺序重试冲突的交易。实现数据回滚。
SeaLevel 在 Solana 网络中的各个节点上同时执行大量交易,从而优化智能合约的执行。这是通过识别和隔离可以并行处理且不会因访问或修改数据而产生干扰风险的交易来实现的。SeaLevel 可以智能地对可能发生冲突的交易进行排序,以确保执行准确有序地进行。
SeaLevel 的优势
并行处理方法的主要优势是可扩展性。Solana 网络可以高效扩展,而不会出现其他区块链(如以太坊)使用的传统顺序处理系统中常见的障碍。SeaLevel 并行处理增加交易的能力随着交易量的增加而增加。这可以缩短处理时间并加快交易速度,这对于需要实时性能的应用程序至关重要。
并行执行是一种复杂的解决方案,可以同时执行并独立分类交易。与传统的顺序执行方法不同,并行执行支持同时处理多笔交易,从而增强网络的可扩展性和性能。
这一基本方法是主要的优势。整个网络必须使用顺序执行来验证每笔交易。这会消耗大量能源,并增加矿工或验证者的工作量。相比之下,并行执行可以提高交易速度。它通过优化网络功能来降低相关成本,同时确保与以太坊虚拟机 (EVM) 环境的兼容性。
以太坊和 Solana 是不同的区块链,因为它们使用各种验证者客户端来验证交易。如果某个客户端遇到困难,多个验证者客户端可以帮助防止网络中断。执行层 (EL) 和共识层 (CL) 客户端是验证者客户端的两个类别。
执行客户端负责以下事项:
来源:AMINA Bank
另一方面,共识客户端实施 PoS 共识算法,并利用来自执行客户端的、经过验证的数据在网络上达成共识。
以太坊验证者节点通常与执行客户端和共识客户端一起运行,因为这两类客户端执行不同的功能。相反,Solana 将这两种功能集成到一个单一的客户端中。Solana Labs 是第一个在 Solana 上开发第一个验证者客户端的组织。
来源:AMINA Bank
从那时起,已有众多独立的探索,试图在 Solana 网络上创建额外的完整或精简验证者客户端:
2022 年 8 月,Jito Labs 在主网上发布了第二个验证者客户端。Jito 负责维护、修改和部署他独立开发的 Solana Labs 代码的这个分支。然而,这个客户端在 Solana Labs 客户端中有一个缺陷,因为它是现有客户端的一个分支。
2022 年 8 月,Jump Crypto 透露了其在 Solana 上开发新验证者客户端的意图。该验证者客户端完全用 C++ 创建,并展示了显著增强的性能。Firedancer 在测试环境中每秒处理多达一百万笔交易。相比之下,原始 Solana Labs 客户端在类似的测试环境中每秒处理近 55,000 笔交易。
2023 年 7 月,Syndica 公布了 Sig 的创建。Sig 是一个用 Zig 编程语言编写的 Solana 网络验证者客户端。Syndica 的验证者团队最初于 2023 年 9 月为 Sig 实施了八卦协议。
TinyDancer 是 Solana 的四个验证者客户端之外的、目前正在积极开发中的一个客户端。它是 Solana 的轻量级客户端。TinyDancer 和其他轻量级客户端不构建区块或参与共识;相反,它们有助于验证区块链的状态,而不需要全节点的运行。
具有更多验证者的区块链通常更具复原力。用户必须确保在区块链上执行合约时他们的传输会被记录。理想情况下,区块链的每次添加都会记录在该链上的每个验证者上,这就是为什么有更多验证者是非常重要的。多样化的验证者阵列可防止数据中心中断等灾难性事件。
以太坊根据节点参与共识和数据存储范围将节点分为三类:
完整节点:完整节点获取并逐个验证区块链中每个区块的数据。有多种完整节点,其中一些从创世区块开始并验证整个区块链历史中的所有条目。其他节点从最近的可信区块开始验证,通常维护最近 128 个区块的本地副本并定期删除旧数据,这是为了节省磁盘空间。旧数据可根据需要重新生成。
存档节点:存档节点验证并维护从创世区块开始的所有区块,确保不会删除任何数据。它们是查询测试集必不可少的节点,无需可靠的挖矿和区块浏览器、钱包提供商和链分析等服务。
轻节点:与完整的区块链不同,轻节点仅检索区块头。全节点需要提供有关轻节点需求的其他信息。收到数据后,轻节点可根据区块头的状态根独立验证数据。它们不需要高带宽或复杂的硬件,因此可以通过手机或嵌入式设备参与以太坊网络。轻节点不能成为矿工或验证者,因为它们不参与共识。但是,它们可以访问以太坊区块链并提供与全节点相同的安全性和功能。
Solana 中的节点根据其参与共识的方式分为两类:
从一开始,Solana 就区分了 RPC 节点和共识节点。但是,RPC 节点不进行轮询。以太坊的 RPC 节点通常由完整节点或存档节点构成。与其他权益证明区块链相比,Solana 的绝对节点数量相对较高。基金会打算在短期内修改其计划,以提高节点的质量,而不仅仅是节点的数量。
2023 年 3 月,共识节点总数从大约 2200 个减少到 1700 个。节点数的降低是由于大量权益从收取 100% 佣金的节点重新分配。权益持有者承认了此问题,并将他们的委托重新分配给更活跃的验证者。在这种下降之后,共识节点逐渐增加,截至 9 月 13 日,共识节点总数为 1,961 个,验证者节点为 2,874 个。
SVM 节点和 EVM 节点主要有以下不同:
交易管理模型:SVM 采用并行处理模型,可以同时执行多个交易,从而提高吞吐量并减少延迟。相比之下,EVM 按顺序处理交易,这在高使用率期间可能会导致网络拥塞。
编程语言:SVM 支持 Rust,这是一种以效率著称的语言。这种语言特别适合需要高性能和安全性的应用程序。相反,EVM 采用了 Solidity,这是一种专为开发智能合约而设计的编程语言。
智能合约的实施:每个验证者独立在 SVM 上执行智能合约,从而是网络更高效地运营。相反,EVM 要求所有节点就智能合约执行的结果达成共识,这可能会延迟处理时间。
SVM 是 Solana 区块链上的执行环境,优先考虑智能合约和交易处理的有效实施。它使用 Rust 编程语言和并行交易处理来提升可扩展性和交易吞吐量。然而,SVM 面临着一些问题,包括并行执行模型的固有缺陷以及 Rust 语言的陡峭学习曲线。即便如此,SVM 与新兴 AI 技术的集成预期将会提升其未来的利用率和采用率。
最初,区块链用作处理交易的去中心化网络。然而,虚拟机推动区块链上智能合约的开发,将其转变为广泛应用程序和用例的基本组件。Solana 虚拟机 (SVM) 和以太坊虚拟机 (EVM) 就是这样的项目。
Solana 虚拟机 (SVM) 是支撑 Solana 区块链的软件基础架构。有了它,Solana 区块链能够促进智能合约的实施并实现更高的交易吞吐量。与采用顺序处理范式并使用 Solidity 的以太坊虚拟机 (EVM) 不同,SVM 使用 Rust 编程语言和并行交易处理技术。
Solana 虚拟机 (SVM) 是处理 Solana 网络上的交易、智能合约和程序的执行环境。Solana 虚拟机每秒处理数千笔交易 (TPS) ,以此增强网络的可扩展性。开发人员声称,SVM 针对高需求场景进行了优化,并使用 Rust 编程语言构建,从而能最有效地执行交易。
以太坊是第一个开发区块链虚拟机 EVM 的公司,此后它已发展成为行业标准。EVM 的架构为众多区块链提供了灵感,包括 BNB Smart Chain、Avalanche 和 Tron,它们都实现了与 EVM 兼容或源自 EVM 的系统。
Solana 虚拟机已成为现有 EVM 的强大竞争对手。SVM 充当虚拟化处理引擎,负责部署智能合约、处理交易以及满足这些合约的其他请求。
这些交易是状态更改请求,由 Solana VM 计算并在每次迭代后更新区块链的整体状态。总之,Solana 区块链的执行环境是 SVM。它通过与 Solana 区块链的共识层协同工作,为 Web3 应用程序的开发和运行提供动态网络。
SVM 可支持各种智能合约应用程序,例如 DeFi、GameFi 和其他去中心化应用程序。Solana VM 是一种类似于 EVM 的模块化机器。它可以与其他组件(例如数据可用性或共识层)一起部署,以构建去中心化网络,而不更改或最小幅度地更改其原始形式。
来源:Squads 协议
虚拟机 (VM) 是在区块链环境中执行程序的软件组件,通常称为运行时环境。它用于为加密网络实现智能合约。虚拟机还可精简使用同一 VM 的其他渠道上的开发人员的部署过程。
提交交易后,网络的虚拟机负责处理并管理区块链的状态,即整个网络的当前状态,因为它受交易执行的影响。VM 建立了改变网络状态的精确规则。
VM 将智能合约代码转换为验证者硬件在交易处理期间可执行的格式。Solana 虚拟机 (SVM) 将 Rust、C 和 C++ 编译为 BPF 字节码,这是在 Solana 上编写智能合约的主要语言。此过程让网络节点(验证者)能够高效地执行交易。
在过往,用户使用虚拟机 (VM) 作为完全与其主计算机操作系统隔离的实验环境。区块链虚拟机充当去中心化应用程序网络的执行层,而传统虚拟机则是隔离的沙箱。区块链虚拟机 (VM) 是去中心化的,允许网络上的节点在其设备上运行区块链虚拟机的实例,计算状态变化,并监视其他验证者建议的状态变化,从而达成共识。这确保了交易记录被正确地记录在网络上。
区块链的节点(验证者)作为 Solana 虚拟机的不同、自主实例运行。每个验证者在其硬件上的独立 SVM 本地环境中处理交易。然而,SVM 必须首先将智能合约转换为验证者硬件可以处理的格式,然后验证者才能执行智能合约。
当智能合约得到有效部署时,区块链的状态会发生变化。此更改必须报告给 Slana 的运行时,后者将更改转发给 SVM,使所有验证者节点能够使用状态更改更新区块链。
虚拟机使用了 SeaLevel 并行事务处理,这是 Solana 虚拟机的一个重要组件,它与以太坊虚拟机形成了鲜明的对比。SVM 能够比 EVM 更快地处理交易,其原因有很多;然而,主要因素为两个区块链的运行时差异。总之,由于 EVM 的“单线程”运行时,因此它只能同时处理一个合约。相反,SVM 采用“多线程”运行时,可以同时处理多个合约。
SVM 的工作机制可以使用一系列不同的过程来中断。它们包括:
SeaLevel 是 Solana VM 的重要组件,因为它让虚拟机能够串联执行交易。与顺序执行模型不同,并行交易处理模型由整个网络的验证者同时处理交易。因此,网络能够获得更高的吞吐量和更好的可扩展性。这有利于在 Solana 执行环境中进行“水平”扩展,允许同时执行多个智能合约而不影响其各自的性能。Solana 智能合约通过指定在执行期间将读取或写入的数据(状态)来实现这一点。
交易因而能够并行执行,而不会发生冲突,并只需访问相同的信息。Sealevel 允许 SVM 同时处理数万个交易,而不是像以太坊虚拟机 (EVM) 那样单独处理。
Sealevel 采用乐观并发控制技术,这种方法假设大多数交易不会发生冲突,允许并行执行交易。如果在执行过程中检测到冲突,Sealevel 将按顺序重试冲突的交易。实现数据回滚。
SeaLevel 在 Solana 网络中的各个节点上同时执行大量交易,从而优化智能合约的执行。这是通过识别和隔离可以并行处理且不会因访问或修改数据而产生干扰风险的交易来实现的。SeaLevel 可以智能地对可能发生冲突的交易进行排序,以确保执行准确有序地进行。
SeaLevel 的优势
并行处理方法的主要优势是可扩展性。Solana 网络可以高效扩展,而不会出现其他区块链(如以太坊)使用的传统顺序处理系统中常见的障碍。SeaLevel 并行处理增加交易的能力随着交易量的增加而增加。这可以缩短处理时间并加快交易速度,这对于需要实时性能的应用程序至关重要。
并行执行是一种复杂的解决方案,可以同时执行并独立分类交易。与传统的顺序执行方法不同,并行执行支持同时处理多笔交易,从而增强网络的可扩展性和性能。
这一基本方法是主要的优势。整个网络必须使用顺序执行来验证每笔交易。这会消耗大量能源,并增加矿工或验证者的工作量。相比之下,并行执行可以提高交易速度。它通过优化网络功能来降低相关成本,同时确保与以太坊虚拟机 (EVM) 环境的兼容性。
以太坊和 Solana 是不同的区块链,因为它们使用各种验证者客户端来验证交易。如果某个客户端遇到困难,多个验证者客户端可以帮助防止网络中断。执行层 (EL) 和共识层 (CL) 客户端是验证者客户端的两个类别。
执行客户端负责以下事项:
来源:AMINA Bank
另一方面,共识客户端实施 PoS 共识算法,并利用来自执行客户端的、经过验证的数据在网络上达成共识。
以太坊验证者节点通常与执行客户端和共识客户端一起运行,因为这两类客户端执行不同的功能。相反,Solana 将这两种功能集成到一个单一的客户端中。Solana Labs 是第一个在 Solana 上开发第一个验证者客户端的组织。
来源:AMINA Bank
从那时起,已有众多独立的探索,试图在 Solana 网络上创建额外的完整或精简验证者客户端:
2022 年 8 月,Jito Labs 在主网上发布了第二个验证者客户端。Jito 负责维护、修改和部署他独立开发的 Solana Labs 代码的这个分支。然而,这个客户端在 Solana Labs 客户端中有一个缺陷,因为它是现有客户端的一个分支。
2022 年 8 月,Jump Crypto 透露了其在 Solana 上开发新验证者客户端的意图。该验证者客户端完全用 C++ 创建,并展示了显著增强的性能。Firedancer 在测试环境中每秒处理多达一百万笔交易。相比之下,原始 Solana Labs 客户端在类似的测试环境中每秒处理近 55,000 笔交易。
2023 年 7 月,Syndica 公布了 Sig 的创建。Sig 是一个用 Zig 编程语言编写的 Solana 网络验证者客户端。Syndica 的验证者团队最初于 2023 年 9 月为 Sig 实施了八卦协议。
TinyDancer 是 Solana 的四个验证者客户端之外的、目前正在积极开发中的一个客户端。它是 Solana 的轻量级客户端。TinyDancer 和其他轻量级客户端不构建区块或参与共识;相反,它们有助于验证区块链的状态,而不需要全节点的运行。
具有更多验证者的区块链通常更具复原力。用户必须确保在区块链上执行合约时他们的传输会被记录。理想情况下,区块链的每次添加都会记录在该链上的每个验证者上,这就是为什么有更多验证者是非常重要的。多样化的验证者阵列可防止数据中心中断等灾难性事件。
以太坊根据节点参与共识和数据存储范围将节点分为三类:
完整节点:完整节点获取并逐个验证区块链中每个区块的数据。有多种完整节点,其中一些从创世区块开始并验证整个区块链历史中的所有条目。其他节点从最近的可信区块开始验证,通常维护最近 128 个区块的本地副本并定期删除旧数据,这是为了节省磁盘空间。旧数据可根据需要重新生成。
存档节点:存档节点验证并维护从创世区块开始的所有区块,确保不会删除任何数据。它们是查询测试集必不可少的节点,无需可靠的挖矿和区块浏览器、钱包提供商和链分析等服务。
轻节点:与完整的区块链不同,轻节点仅检索区块头。全节点需要提供有关轻节点需求的其他信息。收到数据后,轻节点可根据区块头的状态根独立验证数据。它们不需要高带宽或复杂的硬件,因此可以通过手机或嵌入式设备参与以太坊网络。轻节点不能成为矿工或验证者,因为它们不参与共识。但是,它们可以访问以太坊区块链并提供与全节点相同的安全性和功能。
Solana 中的节点根据其参与共识的方式分为两类:
从一开始,Solana 就区分了 RPC 节点和共识节点。但是,RPC 节点不进行轮询。以太坊的 RPC 节点通常由完整节点或存档节点构成。与其他权益证明区块链相比,Solana 的绝对节点数量相对较高。基金会打算在短期内修改其计划,以提高节点的质量,而不仅仅是节点的数量。
2023 年 3 月,共识节点总数从大约 2200 个减少到 1700 个。节点数的降低是由于大量权益从收取 100% 佣金的节点重新分配。权益持有者承认了此问题,并将他们的委托重新分配给更活跃的验证者。在这种下降之后,共识节点逐渐增加,截至 9 月 13 日,共识节点总数为 1,961 个,验证者节点为 2,874 个。
SVM 节点和 EVM 节点主要有以下不同:
交易管理模型:SVM 采用并行处理模型,可以同时执行多个交易,从而提高吞吐量并减少延迟。相比之下,EVM 按顺序处理交易,这在高使用率期间可能会导致网络拥塞。
编程语言:SVM 支持 Rust,这是一种以效率著称的语言。这种语言特别适合需要高性能和安全性的应用程序。相反,EVM 采用了 Solidity,这是一种专为开发智能合约而设计的编程语言。
智能合约的实施:每个验证者独立在 SVM 上执行智能合约,从而是网络更高效地运营。相反,EVM 要求所有节点就智能合约执行的结果达成共识,这可能会延迟处理时间。
SVM 是 Solana 区块链上的执行环境,优先考虑智能合约和交易处理的有效实施。它使用 Rust 编程语言和并行交易处理来提升可扩展性和交易吞吐量。然而,SVM 面临着一些问题,包括并行执行模型的固有缺陷以及 Rust 语言的陡峭学习曲线。即便如此,SVM 与新兴 AI 技术的集成预期将会提升其未来的利用率和采用率。