主页 > imtoken正版下载 > 以下哪种是比特币运用的p2p协议 比特币 BIP152-紧凑块

以下哪种是比特币运用的p2p协议 比特币 BIP152-紧凑块

imtoken正版下载 2023-04-02 07:43:10

比特币 BIP152-Compact 区块摘要

在比特币网络中传输压缩块的主要目的是节省带宽。

动机

siteshilian.com 比特币协议_以下哪种是比特币运用的p2p协议_比特币李笑比特币身价

从历史上看,比特币 P2P 协议在块转发的带宽利用方面效率不高。 即使邻居节点已经获得了区块中的很多交易,在区块转发过程中以下哪种是比特币运用的p2p协议,每笔交易都会被包含在转发的区块中。 这导致节点在接收块时的接收带宽出现峰值。 对于一些比邻居节点更早收到块的节点以下哪种是比特币运用的p2p协议,这导致它发送带宽峰值。 当带宽峰值出现时,节点的缓存急剧增加,使得消费级网络连接暂时不可用,也会增加节点转发块的延迟,等待块的节点只能等待块,而不能从其他空闲节点请求块。

siteshilian.com 比特币协议_比特币李笑比特币身价_以下哪种是比特币运用的p2p协议

因此,有必要减少许多独立节点的块转发的带宽使用。

siteshilian.com 比特币协议_以下哪种是比特币运用的p2p协议_比特币李笑比特币身价

BIP152的主要目标不是降低区块转发的延迟,但确实可以在某些方面降低区块转发的延迟。 另外,bip152的工作为以后减少区块转发的延迟打下了基础。

siteshilian.com 比特币协议_以下哪种是比特币运用的p2p协议_比特币李笑比特币身价

版本 1 规范预期协议流程

siteshilian.com 比特币协议_比特币李笑比特币身价_以下哪种是比特币运用的p2p协议

在这里插入图片描述

这个协议有两种使用方式,取决于相邻节点的带宽,这将在后面讨论。 在“high-bandwidth”模式(“high bandwidth relaying”)下,节点可能只允许这样的节点数量较少的块转发模式,要启用这种模式,需要将sendcmpct消息的第一个字节标记为1。这种模式下,节点广播包含短交易ID的区块(发送消息是compctblock)。 该块将在交易之前被转发。 在某些情况下,不需要更多的往返,接收节点可以重建块并立即处理它。 如果接收节点发现有些交易不在本地的mempool(交易池)中,则发送getblocktxn/blocktxn请求丢失的交易。 这样可以减少带宽使用,但是区块转发的延迟也会达到今天节点使用的最小时间1.5 * RTT。 货币对区块的转发方式,参考

通过将 sendcmpct 消息的第一个字节设置为 0 来启用“低带宽”模式。在这种模式下,节点以通常的 inv/headers 方式广播新块(BIP130 中的描述,块在转发之前经过充分验证) . 接收方随后会发送一个 MSG_CMPCT_BLOCK getdata 请求,然后接收到区块头和短交易 ID。 在某些情况下,不需要更多的往返,接收方可以直接根据区块头和短交易ID构造一个区块,然后进行处理。 虽然减少了带宽使用,但传播块所需的时间仍然是 1.5RTT。 当一些交易不在接收方本地的mempool中时,它会发送getblocktxn/blocktxn,这需要额外的往返,这使得块转发的延迟为2.5RTT,但这仍然减少了块转发的带宽使用。 因为TCP本身比较大的数据会有很大的延迟(通常是RTT的倍数),所以即使有2.5RTT的延迟,这种模式的整体延迟仍然可以预期降低传输延迟。

具体实现细节参考bip152。