Kompaktní blok je přenosové kódování, nikoli menší konsenzuální blok. Full Node musí obnovit přesné transakce ve správném pořadí a ověřit celý blok.
Krátké ID má 48 bitů a vzniká zkrácením SipHash-2-4. Klíče se odvozují z hlavičky a dodaného nonce; nejde o globální identifikátor transakce. [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation]
Některé transakce přicházejí celé jako předvyplněné položky, obvykle včetně coinbase. Jejich indexy určují pozici v rekonstruovaném bloku. [BIP 152 — Compact Block Relay]
Příjemce hledá shody krátkých ID mezi již známými transakcemi, například v mempoolu. Stejné ID není samo důkaz totožnosti transakcí. [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation]
Chybějící či nejednoznačné položky požaduje zprávou getblocktxn podle indexů. Odpověď blocktxn dodá požadované transakce pro dokončení rekonstrukce. [BIP 152 — Compact Block Relay] [Bitcoin Developer Reference — P2P] [Bitcoin Core v29.0 — net processing]
Rekonstrukce zachovává přesné pořadí transakcí a kontroluje závazky bloku. Full Node před přijetím stále provede konsensuální validaci; kompaktní přenos není výjimka z pravidel. [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation] [Bitcoin Core v29.0 — net processing]
Po dohodě zprávou sendcmpct může rychlý režim poslat cmpctblock přímo jako oznámení. Po určených předběžných kontrolách může předběhnout úplnou validaci odesílatele, nikoli zrušit validaci příjemce. [BIP 152 — Compact Block Relay] [Bitcoin Core v29.0 — net processing]
Úsporný režim nejprve používá obvyklé oznámení inv či headers a příjemce kompaktní blok vyžádá. Může tedy potřebovat více komunikačních kol než přímé oznámení. [BIP 152 — Compact Block Relay] [Bitcoin Developer Reference — P2P]
Kolize krátkých ID mohou vyvolat dožádání transakcí nebo selhání rekonstrukce a stažení úplného bloku. Neumožňují přijmout nesprávný blok jako konsensuálně platný. [BIP 152 — Compact Block Relay] [Bitcoin Core — BIP 152 implementation] [Bitcoin Optech — Compact block relay]
Verze 2 odvozuje krátká ID z wtxid místo txid a přenáší transakce včetně witness dat podle BIP 144. Verze kompaktního protokolu není číslem verze samotného bloku. [BIP 152 — Compact Block Relay] [BIP 144 — SegWit peer services]
Přínos závisí na překryvu dostupných transakcí a síťových podmínkách. Slabý překryv přidává dožádání; cílem je hlavně úspora přenosu, nikoli zaručená velikost zprávy nebo nulová latence. [BIP 152 — Compact Block Relay] [Bitcoin Optech — Compact block relay]
Pro nejúplnější obraz čtěte toto heslo společně s Šíření bloků, Počáteční stažení bloků, Eclipse útok, Virtuální bajt (vB). Opačným směrem na něj odkazují také Šíření bloků, Compact Block Filters, Compact Block Filters, Matt Corallo.