Warum definiert BIP 141 (Segwit) sowohl die virtuelle Transaktionsgröße als auch das Gewicht ?
Das Gewicht scheint nur das Vierfache der virtuellen Transaktionsgröße zu sein (oder umgekehrt, je nachdem, was Sie zuerst definieren). Warum werden beide benötigt?
Das Transaktionslimit unter Segwit ergibt sich ausschließlich aus dem Transaktionsgewicht und dem Blockgewichtslimit von 4.000.000 Gewichtseinheiten.
Die virtuelle Transaktionsgröße wurde nicht für die Limitberechnung verwendet, da sie bei genauer Berechnung gebrochen ist. Bitcoin Core verwendet nur Ganzzahlen im Consensus-Code und ist daher mit der Aktivierung von Segwit auf Transaktionsgewicht umgestellt.
Die virtuelle Transaktionsgröße wird lediglich als bequeme Möglichkeit bereitgestellt, die effektive Transaktionsgröße von Segwit mit den Transaktionsgrößen vor Segwit zu vergleichen.
Hinzufügen eines Zitats des Abschnitts zur Verdeutlichung: BIP141 spezifiziert die folgenden Begriffe in Bezug auf die Transaktionsgröße:
Das Transaktionsgewicht
ist definiert als Basistransaktionsgröße * 3 + Gesamttransaktionsgröße (d. h. die gleiche Methode wie die Berechnung des Blockgewichts aus Basisgröße und Gesamtgröße).Die virtuelle Transaktionsgröße
ist definiert als Transaktionsgewicht / 4 (aufgerundet auf die nächste Ganzzahl).Die Basistransaktionsgröße
ist die Größe der Transaktion, die mit entfernten Zeugendaten serialisiert wird.Die Gesamttransaktionsgröße
ist die Transaktionsgröße in Byte, serialisiert wie in BIP144 beschrieben, einschließlich Basisdaten und Zeugendaten.
Karel Bilek
vsize
– virtuelle Größe – von RPC zurück, nicht Gewicht.Murch
Pieter Wuille
Karel Bilek
Pieter Wuille
Karel Bilek
Karel Bilek