Was ist nach der Segwit-Aktivierung die größtmögliche Blockgröße?

Der Code sagt MAX_BLOCK_SERIALIZED_SIZE = 4000000, aber das ist eigentlich keine tatsächliche Konsensregel, wie hier angegeben:

https://github.com/bitcoin/bitcoin/issues/10289

Die eigentliche Konsensregel basiert auf MAX_BLOCK_WEIGHT, was ebenfalls 4000000 ist. Mir ist unklar, welches Mindestgewicht eine p2wpk- oder p2wsh-Transaktion haben kann. Insbesondere, was ist das beste Zeugen-serialisierte Größe/Gewichts-Verhältnis, das eine Transaktion nach der Segwit-Aktivierung haben kann?

Das sollte die Frage beantworten, was die größtmögliche Blockgröße nach der Segwit-Aktivierung ist.

Antworten (1)

Die maximale Blockgröße beträgt 4.000.000 Byte (4 MB). Dies liegt daran, dass die Blockgewichtsberechnung base size (in MB) * 3 + total size (in MB) = block weight( siehe BIP 141 ) ist. Da die einzigen Einheiten MB sind, sind die einzigen Einheiten des Blockgewichts auch MB, daher ist die maximale Blockgröße gleich dem Blockgewicht.

Das bestmögliche Verhältnis von Größe zu Gewicht, das ich mir vorstellen kann, ist eine Transaktion, die auch eine P2WSH-Ausgabe ausgibt, die ein lächerliches Redescript hat. Und dann gibt es noch die Coinbase-Transaktion und den Block-Header. Der Zeuge wäre 4000000 - 240 * 3 - 240 = 3999040. Es gibt also 3999040 Bytes im Zeugen. Die Gesamtblockgröße beträgt dann 3999040 + 240 = 3999280 bytes.

Coinbase-Transaktionen können nichts ausgeben.
Alle. Ich dachte, es gab in der Vergangenheit eine Coinbase, die Coins ausgegeben hat. Ich glaube, ich irre mich.
Wird der 80-Byte-Blockheader in die Berechnung einbezogen?
Ich bin mir ziemlich sicher, dass es so ist.
Gesamtgröße und Basisgröße enthalten beide Daten von Nichtzeugen? Einige Bytes werden also doppelt gezählt? Das bedeutet, dass ein 4-MB-Block unmöglich wäre
@PieterWuille ist die 4-MB-Antwort richtig? Wäre es nicht kleiner, weil "Gesamtgröße" und "Basisgröße" BEIDE die gleichen Nicht-Zeugendaten enthalten? Bei der Berechnung einer Blockgewichtung (bei Max 400000) werden manche Bytes doppelt gezählt, ein 4MB Block ist unmöglich.
Theoretisch können Sie 4M ziemlich nahe kommen, indem Sie Transaktionen haben, die fast ausschließlich aus Zeugendaten bestehen. In der Praxis wird das bei normalen Finanztransaktionen, näher an 2M, nicht passieren.
@PieterWuille ist es ein Fehler, das Gewicht in Bytes zu messen? (Oder MB)