Pro velikost B bez witness a úplnou velikost T platí W = 3 × B + T. Výpočet zahrnuje celý serializovaný blok, včetně hlavičky a coinbase.
B je velikost původní serializace bez dat witness, T velikost úplné serializace. Vzorec W = 3 × B + T kombinuje obě hodnoty; výsledkem jsou jednotky WU, nikoli bajty. [BIP 141 — Segregated Witness] [BIP 144 — SegWit peer services]
Bajt základní části stojí 4 WU. Bajt přidaný witness serializací stojí 1 WU, včetně markeru, flagu a dalších serializačních položek této části. [BIP 141 — Segregated Witness] [BIP 144 — SegWit peer services]
BIP 141 vyžaduje W ≤ 4 000 000 WU. Rovnost je přípustná; překročení neomluví vyšší poplatek, více Proof of Work ani souhlas těžaře. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — consensus limits] [Bitcoin Core v29.0 — validation]
Ilustrační B = 500 000 a T = 2 500 000 dávají W = 4 000 000 WU. Stejnou váhu dávají B = 750 000 a T = 1 750 000; plný blok tedy nemá pevnou velikost 4 MB. [BIP 141 — Segregated Witness]
Do bloku patří i 80bajtová hlavička, kódovaný počet transakcí a coinbase. Hlavička a počet transakcí jsou základní data; samotný součet vah ostatních transakcí nestačí. [Bitcoin Developer Reference — Block chain]
Transakční vsize zaokrouhluje W / 4 nahoru pro celou transakci. Součet takto zaokrouhlených velikostí navíc nezahrnuje všechnu blokovou režii a není přesným konsenzuálním výpočtem váhy. [BIP 141 — Segregated Witness] [Bitcoin Developer Reference — Block chain]
Full Node stále ověřuje příslušné podpisy a skripty. Witness data spotřebují přenos i výpočet; jejich nižší váha neznamená nulové náklady ani volitelné ověřování. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — validation]
BIP 141 má vedle váhy také limit 80 000 jednotek nákladů podpisových operací. Nejde o prosté počítání všech podpisů; pravidla závisejí na typu skriptu a novější verze mají další vlastní omezení. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — consensus limits]
Těžař může z provozních důvodů použít nižší cílovou váhu. Jeho šablona ani místní politika uzlu nemění konsenzuální maximum a nezaručují zahrnutí konkrétní transakce. [Bitcoin Core v29.0 — consensus limits] [Bitcoin Core v29.0 — validation]
getblock v Bitcoin Core v29.0 vrací size, strippedsize a weight. Pole chainwork je odlišné: souvisí s nahromaděnou prací řetězce, nikoli s bajtovou vahou jeho bloků. [Bitcoin Developer Reference — Block chain] [Bitcoin Core — getblock RPC]
Pro nejúplnější obraz čtěte toto heslo společně s Virtuální bajt (vB), Witness data, SegWit, Válka o velikost bloků. Opačným směrem na něj odkazují také Virtuální bajt (vB), Witness data.