文章介绍了一种名为共识观察者(Consensus Observer, CO)的新型数据传播技术,该技术已在Aptos Mainnet上部署,用于减少区块同步时间和交易延迟,通过解耦区块传播与执行,使全节点能够与验证者并行处理区块,从而实现更高的交易吞吐量和更低的交易延迟。文章深入探讨了传统状态同步的挑战及CO的工作原理与实际应用效果。
简要说明:Consensus Observer (CO) 是一种新型数据传播技术,减少了区块同步时间和交易延迟,现已正式上线 Aptos 主网。与传统状态同步不同,后者需在区块执行和确认后才开始传播区块数据,CO 使得区块可以立即在全网传播。这允许全节点更早接收区块数据,并能够与验证者并行处理区块。CO 减少了端到端交易延迟:在低负载(例如,500 TPS)时约减少 ~10%;在中等负载(例如,5000 TPS)时约减少 ~30%;在高负载(例如,10000 TPS+)时约减少 ~50%+。
这使得 Aptos 更接近于支持真实实时数字经济的目标,适用于微支付、流媒体和自动支付等超低延迟用例。
状态同步是区块链网络的基本挑战。尽管共识算法能够使验证者之间达成一致,但它们并不能解决网络中其他节点(例如,全节点)的状态同步问题。相反,必须使用额外的协议(称为 state sync 协议)来在非验证者节点之间分发、验证和持久化区块链数据。
状态同步协议必须高效、可靠且具备良好的性能。这是因为它们在区块链交易的生命周期中扮演着重要角色,直接影响交易的吞吐量和延迟。如果状态同步缓慢或不可靠,网络节点(例如,全节点)将感知到长时间的交易处理延迟,人为地拉长交易确认时间,并对用户体验产生负面影响。如需了解更多背景知识,请参见:状态同步的演变。
图 1 显示了 Aptos 网络拓扑,包括: (i) 执行共识的验证者; (ii) 从验证者同步的验证者全节点 (VFNs); (iii) 从 VFNs 同步的公共全节点 (PFNs)。
图 1:Aptos 网络拓扑,显示验证者、验证者全节点 (VFNs) 和公共全节点 (PFNs)。
传统的状态同步在验证者执行和提交区块之前会等待才能将区块数据传播给 VFNs 和 PFNs。这种方法虽然容易理解,但引入了延迟,因为它阻止了节点能够尽快接收和处理区块。这对于 Aptos 是特别麻烦的,因为它实现了亚秒级的交易延迟。任何等待执行和确认的额外时间(例如,在高负载时的几百毫秒),都可能导致:(i) 全节点落后于验证者; (ii) 端到端交易延迟激增; (iii) 计算和网络资源因空闲时间而浪费。
为了解决传统状态同步的局限性,Aptos Labs 提出了 Consensus Observer (CO):一种新型数据传播技术,它将区块传播与执行和提交解耦。CO 允许验证者立即将区块数据传播给网络中的其他节点,而无需等待本地处理。这显著减少了网络中的同步时间,实现了:(i) 更低的端到端交易延迟,因为节点可以更早处理区块; (ii) 更高的效率,因为计算和网络资源的空闲时间减少; (iii) 更可预测的同步时间,因为区块传播的操作依赖性减少。
共识观察器是对这个问题的解答:如何最快地让全节点访问区块数据,以便与验证者并行处理?
CO 将区块传播与执行和提交解耦,允许网络节点(例如,VFNs 和 PFNs)“观察”验证者的区块处理管道,并在区块产生的瞬间处理区块数据。这与传统状态同步形成鲜明对比,后者要求区块在被传播前必须经过整个管道。
Aptos 验证者利用一个多阶段的区块处理管道,由三个关键阶段组成(见下图 2):
排序和提交阶段都需要达成共识以确保区块链历史的一致性(即,避免区块链分叉)。
图 2:多阶段、非耦合的区块处理管道,显示一个单一的区块通过管道的过程。
CO 通过允许全节点(即,VFNs 和 PFNs)跟踪并与验证者并行处理管道中的每个阶段,而不是等待完整的区块提交,来增强同步性。这个过程如下:
关于该过程的更多细节可以在 AIP 中找到,包括安全考虑和全节点用于抵御恶意验证者和无效区块数据的技术。
通过考虑多阶段的区块执行管道,便于将传统状态同步与 CO 进行比较。例如,在传统的 VFN 状态同步中,VFN 必须等待发生以下步骤后才能开始处理一个已排序的区块:(i) 验证者的区块执行; (ii) 验证者的区块提交; (iii) 从验证者到 VFN 的区块传播。这一点在下图 3 中展示。
图 3:传统状态同步要求区块在传播给 VFNs 之前必须由验证者完全处理。
与此相比,CO 则是在排序后立即将区块数据传播给 VFNs,改进非常明显:验证者的执行和提交延迟被从计算中移除。因此,VFNs 只需等待区块通过网络传播即可开始处理区块。这一点在下图 4 中可以看到。
图 4:共识观察器 (CO) 在本地执行和提交区块之前,将区块数据从验证者传播给 VFN。
在比较验证者和 VFNs 在单个已排序区块上的同步时间(或 同步延迟)时,CO 不仅减少了 VFNs 的延迟,而且确保了更加可预测的行为。这是因为 CO 将区块传播与区块处理分开。使用 CO,VFNs 通常只比验证者滞后一个网络跳跃(例如,在 Aptos 主网低负载时约为 50 毫秒),相比传统的状态同步,在高负载情况下执行和提交会造成几百毫秒的滞后时间。
此外,随着网络负载(例如,交易每秒)增加,CO 能够保持 VFNs 的预测性同步延迟,而传统状态同步由于处理时间延长会导致延迟性和波动的增加。
最后,CO 为 PFN 的同步延迟带来了复合效益。例如,在传统状态同步中,PFNs 从 VFNs 同步,因此必须等待验证者和 VFN 完全处理区块。但是在 CO 中,VFNs 在处理之前就将区块数据传播给 PFNs,这意味着 PFNs 只比 VFNs 多一个网络跳跃(如上所述)。这有效地消除了传统状态同步中出现的复合延迟。
通过显著减少同步延迟和端到端交易延迟,CO 使我们更接近能够实现超低延迟和低成本交易的独特用例。例如:(i) 微支付,例如媒体或内容访问的按秒计费; (ii) 流支付,资金在各方之间持续流动(例如,按需订阅); (iii) 自主支付,物联网设备或去中心化服务根据现实世界事件发起的支付。
这些都需要快速、可预测的交易处理、实时数据传播以及最小的同步延迟以有效运行。借助 CO,Aptos 更好地支持这些下一代用例,使我们更接近于一个真正可扩展、实时的数字经济。
为了在主网部署前评估 CO,我们在不同环境和不同负载下进行了多种实验。这些包括性能测试、压力测试和混沌测试。以下简要概述这些性能测试及结果:
现实环境模拟:我们模拟了一个“现实”网络环境,包含 30 个验证者和 30 个 VFNs。模拟包括模拟 CPU 和网络混沌,以模拟在 Aptos 主网中可见的真实异质性和延迟。我们执行了币转移的工作负载,并变化了每秒交易量 (TPS)。
混沌环境模拟:我们模拟了一个“混沌”网络环境,包含 30 个验证者、30 个 VFNs 和 30 个 PFNs。模拟包括极端的 CPU 和网络混沌,达到在 Aptos 主网中通常可见值的 2-3 倍。我们执行了币转移的工作负载,并变化了 TPS。
经过多次实验确认 CO 的正确性后,CO 被逐步推广至 Aptos 主网,即在所有验证者、VFNs 以及 Aptos Labs 运营的 PFNs 上线。在上线后,我们做出了以下观察:
图 5:Aptos Labs PFNs 在 CO 上线前后的端到端交易延迟
图 6:传统状态同步与共识观察器在主网交易延迟的比较,按照分位数(即 P50、P75 和 P90)。
传统状态同步的一个关键优势是通过允许全节点跳过交易执行而重新利用验证者的执行结果来减少资源使用,这通过证明实现(称为 智能同步)。这减少了 CPU 使用,提高了同步效率,并降低了全节点操作的整体成本。
然而,CO 要求全节点实时执行区块,这意味着它们必须维持等同于验证者的硬件资源,否则在高负载时将无法跟上。此外,考虑到全节点通常执行额外操作(例如,处理 REST API 和客户端请求),为了处理附加任务,通常在硬件方面过配备全节点是有利的。这是一个需要考虑的权衡,例如,不想利用 CO 的全节点运营商可以选择不参与,而继续使用传统状态同步。
CO 已经在 Aptos 主网中部署,默认在所有 VFNs 启用。
然而,并非所有 PFNs 默认启用 CO,因为运营商必须意识到上述讨论的权衡和 CPU 要求。希望在 PFNs 上启用 CO 的运营商可以按照 这里 的说明操作。
注意:CO 已经在 Aptos Labs 操作的 PFNs 上启用(例如,操作地址为 https://api.mainnet.aptoslabs.com/)。
通过共识观察器,Aptos 正在重新构想区块链同步,铺就高吞吐量下 超低延迟 交易的道路。通过允许全节点与验证者并行处理区块,CO 消除了不必要的延迟,改善了用户体验。
结合 Zaptos,Aptos 的并行和流水线执行架构,以及 Shardines,这个执行引擎能够达到超过 100万 TPS,Aptos 正在朝着提供可用的 最快、最可扩展的 Web3 区块链基础设施 的方向前进。这只是我们旅程中的又一步。
如果你和我们一样,对设计算法、将其付诸实践并对 Web3 的未来产生真正影响充满热情,请与我们联系 — 我们在 Aptos 招聘 。
- 原文链接: medium.com/aptoslabs/ult...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!