比特币系统分为应用层和网络层,应用层为比特币区块链系统,网络层为P2P覆盖网络,如下图所示: 网络中所有节点平等,只要知道一个种子节点(seed node),即可加入比特币网络,种子节点会告诉你他所了解的所有节点; 节点间通过tcp通信,这有利于穿透防火墙; 节点退出应用程序后,别的节点将听不到你的消息,过一段时间会将你删除。 Flooding传播 比特币网络采用flooding传播的方式,第一次听到某交易,则加入到集合中等待上链,并且转发这个交易,后面再收到就不转发了,避免无限传播。 如果集合中已经有一个交易来源A转给B的交易,就不能再将交易来源A转给C的交易加入集合,因为该笔交易为重复花