一、比特币P2P网络:
1.架构:比特币采用了基于互联网的点对点(P2P:peer-to-peer)分布式网络架构。
2.协议:基于 TCP 构建,主网默认通信端口为 8333。
3.网络拓扑:比特币全节点组成的网络是一种全分布式的拓扑结构,节点与节点之间的传输过程更接近“泛洪算法”,即:交易从某个节点产生,接着广播到临近节点,临近节点一传十十传百,直至传播到全网。
4.节点发现:
从邻近节点获取节点列表并进行维护。
5.地址保存:
种子节点硬编码,为了避免每次接入网络都进行大量的地址申请,比特币客户端使用的是levelDB格式储存数据将获取的节点信息保存在 peers.dat 本地文件中。比特币客户端启动后会发起定时循环任务,检查连接节点是否在线,并将失败的节点保存在 banlist.dat 本地文件中。
6.局域网穿透:
UPnP 协议作为局域网穿透工具,只要局域网中的路由设备支持 NAT 网关功能、支持 UPnP 协议,即可将你的区块链节点自动映射到公网上。
二、以太坊P2P网络:
1.架构:以太坊 P2P 网络是一个完全加密的网络。
2.协议:提供 UDP 和 TCP 两种连接方式,主网默认 TCP