Peer-to-Peer computing or networking is a distributed application network architecture that spreads workload between peers. Peers are equally privileged, participate equally in the application and are said to form a peer-to-peer network of nodes .
Bitcoin as a Peer-to-Peer Network
Formally, Bitcoin is a peer-to-peer network built on top of the internet. In the early days of Bitcoin the network had a flat topological structure, in which users were capable of running full nodes that could perform all of Bitcoin’s main functions: transaction creation, transaction validation and mining (see bitcoinv0.1). However, as the network has grown, the requirements needed to perform each function on the network have evolved creating a necessity for nodes to specialize. Currently, the 3 main functions of the Bitcoin system are, in general, performed by separate actors within the ecosystem. Transaction creation is done by SPV wallets. Transaction validation is done by the Bitcoin SV node client software and mining is a separate function performed using purpose built mining software.
Peer-to-Peer Architecture and the Bitcoin Scalability Dispute
Peer-to-peer is a term often misused and misunderstood, partly due the philosophical significance of decentralization which is seen as a key feature of blockchain technology. It has also been at the heart of disputes within the Bitcoin community that have lead to contentious forks that have split the Bitcoin blockchain on two occasions as well as a general slow-down in the development of the technology.
On one hand the role of transaction validation and mining cannot be dominated by a single entity as the network would cease to provide any cryptographic or game theoretic advantages over existing centralized digital money systems. However, one of the main barriers to scaling is the extreme waste caused by forcing all users to perform all Bitcoin functions. Whilst it is true that engineering trade-offs between decentralization and scalability have to be made, it is the firm belief of the Bitcoin SV community that scalability can be achieved through specialization whilst maintaining strong security and moderate decentralization.
1. Rüdiger Schollmeier, A Definition of Peer-to-Peer Networking for the Classification of Peer-to-Peer Architectures and Applications, Proceedings of the First International Conference on Peer-to-Peer Computing, IEEE (2002).