Eine Blockchain mit öffentlichen Explorern lesen · Lektion 4 von 8
Gebühren und der Mempool
6 Min. Lesezeit
Der Warteraum: der Mempool
Wenn eine Wallet eine Transaktion sendet, gelangt diese nicht direkt in einen Block. Sie wird im Netzwerk von Node zu Node weitergegeben, und jeder Node, der sie akzeptiert, bewahrt sie in einem Wartebereich auf, der Mempool (Memory Pool) genannt wird. Blockproduzenten wählen Transaktionen aus ihrem Mempool aus, wenn sie den nächsten Block erstellen.
Zwei Fakten über den Mempool erklären vieles von dem, was du auf Explorern siehst:
- Es gibt keinen einzelnen, globalen Mempool. Jeder Node hat seinen eigenen. Sie sind normalerweise sehr ähnlich, aber eine Transaktion kann auf einem Explorer sichtbar sein und auf einem anderen fehlen, insbesondere in den ersten Sekunden oder wenn das Netzwerk stark ausgelastet ist.
- Der Mempool hat nur begrenzten Platz. Wenn er voll ist, verwerfen Nodes die Transaktionen mit den niedrigsten Gebührensätzen. Bei Bitcoin verwerfen Nodes, auf denen die Standardsoftware läuft, außerdem Transaktionen, die etwa zwei Wochen lang unbestätigt gewartet haben. Eine verworfene Transaktion wurde nicht bestätigt und die Coins wurden nicht bewegt, aber sie bleibt gültig: Jeder kann sie erneut übertragen und sie kann später weiterhin bestätigt werden, es sei denn, der Sender gibt dieselben Inputs in einer neuen Transaktion aus. Wer einfach erneut zahlt, ohne das zu tun, könnte am Ende doppelt zahlen.
Explorer wie mempool.space visualisieren den Mempool als Warteschlange der nächsten Blöcke. So lässt sich leicht erkennen, an welcher Stelle eine Transaktion steht.
So funktionieren Bitcoin-Gebühren
Bei Bitcoin hängt die Gebühr nicht davon ab, wie viel du sendest. Sie hängt davon ab, wie viel Platz deine Transaktion in einem Block einnimmt, denn der Platz im Block ist die knappe Ressource.
- Der Platz wird in virtuellen Bytes (vB) gemessen. Eine Transaktion mit vielen Inputs benötigt mehr Platz als eine mit nur einem Input, unabhängig von den Beträgen.
- Gebühren werden anhand eines Gebührensatzes in Satoshis pro virtuellem Byte (sat/vB) verglichen.
Ein einfaches Beispiel: Eine Transaktion mit 140 vB, die 2.800 Satoshis zahlt, hat einen Gebührensatz von 2.800 ÷ 140 = 20 sat/vB. Eine Transaktion mit 300 vB, die dieselben 2.800 Satoshis zahlt, hat einen Satz von nur etwa 9,3 sat/vB und muss normalerweise länger warten, obwohl die Gebühr in Satoshis identisch ist.
Seit dem SegWit-Upgrade im Jahr 2017 werden Signaturdaten mit einem geringeren Gewicht gezählt. Deshalb führen neuere Adresstypen (bc1q… und bc1p…) normalerweise zu günstigeren Transaktionen als ältere Adressen, die mit 1 beginnen.
Miner wollen mit dem begrenzten Platz möglichst viel verdienen. Deshalb füllen sie Blöcke im Allgemeinen zuerst mit den höchsten Gebührensätzen. Darum zeigen Explorer Gebührenschätzungen in sat/vB an, oft mit Prioritäten wie „hoch“, „mittel“ und „niedrig“ oder mit dem Satz, der erforderlich ist, um in den nächsten Block aufgenommen zu werden.
Wenn eine Bitcoin-Transaktion feststeckt
Wenn eine Transaktion gemessen an der aktuellen Nachfrage einen zu niedrigen Gebührensatz zahlt, kann sie stunden- oder tagelang unbestätigt bleiben. Es gibt zwei gängige Lösungen, und Explorer zeigen Hinweise auf beide.
Replace-by-fee (RBF). Der Sender überträgt eine neue Version der Transaktion, die dieselben Inputs ausgibt und eine höhere Gebühr zahlt. Nodes ersetzen die alte Version durch die neue. Explorer kennzeichnen das Original als ersetzt und verlinken auf die Ersatztransaktion. Da sich die Transaktionsdaten geändert haben, hat die Ersatztransaktion eine andere TXID. Das überrascht viele: Eine TXID, die dir mitgeteilt wurde, kann verschwinden, während eine gleichwertige Zahlung unter einer neuen TXID bestätigt wird.
Child pays for parent (CPFP). Der Empfänger (oder der Sender, indem er das Wechselgeld-Output verwendet) gibt ein Output der feststeckenden Transaktion in einer neuen „Child“-Transaktion mit einer hohen Gebühr aus. Miner können die Gebühr der Child-Transaktion nur einnehmen, wenn sie auch die Parent-Transaktion aufnehmen, also nehmen sie beide auf. Explorer zeigen häufig den kombinierten, effektiven Gebührensatz an.
So funktionieren Ethereum-Gebühren
Ethereum misst den Rechenaufwand in Gas. Jeder Vorgang in einer Transaktion kostet eine vom Protokoll festgelegte Gasmenge: Eine einfache ETH-Übertragung an ein bestehendes Konto kostet 21.000 Gas, während ein Token-Swap oft fünf- bis zehnmal so viel kostet. Die Gebühr berechnet sich wie folgt:
Gebühr = verbrauchtes Gas × Gaspreis
Gaspreise werden in Gwei angegeben. 1 Gwei entspricht einem Milliardstel ETH (0,000000001 ETH).
Seit dem London-Upgrade im August 2021 (EIP-1559) besteht der Gaspreis aus zwei Teilen:
- Basisgebühr: Sie wird vom Netzwerk für jeden Block festgelegt und ist für alle darin enthaltenen Transaktionen gleich. Sie steigt, wenn die Blöcke mehr als zur Hälfte gefüllt sind, und sinkt, wenn sie weniger als zur Hälfte gefüllt sind, jeweils um höchstens 12,5% von einem Block zum nächsten. Die Basisgebühr wird verbrannt: Sie wird vernichtet, statt an jemanden gezahlt zu werden.
- Prioritätsgebühr (das Trinkgeld): ein zusätzlicher Betrag pro Gaseinheit, der als Anreiz für die Aufnahme der Transaktion an den Gebührenempfänger des Validators geht.
Der Sender legt außerdem eine maximale Gebühr pro Gas fest, also den höchsten Betrag, den er zu zahlen bereit ist. Ist die Basisgebühr zuzüglich Trinkgeld niedriger als das Maximum, wird die Differenz nie berechnet.
Auf der Seite einer Ethereum-Transaktion siehst du normalerweise Folgendes:
| Feld | Bedeutung |
|---|---|
| Gaslimit | Die maximale Gasmenge, die der Sender der Transaktion zur Nutzung erlaubt hat |
| Verbrauchtes Gas | Wie viel Gas tatsächlich verbraucht wurde, oft als Prozentsatz des Limits angezeigt |
| Basisgebühr, maximale Gebühr, Prioritätsgebühr | Die Bestandteile des Gaspreises in Gwei |
| Transaktionsgebühr | Verbrauchtes Gas × effektiver Gaspreis, in ETH |
| Verbrannte Gebühren | Der vernichtete Teil der Basisgebühr |
Eine wichtige Regel: Auch eine fehlgeschlagene Transaktion zahlt für das verbrauchte Gas. Der Betrag, den sie zu senden versuchte, wird nicht bewegt, aber die Gebühr ist verloren. Explorer zeigen solche Transaktionen mit dem Status „Fehlgeschlagen“ oder „Zurückgesetzt“ und einer Gebühr größer als null an.
Bitcoin- und Ethereum-Gebühren im Vergleich
| Bitcoin | Ethereum | |
|---|---|---|
| Wofür du zahlst | Platz im Block (virtuelle Bytes) | Rechenaufwand (Gas) |
| Vergleichseinheit | sat/vB | Gwei pro Gas |
| Wer die Gebühr erhält | Der Miner | Basisgebühr wird verbrannt; Trinkgeld geht an den Gebührenempfänger des Validators |
| Abhängig vom gesendeten Betrag? | Nein | Nein |
| Lösung für feststeckende Transaktionen | RBF oder CPFP | Erneut mit derselben Nonce und einer höheren Gebühr senden |
Die Lösung für Ethereum beruht auf der Nonce, einem Zähler für jedes Konto, der in der Lektion „Eine Ethereum-Transaktion lesen“ erklärt wird.
Gebührenschätzungen sinnvoll lesen
Gebührenschätzungen auf Explorern sind Prognosen auf Grundlage des aktuellen Mempools. Sie können sich innerhalb weniger Minuten ändern, wenn plötzlich viele Transaktionen eingehen. Wenn der Zeitpunkt wichtig ist, prüfe die aktuelle Schätzung kurz vor dem Senden und nicht eine Stunde vorher. Denk außerdem daran, dass Wallets Gebühren normalerweise anhand ähnlicher Daten für dich festlegen.
Prüfungsfokus: Was der Mempool ist und warum jeder Node seinen eigenen hat; warum Bitcoin-Gebühren von der Transaktionsgröße (sat/vB) und nicht vom Betrag abhängen; wie Miner nach Gebührensatz priorisieren; RBF (neue TXID) und CPFP; die Ethereum-Gebührenformel (verbrauchtes Gas × Gaspreis); Basisgebühr (verbrannt) im Vergleich zur Prioritätsgebühr; und die Tatsache, dass auch fehlgeschlagene Transaktionen Gas zahlen.
Übungsfragen
Prüfen Sie Ihr Verständnis. Diese Fragen zählen nicht für die Prüfung.
Melden Sie sich an, um Ihren Fortschritt zu speichern und später weiterzumachen. Kostenlos. Anmelden