Für Größe B ohne Witness und Gesamtgröße T gilt W = 3 × B + T. Die Berechnung umfasst den vollständig serialisierten Block einschließlich Header und Coinbase.
B ist die ursprüngliche Serialisierungsgröße ohne Witness, T die vollständige Größe. W = 3 × B + T verbindet beide Werte und ergibt WU, keine Bytes. [BIP 141 — Segregated Witness] [BIP 144 — SegWit peer services]
Ein Basisbyte kostet 4 WU. Ein durch Witness-Serialisierung ergänztes Byte kostet 1 WU, einschließlich Marker, Flag und weiterer Serialisierungselemente dieses Teils. [BIP 141 — Segregated Witness] [BIP 144 — SegWit peer services]
BIP 141 verlangt W ≤ 4 000 000 WU. Gleichheit ist erlaubt; höhere Gebühren, mehr Proof of Work oder die Zustimmung eines Miners rechtfertigen keine Überschreitung. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — consensus limits] [Bitcoin Core v29.0 — validation]
Beispielwerte B = 500 000 und T = 2 500 000 ergeben W = 4 000 000 WU. B = 750 000 und T = 1 750 000 ergeben dasselbe Gewicht; ein voller Block hat daher keine feste Größe von 4 MB. [BIP 141 — Segregated Witness]
Ein Block enthält auch einen 80-Byte-Header, die kodierte Transaktionszahl und die Coinbase. Header und Anzahl sind Basisdaten; nur die Gewichte anderer Transaktionen zu addieren genügt nicht. [Bitcoin Developer Reference — Block chain]
Die Transaktions-vsize rundet W / 4 je vollständiger Transaktion auf. Die Summe solcher gerundeten Größen lässt zudem Block-Overhead aus und ist keine exakte Konsensgewichtsberechnung. [BIP 141 — Segregated Witness] [Bitcoin Developer Reference — Block chain]
Ein Full Node prüft weiterhin die betreffenden Signaturen und Skripte. Witness-Daten beanspruchen Übertragung und Rechenleistung; geringeres Gewicht bedeutet weder Kostenfreiheit noch optionale Prüfung. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — validation]
BIP 141 begrenzt zusätzlich Signaturoperationskosten auf 80 000 Einheiten. Das ist kein einfaches Zählen sämtlicher Signaturen; Regeln hängen vom Skripttyp ab, neuere Versionen haben weitere eigene Grenzen. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — consensus limits]
Ein Miner kann aus betrieblichen Gründen ein niedrigeres Zielgewicht wählen. Seine Vorlage oder die lokale Knotenpolitik ändern weder das Konsensmaximum noch garantieren sie die Aufnahme einer bestimmten Transaktion. [Bitcoin Core v29.0 — consensus limits] [Bitcoin Core v29.0 — validation]
getblock in Bitcoin Core v29.0 liefert size, strippedsize und weight. chainwork ist etwas anderes: Es betrifft die angesammelte Kettenarbeit, nicht das Bytegewicht ihrer Blöcke. [Bitcoin Developer Reference — Block chain] [Bitcoin Core — getblock RPC]
Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Virtuelles Byte, Witness-Daten, SegWit, Blocksize War. Auf diesen Eintrag verweisen außerdem Virtuelles Byte, Witness-Daten.