当我们重新审视区块链技术的演变时,可以看到一个强劲的趋势正在显现,即新的 L1 注重并行执行
这并不是什么新鲜技术,目前 Solana 就在 Sealevel 的执行环境中使用。
然而,在过去的牛市中,DeFi 和 NFT 令人印象深刻的表现也让人们意识到,技术迫切需要改进
在下轮市场中,一些采用并行执行理念的著名项目即将出现,这些项目的名单是 Aptos、Sui、Linera 和 Fuel
本文将会讨论这些项目的异同,以及它们所面临的挑战
Aptos
Aptos 建立在 Diem 的 Move 语言和 MoveVM 的基础上,创建了一个高吞吐量的链,实现了并行执行
Aptos 的方法是检测关联关系,同时对用户/开发者透明,也就是说,不要求交易明确声明它们使用哪一部分状态(内存位置)
Aptos 使用的是 Software Transactional Memory (STM)的修改版,称为 Block-STM
在 Block-STM 中,交易在块内被预先排序,并在处理器线程之间进行划分,以便被执行
在过程中,交易的执行都是假定没有关联关系。被交易修改的内存位置被记录下来,执行后,所有交易的结果都被验证。在验证过程中,如果一个交易被发现访问了被前面的交易修改过的内存位置,这个交易就会被废止。该交易的结果被刷新,然后重新执行
这个过程不断重复,直到块中的所有事务都被执行
当使用多个处理器核心时,Block-STM 会加快执行速度,加速的多少来自于交易的相互关联程度
Aptos 团队的结果表明,使用 32 个内核可以将高相互关联性能提高 8 倍//加威信JQSH996//将低相互关联性能提高 16 倍。如果一个区块中的所有交易都是相互依赖的,那么与顺序执行相比,Block-STM 会导致性能上的轻微损失。Aptos 声称,这种方法可以实现 160,000 TPS 的吞吐量
Sui
另一种 PE 方法是要求交易明确声明他们所修改的链状态部分,这种方法目前被 Solana 和 Sui 使用
Solana 将内存单元称为账户,而交易必须说明它修改了哪些账户。Sui 也使用了类似的方法
Sui 也通过使用 MoveVM 建立在 Diem 的技术之上。然而,Sui 使用不同版本的 Move 语言
Sui Move 的实现改变了 Diem 的核心存储模型和资产权限,这代表了与使用核心 Diem Move 的 Aptos 的重大区别
Sui Move 定义了一个状态存储模型,允许更容易识别独li交易
在 Sui 中,状态存储被定义为 Objects。Objects 通常代表资产,并且可以共享,这意味着多个用户可以修改该对象。每个 Objects 在 Sui 执行环境中都有一个唯一的 ID,并有指向所有者地址的内部指针。通过使用这些概念,很容易通过检查交易是否使用相同的 Objects 来识别关联
通过将声明关联关系的工作转移给开发者,使执行引擎的实施变得更容易,这意味着理论上它可以有更好的性能和可扩展性。然而,这是以不太理想的开发者体验为代价的
Sui 还没有启动,最近刚刚推出了测试网
Sui 的创始人声称,并行执行的实施以及使用 Narwhal 和 Tusk 共识机制导致吞吐量超过 100,000 tx/秒。这个吞吐量,如果是真的,那么它可能比 Solana 当前的约 2400 tx/秒的吞吐量有很大的提升,并且将超过 Visa 和 Mastercard 的吞吐量
Linera 是并行处理领域的最新成员,最近宣布了他们的第一轮融资,由 a16z 领投。关于项目实施的细节不多。然而,根据他们的融资公告帖子,我们知道它是基于同样在 Facebook 开发的 FastPay 协议
Fastpay 是基于一种叫做 Byzantine Consistent Broadcast 的技术,这项技术专注于加速独li的支付,例如发生在销售点网络中的支付。它允许一组验证者确保付款的完整性,只要超过三分之二的验证者是诚实的。快速支付是实时毛额结算(RTGS)系统的一个变种,用于银行和金融机构之间的网络
在 FastPay 的基础上,Linera 正计划建立一个区块链,通过并行执行支付交易,专注于快速结算和低延迟。值得注意的是,Sui 也使用 Byzantine Consistent Broadcast 的方式进行简单的支付。对于其他交易,Sui 自己的共识机制 Narwhal 和 Tusk 被用于高效处理 DeFi 交易等更复杂的和有关系性的交易
Fuel 专注于成为模块化区块链中的执行层,这意味着 Fuel 不实施共识或将区块链的数据存储在 Fuel 链上。对于功能性区块链,Fuel 与其他链交互以达成共识和数据可用性,例如 Ethereum 或 Celestia
Fuel 使用 UTXO 来创建严格的访问列表,即用一个列表来控制对同一片状态的访问。这个模型建立在规范交易排序的概念之上。在这个方案中,区块中的交易排序导致了检测交易之间的关联关系的显著简化。为了实现这个架构,Fuel 公司建立了一个新的虚拟机,称为 FuelVM 和一种新的语言,称为 Sway
FuelVM 是对 EVM 的一种兼容和简化的表现,可以有效地让开发者加入到 Fuel 的生态系统中
此外,由于 Fuel 专注于模块化区块链,Fuel SC 的执行可以在以太坊主网上解决。这种方法与合并后以太坊的愿景一致,即作为以 Rollup 为中心的结算和数据可用性层。在这种架构中,Fuel 可以实现在以太坊上批量和结算的高吞吐量执行
为了验证该概念,Fuel 团队已经创建了一个名为 SwaySwap 的 AMM,类似于 Uniswap,并在测试网上运行。目的是证明 FuelVM 与 EVM 相比性能更高。
在高吞吐量的网络中,网络每秒可以处理数以万计的交易
验证节点受到费用和网络奖励的激励来处理这些交易,并投资于专用服务器或可扩展的云架构来处理这些交易。而对于使用链并需要运行完整节点与链交互的公司或个人,情况并非如此。这些实体无法负担复杂的服务器来处理这种大规模的交易负载。这将推动链上用户依赖专门的 RPC 节点供应商,例如 Infura,从而导致更多的中心化
如果不选择使用消费级硬件来运行完整节点,高吞吐量的链可能会变成一个封闭的系统,一小部分实体拥有对网络的绝对权力。在这种情况下,这些实体可以协调审查交易、实体甚至应用程序,例如 Tornado Cash,它们可以将这些链转变为与 Web 2 没有什么不同的许可系统
目前,在 Sui 测试网上运营一个完整节点的要求低于 Aptos 测试网节点的要求。然而,我们预计当主网启动和应用程序开始在链上出现时,这些需求将发生重大变化
去中心化的倡导者们一直在提出解决方案来解决这些预期的问题。这些解决方案包括使用轻型节点,通过使用 ZK 有效性证明或欺诈证明来验证区块的正确性
Fuel 团队在这方面很积极,与以太坊社区关于去中心化重要性的精神相一致。并不清楚 Aptos 和 Sui 团队是否优先实施这些方法或其他促进去中心化。Linera 团队在他们的介绍帖子中简要地讨论了这些问题,但协议实施尚未确认这一承诺
并行执行引擎是提高智能合约平台吞吐量的有前途的解决方案
结合共识机制的创新,交易的并行执行可以使链的吞吐量接近或超过 10 万 TPS,这样的性能可以与 Visa 和 Mastercard 相媲美,可以实现当今最具挑战性的几个用例,例如完全的链上游戏和去中心化小额支付
这些令人印象深刻的吞吐量改进并不是没有挑战,即关于如何确保去中心化,我们期待致力于解决这些问题的创始人
在加密行业你想抓住下一波牛市机会你得有一个优质圈子,大家就能抱团取暖,保持洞察力。如果只是你一个人,四顾茫然,发现一个人都没有,想在这个行业里面坚持下来其实是很难的。