Kapitel 4
Was passiert eigentlich bei einer Bitcoin-Transaktion? Was sind Inputs / Outputs, UTXO und wie werden Transaktionsgebühren berechnet? All dies erfahren Sie im folgenden Artikel.
14 Minuten|Pascal Hügli|Veröffentlicht am 23.05.2024|Aktualisiert am 13.06.2024
Bitcoin-Transaktionen sind wohl der wichtigste Teil des Bitcoin-Systems, da diese letztendlich dort verarbeitet werden. Jeder Nutzer kann eine Transaktion initiieren, welche dann im Netzwerk verbreitet, von allen Knoten validiert und schließlich der Bitcoin-Blockchain hinzugefügt wird. Die Bitcoin-Blockchain an sich ist wiederum nichts anderes als ein global verteiltes Hauptbuch aller Transaktionen.
Zur Erinnerung: Eine Blockchain ist eine Aufzeichnung darüber, wer was wann besitzt. Daher teilt eine Transaktion dem Netzwerk mit, dass der Besitzer eines bestimmten Bitcoin-Wertes eine Übertragung dieses Wertes an einen anderen Besitzer genehmigt hat. Wenn Bitcoin-Einheiten von einer Adresse auf eine andere übertragen werden, wird so eine unveränderliche Spur des Eigentums geschaffen, welche sich für immer nachvollziehen lässt.
Technisch gesehen, gibt es keine Bitcoin. Sprechen wir typischerweise von Bitcoin oder Bitcoin-Einheiten, um zu verdeutlichen, was bei einer Transaktion letztendlich „verschoben wird“, so geschieht in Wirklichkeit keines von beidem.
Bitcoin basiert ausschließlich auf der Ledger-Technologie, welche wir hier näher erläutert haben. Dieses Hauptbuch zeichnet ständig die Geschichte der Transaktionen auf, indem es die Ein- und Ausgaben jeder einzelnen Transaktion verfolgt.
Infolgedessen können Sie und jede andere Person, jede Transaktion, welche jemals in der Bitcoin-Blockchain aufgezeichnet wurde, durchsuchen, überprüfen und einen vollständigen Überblick über alle Wallets / Besitzer von Bitcoin erlangen.
Eine Bitcoin-Transaktion besteht aus zwei Schlüsselelementen: Inputs und Outputs.
Inputs sind Abbuchungen von einer Bitcoin-Adresse, oder mit anderen Worten die Menge an BTC, die in einer Transaktion gesendet wird.
Outputs können als Gutschriften an eine Bitcoin-Adresse betrachtet werden, oder anders ausgedrückt, der Betrag an BTC, der in einer Transaktion empfangen wird.
Um eine Transaktion durchzuführen, werden natürlich Eingaben benötigt, um Ausgaben zu erzeugen. Da Bitcoin als eine Kette von Transaktionen gesehen werden kann, ist der Input einer Transaktion immer der Output einer vorherigen Transaktion.
Praktisch gesprochen nimmt ein Input die ausgabefähigen Outputs einer oder mehrerer früherer Transaktionen, um eine neue Transaktion durchzuführen, wodurch weitere Outputs geschaffen werden, welche in der Zukunft wiederum ausgegeben werden können.
Diese ausgabefähigen Outputs aus früheren Transaktionen werden als UTXO bezeichnet, was so viel bedeutet wie „unspent transaction output“ oder „unverbrauchter Transaktionsoutput“.
Während die Inputs einer gegebenen Transaktion UTXOs aus einer oder mehreren früheren Transaktionen sind, werden die Outputs dieser gegebenen Transaktion zu den UTXOs des Empfängers.
Daher lässt sich feststellen, dass UTXOs die grundlegenden Bausteine von Bitcoin-Transaktionen darstellen.
Da UTXOs der Definition nach unverbraucht sind, können sie als Input für eine zukünftige Transaktion dienen. In jeder Hinsicht können wir sagen, dass Bitcoin-Einheiten in einem UTXO angezeigt werden. Der Bitcoin-"Kontostand" eines Nutzers ist daher die Summe aller UTXOs seiner Wallet.
Um die UTXOs zu ermitteln, welche ein bestimmter Nutzer ausgeben darf, durchsucht die Wallet des Nutzers das UTXO-Set der Bitcoin-Blockchain, welches aus dem Gesamtbetrag aller bekannten UTXOs im Netzwerk besteht. Nur wenn das Wallet genügend UTXOs findet, welche sich zu dem Betrag addieren, den der Nutzer senden möchte, wird die Wallet eine Transaktion mit diesen UTXOs als Input erstellen.
Wenn ein UTXO ausgegeben wird, stellt die entsprechende Bitcoin-Transaktion, die diesen UTXO liefert, sicher, dass der UTXO vom Empfänger anschließend wieder ausgegeben werden kann.
Interessanterweise funktioniert das Ausgeben von Bitcoin ähnlich wie Transaktionen mit Bargeld. Erwerben Sie beispielsweise etwas für 9 Euro und bezahlen mit einer 10 Euro Banknote, so erhalten Sie 1 Euro Wechselgeld zurück.
Bitcoin funktioniert genau auf die gleiche Weise: Wenn die UTXOs, die als Input für eine Transaktion verwendet werden, größer sind als der zu überweisende Betrag, erhält der Sender die Differenz als Wechselgeld zurück.
Aufgrund des technischen Designs von Bitcoin muss ein UTXO bei der Verwendung vollständig verbraucht werden - kann nicht aufgeteilt werden. Aus diesem Grund muss das Wechselgeld in den Ausgaben einer Transaktion generiert werden.
Besitzen Sie zum Beispiel UTXOs im Wert von 0,6 BTC und wollen 0,5 BTC an jemand anderen schicken, verbraucht die Transaktion 0,6 BTC, sendet Ihnen aber 0,1 BTC zurück.
Dieser Mechanismus erschreckt zunächst viele neue Bitcoin-Nutzer, welche den Großteil ihres Bitcoin-Guthabens nach einer Transaktion verschwinden und plötzlich wieder auftauchen sehen.
Dies geschieht eben aus den oben genannten und grafisch dargestellten Gründen. Genügend UTXOs müssen zunächst gesendet werden, um den gewünschten Transaktionsbetrag zu decken. Anschließend wird die Differenz zurückerstattet.
Da all dies innerhalb einer einzigen Transaktion geschieht und dessen Verarbeitung und Bestätigung von der Bitcoin-Blockchain Zeit in Anspruch nimmt, ist es möglich, dass Ihr Wechselgeld nicht sofort auf Ihrer Wallet-Adresse sichtbar ist. Dies muss erst vom Netzwerk verifiziert werden, bevor es Ihnen wieder angezeigt werden kann.
Wenn Sie Bitcoin an eine andere Person/Wallet senden, muss die daraus entstehende Transaktion zur Genehmigung zunächst signiert werden. Das bedeutet, dass die UTXOs, welche für die Transaktion benötigt werden, durch den privaten Schlüssel, den nur Sie kontrollieren, "freigeschaltet" werden müssen. Dies passiert in dem Moment, in dem Sie auf die Schaltfläche "Senden" innerhalb einer Bitcoin-Wallet klicken: Die App verwendet Ihren privaten Schlüssel, um eine Signatur für Ihre Transaktion zu erstellen.
Somit enthält jede Transaktion die Signatur, welche zur Genehmigung der Transaktion verwendet wurde. Diese stellt den Eigentumsnachweis für den in dieser Transaktion ausgegebenen Bitcoin-Betrag dar.
Diese Signatur kann von jedem, innerhalb des Bitcoin-Netzwerks, unabhängig validiert werden. In gewissem Sinne können wir also sagen, dass das Ausgeben von Bitcoin der Unterzeichnung einer Bitcoin-Transaktion entspricht, welche eine bestimmte Anzahl von Bitcoin von einer Adresse zu einer anderen überträgt.
Mit diesem Signaturdesign können Bitcoin-Besitzer kryptografisch nachweisen, dass sie eine bestimmte Menge an Bitcoin an/auf einer bestimmten Wallet-Adresse besitzen.
Beachten Sie, dass eine Signatur nicht unbedingt die Übertragung von Bitcoin erfordert, sondern auch zum Signieren einer Nachricht verwendet werden kann. Einige Bitcoin-Wallets bieten hierfür eine Schnittstelle, welche es ermöglicht, eine Textzeichenfolge einzugeben, diese in Kombination mit dem privaten Schlüssel durch eine mathematische Formel laufen zu lassen und eine Ausgabezeichenfolge zurückzugeben, welche Ihre Kontrolle über eine bestimmte Wallet-Adresse bestätigt.
Nachdem Sie nun eine Transaktion unterzeichnet und den Transfer einiger Bitcoin an eine andere Adresse eingeleitet haben, wollen wir uns ansehen, was als Nächstes passiert.
Zunächst wird die Transaktion an die Full Nodes in Ihrer Nähe übermittelt. Diese leitet die Transaktion anschließend an weitere Full Nodes weiter, bis diese das gesamte Netzwerk erreicht hat. Wir können uns dies wie eine Welle vorstellen.
Sobald dies geschehen ist, beginnen die Full Nodes mit ihrer Verifizierungsarbeit. Sie prüfen, ob Ihr Guthaben für die Transaktion ausreicht, sie prüfen Ihre Signierung und ob Sie versuchen, Geld doppelt auszugeben. Ebenfalls wird geprüft, ob die Transaktion mit allen anderen Regeln des Netzwerks übereinstimmt.
Nachdem die Transaktion diesen Überprüfungsschritt erfolgreich durchlaufen hat, wird sie in den Mempool (eine Art Warteraum für unbestätigte Transaktionen) aufgenommen, wo diese darauf wartet, von einem Miner abgeholt und in einen Block aufgenommen zu werden.
Wenn die Transaktion schließlich in einen Block aufgenommen wurde, welcher erfolgreich geschürft wurde, wird dieser Block an das Netzwerk weitergegeben und von allen Knoten/Full Nodes verifiziert. Ist dies geschehen, so wurde die Transaktion bestätigt. Juhu!
Das Hinzufügen eines Blocks zur Blockchain erfordert die Lösung eines hochkomplexen mathematischen Problems, die Umkehrung eines Blocks ist ebenso schwierig. Logischerweise wird die Umkehrung/Rückabwicklung weiterer Blöcke exponentiell komplexer, je mehr Blöcke nach dem Block Ihrer Transaktion folgen. Dies macht Ihre Transaktion um so sicherer.
Jeder Block, welcher auf Ihre Transaktion folgt, sorgt für eine zusätzliche Bestätigung für Sie. Wenn Sie Ihre Transaktion in einem Block-Explorer prüfen, so können Sie die Anzahl an Bestätigungen einsehen, welche mit der Zeit immer weiter zunehmen wird.
Bestätigungen werden von vielen Anwendungen/Apps verwendet, um festzustellen, ob diese die Transaktion als sicher genug ansehen oder nicht. Wenn Sie zum Beispiel etwas mit Bitcoins bezahlen, wird die Zahlungs-App die Zahlung nur dann als erfolgreich betrachten, wenn eine bestimmte Anzahl von Bestätigungen erreicht wurde.
Da Bitcoin keine zentrale Instanz besitzt, welche Transaktionen verarbeitet und das Hauptbuch führt, muss es einen Anreiz für jemanden geben, diese Aufgabe zu übernehmen. Wie Sie aus unserem vorherigen Kapitel über das Bitcoin-Netzwerk wissen, wird diese Aufgabe von den Minern übernommen. Diese werden nicht nur mit Block Rewards bezahlt, sondern auch über Transaktionsgebühren.
Eine Transaktionsgebühr wird vom Absender einer Bitcoin-Transaktion an den Miner gezahlt. Die Höhe dieser Gebühr teilt den Minern im Grunde mit, wie viel der Absender bereit ist für die Bearbeitung seiner Transaktion zu zahlen.
Da das Mining eine gewinnorientierte Tätigkeit ist, wählen die Miner in der Regel die im Mempool wartenden Transaktionen mit den höchsten Gebühren. Theoretisch wäre es daher möglich, eine gebührenfreie Transaktion im Bitcoin-Netzwerk freizugeben. Diese würde es in der Praxis nie in die Blockchain schaffen und für immer in der Schwebe hängen bleiben.
Die Gebühren für Bitcoin-Transaktionen sind ein Markt, welcher von Angebot und Nachfrage bestimmt wird. Das Angebot ist bestimmt durch die verfügbare Kapazität der Miner, Transaktionen zu verarbeiten. Die Nachfrage ist bestimmt durch die Anzahl der Transaktionen, welche die Nutzer an das Netzwerk übermitteln. Daher entwickeln sich die Kosten für eine Bitcoin-Transaktion immer auf der Grundlage des aktuellen Auslastungsgrads des Netzwerks.
Bei der Durchführung einer Transaktion schlägt die Wallet-App automatisch einen Gebührenbetrag vor, welcher die Transaktion in weniger als einer Stunde abwickeln sollte. Je nachdem, wie dringend die Transaktion ist, kann der Nutzer natürlich jederzeit manuell eine höhere oder niedrigere Transaktionsgebühr wählen. Je höher die Gebühr, desto größer die Chance, dass die Transaktion von den Minern für den nächsten Block ausgewählt wird.
Um die aktuelle Höhe der Transaktionsgebühren im Bitcoin-Netzwerk zu prüfen, rufen Sie die Website mempool.space auf und sehen sich den Abschnitt "Transaction fees" an:
Die Kosten, welche Ihnen dort angezeigt werden, werden in sat/vB angegeben, d.h. wie viele Satoshi (1 BTC = 100.000.000 Satoshi) pro Byte Daten, welche durch die Transaktion verbraucht werden, zu zahlen sind.
Wenn zum Beispiel eine Transaktion von 100 Bytes mit einer Gebühr von 20 Sat/vB eingereicht wird, betragen die Gesamtkosten 100 x 20 = 2.000 Satoshi oder 0,00002 BTC.
Die Anzahl der Bytes, welche von einer Transaktion verbraucht werden, hängen von mehreren Faktoren ab. In der Regel hat die Anzahl der UTXOs, welche für eine Transaktion benötigt werden, einen großen Einfluss auf deren Kosten. Eine Transaktion, welche 2 UTXOs benötigt bzw. eine Transaktion, welche 100 UTXOs benötigt, haben völlig unterschiedliche Kosten. Deshalb ist es möglich, dass eine Transaktion von 10 Bitcoin eine geringere Gebühr aufweist als eine Transaktion von 2 Bitcoins.
Block-Explorer können als die Webbrowser der Blockchain gesehen werden. Diese ermöglichen es Ihnen, in Echtzeit, die im Netzwerk stattfindenden Transaktionen einzusehen. Zusätzlich können alle Details und Kontostände jeder Wallet-Adresse angezeigt und eingesehen werden. Der für Bitcoin am häufigsten genutzte Block-Explorer ist mempool.space, welchen wir in diesem Artikel bereits mehrfach erwähnt haben.
Der richtige Umgang und ein gutes Verständnis für Block Explorer ermöglicht es Ihnen, den Kontostand Ihres Wallets, Ihre Transaktionshistorie und die Details jeder einzelnen Transaktion unabhängig zu prüfen.
Für eine bessere Erläuterung haben wir eine zufällige Transaktion ausgewählt - mempool.space. Diese sieht folgendermaßen aus:
Im Abschnitt "Transaktion" sehen Sie zunächst den Transaktionshash (die eindeutige Kennung) und die Anzahl der Bestätigungen. Außerdem wird der Zeitstempel angezeigt, d. h. der Zeitpunkt, an dem die Transaktion geschürft wurde, welcher Miner den Block verarbeitet hat, in dem die Transaktion enthalten war, sowie die für die Transaktion gezahlte Gebühr.
Dieses Diagramm gibt Ihnen eine visuelle Darstellung der Inputs und Outputs der jeweiligen Transaktion. Die Verzweigungen auf der linken Seite zeigen alle Inputs, auf der rechten Seite sehen Sie drei Outputs: die Transaktionsgebühr (die kleinste Verzweigung), das Wechselgeld (die mittlere Verzweigung) und den Betrag, welcher tatsächlich übertragen wurde (die größte Verzweigung).
Die Tabelle zeigt Ihnen auf der linken Seite alle Inputs der Transaktion, welche alle von der gleichen Adresse stammen (das ist nicht immer der Fall). Auf der rechten Seite sehen Sie das Wechselgeld, welches an dieselbe Adresse zurückgeschickt wurde, und dann den Hauptbetrag (0,1 BTC), welcher an eine andere Adresse überwiesen wurde.
Hier ist vor allem einsehbar, wie viele Daten von der jeweiligen Transaktion verbraucht wurden. Dies wurde zur Bestimmung der jeweiligen Gebühren herangezogen.
UTXO - "unspent transaction output" - sind die Beträge an Bitcoin, welche eine Adresse erhalten hat und die nun zum Ausgeben zur Verfügung stehen. Der Kontostand einer Bitcoin-Wallet ist also die Summe ihrer UTXO.
Um Bitcoins zu versenden, werden bei der Transaktion so viele UTXOs von Ihrer Adresse verwendet, wie nötig sind, um den gewünschten Betrag der gewünschten Transaktion zu erreichen. Da jeder UTXO vollständig verwendet werden muss, ist es üblich, mehr als den gewünschten Betrag der Transaktion zu nutzen. Die Differenz wird als Wechselgeld an die Wallet zurückgegeben, sobald die Transaktion bestätigt ist.
Das Senden und Empfangen von Bitcoin erfolgt über Bitcoin-Wallet-Anwendungen, wie z. B. Bridge Wallet. Mehr Informationen dazu finden Sie in unserem Artikel über die verschiedenen Arten von Krypto-Wallets.
Bitcoin-Wallets haben sowohl einen Empfangs- als auch Sendebutton. Wenn Sie auf die Schaltfläche "Senden" klicken, so werden Sie aufgefordert, die Adresse des Empfängers anzugeben. Dies ist entweder durch Einfügen oder durch Scannen eines QR-Codes möglich. Außerdem werden Sie nach dem zu sendenden Betrag gefragt. Sollte Ihr Bitcoin-Guthaben ausreichen, können Sie die gewünschte Transaktion anschließend senden.
Die meisten Wallets bieten auch erweiterte Einstellungen, in denen Sie den Preis, den Sie für die Transaktion zu zahlen bereit sind, manuell ändern können. Wenn Sie nicht wissen, wie Sie diesen Betrag wählen sollen, ändern Sie ihn nicht und behalten Sie den Standardwert des Wallets bei. Ein zu niedrig gewählter Wert kann dafür sorgen, dass Ihre Bitcoin-Transaktion für lange Zeit in der Bitcoin Blockchain festhängt bzw. nicht verarbeitet wird.
Wenn Sie auf die Schaltfläche "Empfangen" in Ihrer Bitcoin-Wallet klicken, wird Ihnen Ihre Bitcoin-Adresse angezeigt. Diese können Sie an Personen weiterleiten, welche Ihnen Bitcoin senden möchten.
Sie können entweder Ihre schriftliche Adresse weitergeben, in der Regel eine 26 bis 35 Zeichen lange Zeichenfolge aus Zahlen und Buchstaben, oder die Adresse in Form eines QR-Codes versenden.
Im Durchschnitt wird ein Block von Bitcoin-Transaktionen alle 10 Minuten gemined. Wenn Ihre Transaktion genug Gebühren aufweist, um von den Minern für den nächsten Block ausgewählt zu werden, dauert diese also nur ein paar Minuten. Sollte die Gebühr zu niedrig gewählt sein, kann es Stunden oder sogar Tage dauern.
Sollte eine Transaktion zu lange ausstehend sein, können Sie versuchen, diese zu beschleunigen. Dies ist durch das Erhöhen der Gebühr mithilfe der Child Pays For Parent (CPFP)-Technik möglich. Erstellen Sie dazu eine neue Transaktion mit einem beliebigen Betrag, jedoch mit einer deutlich höheren Transaktionsgebühr (hier abschätzba), und senden Sie diese an sich selbst. Bitte beachten Sie, dass dies nur in bestimmten Fällen funktioniert und nicht garantiert werden kann.
Es ist nicht möglich, eine Bitcoin-Transaktion zu stornieren, welche bereits bestätigt wurde. Auch unbestätigte Transaktionen lassen sich nicht stornieren, jedoch möglicherweise durch eine Transaktion mit höherer Gebühr ersetzen, um diese zu beschleunigen.
Öffnen Sie mempool.space und suchen Sie dort nach der gewünschten Transaktion, indem Sie die Transaktions-ID in das Suchfeld eingeben. Ebenfalls können Sie die Adresse des Absenders oder des Empfängers eingeben.
Die Größe eines Bitcoin-Blocks ist auf 1 MB an Daten begrenzt. Die Anzahl der darin enthaltenen Transaktionen ist also abhängig von deren Größe. Zurzeit enthalten Bitcoin-Blöcke zwischen 2.000 und 4.000 Transaktionen.
Über den Autor
Pascal ist Moderator, Speaker und Dozent an der Hochschule für Wirtschaft Zürich (HWZ). Er berät das Bankhaus Maerki Baumann in seiner Funktion als Crypto Investment Manager. Als Analyst für den deutschsprachigen Newsletter Insight DeFi informiert er kompetent und prägnant über aktuelle Ereignisse und Chancen der neuen dezentralen Welt von Bitcoin und Co. Pascal ist außerdem Autor des Buches Ignore at your own risk: The new decentralized world of Bitcoin and blockchain.
Abonnieren Sie unseren Newsletter und erhalten Sie dieses direkt in Ihr Postfach.
Abonnieren