紧凑区块是传输编码,而非更小的共识区块。Full Node必须按正确顺序恢复精确的交易并验证整个区块。
短ID为截短SipHash-2-4所得的48位。密钥由区块头和提供的nonce派生;它不是全局交易标识符。 [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation]
部分交易作为预填项完整发送,通常包括coinbase。索引指定它们在重建区块中的位置。 [BIP 152 — Compact Block Relay]
接收者把短ID与已知交易匹配,例如内存池中的交易。相同短ID本身不证明交易相同。 [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation]
缺失或不明确的项通过getblocktxn按索引请求,blocktxn响应提供所需交易以完成重建。 [BIP 152 — Compact Block Relay] [Bitcoin Developer Reference — P2P] [Bitcoin Core v29.0 — net processing]
重建保持精确顺序并检查区块承诺。Full Node接受之前仍执行共识验证;紧凑中继不构成豁免。 [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation] [Bitcoin Core v29.0 — net processing]
sendcmpct协商后,高带宽模式可直接用cmpctblock公告。规定的初步检查后,可先于发送者的完整验证,但不取消接收者验证。 [BIP 152 — Compact Block Relay] [Bitcoin Core v29.0 — net processing]
低带宽模式先使用常规inv或headers公告,再由接收者请求紧凑区块。因此可能比直接公告需要更多往返。 [BIP 152 — Compact Block Relay] [Bitcoin Developer Reference — P2P]
短ID碰撞可能导致交易补请求或重建失败后下载完整区块,不允许把错误区块当作共识有效区块接受。 [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation] [Bitcoin Optech — Compact block relay]
版本2从wtxid而非txid派生短ID,并按BIP 144传输witness数据。紧凑协议版本不是区块本身的版本号。 [BIP 152 — Compact Block Relay] [BIP 144 — SegWit peer services]
收益取决于已知交易重叠和网络条件。低重叠增加请求;主要目标是节省带宽,不是保证消息大小或零延迟。 [BIP 152 — Compact Block Relay] [Bitcoin Optech — Compact block relay]
要获得更完整的理解,请将本词条与以下词条结合阅读: 区块传播, 初始区块下载, 日蚀攻击, 虚拟字节. 反向关联还来自: 区块传播, Compact Block Filters, Compact Block Filters, 马特·科拉洛.