opBNB 通过 200M 区块 Gas 限制增强实现 10K TPS

realtime news  Aug 31, 2024 08:20  UTC 00:20

1 Min Read

根据BNB 链博客,opBNB 是 BNB 链上的 Layer 2 扩展解决方案,通过将区块 gas 限制从 100M/s 增加到 200M/s 成功将其吞吐量提高到每秒 10,000 笔(TPS)。

性能里程碑

这项重要的性能里程碑是通过一系列旨在提高交易处理效率和速度的优化措施实现的。这些优化措施包括提升网络性能计算成本、部署策略以及区块生产过程。

测试环境和部署

在压力测试阶段,opBNB 团队发现直接连接需要额外的计算资源,这可能会影响交易效率。为了应对这一问题,他们选择了通过代理节点进行点对点(p2p)连接,最大限度地减少资源浪费,并确保瓶颈不在网络连接上。

在测试环境中,团队模拟了拥有 12,500k 账户(包括 10k 活跃账户)的真实主网数据,以实现对 opBNB 能力的真实评估。

区块生产过程

opBNB 使用 OP Stack ,包括两个客户端:RollupDriver(op-node)和 EngineAPI(op-geth)。RollupDriver 管理整个挖矿过程,触发 EngineAPI 将 Layer 2(L2)交易包含到区块中。区块生产过程涉及多个步骤,从启动到最终确定区块,确保高效和可靠的交易处理。

优化技术

调度优化

初始设计中,区块生产和最终确定过程有 600ms 的硬性限制。为了优化性能,opBNB 移除了这一硬性限制,允许更长的区块生产和交易包含时间。这一变化显著减少了启动和区块生产所需的时间,提高了整体效率。

启动优化

通过引入一个专门的进程来预取 Layer 1(L1)状态并将其保存在缓存中,opBNB 将 L1 状态检索时间从 200ms 以上减少到不到 10ms。此异步模式的 L1 状态获取消除了序列器等待 L1 端点的需求,从而提升了性能。

区块生产优化

通过缓存和并发优化区块生产期间的交易执行。缓存的交易执行结果可以复用,减少了区块验证和提交所需的步骤。此外,区块提交过程被分为并发步骤,进一步提高了吞吐量。

硬件和测试结果

测试使用了 AWS m6in 12X 大盘和 IO2 磁盘(6000 IOPS,1500MB/s 吞吐量)。opBNB 技术栈包括 op-geth 0.4.3 和 op-node 0.4.3。经过优化后,转账交易的 TPS 在 10,500 到 11,500 之间,展示了显著的性能提升。

结论

通过持续改进和创新,opBNB 通过将区块 gas 限制增加到 200M/s 成功将其吞吐量提高到 10,000 TPS。这些增强使 opBNB 成为适合交易 dApps 和区块链游戏等高需求应用的高性能环境。



Read More