BTC笔记-05-网络

BTC-网络

B站视频链接


工作层次

比特币协议工作在 application layer,使用 Bitcoin Blockchain;其下层 network layer 使用 P2P Overlay Netword。比特币网络中的所有节点都是对等的,不存在一个 super node / master node

加入一个网络需要知道一个种子节点 seed node,各节点之间通信使用 TCP 协议

退出网络时无需额外操作,直接离开即可。其他节点一段时间没有收到某节点消息便会将其删除


比特币网络的设计原则

要求 simplerobust 而非 efficient

每个节点维护一个邻居节点的列表,消息传播在网络中使用 flooding 的方式。当一个节点收到一个消息后,将其发送给所有邻居节点,并将其标注为已收到,那么在下次收到该消息时便无需再次转发

邻居节点的选取是随机的,不考虑底层的拓扑结构。这种设计方式可以增强鲁棒性,但牺牲了效率


节点信息

每个节点需要维护一个等待上链的交易信息集合,如上面所说:当一个节点收到一个交易信息后,将其发送给所有邻居节点,并标记

当有两个有冲突的交易以相近的时间同时发布出来时,谁先被写入链中,另一个就会被删除

posted @ 2022-08-29 12:01  buzzing  阅读(40)  评论(0)    收藏  举报