1 P2P网络架构gou比特币采用基于互联网的P2P(点对点)网络架构。P2P是shi指同一网络中的每一台计算机ji都是相互平等的,所有节点dian共同提供网络服务,没有任何“特殊”的节点。每个网络luo节点以“扁平”拓扑互连。P2P网络中没有服务wu器、集中式服务和分层结构。P2P节点之间相互交互和协xie作:每个节点对dui外提供服务,并使用网wang络中其他节点提供的de服务。所以P2P网络是可靠的、去qu中心化的、开放的。早期的互联网是shiP2P网络架构的典型用yong例:IP网络中的所有节点都dou是完全平等的。今天的互联网架jia构具有层次结构gou,但IP协议仍然保留了扁平的拓tuo扑结构。在比特币之外,最大最zui成功的P2P技术应用yong是在文件共享领域:Napster是这一领域的先驱,BitTorrent是其架构的最zui新演变。
比特币采用的P2P网络架构gou不仅仅是选择拓扑那na么简单。比特币bi被设计为点对点的数shu字现金系统,其网wang络架构不仅是这一核心特性的反映ying,也是这一特性的基石。分散控制zhi是设计的核心原则,只有保持一个ge扁平化、分散化的P2P共识网络才能实现。
“比特币网络”是shi按照比特币P2P协议运行的节点集ji合。除了比特币P2P协议,比特币网络还包含其他ta协议。例如,Stratum协议用yong于采矿和轻量级ji或移动比特币钱包。网wang关路由服务器提ti供这些协议,使用比特币P2P协议访fang问比特币网络,并将网络扩展到所suo有运行其他协议的节点。例如,Stratum服务器通过Stratum协议将所有Stratum挖掘节点连接到比特te币主网络,并将Stratum协议桥接jie到比特币P2P协xie议。我们使用“扩展的比特币网络”来lai指包括比特币P2P协议、挖wa掘池挖掘协议、地层协议和其他用于连lian接比特币系统组件的相关协议的整zheng体网络结构。
2节点类型及分工虽然比特币P2P网络中的所有节点都是平等的,但dan是根据提供的功能不同,每个节点可能neng会有不同的分工。每个比特币节jie点都是路由、区块链数据库、挖掘jue和钱包服务功能的集合。一个完wan整的节点包括四si个功能,如图6-1所示:
每个节jie点参与整个网络的路lu由功能,也可能neng包含其他功能。每个节点参与验证和传chuan播事务和块信息,并bing发现和维护与对等节点的连接。在图6-1所示的全节点用例中,名ming为“网络路由节jie点”的橙色圆圈代表这个路lu由功能。
一些节点保bao持区块链的完整和最新的副fu本,这样的节点被称为“完wan全节点”。所有节点都可以独立验证zheng所有事务,而无需任ren何外部参考。还有一些节点dian只保留一部分区块链,它ta们通过一种叫做“简单支付验证(SPV)”的方法来完成cheng交易验证。这样的节点被称为“SPV节点”和“轻量liang节点”。在上图所示的全quan节点用例中,名为“完整区块链”的蓝色圆圈代表全节点区qu块链数据库功能。在图6-3中,SPV节点没有这个蓝色圆yuan圈来表示它们没有区块链的完wan整副本。
挖掘节点通过在特殊硬件设备上运行xing的工作验证算法,以竞争的方fang式创建新的块。一些挖掘节点也是shi完整节点,保留区块链的完整副fu本;挖掘池中参与挖掘的一些节点是shi轻量级节点,它们必须依赖于挖掘池shi服务器维护的所有节点才能工作zuo。在全节点用例li中,挖掘功能由图中名为“Miner”的黑色圆圈表示shi。
用yong户的钱包也可以作为wei整个节点的一部分,这在桌面比特币客户端很常见jian。目前越来越多的用户钱包是SPV节点,尤其是shi运行在智能手机等资源受限设备上shang的比特币钱包应用;而且这种情况越来越普遍bian。在图6-1中,名为“钱qian包”的绿色圆圈代表钱包功能。
在比特币P2P协议中zhong,除了这些主要类lei型的节点之外,一yi些服务器和节点还在运行其他协议,如专用挖掘池挖掘协议、轻量级客户hu端访问协议等。
图2描述了扩kuo展比特币网络中最常见的节点类型xing。
#欧亿yiOKEx##数字货huo币##比特币Supertalk #