Glossar / Transaktionen und Gebühren
Gewichtseinheit
Auch bekannt als WU.
- Was ist eine Gewichtseinheit?
- Eine Gewichtseinheit ist die Abrechnungseinheit, die das Byte im Limit für die Blockgröße von Bitcoin ersetzt hat und es SegWit ermöglicht, die Kapazität ohne Hard Fork zu erhöhen, indem Signaturdaten mit einem Viertel berechnet werden.
Spezifiziert im BIP-141.
Alte Nodes zählen die bereinigten Bytes eines Blocks und lehnen alles über 1.000.000 ab, während neue Nodes das Gewicht zählen und alles über 4.000.000 ablehnen. Beide Regeln werden von denselben Blöcken erfüllt, und das ist der Kniff, der aus Segregated Witness einen Soft Fork machte, als er im August 2017 beim Block 481.824 aktiviert wurde. Alles, was Sie zahlen, um Bitcoin zu bewegen, wird in dieser Einheit oder in einem Viertel davon berechnet.
Wie es funktioniert
Die Gewichtseinheit existiert, weil Nodes mit unterschiedlicher Software sich einig sein müssen, wann ein Block voll ist, auch wenn sie nicht dieselben Bytes betrachten.
Ein Node, der nie aktualisiert wurde, erhält überhaupt keine Witness-Daten. Er sieht den bereinigten Block und wendet die Obergrenze an, die er immer angewendet hat, 1.000.000 Bytes. Ein aktualisierter Node setzt das Ganze wieder zusammen und wendet eine Obergrenze von 4.000.000 Gewicht an. Berechnen Sie vier Einheiten für jedes Nicht-Witness-Byte und eine Einheit für jedes Witness-Byte, können die beiden Prüfungen nie auseinandergehen: Jeder Block, der in das Gewichtsbudget passt, bleibt nach dem Entfernen der Witness-Daten auch unter einem Megabyte. Eine Regel, die nur verschärft, was alte Software ohnehin akzeptiert, ist genau das, was ein Soft Fork ist, und diese Preisgestaltung sorgte dafür, dass die Kapazitätserhöhung in einen passte.
Die Wahl eines Viertels war nicht willkürlich. Witness-Bytes sind Signaturen, und Signaturen sind der Teil einer Transaktion, den ein Node verwerfen kann, sobald die Ausgabe tief genug vergraben ist; sie gelangen nie in den UTXO-Satz, die einzige Struktur, die jede validierende Maschine dauerhaft bereithalten muss. Sie niedrig zu bewerten lenkte Wallets in ein Format, das diese teure Menge langsamer wachsen lässt, und das gelang, indem die verantwortungsvolle Wahl zugleich die günstige wurde.
Ein zweites Budget läuft auf derselben Skala und erhält deutlich weniger Aufmerksamkeit. BIP141 begrenzt einen Block auf 80.000 Signatur-Operationseinheiten, wobei alte Operationen viermal zählen, sodass ein mit Multisig alter Bauart vollgestopfter Block eher an den Signaturprüfungen scheitern kann als am Platz.
Die Kapazität ist daher eine Spanne und keine Zahl. Ein Block mit reinen Alt-Transaktionen kann weiterhin 1.000.000 Bytes nicht überschreiten, während ein witness-lastiger sich vier Megabyte nähern kann, und die meisten liegen zwischen eins und zwei, weil die meisten Blöcke eine Mischung sind.
Wo Sie es sehen
Gewichtseinheiten werden in jedem Block-Explorer neben einem Block angezeigt und sind die Zahl, gegen die ein Mining-Pool tatsächlich optimiert.
Am deutlichsten tauchen sie in einem Satz auf, der im August 2017 aufhörte, wahr zu sein. Bitcoin hat kein Limit von einem Megabyte pro Block; es hat ein Budget von vier Millionen Einheiten, und der Füllstandsbalken, den Sie in einem Explorer sehen, wird gegen dieses Budget gemessen. Pools stellen eine Vorlage zusammen, indem sie das Budget mit den am besten zahlenden Kandidaten füllen und einen Teil für die Coinbase-Transaktion zurückhalten, sodass ein geminter Block meist knapp unter der Grenze liegt statt genau darauf.
Gewichtseinheiten sind außerdem das verborgene Thema der lautesten Debatte in Bitcoin. Daten im Witness-Bereich zu speichern kostet ein Viertel dessen, was dieselben Bytes überall sonst kosten, und genau deshalb liegen Inscriptions dort. Die Debatte darüber, ob diese Daten auf die Chain gehören, ist unter dem Lärm betrachtet eine Debatte über ein Verhältnis, das gewählt wurde, als BIP141 im Jahr 2015 verfasst wurde.
Für jemanden, der Bitcoin kauft und hält, ist die Einheit nur mittelbar relevant. Sie werden nie ein Gewicht in eine Wallet eingeben, aber sie ist der Grund, warum das Ausgeben einer alten Ausgabe mehr kostet als das Ausgeben einer modernen.
Gewichtseinheit vs. Blockgewicht
Eine Gewichtseinheit ist das Lineal; das Blockgewicht ist eine damit vorgenommene Messung. Auch Transaktionen haben ein Gewicht, und die Zahl eines Blocks ist die Summe seiner Transaktionen plus Header und Zähler, weshalb die beiden Wörter nicht austauschbar sind. Die Verwechslung wird teuer, wenn jemand die Zahl 4.000.000 als Obergrenze pro Transaktion liest. Das ist sie nicht: Die Relay-Richtlinie weist eine einzelne Standardtransaktion ab, lange bevor sie sich der Blockgrenze nähert, und der Konsens misst nur den Block.