Um bloco compacto é codificação de transporte, não um bloco de consenso menor. Um Full Node deve recuperar as transações exatas na ordem correta e validar o bloco inteiro.
Um ID curto possui 48 bits obtidos truncando SipHash-2-4. As chaves derivam do cabeçalho e nonce fornecido; não é um identificador global de transação. [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation]
Algumas transações chegam inteiras como itens pré-preenchidos, normalmente incluindo a coinbase. Os índices determinam posições no bloco reconstruído. [BIP 152 — Compact Block Relay]
O receptor compara IDs curtos com transações conhecidas, por exemplo no mempool. Um ID igual sozinho não comprova identidade de transações. [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation]
Itens ausentes ou ambíguos são pedidos por índice via getblocktxn. A resposta blocktxn fornece as transações solicitadas para completar a reconstrução. [BIP 152 — Compact Block Relay] [Bitcoin Developer Reference — P2P] [Bitcoin Core v29.0 — net processing]
A reconstrução preserva a ordem exata e verifica os compromissos do bloco. Um Full Node ainda valida o consenso antes de aceitar; o transporte compacto não é exceção. [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation] [Bitcoin Core v29.0 — net processing]
Após negociar sendcmpct, o modo de alta banda pode anunciar diretamente com cmpctblock. Depois de verificações preliminares pode preceder a validação completa do remetente, sem remover a do receptor. [BIP 152 — Compact Block Relay] [Bitcoin Core v29.0 — net processing]
O modo econômico primeiro usa inv ou headers, então o receptor pede o bloco compacto. Pode exigir mais idas e voltas que um anúncio direto. [BIP 152 — Compact Block Relay] [Bitcoin Developer Reference — P2P]
Colisões de IDs podem causar pedidos adicionais ou falha de reconstrução seguida do bloco completo. Não permitem aceitar um bloco incorreto como válido por consenso. [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation] [Bitcoin Optech — Compact block relay]
A versão 2 deriva IDs de wtxid em vez de txid e transmite dados witness conforme BIP 144. A versão do protocolo compacto não é a versão do próprio bloco. [BIP 152 — Compact Block Relay] [BIP 144 — SegWit peer services]
O benefício depende da sobreposição de transações e da rede. Pouca sobreposição adiciona pedidos; o foco é economia de transferência, não tamanho garantido de mensagem ou latência zero. [BIP 152 — Compact Block Relay] [Bitcoin Optech — Compact block relay]
Para ter uma visão mais completa, leia este verbete junto com Block propagation, Initial block download, Eclipse attack, Virtual byte (vbyte). Também há referências a este verbete em Stale Block, Block propagation, Compact Block Filters, Compact Block Filters.