Bitcoin工作在应用层,网络层是P2P 。
Bitcoin网络通信的设计原则是 simple robust ,but not efficient. 每个节点维护一个邻居节点的集合,消息传播采取 flooding的模式,邻居节点的选取是随机的,不考虑网络拓扑结构。也就是说转账速度跟离自己的远近没有关系。
Bitcoin每个节点要中需要维护一个等待上链的集合。接到合法交易后,把交易记录到集合中,并转发给其他节点,再收到同样的就不在记录和转发。