验证节点

Aptos 节点是 Aptos 生态系统的一个实体,用于跟踪 Aptos 区块链的状态。客户端通过 Aptos 节点与区块链交互。有两种类型的节点:

  • 验证节点

  • 全节点

每个 Aptos 节点都包含几个逻辑组件:

  • REST 服务

  • 内存池

  • 执行

  • 虚拟机

  • 存储

  • 状态同步器

Aptos-core软件可以配置为作为验证节点或 FullNode 运行。

总览

当交易提交到 Aptos 区块链时,验证者节点运行分布式共识协议,执行交易,并将交易和执行结果存储在区块链上。验证者节点决定哪些交易将被添加到区块链中以及以何种顺序。

Aptos 区块链使用拜占庭容错 (BFT) 共识协议,让验证者节点就最终交易的账本及其执行结果达成一致。验证器节点处理这些交易并将它们包含在区块链数据库的本地副本中。这意味着最新的验证器节点始终在本地维护区块链当前状态的副本。

验证器节点通过专用网络直接与其他验证器节点通信。 FullNode 是最终交易历史的外部验证和/或传播资源。他们从对等点接收交易并可能在本地重新执行它们(与验证器执行交易的方式相同)。 FullNode 将重新执行的事务的结果存储到本地存储中。这样做,他们可以挑战验证者的任何犯规行为,并在有任何尝试重写或修改区块链历史时提供证据。这有助于减轻验证者的腐败和/或串通。

AptosBFT 共识协议为多达三分之一的恶意验证节点提供容错能力。

内存池

Mempool 是每个节点中的一个组件,它保存已提交到区块链但尚未商定或执行的事务的内存缓冲区。此缓冲区在验证器节点和 FullNode 之间复制。 FullNode 的 JSON-RPC 服务将交易发送到验证节点的内存池。 Mempool 对交易进行各种检查,以确保交易的有效性并防止 DOS 攻击。当一个新的交易通过初始验证并被添加到内存池中时,它会被分发到网络中其他验证者节点的内存池中。 当验证者节点暂时成为共识协议的领导者时,共识会从内存池中提取交易并提出新的交易块。该区块被广播给其他验证者,并包含该区块中所有交易的总排序。然后每个验证者执行区块并就是否接受新的区块提案提交投票。

共识

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

执行

执行是协调事务块执行并保持瞬态状态的组件。共识投票在这个短暂的状态。执行维护执行结果的内存表示,直到共识将块提交到分布式数据库。执行使用虚拟机执行事务。执行充当系统输入(由事务表示)、存储(提供持久层)和虚拟机(用于执行)之间的粘合层。

虚拟机 (VM)

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

存储

存储组件用于将商定的事务块及其执行结果保存到本地数据库。

状态同步器

节点使用它们的状态同步器组件来“赶上”区块链的最新状态并保持最新状态。

Last updated