In diesem Video wird erklärt, dass die Signatur aus dem Eingabebereich verschoben und in den neuen Abschnitt namens Zeuge verschoben wird . Soweit ich das beurteilen kann, ist die Unterschrift des Zeugen immer noch in dieser Transaktion enthalten - wie würde eine einfache Neuordnung von Informationen auf magische Weise mehr Platz schaffen?
Ich habe andere Artikel und Videos gelesen und keiner von ihnen scheint diese "Magie" anzusprechen.
TL; DR :
SegWit reduziert die Transaktionsgröße nicht, wenn Sie sich auf die Rohbytelänge von Transaktionen beziehen. Stattdessen wird die Blockgewichtung als neue Metrik eingeführt, die nicht direkt der rohen Bytelänge von Transaktionen entspricht, sondern Zeugendaten so behandelt, als hätten sie weniger Gewicht als andere Teile der Transaktion.
Das Limit für Bitcoin-Blöcke wurde mit der Aktivierung von Segwit geändert. Früher waren Blöcke auf 1.000.000 Bytes (1 MB) begrenzt. Seit segwit sind sie auf 4.000.000 Gewichtseinheiten begrenzt.
Bei der Berechnung des Gewichts einer Transaktion werden Bytes unterschiedlich gewichtet, je nachdem, ob sie Teil des Witness sind oder nicht:
Dies hat den Effekt, dass eine Nicht-Segwit-Transaktion genau den gleichen Anteil zum Limit beiträgt wie zuvor. ZB beträgt die rohe Bytelänge einer P2PKH-Transaktion mit einem Eingang und zwei Ausgängen 222 Bytes und wiegt daher 888 WU, dh 222B / 1.000.000 B = 888 WU / 4.000.000 WU. Das bedeutet, dass das Blockgewichtslimit für Nicht-Segwit-Transaktionen genau die gleiche Wirkung hat wie zuvor das Blockgrößenlimit, und es ist abwärtskompatibel.
Bei Segwit-Transaktionen ist das Gewicht jedoch nicht das Vierfache der Rohtransaktionsgröße. Beispielsweise beträgt die rohe Bytelänge einer P2SH-P2WSH 2-von-3-Multisig-Transaktion mit einer Eingabe und zwei Ausgaben 409 Bytes, aber ihr Gewicht beträgt 868 WU, da ein großer Teil der Transaktionseingabe Zeugendaten sind. Eine Segwit-Transaktion nimmt daher einen kleineren Teil der Gewichtsgrenze ein, als die rohe Bytelänge vermuten lässt.
Um einen einfacheren Vergleich mit alten Gebührensätzen zu ermöglichen, wird das Blockgewicht oft als „virtuelle Größe“ in „virtuellen Bytes“ oder „vBytes“ ausgedrückt. Die virtuelle Größe wird berechnet, indem das Gewicht einer Transaktion durch vier dividiert und auf die volle Ganzzahl aufgerundet wird. Bei Nicht-Segwit-Transaktionen sind die rohe Bytelänge und die virtuelle Größe gleich.
Zusammenfassend lässt sich sagen, dass die rohe Bytelänge von Blöcken jetzt 1.000.000 B überschreiten kann, die virtuelle Größe jedoch 1.000.000 vB nicht überschreiten kann.
segwit IST eine Erhöhung der Blockgröße. Keine Magie.
Der Segwit-Mechanismus erzwingt eine Grenze für eine gewichtete Datengröße, die berechnet wird, indem der Nicht-Sig-Teil einer Transaktion als Basisdaten (Gewicht = 4) gezählt wird und die Sig-Daten zu einem ermäßigten Satz (Gewicht = 1) gezählt werden. Die Summe der gewichteten Transaktionsgrößen des Blocks (als „Blockgewicht“ bezeichnet) ist auf 4 MB begrenzt. Clients ohne Upgrade sehen nur die Basisdaten und wenden wie zuvor die alte 1-MB-Grenze an.
Jetzt können Sie also sehen, wie sich die Blockgröße erhöht. Wenn die Transaktionen alle (fast) keine Basisdaten und hauptsächlich Signaturdaten haben, kann die tatsächliche Blockgröße bis zu 4 MB betragen. Wenn die Transaktionen hauptsächlich Basisdaten und keine Signaturdaten haben, kann die Blockgröße nur bis zu 1 MB betragen. Der tatsächliche Fall wird immer irgendwo dazwischen liegen - daher eine Erhöhung des Blockraums.
pebwindkraft
Murch
pebwindkraft
Murch
Pieter Wuille
Murch