区块链网站|NFTS Aptos(APT) 探索FuelVM:一个专门为执行智能契约而构建的定制虚拟机

探索FuelVM:一个专门为执行智能契约而构建的定制虚拟机

广告位

探索FuelVM:为执行智能合约而专门构建的定制虚拟机

声明:本文旨在传递更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表MarsBit官方立场。

边肖:记得要集中注意力。

资料来源:Ryan Sproule

原标题:探索燃料

介绍Sway和FuelVM

燃料实验室正在构建一个新的执行层,以扩展下一代区块链应用。FuelVM被设计成模块化的。它可以用作任何区块链的执行引擎。首先,FuelVM将被部署为以太坊的第2层汇总,但理论上,它可以作为L2甚至另一个L1部署在任何地方。FuelVM旨在不增加节点需求的情况下,通过从现有硬件中获取更多内容来扩展以太坊。

Fuel Labs也在为FuelVM构建一个新的DSL,叫做Sway,用于写合同。Sway受到Rust和Solidity的启发,创造了一种理想的智能合约编程语言。

什么是FuelVM?

FuelVM是一个定制的虚拟机,专门用于执行智能合同。Fuel VM从一开始就是为了防欺诈而设计的,可以作为Optimal Rollup的事务执行层。

FuelVM经过优化,可以更好地利用硬件来提高事务执行的吞吐量。具体来说,它基于UTXO,并强制每个事务明确定义它将联系的UTXO。因为执行引擎可以准确识别每个事务所触及的状态,所以可以很容易地找到无争议的事务并将其并行化。

VM为什么重要?

在智能合同区块链系统中,VM是能够理解智能合同代码并根据代码中定义的规则执行状态转换的系统。VM是智能合约区块链的操作系统。

到目前为止,除了以太坊提供的初始版本,智能合约VM还没有迭代。目前,所有广泛使用的智能合约链(除了Solana)都使用相同的VM: EVM作为以太坊。

目前,EVM“足够好”,因为扩展的主要瓶颈不是事务执行的速度,而是共识引擎能够支持的带宽(块空间)。随着第二层扩展解决方案和DA解决方案(如Celestia、EIP-4844、Danksharding和EigenDA)的发展,将汇总交易数据发布到L1的成本将不再是主要限制因素。

在这个即将到来的廉价带宽环境中,下一个瓶颈将是计算吞吐量:系统执行事务的速度有多快,以实现足够的分散化,同时保持底层硬件要求足够低。FuelVM的优势在于,它在设计时考虑了这些未来因素,并可以相应地进行优化。

FuelVM的差异化优势

执行验证并行化

FuelVM的并行虚拟机背后的秘密是其严格的访问列表3354,它要求用户指出他们的事务将涉及哪些契约。在FuelVM中检查事务的确切组成是很有帮助的。

输入:事务将触及的所有契约UTXO的列表解锁UTXO或谓词脚本的数据。输出:定义将要创建的UTXOGas信息:气价气限见证:元数据数字签名授权这里的关键点是一个明确的“输入”列表,它列出了将要消耗的所有UTXO。这包括“特殊”合同UTXO。如果VM可以在执行任何代码之前确定事务将触及哪些契约,它就可以安全地并行执行所有其他无争议的状态访问事务。

执行和验证都可以利用并行性(验证的程度更高)。

请注意,由于事务输出明确包含在验证中,因此在断言另一个节点提出的块是否正确的过程中,不需要依次执行重叠的事务。这意味着无论状态争用如何,验证都可以完全并行进行。在实践中,这意味着当节点与网络同步时,它们可以实现更大的并行性,并更快地赶上。

本地资产系统

在EVM,有一种本土资产:ETH。所有其他资产通过处理余额会计的智能合同(ERC20)实现。在Fuel中,开发人员可以自由地在智能合约中实现资产。但是,有一个选项允许VM在本地处理这个问题。

在余额管理方面,本地资产比ERC20式的智能合约有几个相当大的优势。首先,原生资产的操作比智能合约更便宜。这可以归因于它运行在较低级别的原语中(使用UTXO系统而不是操纵存储)。其次,原生资产有更好的用户体验,类似于发送ETH比发送ERC20简单很多(无需设置审批)。

本地帐户抽象谓词

帐户抽象一直是研究的热点。多年来,以太坊社区对EIP做了很多尝试(EIP-86,EIP-2938,EIP-3074,EIP-4337,EIP-5003)。实现和升级以太坊以支持帐户抽象是很困难的,主要是因为核心团队的工程带宽/技术债务加上相关的复杂性,以及一长串更高优先级的项目。许多rollup从一开始就有机会在其新颖的执行环境中实现帐户抽象。FuelVM就是其中之一。除了本机帐户抽象,它还将包括一个有趣的新原语:谓词。

谓词是一个纯(非访问状态)契约脚本,它只返回一个布尔值(真或假)。UTXO可以被锁定在谓词后面,因此它们只能在谓词中定义的条件得到满足时使用。这带来了一个有趣的UX机会。用户可以将事务设置为仅在特定条件下执行,然后一旦满足谓词,他们的事务就可以自动执行。此外,谓词在销毁时可以被修剪,所以它们不会导致状态膨胀。

简单的演示示例:用户建立一个交易,只要价格满足谓词中定义的阈值,就购买X个令牌。看,pice de rresistance,一个完整链条中的不信任限制令,不会抬高地位!

多维资源定价

资源定价是智能合同区块链最重要的组成部分之一。通过将供应链中的资源需求保持在合理和可承受的水平来保持分散化。资源定价允许系统向用户收取网络中节点的“工作”费用。

在EVM,引入EIP最常见的原因之一是运营代码的重新定价。这是因为操作码有一个硬编码的Gas价格,而资源的基础价格没有按比例增加(从历史上看,CPU的改进速度比SSD快)。理想情况下,这些系统可以完全独立地对每种资源进行定价,这样整个收费系统就可以根据底层硬件系统的变化进行动态调整。

FuelVM将能够实现动态多资源定价,这可以激励节点运营商更好地优化其底层硬件,同时仍然最大化“每块效用”。

这一数字表明,对智能合同的需求远远高于其他智能合同。有了本地化的资源定价,其他合同将不会受到同样程度的影响。NFT空投就是一个很好的例子。这和资源定价、合同定价(索拉纳式)不完全一样,但效果非常相似。具有特定资源配置文件的智能合同的定价不同于其他合同。以NFT空投为例,hot contract可能具有计算成本非常低的存储密集型资源配置文件。与存储相比,计算要求高的智能合约不会受到嘈杂的NFT空投的影响。

Solana打破账户或合同费用市场的策略在实际的基础资源和对它们的需求之间增加了一层抽象。这意味着可能仍然存在成本非常低,但节点上的压力非常大的情况。例如,由于一个事件(例如,许多不同的NFT同时被铸造),系统上的存储负载可能非常高,但是成本非常低,因为不是所有的流量都发生在一个帐户上。每个账户的费用模型确实解决了账户的热分区问题,但是留下了系统无法对底层资源进行正确定价的情况,所以仍然可能导致失败。

基于底层硬件资源为系统定价更简洁准确,而不是试图添加基于多个市场资源定价的网络专用抽象层账户。

状态扩展中的注意事项

正如geth团队多次提到的,目前geth的瓶颈在于状态读写的I/O。最初的想法是,100% Merkle Patricia trie(MPT)状态将适用于标准设备的RAM。现在情况不一样了,因为状态已经增长到900 GB以上,预计每年增长50-100 GB左右,这对任何人来说都是不合理的,所以大部分节点都转向SSD来存储状态。从历史上看,SSD不会随着状态的增加而快速提升,所以这个成本会持续影响网络的去中心化。这是以太坊的研究人员已经讨论了一段时间的关键问题。

相反,FuelVM就是考虑到这个问题而构建的。燃料实验室(Fuel Labs)联合创始人约翰阿德勒(John Adler)曾多次谈到资源定价在智能合约消费或其他资源过程中的作用。通过将适当的资源定价和更清晰的数据模型与UTXO系统相结合,FuelVM将能够控制其状态,并降低运行节点的成本,这相当于增加了网络的去中心化。

“分拣员”去中心化

尽管第2层允许我们从主链中卸载计算工作,但他们仍然需要提供一种机制来对事务进行排序。许多第2层解决方案都是从所谓的“分类器”开始的。定序器是一个特权节点,负责对事务进行排序,进行状态转换,然后将状态根更新连同压缩后的事务信息一起提交给第一层以太坊。值得注意的是,一台负责排序的超级计算机在每个epoch中可以执行比许多冗余执行相同事务序列的小型计算机更多的事务。

这个集中排序角色有几个关键问题需要多加注意!

控制交易秩序是非常有利可图的。我们在以太坊和其他区块链中观察到,MEV是那些整理区块的人的主要收入来源之一。就像我们今天在传统金融中看到的,单方面的控制排序和MEV抓取,最终会导致用户执行能力的下降。从可用性和监管的角度来看,集中式分拣机可能是一个单点故障。如果一个或几个组织在运行分拣机,它们可能会瘫痪或关闭。这对网络来说是一个活生生的风险。集中分拣员可以在第二级审查交易。Sorter可以在搭积木的过程中选择任意交易,并按任意顺序排列,这就产生了审核的能力。许多L2通过提供“强制交易”机制来处理这种情况,该机制允许用户绕过分类器,通过使用L1来直接包括交易。排序器可能向汇总用户做出不一致的链状态承诺。这通常被称为模棱两可,这基本上意味着分拣员可以对L2的一些州做出误导性的承诺。这是因为快速结束rollup是一个可信的步骤,一个分拣员可能会滥用这种信任,导致用户做了他们不打算做的事情。燃料是如何解决这些问题的?

首先,燃料不仅仅是一卷或L1区块链。相反,它是一个应用状态转换的系统。如果它在网络中被配置为汇总或作为L1运行以达成共识,它可以向L1发布状态转换。关键区别在于,Fuel的执行引擎不关心共识或事务排序。Fuel只负责尽快应用事务。然而,由于Fuel可以在如此轻量级的硬件上运行,而验证又如此廉价,因此Fuel可以引导一个多元化和去中心化的共识网络,这比性能不佳的执行引擎(如EVM)的等效系统要便宜得多。

此外,燃料小组正在考虑结合去中心化、MEV和其他考虑的第二层令牌经济学。Fuel的联合创始人约翰阿德勒(John Adler)在1月份写了一篇关于二线区块链的令牌模型的文章,阐述了一种令牌设计,通过允许rollup通过作为区块生产者收取费用的权利来令牌化区块空间的稀缺性,从而帮助分散区块生产。收费只是砌块生产商收入的一部分。正如我们在其他连锁店看到的,MEV是收入的另一大部分。类似于区块空间的稀缺性,MEV收入也会通过区块生产权来令牌化。

状态模型:UTXO与基于帐户

将UTXO数据模型和账户模型的区别概念化的最佳方式如下:UTXO可以比作现金账单,而账户模型更类似于银行总账。系统自然会导致地位膨胀,因为每笔交易都试图访问同一个账户,而UTXO如果设计正确,争议较小。这一特性使其能够更好地实现并行化,并且还可以通过简化状态截断的过程来防止状态扩展。

通过继续使用现金与银行分类账的类比,我们可以清楚地理解为什么使用UTXO进行并行化要容易得多。两笔现金交易可以同时发生,不需要知道对方的任何信息。如果一个分类帐中有两个帐户更新,则两个事务处理都必须更新同一个共享分类帐。

虚拟机战争

除了Fuel,其他团队也在为智能合约区块链开发下一代虚拟机,如Mysten Labs和Aptos,它们使用的是MoveVM,这是Libra项目的一部分,最初由脸书工程师设计。这进一步证明了为了支持下一代区块链应用程序,需要一个新的执行环境。所有这些项目都有有趣的方法,并做出不同的权衡。

在MoveVM一直停滞不前的几年里,在Libra忙于官司的同时,加密货币世界发生了很多变化。Fuel可以适应这些变化,在一个节奏极快的行业中保持敏捷,而Move则稍显落后。尽管如此,由于Move已经从脸书分离出来,而且新的一轮大规模融资已经完成,他们肯定是准备开战了!

结论

与其他L2不同,Fuel计划从一开始就通过设计VM来分散分类器的角色,这样它就不需要昂贵的硬件来增加规模。燃料是灵活的。它可以部署在许多环境中,但它的首要任务是成为与以太坊一致的最佳汇总。Fuel的用户体验将比EVM好得多,因为它使用了原生的和新颖的方式来与链进行交互,如帐户抽象、脚本和谓词。UTXO数据模型自然比account数据模型更少争议,它会带来更多的并行性和更少的状态膨胀。

广告位
本文来自网络,不代表区块链网站|NFTS立场,转载请注明出处:https://www.qklwz.com/jzb/apt/11690.html

作者: 小王聊区块

上一篇
下一篇

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

返回顶部