主页 > 安卓版下载imtoken官网 > 比特币网络 (4)

比特币网络 (4)

安卓版下载imtoken官网 2023-01-18 11:05:04

BTC-网络

比特币系统的工作过程:用户向比特币网络发布交易,节点收到交易后将交易打包成一个区块,然后将区块发布到比特币网络,新发布的交易和区块在比特币网络。 它是如何在互联网上传播的?

比特币网络如何运作

比特币工作在网络应用层,其底层(网络层)是一个P2P覆盖网络(P2P overlay network)。 比特币系统中的所有节点都是完全平等的,不像其他一些拥有超级节点的网络。 要加入网络,至少需要知道一个种子节点,并且种子节点会通知自己它知道的节点。 节点之间的通信采用TCP协议,便于穿透防火墙。 当一个节点离开时,只需要自己退出,其他节点如果在一定时间后仍然没有收到该节点的消息,就会将其删除。

比特币网络设计原则:简单、健壮(在最坏情况下能达到最优情况,即健壮性)而不是高效。 每个节点维护一组邻居节点。 泛洪方法用于网络中的消息传播。 当一个节点收到一条消息时,它会将它发送给所有的邻居节点并标记它。 下次收到消息时就不会再发送了。 . 邻居节点是随机选择的,不考虑网络的底层拓扑结构,与现实世界中的物理地址无关。 该网络非常健壮,但以牺牲网络效率为代价。

在比特币系统中,每个节点都维护着一组等待上传到链上的交易。 第一次听到交易,如果是合法交易,则加入交易集并转发给邻居节点,收到交易后不再转发交易(避免交易在节点上无线传输)网络)。 假设网络中有两笔相互冲突的交易,比如交易1:A->Bbtc网络,交易2:A->C(假设花的钱是一样的)。 接受哪一个取决于节点先接收到哪个事务,然后另一个事务将其丢弃。

如果一个节点先听到A->Bbtc网络,然后又听到A->C已经上链了,那么此时A->B就是非法交易,所以它要等着把A->B从链上删除链上交易集

新发布的区块在网络中的传播方式与新发布的交易类似。 每个节点除了检查区块内容是否合法外,还要检查自己是否在最长的合法链上。 块越大,网络传输越慢。 BTC协议限制区块大小不超过1M。

块大小越大,网络上的传播延迟越长; 块大小越小,可以包含的交易越少。

另外,比特币网络传输属于Best effort(尽力而为),不能保证传输一定会成功。 向网络发布交易可能不会被所有节点接收,也可能所有节点都以相同的顺序接收交易。