P2P网络1.pdf


立即下载 v-star*위위
2024-04-19
网络 协议 2P 结构 拓扑 区块 太坊 比特币 节点 交互
271.3 KB

P2P 网络
如果我们简单来看 P2P 技术,它的应用领域已经非常广泛了,
从流媒体到点对点通讯、从文件共享到协同处理,多种领域都有
它的身影出现。
同样的,P2P 的网络协议也有很多,比较常见的有 BitTorrent、
ED2K、Gnutella、Tor 等,也就是我们常说的 BT 工具和电驴。
比特币、以太坊等众多数字货币都实现了属于自己的 P2P 网络
协议,但是这种模式并不同于以上讨论的 P2P 网络协议,所以
我们今天讨论的重点主要是区块链技术的 P2P 技术,也就是比
特币和以太坊的 P2P 网络。
网络连接与拓扑结构
1. 网络连接
除去少数支持 UDP 协议的区块链项目外,绝大部分的区块链项
目所使用的底层网络协议依然是 TCP/IP 协议。
所以从网络协议的角度来看,区块链其实是基于 TCP/IP 网络
协议的,这与 HTTP 协议、SMTP 协议是处在同一层,也就是
应用层。
在“区块链的常见误区”这篇文章中,我们提到了“区块链是否
会颠覆互联网”这一说法,如果要是认真分析的话,它颠覆的层
面其实最多只到 HTTP 协议,不能再多了。
以 HTTP 协议为代表的、与服务端的交互模式在区块链上被彻
底打破了,变更为完全的点对点拓扑结构,这也是以太坊提出的
Web3.0 的由来。
比特币的 P2P 网络是一个非常复杂的结构,考虑到矿池内部的
挖矿交互协议与轻节点。我们仅仅讨论全节点这种场景下的 P2
P 网络发现与路由。
比特币的 P2P 网络基于 TCP 构建,主网默认通信端口为 833
3。
以太坊的 P2P 网络则与比特币不太相同,以太坊 P2P 网络是
一个完全加密的网络,提供 UDP 和 TCP 两种连接方式,主网
默认 TCP 通信端口是 30303,推荐的 UDP 发现端口为 303
01。
2. 拓扑结构
P2P 网络拓扑结构有很多种,有些是中心化拓扑,有些是半中
心化拓扑,有些是全分布式拓扑结构。
比特币全节点组成的网络是一种全分布式的拓扑结构,节点与节
点之间的传输过程更接近“泛洪算法”。
全节点与 SPV 简化支付验证客户端之间的交互模式,更接近半
中心化的拓扑结构,也就是 SPV 节点可以随机选择一个全节点
进行连接,这个全节点会成为 SPV 节点


网络/协议/2P/结构/拓扑/区块/太坊/比特币/节点/交互/ 网络/协议/2P/结构/拓扑/区块/太坊/比特币/节点/交互/
-1 条回复
登录 后才能参与评论
-->