BTC笔记-05-网络
BTC-网络
工作层次
比特币协议工作在 application layer,使用 Bitcoin Blockchain;其下层 network layer 使用 P2P Overlay Netword。比特币网络中的所有节点都是对等的,不存在一个 super node / master node
加入一个网络需要知道一个种子节点 seed node,各节点之间通信使用 TCP 协议
退出网络时无需额外操作,直接离开即可。其他节点一段时间没有收到某节点消息便会将其删除
比特币网络的设计原则
要求 simple 和 robust 而非 efficient
每个节点维护一个邻居节点的列表,消息传播在网络中使用 flooding 的方式。当一个节点收到一个消息后,将其发送给所有邻居节点,并将其标注为已收到,那么在下次收到该消息时便无需再次转发
邻居节点的选取是随机的,不考虑底层的拓扑结构。这种设计方式可以增强鲁棒性,但牺牲了效率
节点信息
每个节点需要维护一个等待上链的交易信息集合,如上面所说:当一个节点收到一个交易信息后,将其发送给所有邻居节点,并标记
当有两个有冲突的交易以相近的时间同时发布出来时,谁先被写入链中,另一个就会被删除

浙公网安备 33010602011771号