developers.diem.com/docs/basics/basics-node-networks-sync.md
In this page, you will learn about:
Depending on their configuration, Diem nodes can form different peer-to-peer state synchronization networks. Each Diem node can participate in multiple networks as shown in the figure below.
Validator nodes and public FullNodes form a two-tiered architecture. A public FullNode network is not peer-to-peer, and it receives updates on new blocks only from the validator node it is connected to.
For each type of Diem node, the Diem Payment Network (DPN) has a separate network stack. The advantages of having separate network stacks include:
A Diem node synchronizes to the latest state of the Diem Blockchain when:
Each Diem node contains a State Synchronizer (SS) component which is used to synchronize the state of a node to its upstream peers. This component has the same function for all types of Diem nodes. It utilizes the dedicated peer-to-peer network stack to perform synchronization and it uses a long-polling API.
The upstream peers that are used for synchronizing to the latest state of the blockchain are different for each type of node:
The Diem node's state synchronizer communicates with the upstream nodes' state synchronizers to get chunks of transactions to synchronize with the current state of the Diem Blockchain. Learn more about how this works in the specifications here.