作者:Delphi Digital
编译:xiaozou,金色财经
并行执行通常被誉为区块链扩容和大规模采用的关键,可能会吸引「数十亿用户」。
1、为什么要关心状态增长管理?
因为它会影响开发人员的体验、用户支付的费用以及验证者积累的奖励,所以,状态增长管理是所有 L1 的关键考虑因素。
对于并行化 VM(虚拟机)来说,重要的是要注意到,只有不更新相同状态的交易才能并行运行。为了不发生冲突,交易必须是顺序排序的,这意味着如果 50% 的交易具有相同的状态,并行执行只对其余 50% 独立交易有利。
2、并行执行的两种主要类型
让我们来看一下并行执行的两种主要类型:
确定性(Deterministic)类型
通过预定义的访问列表映射交易依赖关系,VM 跟踪对存储和余额的交易依赖关系,以防止状态冲突,如 Solana 和 Sui 所示。
乐观(optimistic)类型
此类并行执行在假定交易不会发生冲突的情况下并行运行或顺序再执行所有交易。此类做法不需要访问列表,从而简化了开发过程,收获了 Monad、MegaETH、Aptos 和 Sei 等公链的采用。
3、以太坊的顺序执行
运行以太坊验证者(validators)需要至少 8GB RAM 和 2.8 GHz 四核 CPU。然而,EVM 使用单核执行交易表明它并没有完全进行硬件优化。
EVM 不能并行执行交易主要受以下两个因素限制:
它缺乏一种机制来识别具有共享状态依赖关系的交易。
它使用 RockDB 和 Merkle Patricia Trees 存储状态数据,并发读写比较复杂。
单独的并行执行不足以维持网络使用。状态增长和状态访问是下一个扩容瓶颈。
并行执行的好处可能被夸大了,因为每区块只有部分选定交易才能并行执行。这在网络拥塞期间变得非常明显,因为依赖关系重叠会减少加速增益。下图所示区块 20000006 的速度提高了 6 倍,而区块 20434947 的速度只提高了 1.7 倍。
我们来看来自 Ghost 的数据,对 2024 年 6 月初的 20M 区块到 20.1M 区块之间的 10 万个区块的评估表明,顺序依赖关系最小的区块在并行处理情况下执行速度更快。
4、状态增长和状态访问问题
区块链的状态包括账户、各账户余额、nonces 和合约信息。随着交易频繁以及新合约的出现,特别是在像 ETH 这样复杂的系统中,链状态在持续扩展。
5、状态管理的经济焦点
Solana、Sui 或 Aptos 等公链使用状态租金(state rent)等机制,对最佳的状态增长管理提供经济激励。它们通过在交易期间向用户收取存储费,防止验证者和用户支付更高的存储成本。
6、状态管理的技术焦点
大多数技术方法都围绕着高效的数据库结构展开,这些数据库结构支持使用更优的 Merkle 树结构进行异步读写操作。
Delphi Digital 研究员 Muhammad Yusuf 是这样说的:「并行化是一个已决问题。各链将争相支持更强大的设置和更快的虚拟机。但要真正取得长期成果,就需要强劲的状态增长和准入管理机制。」