链新闻编译|并行处理(parallel execution)公链比较:Aptos、Sui、Linera、Fuel

fffmCQ.jpg
链新闻编译|并行处理(parallel execution)公链比较:Aptos、Sui、Linera、Fuel

Diem 计画 (旧名 Libra、脸书币) 团队在解散后,开枝散叶衍生出不同的公链计画。风投 Volt Capital 合伙人 Mohamed Fouda 撰文讨论近来热议的四个案例:Aptos、Sui、Linera、Fuel。

以下为链新闻重点整理,如有疑义请见原文

EVM 相容链的问题:执行效能

了解概念:EVM (以太坊虚拟机)

像是以太坊这样的智能合约公链,需要共享的计算引擎来执行不同的去中心化应用程式 (dapp),节点会运行这个计算引擎,并执行 dapp,用户再跟 dapp 互动 ; 在节点得到执行结果的共识后,就会继续推进区块链。

以太坊虚拟机 (EVM) 就是智能合约主要的执行引擎,有多个公链、L2 都采用 EVM。

了解问题:EVM 执行效率

EVM 的限制在于顺序性的一次执行一个事务。执行一个事务时,将所有其他事务置于暂停状态,直到事务执行完成,并更新区块链状态。这样的次序处理 (sequential execution),也造成网路吞吐量的瓶颈。

并行处理取向的机会

有一些底层链 (L1) 采取并行处理 (parallel execution,PE) 的方式。它可以在交易在不同的处理核心分别处理,优化硬体应用提升网路吞吐量,这个取向改进了交易确认的延迟。

PE 不是一个新的方法,很多人都尝试过。其中一个点子是将 EVM 使用的记帐模型由 Accounts model 改成比特币在用的 UTXO model ; 后者能做到并行处理,适合支付用途。但是因为 UTXO 的功能有限,还需要扩充才能够与智能合约互动,因此市场上有 Cardano 的 extended UTXO model 案例。

另一种做到 PE 的方式,则是不去改变记帐模型。而是改善链的状态如何被架构与修改,Solana 的 Sealevel 就是案例。Aptos、Sui、Linera、Fuel 也都是采取这样后者的解决路线。然而,关键挑战就在于,如何理解区块链状态、识别独立交易 (从相依的交易中区别)。

RAM (随机存取记忆体) 概念

区块链状态可以类比为电脑的随机存取记忆体,每个区块链帐户或是智能合约,都拥有一定范围的记忆位置可以修改。相依的交易会在同一个记忆位置中修改,像是 UNI 兑换到 USDC 的 AMM 交易,可能须经由 Uni -> ETH -> DAI -> AAVE -> USDC,以上交易彼此相依,需要次序处理。目前不同的区块链有不同的记忆体架构与机制来识别相依的交易。

Aptos、Sui、Linera、Fuel

Aptos、Sui 和 Linera 是用 Diem 团队的 MOVE 语言来改进智能合约执行 ; Fuel 则是用自己的语言来处理 PE。

Aptos

Aptos 基于 MOVE 与 MOVE 虚拟机 (MoveVM) 实现高吞吐量的并行处理。Aptos 采用一种改良的软体事务记忆体 (Software Transactional Memory, STM) 称为 Block-STM 来处理,不需要事务明确声明它们使用状态的哪一部分。

在 Block-STM 中执行时,交易在区块中被预先排序并拆分,不同的处理器会「乐观处理」(optimistic execution)。乐观执行是指,会假设交易都没有相依性。有被交易修改的记忆位置会被记录下来。在处理后,所有交易结果都会是有效的。在验证期间,如果有一个交易被发现取用先前交易的记忆位置,该交易就为无效。交易打掉后,会重新处理交易,这个过程会重复至所有区块中的交易都被处理。Block-STM 在采用多个核心处理器时,有助于加速处理。但若是一个区块中的交易全部相依,效率将会比次序处理稍弱。据称 Aptos 可达 16 万 TPS。

Sui

另一种 PE 的方式是要求交易明确声明它们修改的区块链状态部分。Solana 和 Sui 都是采用这种方法,Solana 称这些记忆单元为 accounts,一笔交易必须声明它修改了哪些 accounts。Sui 也是用类似的方法。

Sui 虽然也使用 MoveVM,但 Sui 使用的是不同版的 MOVE 语言,Sui Move 语言改变了储存模组与资产许可,这也是它与 Aptos 不一样的地方,它定义了一种状态存储模型,可以更轻松地识别独立交易。

在 Sui 中,状态储存被定义为物件 (Objects),物件代表资产,它可以被分享,也就是多个用户可以修改同一个物件。而每个物件都有唯一的 ID,并有内部指向至持有者地址。透过这样的方式,就很容易可以识别交易的相依关系。

不过,声明相依关系的工作会交给开发者,虽然执行引擎更容易实现,理论上也会有更好的效能跟吞吐量 ; 但是对于开发者体验并不理想。

Sui 目前刚有测试网,并声称有 10 万 TPS。

Linera

Linera 由 16z 领投首轮融资,但细节并不多,据其公告,它是基于 Facebook 开发的 FastPay 协议,一种称为 Byzantine Consistent Broadcast 的技术,它可以有助于加速支付。

Fuel

Fuel 则是专注在模组化区块链堆栈的执行层,也就是它没有共识层,也没有资料储存在 Fuel 链上。对于这样的功能性区块链,Fuel 可以跟其他的区块链互动取得共识与资料,例如以太坊。Fuel 使用 UTXO 建立一个严格的造访清单,就是对同一个状态具有控制权的清单。这样的方式中,区块中的交易要辨认相依关系就会变得更为简化。Fuel 也有自己的 FuelVM 跟 Sway 智能合约语言。在它的设计下,其智能合约执行是可以在以太坊主网上结算的。

并行处理的挑战

  1. 可并行交易的实际百分比有多少?单纯的独立事务,如地址间的转帐,以及复杂的相依事务,如 AMM 流动池中的交易,不同类型的活动多寡,牵涉 PE 实际能带来的效益。Mohamed Fouda 表示,根据以太坊每日交易的不同活动,可以估计 PE 可以加速智能合约平台中大约 70-80% 的交易。PE 的吞吐量也可能提高到 3~5 倍。
  2. 网路中心化的问题。PE 大大地推动网路中心化发展,一般的消费型设备不易满足这种高吞吐量网路的要求,用户必须依赖专门的节点供应商。这可能会让权力集中在少部分实体,审查风险也较高。Mohamed Fouda 表示,目前 Sui 测试网全节点的要求比 Aptos 低,但在主网实际上线后,应会发生显著变化。Fuel 在这方面因为与以太坊的长期目标一致,较不受影响。目前对 Aptos 与 Sui 还不清楚他们对去中心化的优先次序。Linera 则没有清楚资讯。

最后,Mohamed Fouda 认为,PE 是最有望提高智能合约平台吞吐量的解决方案,加上共识机制的创新,有机会将 TPS 接近或提高至 10 万。但如何为这样的高效的设施维护去中心化,仍是一项挑战。

声明:该文观点仅代表作者本人,与炒币网无关。炒币网系信息发布平台,仅提供信息存储空间服务。对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,并不对文章观点负责。 提示:投资有风险,入市须谨慎。本资讯仅供参阅,不作为投资理财建议。

发表评论

登录后才能评论