跳转到内容

验证节点概览

Aptos 节点是追踪 Aptos 区块链状态的 Aptos 生态系统实体。客户端通过 Aptos 节点与区块链交互。节点有两类:

每个 Aptos 节点由若干逻辑组件组成:

Aptos-core 软件可配置为以验证节点或全节点的方式运行。

显示全球节点分布的 Aptos Explorer 验证者页面

Explorer 上的 Aptos 验证者网络。运营者加入和离开时数量会变化;查看实时集合

交易提交到 Aptos 区块链后,验证节点会运行分布式共识协议、执行交易,并将交易及执行结果存储在区块链上。验证节点决定哪些交易加入区块链以及它们的顺序。

Aptos 区块链使用拜占庭容错(BFT)共识协议,让验证节点就已最终确认交易的账本及其执行结果达成一致。验证节点会处理这些交易,并将它们加入本地区块链数据库副本。因此,保持最新的验证节点始终会在本地维护区块链当前状态的副本。

验证节点通过私有网络直接与其他验证节点通信。全节点 是已最终确认交易历史的外部验证和/或传播资源。它们从对等节点接收交易,并可在本地重新执行交易(与验证节点执行的方式相同)。全节点将重新执行的交易结果存入本地存储。这样,它们能够质疑验证节点的任何不当行为,并在有人试图重写或修改区块链历史时提供证据。这有助于降低验证节点腐败和/或串通的风险。

内存池是每个节点中的一个组件,保存已提交到区块链但尚未达成共识或执行的交易内存缓冲区。全节点通过 REST API 将用户交易转发到该缓冲区。

内存池会验证签名、余额和重放保护(序列号或无序交易 nonce),以拒绝无效流量并限制拒绝服务攻击。交易通过这些检查后,仲裁存储 以批次形式在验证者集合中传播。这将数据可用性与领导者的元数据提案解耦。

当验证者成为共识领导者时,它提议的区块会对已认证批次排序,而不是通过提案洪泛原始交易。随后每个验证者执行该区块并对结果投票。

共识组件负责对交易区块排序,并通过与网络中其他验证节点一起参与共识协议,对执行结果达成一致。

执行组件负责协调交易区块的执行并维护临时状态。共识会对该临时状态投票。在共识将区块提交到分布式数据库前,执行会在内存中维护执行结果的表示。执行使用虚拟机运行交易。执行充当系统输入(由交易表示)、存储(提供持久化层)和虚拟机(负责执行)之间的胶合层。

虚拟机(VM)用于运行每笔交易内的 Move 程序并确定执行结果。节点的内存池使用 VM 对交易执行验证检查,而执行组件使用 VM 运行交易。

存储组件将已达成一致的交易区块及其执行结果持久化到本地数据库。

节点使用状态同步器组件“追赶”到区块链最新状态,并保持最新。