深入理解企业级区块链Quorum和IPFS
上QQ阅读APP看书,第一时间看更新

4.3 P2P网络

P2P网络又称为对等网络,如图4-2所示,其特点是网络中每个节点之间的关系都处于对等地位,每个节点功能相同,没有主从之分,与相邻节点直连并形成一个巨大的网络,共享网络上的内容资源,每个网络节点既是内容资源的提供者(Server,服务器),同时又是内容资源的索取者(Client,客户端)。

036-1

图4-2 P2P对等网络

在传统的CS(Client-Server)架构中,一台服务器或服务集群服务所有的客户请求,比如当我们浏览网页的时候,浏览器就是一个客户端,通过点击某个图片链接来向Web服务器发送请求,服务器收到请求后将相应的图片发送给客户端。这种架构有个弱点,即一旦服务器由于某种原因无法响应请求,比如被恶意DDoS(Distributed Denial of Service,分布式拒绝服务)攻击,整个服务就瘫痪了。

而在对等网络中,节点可以直接向相邻节点进行文件的检索、下载和上传,同时也为相邻节点提供相应的服务。对等网络中的每个节点都是服务器,天生具有抗攻击、高容错的优点,相对于中心化的架构,对等网络中的服务器数量是中心化网络架构的成千上万倍,因此对P2P进行有效的DDoS攻击是很难的,除非对所有节点进行攻击。这也正是迄今为止比特币系统运行超过11年,历经全球黑客对系统进行各种攻击,系统却从来没有出现过瘫痪的原因。

采用中央服务器的方式,当出现用户并发访问量大的时候,下载速度会变得很慢。而P2P网络恰好相反,在线的节点越多,上传下载的速度反而越快,对等网络能很好地解决高并发问题,也可有效地利用各种闲置的计算和存储资源。

比特币网络中某个节点保持完整的区块链数据,能够独立校验新的交易,并实时更新或添加新的区块,这样的节点被称为“全节点”。在比特币区块链中每个全节点都是平等的,每个全节点所存储的区块内容也都是一致的,当有新的区块生成时节点之间会实时同步更新。我们之前说的大账本,就是被保存在全节点上的这些比特币记录交易。除全节点之外,还有一些节点被称为“轻节点”,轻节点只存储区块链中每个区块的头部,它们借助全节点所提供的信息来完成交易验证,在后续的轻钱包章节会详细讨论相关内容。