The core of Chia's peer-to-peer system is composed of full nodes. Full nodes have several responsibilities:
- Maintain a copy of the blockchain.
- Validate the blockchain.
- Propagate new blocks, transactions, and proofs through the network, using the peer protocol.
- (Optional) Serve light clients (wallets) through the wallet protocol.
- (Optional) Communicate with farmers.
- (Optional) Communicate with timelords.
Usually, farmers run a full node process alongside their farmer process. Full nodes earn no rewards or fees, but they are important to maintain the consensus rules and the security of the system. Running a full node allows a user to be confident about the full state of the blockchain, and avoid trusting others.
Full nodes are always connected to a random set of full nodes in the network. Full nodes broadcast their own information (IP address and port) to their peers periodically, so that the entire network is aware that they are still running. Full nodes also broadcast all new blocks and transactions to their peers, allowing all nodes in the network to keep a complete copy of the blockchain.