主页 > 苹果怎么下载imtoken钱包 > 分析比特币网络:去中心化的点对点网络架构

分析比特币网络:去中心化的点对点网络架构

苹果怎么下载imtoken钱包 2023-08-18 05:13:00

比特币采用基于互联网的点对点(P2P:peer-to-peer)分布式网络架构。比特币网络可以被认为是按照比特币 P2P 协议运行的节点集合。本文分析比特币网络,了解它与传统中心化网络有何不同,以及比特币网络如何发现相邻节点。

集中式网络

为了更好的理解P2P网络,我们来看看传统的中心化模型:

中心化网络模型

p>

这是一个典型的星型(“中心化”)结构,也就是常见的B/S和C/S网络架构。 C1、C2、C3等之间没有直接连接,如果要连接C节点,必须通过中心化的S节点作为桥梁。中心化节点充当服务提供者和中介。例如,我们无法将资金直接从一个人转移到另一个人,而必须通过银行的中介。

P2P 网络

P2P网络是指同一网络中的每台计算机都是对等的,每个节点共同提供网络服务,没有“特殊”的节点,每个网络节点都以扁平的拓扑结构相互连接。

p2p网络模型

与中心化网络相比,P2P 网络中没有服务器或中心化服务。 P2P网络的节点是交互连接和协调的。每个节点在对外提供服务的同时,也使用网络中其他节点提供的服务。每个节点既是服务器又是客户端。除了应用于比特币网络的P2P网络模型外,目前广泛使用的BT下载也是基于P2P网络。

P2P 网络不仅消除了中心化带来的风险(中心化可能作恶)怎样搞到比特币,而且提高了传输效率。 (中心化网络也可以有优势)

如何找到节点

由于每个网络节点都是平等的(也就是说节点在网络层面是平等的,但是每个节点平等在功能上可以有不同的分工,比如钱包节点、挖矿节点等),并且没有“特殊”的中心节点,所以当一个新的网络节点启动时,它如何与其他节点建立连接加入比特币网络呢?

在中心化网络中,新添加的节点只要连接到一个“特殊”的中心节点,就可以加入网络。

为了能够加入比特币网络,比特币客户端做了几件事:

节点会记住它最近成功连接的网络节点,并且在重新启动它时可以快速重新建立与先前对等节点网络的连接。

节点会在失去现有连接时尝试发现新节点。

当一个或多个连接建立时,一个节点会向它的邻居发送一条包含它自己的 IP 地址的消息。然后相邻节点依次将消息转发给各自的相邻节点怎样搞到比特币,从而保证节点信息被多个节点接收,保证连接更稳定。

新连接的节点可以向其邻居发送 get-address getaddr 消息,要求他们返回其已知对等方的 IP 地址列表。节点可以找到要连接的对等点。

节点启动时,可以为节点指定一个活动节点IP。如果没有,客户端还会维护一个长期稳定运行的节点列表。这样的节点也称为种子节点(其实和BT下载的种子文件一样),可以通过种子节点快速发现网络中的其他节点。

节点通信简述

比特币节点通常使用TCP协议,使用8333端口与相邻节点建立连接。建立连接时还会有一个身份验证“握手”通信过程。用于确定协议版本、软件版本、节点IP、区块高度等。

当一个节点连接到相邻节点时,它开始与相邻节点同步区块链数据(轻量级钱包应用程序实际上并不同步所有区块数据),节点之间交换一个getblocks消息,其中包含区块链的最顶层哈希本地区块链。如果一个节点识别出它接收到的哈希值不属于顶部块,而是属于一个不是顶部块的旧块,则称其自己的本地区块链比其他节点的区块链更强大。 long,并告诉其他节点该区块需要补充,其他节点发送getdata消息请求区块,验证后更新到本地区块链。

学习区块链,这个视频课程可以帮助你快速入门。

区块链通俗易懂——系统学习区块链,打造最好的区块链技术博客我的知识星球为你解答区块链技术问题,欢迎参与讨论。