Peer to Peer (p2p)
Centralized and Distributed system architecture solutions usually adopt a client/server network approach. Blockchain and decentralized application platforms largely forego client/server to adopt a Peer-to-Peer (P2P) approach. In a P2P network, all nodes or computers are equal to all others. There are no servers; all nodes are clients and servers simultaneously. This allows for virtually unlimited fault tolerance and builds in failover abilities, as well as backups via data redundancy. All of this comes at the expense of performance and efficiency.
Decentralized Networks and Ledgers
In a blockchain, the ledger is stored, updated, and maintained by a peer network. Each node in this network maintains its own individual copy of the ledger. In blockchain, network consensus is required (any algorithm Proof of Work (PoW), Proof of Stack (PoS) etc.) to allow updating of a ledger (save as new transaction) which will be then available on all participating peers within the network. This new copy of updated data is available as permanent data.
Why a Decentralized Network?
As mentioned, we assume right from the beginning that none of the participants have to trust one another. If they trust in the integrity and the accuracy of the blockchain itself, they do not have to trust each other. Imagine if you were going to try to attack a network with this architecture, you could not perform a denial-of-service attack. The only true way to attack a network like this would be to take every single node or computer offline.
If you scale up this picture let’s say 10x or 100x (adding nodes) you can see just how powerful and secure this network becomes. Nodes can go online and offline as they choose, and the network continues to function seamlessly. When an offline node comes back online it can simply sync back up to the current state of the ledger with the other nodes online. This prevents the blockchain from having a single point of failure or dependency that must be entrusted. This makes blockchain, and by extension, P2P architectures ideal for scenarios where network connectivity or uptime is not a guarantee – this is why there is a lot of interest and excitement around blockchain in parts of the world with developing infrastructure.