Zaptos是一种新颖的并行、流水线区块链架构,旨在在维持高吞吐量的同时最小化端到端延迟。使用100个节点的地理分布网络,Zaptos实现了低于一秒的区块链延迟,吞吐量达到每秒2万笔交易(TPS),从而推动区块链在支付、DeFi和游戏等对延迟敏感应用的广泛采用。
由 Zhuolun Xiang 和 Alexander Spiegelman
TL;DR:Zaptos 是一种新型的并行、流水线区块链架构,旨在在保持高吞吐量的同时,尽可能减少端到端延迟。在一个具有100个验证者的地理分布式网络中,Zaptos 实现了低于一秒的端到端区块链延迟,吞吐量为每秒 20,000 笔交易(TPS)。
欲了解更多详细信息,请查看 Zaptos 论文。
端到端区块链延迟是指从提交交易的那一刻到收到确认其已被记入的点,这已成为一个关键的关注话题。在高吞吐量下的端到端区块链延迟对于尾部敏感的区块链应用的广泛采用尤其重要,包括支付、 DeFi 和游戏。
大多数学术界和 Web3 产业的研究与创新主要集中在增强拜占庭容错(BFT)共识机制的性能上,例如近期的研究 Shoal、Shoal++ 和 Mysticeti。然而,交易生命周期包括除了共识之外的更多阶段:客户端、全节点和验证者之间的通信、区块执行、最终执行状态的认证、将结果持久化到存储中,以及将结果返回给客户端的通信。实际上,现代共识系统通常在低负载下需要大约 300–400 毫秒的时间来排序一笔交易。然而,即使是 最快的区块链,其端到端延迟也在一秒左右,并且随着负载的增加而大幅上升。
为了解决减少端到端区块链延迟的挑战,我们将研究重心放在了 架构改进 上。今天我们介绍 Zaptos,这是一种旨在尽可能减少端到端延迟的并行流水线架构,同时保持高吞吐量。
Zaptos 在共识延迟普遍情况下影影位置中,影影了区块执行、状态认证和存储阶段。这意味着在区块被排序时,区块已经被执行,其最终状态已被认证并持久化。特别是,在这种情况下,Zaptos 的端到端延迟等于
客户端-验证者通信延迟 + 共识延迟
由于客户端-验证者通信延迟是不可避免的,当共识延迟达到最优时,Zaptos 实现了最佳的端到端区块链延迟。
现有的区块链流水线架构可以根据其流水线阶段之间的交互分为三大类:耦合共识执行、执行后共识以及共识后执行。在后两类中,共识和执行被解耦为单独的阶段。
图 1. 耦合共识执行流水线架构的示意图。
在耦合共识执行架构中,共识阶段与区块的执行紧密结合,此阶段在共识期间决定新的区块链状态。例如,在基于领导者的协议中,验证者在领导者提出后执行区块,并在共识协议中对生成的新区块链状态进行投票。共识阶段的输出包括最终状态。使用该架构的典型链包括比特币、以太坊 PoS、Solana、Algorand、Cosmos、Redbelly、NEAR、XRP 和 Stellar。
图 2. 执行后共识流水线架构的示意图。
执行后共识架构首先在 HyperLedger 中提出。验证者首先在本地执行交易列表,产生执行输出。然后将这些输出提交给共识过程,以一致其排序并因此产生新的区块链状态。
图 3. 共识后执行流水线架构的示意图。当与流水线共识协议结合时,该架构有效地成为 Aptos 的流水线架构。
在共识后执行架构中,验证者最初对扩展区块链的新区块达成共识。之后按照顺序执行该区块,产生更新后的区块链状态。为了生成公开可验证的新区块链状态证明,并避免因非确定性执行引发的安全性违反,在存储之前引入了一个认证阶段。使用该架构的典型链包括 Aptos 和 Sui,而 Avalanche 目前正在实施它。
Aptos 是自 2021 年以来第一个采用 流水线架构 的区块链,允许不同区块的不同阶段并行执行。此设计通过最大限度地利用资源来提高区块链性能。
图 4. Aptos 流水线架构示意图。图中显示了客户端 C_i、全节点 F_i 和验证者 V_i。每个框代表区块链中一笔交易区块在从左到右的传递过程中需要经过的阶段。该流水线包含四个阶段,包括共识(包含传播和排序)、执行、认证和提交。
我们通过追踪交易(txn)的生命周期描述当前的 Aptos 架构。客户端可以将 txn 提交给它所连接的全节点(以防止 DDoS 攻击)。全节点收到 txn 后,将其转发给它所连接的验证者。
全节点在接收到来自验证者的提交区块时,确保状态已被认证,并将区块添加到其流水线。全节点的流水线与验证者类似,但没有认证阶段或共识。客户端可以查询 txn 是否在区块链上已提交。全节点在接收到客户端有关 txn 的查询后,将根据最新的区块链状态响应 txn 是否已在某个位置提交。如果客户端在超时内收到响应,则会验证该证明是否对 txn 有效,并分别返回成功或失败。如果客户端失败或超时,可以重新提交交易。
图 5. Zaptos 流水线架构中连续区块流水线的示意图。
如图所示,流水线设计通过充分利用验证者和全节点的不同资源,实现了高区块链吞吐量。在 Aptos 中,验证者可以流水线不同连续区块的不同阶段(例如,区块 B_1、B_2、B_3),并且验证者可以并行执行提交阶段(IO 密集型)B_1、B_2的认证阶段、B_3 的执行阶段(CPU 密集型),以及后续区块的共识阶段(网络密集型)。在实际中,各阶段的持续时间可能会有所不同,但只要并行阶段利用不同资源,流水线就能通过最大化资源利用率来改善吞吐量,相较于非流水线设计。
Zaptos 通过三关键优化显著减少了 Aptos 流水线架构的端到端延迟,同时保持最大程度利用资源以实现高吞吐量的特性。
图 6. Zaptos 示意图。
通过这些关键优化,Zaptos显著降低流水线延迟,同时最大限度地利用资源以实现高吞吐量。
图 7. Zaptos 中连续区块流水线的示意图。左侧图示例了流水线,在其中验证者还可以流水线不同连续区块的不同阶段。右侧图示例了连续区块的各阶段之间的依赖关系,例如,区块 B_2 的执行与提交阶段也分别依赖于其父区块 B_1 的执行和提交阶段。
我们使用地理分布实验评估 Zaptos 的端到端性能,以 Aptos 作为高性能基线。更多评估细节请查看 论文。
我们使用 Google Cloud 模拟全球去中心化网络的部署。我们的测试平台由100个验证者和30个全节点组成,覆盖10个全球地区,机器规范类似于 Aptos 所使用的商品级规范。
图 8. Zaptos 和基准 (Aptos Blockchain) 的典型性能。
上图展示了 Zaptos 和 Aptos 的 吞吐量-延迟 图。正如所示,两种系统的延迟随系统负载增长逐渐增加,并在达到最大容量时急剧上升。与基准相比,Zaptos 在低负载下显著减少延迟 160 毫秒,在高负载下超过 500 毫秒。
值得注意的是,Zaptos 在 20k TPS 的生产级实现下,达到了低于一秒的端到端区块链延迟,并在现实的类似主网环境中进行了测试。这是当前区块链系统中罕见的突破性组合,释放了对区块链在速度和可扩展性上同时满足现实应用需求的潜力。
图 9. Aptos Blockchain 的典型延迟分析。
图 10. Zaptos 的典型延迟分析。
延迟分析图显示了验证者和全节点每个流水线阶段的持续时间。为进一步分析系统性能,我们提供了通过 吞吐量-延迟 图的数据点的详细延迟分析:
Zaptos 是一种新颖的区块链流水线架构,通过有效的流水线设计实现低延迟和高吞吐量,以最大限度地利用资源。欲了解更多详细信息,请查看 Zaptos 论文。
- 原文链接: medium.com/aptoslabs/zap...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!