10 / 736TX

Transaktion

Bitcoin Transaction

Was beim Versenden von Bitcoin passiert: woher der Betrag kommt, wohin das Wechselgeld geht und wann die Zahlung bestätigt ist.

Eine Bitcoin-Transaktion ist eine Nachricht, die Ihre Wallet an das Netzwerk übermittelt, wenn Sie jemanden bezahlen oder Bitcoin zwischen eigenen Wallets bewegen möchten. Sie legt fest, welche früher empfangenen Beträge verwendet werden und unter welchen Bedingungen die neuen ausgegeben werden können. Das Netzwerk prüft Ihre Berechtigung und ob Sie nicht mehr ausgeben, als verfügbar ist. Ein Klick auf Senden bedeutet noch keine bestätigte Zahlung.

Sie haben einen noch nicht ausgegebenen Betrag von 100 000 sat und möchten 60 000 sat versenden. Ein sat ist die kleinste Bitcoin-Einheit: 1 BTC besteht aus 100 000 000 sat. Die Wallet kann eine Transaktion erstellen, die dem Empfänger 60 000 sat zuweist, Ihnen 39 000 sat zurückgibt und 1 000 sat als Gebühr für den Miner übrig lässt. Das ähnelt dem Bezahlen mit einem größeren Geldschein und der Rückgabe von Wechselgeld. Die ursprünglichen 100 000 sat werden vollständig verwendet; es entstehen zwei neue Beträge. Das Wechselgeld geht normalerweise an eine neue Adresse Ihrer Wallet, nicht an einen Fremden. Die Gebühr ist die Differenz zwischen verwendeten und neu angelegten Beträgen, kein eigener Output. Fehlt das Wechselgeld, kann die Gebühr ungewollt viel zu hoch ausfallen. [2]

Bitcoin erfasst noch nicht ausgegebene Outputs früherer Transaktionen, kurz UTXOs. Stellen Sie sich diese als einzelne Beträge vor, die Ihre Wallet verwenden kann. Ein Input der neuen Transaktion verweist auf einen solchen älteren Output. Ein neuer Output legt einen Betrag und die Bedingungen für dessen nächste Ausgabe fest. Die Wallet kann mehrere Beträge zusammenführen oder eine Zahlung auf mehrere Empfänger verteilen. Im Input steht deshalb nicht einfach eine Absenderadresse, sondern die Kennung der früheren Transaktion, txid, und die laufende Nummer ihres Outputs. Dieses Paar heißt outpoint. Der referenzierte Output muss existieren und ausgebbar sein. Er darf weder zweimal ausgegeben noch durch zwei Inputs derselben Transaktion doppelt gezählt werden. [1] [2]

Bei einer gewöhnlichen Zahlung erstellt die Wallet mit einem privaten Schlüssel eine digitale Signatur. Sie belegt die Berechtigung zum Transfer und lässt sich prüfen, ohne den Schlüssel offenzulegen. Bedingungen können auch mehrere Signaturen oder das Warten bis zu einem bestimmten Zeitpunkt verlangen. Technisch liefert die Transaktion die nötigen Daten in scriptSig und gegebenenfalls im getrennten witness-Bereich. Damit prüfen die Knoten die Bedingungen des ausgegebenen Outputs. Der SIGHASH-Modus bestimmt, welche Teile der Transaktion die Signatur vor Änderungen schützt. Auch eine gültige Signatur kann aber keine nicht vorhandenen Mittel ausgeben, den Gesamtbetrag vergrößern oder eine noch nicht erfüllte Zeitsperre umgehen. [2]

Nach dem Signieren verbreitet die Wallet die Transaktion. Knoten prüfen sie und können sie in ihren Mempool aufnehmen, den Wartebereich für unbestätigte Transaktionen. Das ist noch kein Eintrag in einem Block. Die erste Bestätigung entsteht durch Aufnahme in einen gültigen Block; jeder nachfolgende Block fügt eine weitere hinzu. Regeln zum Weiterleiten und Aufbewahren wartender Transaktionen können sich zwischen Knoten unterscheiden. Sie sind nicht mit den Regeln für gültige Blöcke identisch. Eine wartende Transaktion kann durch eine andere ersetzt werden, die dieselben Mittel ausgibt. Selbst eine Bestätigung kann bei einer Reorganisation verschwinden, wenn das Netzwerk einen anderen gültigen Zweig der Historie annimmt. Prüfen Sie den Empfang deshalb in Ihrer eigenen Wallet im richtigen Netzwerk anhand von Betrag, Ziel und Bestätigungen, statt einem fremden Screenshot zu vertrauen. [4]

Die Wallet zeigt meist die txid an, mit der sich eine Transaktion suchen lässt. Technisch entsteht sie durch zweimalige Anwendung von SHA-256 auf die Transaktionsdarstellung ohne witness-Daten. Die zweite Kennung wtxid bezieht witness mit ein; ohne witness sind beide gleich. Diese Werte identifizieren den Datensatz, beweisen aber für sich allein keine bestätigte Zahlung. Die Gebühr hängt hauptsächlich von der Datengröße und dem gewählten Gebührensatz ab, nicht vom Fiatwert der versendeten Bitcoin. Für den Satz zählt die virtuelle Größe vsize: das sogenannte Transaktionsgewicht, geteilt durch vier und aufgerundet. Viele kleine Inputs zusammenzuführen kann deshalb mehr kosten, als einen einzelnen größeren Betrag zu übertragen. [3]

Beispiel · TX

Eingänge minus Ausgänge ergeben die Gebühr

Verwendet eine gewöhnliche Transaktion insgesamt 250 000 sat und weist den Empfängern einschließlich Wechselgeld 248 200 sat zu, bleiben 1 800 sat als Gebühr für den Miner. Sie werden nicht gesondert an eine Gebührenadresse gesendet.

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit UTXO, Private Key, Mempool, Transaction Fees, SegWit. Auf diesen Eintrag verweisen außerdem Bitcoin Whitepaper, Timechain / Blockchain, Full Node, UTXO.

01Kann eine bestätigte Bitcoin-Transaktion rückgängig gemacht werden?

Bitcoin hat keine Stornotaste und keinen Administrator, der einen bestätigten Transfer auf Wunsch rückgängig macht. Für eine Rückzahlung muss der Empfänger normalerweise eine neue Transaktion senden. Das ist etwas anderes als eine Reorganisation der Kette, bei der eine Zahlung vorübergehend Bestätigungen verlieren kann. Jeder weitere Block erhöht die zum Ersetzen der Historie nötige Arbeit der Miner, den Proof of Work. Mehr Bestätigungen erhöhen daher die Sicherheit, schaffen aber keine absolute Garantie.

02Warum erzeugt eine Wallet einen Wechselgeldausgang?

Eingänge geben UTXO vollständig aus. Übersteigen die ausgewählten Eingänge Zahlung und Gebühr, erzeugt die Wallet normalerweise einen neuen Ausgang, der den Rest wieder unter ihre Kontrolle bringt.

DOC · 001Bitcoin Core v29.0: transaction validationPrimärquelle DOC · 002Bitcoin Developer Reference: TransactionsPrimärquelle DOC · 003BIP 141: transaction identifiers and weightPrimärquelle DOC · 004Bitcoin Core v29.0: block validationPrimärquelle
Überarbeitet: Quellenbasiert · Keine Anlageberatung