Glossar / Transaktionen und Gebühren
Bitcoin-Transaktion
Auch bekannt als Transaktion.
- Was ist eine Bitcoin-Transaktion?
- Eine Bitcoin-Transaktion ist eine signierte Anweisung, die einige bestehende Bitcoin vernichtet und an ihrer Stelle neue erzeugt; nur so kann Wert im Netzwerk jemals übertragen werden.
Nichts in Bitcoin führt ein Guthaben. Das Register ist eine Menge nicht ausgegebener Outputs, eine Zahlung verbraucht ganze Outputs und erzeugt Ersatz, und was übrig bleibt, geht als Gebühr an den Miner. Die erste überhaupt bewegte 10 Bitcoin von Satoshi Nakamoto an Hal Finney in Block 170 am 12. Januar 2009, und wie jede seither konnte sie nicht zurückgeholt werden.
Wie es funktioniert
Eine Bitcoin-Transaktion ist eine kurze binäre Struktur mit sechs Teilen, und die Wallet setzt alle zusammen, bevor irgendetwas gesendet wird.
Die Version umfasst 4 Bytes. Version 1 war die ursprüngliche; Version 2 gibt es, weil BIP68 den Sequenznummern eine neue Bedeutung für relative Timelocks gab, und moderne Wallets setzen sie standardmäßig. Dann kommen die Inputs, von denen jeder einen früher erzeugten Output benennt und den Nachweis des Rechts trägt, ihn auszugeben. Dann die Outputs, von denen jeder einen Betrag in Satoshis und ein Sperrskript enthält, das angibt, wer ihn als Nächstes ausgeben darf. SegWit-Transaktionen fügen einen Witness-Abschnitt mit den Signaturen hinzu, der außerhalb des Teils liegt, der die Transaktions-ID bestimmt. Zuletzt kommt das Locktime, 4 Bytes, meist auf die aktuelle Blockhöhe gesetzt, damit eine Transaktion nicht in einen früheren Block gezogen werden kann.
In dieser Struktur gibt es nirgends ein Gebührenfeld. Die Gebühr ist Arithmetik: Gesamtwert der Inputs minus Gesamtwert der Outputs, und was Sie keinem Output zuweisen, geht an den, der den Block mint. Deshalb kann ein Wallet-Fehler bei der Berechnung des Wechselgelds echtes Geld vernichten, und deshalb baut jede Wallet einen Wechselgeld-Output zurück an sich selbst, statt einen Rest zu lassen.
Die Signatur bindet das Ganze zusammen. Unter der Standardregel SIGHASH_ALL bindet sich jede Signatur an jeden Input und jeden Output, sodass die Änderung eines einzigen Satoshi an einem einzigen Output jede Signatur der Transaktion ungültig macht. Das macht eine gesendete Transaktion im Inhalt endgültig, wenn auch noch nicht in der Bestätigung.
Die Größe wird in virtuellen Bytes gemessen, nicht in rohen Bytes, weil SegWit Witness-Daten auf ein Viertel ihres Gewichts reduziert, und Blöcke sind durch ein Budget von 4 Millionen Gewichtseinheiten begrenzt. Eine native SegWit-Zahlung mit einem Input und zwei Outputs kommt auf rund 141 virtuelle Bytes.
Warum das beim Bitcoin-Kauf zählt
Bei einer Börse werden zwei völlig verschiedene Dinge „Bitcoin senden“ genannt, und nur eines davon ist eine Transaktion.
Bitcoin zwischen Konten derselben Plattform zu verschieben, ist eine Datenbankaktualisierung. Sie ist sofort da, meist kostenlos und hinterlässt keine Spur auf der Blockchain, weil keine Transaktion erstellt wurde. Eine Auszahlung an eine Adresse, über die Sie verfügen, erstellt eine echte Transaktion, zahlt eine echte Gebühr, wartet auf einen echten Block und ist die einzige Variante, bei der am Ende Sie Bitcoin besitzen und nicht einen Anspruch auf ein Unternehmen.
Nach einer Auszahlung folgen drei praktische Konsequenzen.
Sie können sie nicht stornieren. Replace-by-Fee erlaubt dem Absender, die Gebühr zu erhöhen, solange eine Transaktion unbestätigt ist, aber nur die Wallet, die sie erstellt hat, kann das tun, und eine Börse wird es nicht in Ihrem Namen tun. Prüfen Sie die Adresse, bevor Sie bestätigen, nicht danach.
Jede Einzahlung, die Sie erhalten, wird zu einem Output, dessen Ausgabe Sie später bezahlen. Zehn kleine Käufe hinterlassen zehn Outputs, und eine spätere Zahlung, die alle zehn ausgeben muss, kostet ein Mehrfaches dessen, was ein großer Output kosten würde. In weniger, größeren Beträgen auszuzahlen ist die günstigste Gewohnheit in Bitcoin, und sie kostet nichts.
Die Gebühr, die Ihre Börse verlangt, ist eine Zahl, die die Börse per Richtlinie festlegt, nicht die Netzwerkgebühr. Sie wird im Voraus festgelegt und folgt selten dem Mempool, sodass Sie an einem ruhigen Tag ein Mehrfaches der tatsächlichen Kosten zahlen können und an einem stark ausgelasteten Tag deutlich weniger. Die Börsenbewertungen auf dieser Website halten fest, wie jede Plattform Auszahlungen handhabt, und die, bei denen Sie Ihre eigene Gebührenrate wählen können, sind zu bevorzugen.
Eine echte Auszahlung lesen, Feld für Feld
Angenommen, Sie kaufen 0,05 BTC und zahlen sie aus. Was in einem Block-Explorer erscheint, wird Sie wahrscheinlich verwirren, denn die Transaktion gehört nicht Ihnen allein.
Große Börsen bündeln. Eine einzelne Auszahlungstransaktion kann 3 Inputs aus der Hot Wallet ausgeben, insgesamt 2,41 BTC wert, und 42 Outputs erzeugen, von denen einer Ihre 0,05 BTC sind und einer das Wechselgeld, das an die Börse zurückgeht. Bei rund 68 virtuellen Bytes pro Input, 31 Bytes pro Output und etwa 11 Bytes Overhead liegt diese Transaktion bei fast 1.517 virtuellen Bytes. Bei einer Gebührenrate von 6 sat/vB erhält der Miner etwa 9.102 Satoshis, was rund 217 Satoshis pro Kunde im Bündel ergibt. Einzeln gesendet hätte Ihre Auszahlung etwa 141 virtuelle Bytes umfasst und etwa 846 Satoshis gekostet.
Der Explorer zeigt also eine Transaktion, die weit mehr Bitcoin bewegt, als Sie ausgezahlt haben, mit Dutzenden Empfängern, von denen Sie nie gehört haben. Nichts ist falsch. Suchen Sie Ihren eigenen Output nach Betrag und Adresse, notieren Sie die Transaktions-ID und ignorieren Sie den Rest.
Bitcoin-Transaktion vs. txid
Eine Transaktion ist das Objekt; eine txid ist ihr Fingerabdruck. Die ID ist ein doppelter SHA-256-Hash der serialisierten Transaktion ohne Witness-Daten, geschrieben als 64 Hexadezimalzeichen, und sie existiert, damit auf die Transaktion verwiesen werden kann, ohne sie zu wiederholen. Support-Mitarbeiter fragen nach der txid, Explorer indexieren danach, und spätere Transaktionen verweisen darauf. Sie ist aber keine Quittung: Eine txid beweist, dass eine Transaktion mit genau diesem Inhalt existiert, und sagt nichts darüber, wer sie gesendet hat oder warum.
Bitcoin-Transaktion vs. PSBT
Eine PSBT ist eine Transaktion, die noch nicht fertig ist. Das in BIP174 definierte Format trägt die Inputs und Outputs sowie die Zusatzinformationen, die ein Unterzeichner braucht, etwa den Wert und das Skript jedes auszugebenden Inputs, und es wandert zwischen Geräten statt über das Netzwerk. Air-Gapped- und Multisig-Setups hängen davon ab: Ein Offline-Unterzeichner liest die PSBT, fügt seine Signatur hinzu und gibt sie zurück. Erst wenn jeder Input signiert ist, wird die Datei zu einer Transaktion finalisiert, die das Netzwerk akzeptiert, und bis zu diesem Moment wurde nichts gesendet.