Peer-to-peer (P2P) Network and Nodes¶
Peer-to-peer (P2P) network¶
The blockchain protocol operates on a peer-to-peer (P2P) network, with each client participating by connecting to several other clients in the network. The purpose of the blockchain network is to propagate transactions and blocks to all participants that subscribe to the blockchain protocol.
A P2P network architecture consists of computers that participate in an open network and are peers to each other. The term peers is used since every participant is equal; there is no preferential treatment within nodes and all nodes share the burden of providing network services. There is no centralized service nor hierarchy within the network. Nodes in a P2P network both provide and consume services at the same time with reciprocity acting as the incentive for participation. P2P networks are inherently resilient, de-centralized, and accessible to anyone which is a true reflection and foundation of the core characteristics of blockchain.
Any application can send the new transaction to any of the other clients it is connected to over any Internet channels, whether wired or wireless. Any network node that receives a valid transaction it has not seen before, will immediately forward it to other nodes to which it is connected. Thus, the transaction rapidly propagates out across the P2P network, reaching a large percentage of the nodes within seconds. This strength-in-numbers approach upholds the integrity of the protocol and secures the network because it lacks a sensitive central point-of-attack.
The nodes together verify the information presented to the blockchain, run checks against other ‘blocks’ of connected information and, upon consensus, distribute the updated information to all other nodes on the network. The nodes complete their task by giving information a timestamp that indicates changes from the last update. The node also shows the update is approved through use of a connecting hash that links their approved updates to prior approved updates; This process develops the chain of blocks known as the blockchain. Every full node in the network has a copy of all the data in the blockchain and is updated in real time, this is known as a distributed ledger.