在比特币的白皮书里写到,比特币是一个去中心化的点对点电子支付系统。而比特币的网络,可以认为是遵循比特币点对点协议运行的一系列节点的集合。
点对点即 P2P(peer-to-peer),那么这个点对点技术是个什么,我们今天来分析一下。
一、中心化网络
我们传统的日常生活中的常规网络架构,都是采用中心化的结构。在该网络中的普通节点之间无法直接连接,只有通过中央节点作为桥梁,才能间接的建立起连接。
因此这个中央节点就扮演者中间人、中介的角色,普通节点的每一个连接它都在中间参与了。就好比我给小明转账,资金并不是直接转给了小明,中间是由阿里爸爸来操作的,阿里爸爸在这中间就扮演了中间人的角色。
如图中心化网络和 P2P 网络的区别(图片来自网络):
image二、P2P 网络
和传统中心化网络架构不同,在 P2P 的网络中,每台连接改网络的计算机之间,都是彼此对等的,不存在任何特殊的节点。
也就是这些节点间都可以直接连接,整个网络以扁平的拓扑结构相互连通。
(图片来自网络)因此在 P2P 的去中心化网络中,就不存在任何的中心化节点,每个节点在对外提供服务的同时也使用网络中其他节点所提供的服务。所以这些节点既是客户端(使用服务的节点),也是服务端(提供服务的节点)。
值得一提的是 P2P 网络在比特币之前就已经是一项成熟的技术,比如你们经常下什么小电影用的 BT 下载,就是基于 P2P 网络技术的。
我们可以看到,在 P2P 网络中既免除了中心化带来的信任风险,还提高了传输的效率,因为大家都能提供相应的网络服务。
三、 比特币网络中如何发现节点
在中心化网络中,只需要连接到中央节点就可以加入网络,那么在比特币的 P2P 网络中,新的节点如何加入比特币网络,以及怎样和其他的节点建立起连接的?
这些比特币的客户端都帮我们自动完成了。具体的过程是这样的,比如饭饭使用一款比特币的轻客户端,那么该客户端会帮我做几件事情:
-
记住和客户端节点最近成功连接的网络节点,再重新启动后会迅速和先前的对等节点重新建立连接。
-
当失去已有连接时尝试发现新节点。
-
当和周围节点建立起一个或多个连接后,节点会发送一个包含自身IP的消息,给相邻节点,然后它们再将此消息转发给它们自己的相邻节点。
-
新加入的节点,可以获取它相邻节点的对等节点IP地址列表,可以快速找到能连接到的节点。
-
节点启动时,可以给节点指定一个正在活跃的节点IP,。即使没有,客户端一般会维持一个长期稳定运行的节点列表,列表里的节点一般被称为种子节点。
往期精彩:
- 科普 || 3分钟看懂区块链出现的意义
- 科普 || 3 分钟看懂 “区块链”
- 3分钟科普 || 比特币的价值是怎么来的
- 入门 || 3分钟掌握比特币的七个基本名词
- 3分钟科普 || 最通俗地理解智能合约
欢迎一起交流,微信:daidialong3344 (添加请备注来意)
网友评论