验证节点概览
Aptos 节点是追踪 Aptos 区块链状态的 Aptos 生态系统实体。客户端通过 Aptos 节点与区块链交互。节点有两类:
- 验证节点
- 全节点
每个 Aptos 节点由若干逻辑组件组成:
Aptos-core 软件可配置为以验证节点或全节点的方式运行。

交易提交到 Aptos 区块链后,验证节点会运行分布式共识协议、执行交易,并将交易及执行结果存储在区块链上。验证节点决定哪些交易加入区块链以及它们的顺序。
Aptos 区块链使用拜占庭容错(BFT)共识协议,让验证节点就已最终确认交易的账本及其执行结果达成一致。验证节点会处理这些交易,并将它们加入本地区块链数据库副本。因此,保持最新的验证节点始终会在本地维护区块链当前状态的副本。
验证节点通过私有网络直接与其他验证节点通信。全节点 是已最终确认交易历史的外部验证和/或传播资源。它们从对等节点接收交易,并可在本地重新执行交易(与验证节点执行的方式相同)。全节点将重新执行的交易结果存入本地存储。这样,它们能够质疑验证节点的任何不当行为,并在有人试图重写或修改区块链历史时提供证据。这有助于降低验证节点腐败和/或串通的风险。
验证节点组件
Section titled “验证节点组件”内存池是每个节点中的一个组件,保存已提交到区块链但尚未达成共识或执行的交易内存缓冲区。该缓冲区会在验证节点和全节点之间复制。
全节点的 JSON-RPC 服务将交易发送到验证节点的内存池。内存池会对交易进行多项检查,以确保交易有效并防范 DOS 攻击。当新交易通过初始验证并加入内存池后,会分发到网络中其他验证节点的内存池。
当验证节点暂时成为共识协议中的领导者时,共识会从内存池提取交易并提议一个新的交易区块。该区块会广播给其他验证者,并包含区块内所有交易的全序。随后每个验证者执行该区块,并就是否接受新区块提案提交投票。
共识组件负责对交易区块排序,并通过与网络中其他验证节点一起参与共识协议,对执行结果达成一致。
执行组件负责协调交易区块的执行并维护临时状态。共识会对该临时状态投票。在共识将区块提交到分布式数据库前,执行会在内存中维护执行结果的表示。执行使用虚拟机运行交易。执行充当系统输入(由交易表示)、存储(提供持久化层)和虚拟机(负责执行)之间的胶合层。
虚拟机(VM)
Section titled “虚拟机(VM)”虚拟机(VM)用于运行每笔交易内的 Move 程序并确定执行结果。节点的内存池使用 VM 对交易执行验证检查,而执行组件使用 VM 运行交易。
存储组件将已达成一致的交易区块及其执行结果持久化到本地数据库。
节点使用状态同步器组件“追赶”到区块链最新状态,并保持最新。