Was ist ein Bitcoin Unspent Transaction Output (UTXO)?

Der Anfängerleitfaden zum UTXO-Modell von Bitcoin 📕
Unspent Transaction Output (UTXO) ist die Technik, die das Bitcoin-Protokoll verwendet, um Guthaben zu verfolgen, während sie zwischen Krypto-Wallets bewegt werden.
Wenn es darum geht, individuelle Krypto-Guthaben zu verfolgen und zu verwalten, verwenden blockchain-basierte Protokolle typischerweise eines von zwei verschiedenen Buchhaltungsmodellen.
Eines wird als das Account/Balance model bezeichnet. Projekte wie Ethereum, Tezos und EOS verwenden dieses Modell, um Guthaben zu verfolgen, während Blockchain-Nutzer Transaktionen ausführen. Das andere wird als das Unspent Transaction Output (UTXO) Modell bezeichnet.
Bitcoin und viele andere Kryptowährungen wie Litecoin, Cardano und Dogecoin verwenden das UTXO-Modell.
Aber was genau ist es, wie funktioniert es und was sind die Vorteile von UTXO im Vergleich zum Account/Balance-Modell?
Verstehen des UTXO-Modells 💻
Verlauf
Adam Back und der verstorbene Hal Finney waren zwei Mitglieder der Cypherpunk cryptography Gruppe, die der Autor des bitcoin white paper, Satoshi Nakamoto, häufig besuchte. Den beiden wird zugeschrieben, dass sie das UTXO-Modell unabhängig zwischen 1997 und 2004 entwickelt haben.
Als der Schöpfer von Bitcoin Satoshi Nakamoto das Protokoll 2009 einführte, wurde es das erste operationale digitale Währungssystem, das das UTXO-Modell implementierte.
Sowohl Hal Finney als auch Adam Back wurden lange Zeit verdächtigt, Satoshi Nakamoto zu sein, obwohl dies nie mit Sicherheit bewiesen wurde.
UTXO auf einen Blick
Wenn Sie Bitcoin an jemanden senden, finden mehrere Schritte programmatisch statt. Einer der frühesten Schritte im Transaktionsprozess besteht darin, dass Ihre cryptocurrency Wallet die blockchain nach dem Betrag an Mitteln durchsucht, die Sie haben. Diese Mittel werden als unspent transaction outputs (UTXOs). bezeichnet.
Sie können sich UTXOs als Kleingeld vorstellen, das von früheren Bitcoin-Transaktionen übrig geblieben ist.
Die Mittel gelten als "unspent", weil sie Ihnen frei zur Verfügung stehen, um sie an jemanden zu senden oder in eine andere Wallet zu verschieben. Sie werden "transaction outputs" genannt, weil sie aus früheren Transaktionen erstellt wurden.
Wenn Sie $12 für das Mittagessen mit einem $20-Schein ausgeben, hätten Sie einen $8-Schein übrig. In diesem Beispiel wäre der verbleibende $8 ein ungenutzter Transaktionsausgang. Er würde wieder in deiner Brieftasche landen, bereit, um etwas anderes zu kaufen.
So funktionieren genau die Bitcoin-UTXOs. Wenn du eine Transaktion machst, werden Ausgänge aus vorherigen Bitcoin-Transaktionen, d.h. dein loses Bitcoin-Wechselgeld, als Eingänge für neue Transaktionen verwendet.
Ein weiterer wichtiger Vergleich zwischen physischen Bargeldtransaktionen und UTXOs ist, dass beide vollständig ausgegeben und nicht unterteilt werden können müssen. Wenn du einen 5-Bitcoin-UTXO hast und jemandem 1 BTC senden möchtest, müsstest du den gesamten UTXO im Wert von 5 Bitcoin senden und im Gegenzug einen neuen UTXO im Wert von 4 BTC minus etwaige Gebühren erhalten.
Genau wie im obigen Beispiel, wo du einen ganzen $20-Schein übergibst, um ein $10-Mittagessen zu bezahlen.
Wenn ein UTXO ausgegeben wird, wird er als „verbraucht“ betrachtet und technisch aus dem Umlauf entfernt.
Jedes verbleibende Wechselgeld wird als völlig neuer UTXO generiert. Dieser Teil des UTXO-Systems ist, wie Bitcoin das Double-Spend-Problem löst.
So wie du einem Ladenbesitzer keinen $5-Schein physisch geben kannst und dann denselben $5-Schein jemand anderem geben kannst, kann ein Bitcoin-Nutzer den gleichen ungenutzten Transaktionsausgang nicht erfolgreich in zwei separaten digitalen Transaktionen verwenden.
Wenn eine Person versucht, denselben UTXO zweimal auszugeben, landen die beiden Transaktionen in einem Mempool – einer Art Wartezimmer für ausstehende Transaktionen. Sie bleiben hier, bis erfolgreiche Miner, die den Proof-of-Work-Wettbewerb gewinnen, sie in neue Blöcke bündeln.
Du kannst mehr über diesen Prozess in unserem Artikel im Kraken Learn Center Was ist Bitcoin-Mining? erfahren.
Selbst wenn beide Transaktionen in zwei separaten Blöcken gebündelt und gleichzeitig verarbeitet werden, würde aufgrund der Zeitstempelung eine der Transaktionen vor der anderen verifiziert werden. Nachdem eine Anzahl von Bestätigungen vergangen ist (neue Blöcke zur Blockchain hinzugefügt), würden andere Knoten die zweite ungültige Transaktion kennzeichnen und ablehnen.
Coinbase-Transaktionen
Die einzige Zeit, in der eine Bitcoin-Transaktion keine Eingänge hat, ist, wenn neu geprägte BTC durch Mining erstellt wird.
Bekannt als Coinbase-Transaktion, stellt dies die erste Transaktion in jedem neuen Block dar.
Jeder Satoshi (die Untereinheiten von Bitcoin) im Umlauf kann über das transparente Blockchain-Ledger auf ihre jeweilige Coinbase-Transaktion zurückverfolgt werden.
Warum verwendet Bitcoin das UTXO-Modell?
Kontoguthaben
Um das Guthaben eines Benutzers, auch bekannt als UTXO-Set, zu identifizieren, durchsucht die Krypto-Wallet-Software die Blockchain, um alle UTXOs zu finden, die mit der entsprechenden öffentlichen Wallet-Adresse verknüpft sind.
Die Gesamtsumme aller UTXOs gibt einen genauen Überblick darüber, wie viel Krypto ein Wallet-Besitzer kontrolliert.
Wenn ein UTXO ausgegeben wird, wird die öffentliche Wallet-Adresse des Empfängers dem Betrag zugewiesen, und ein neuer UTXO wird auf der Blockchain aufgezeichnet, sobald dies ausgeführt wird.
Speicherung
Bitcoin-UTXOs werden in verschiedenen Transaktionen aufgezeichnet, die in Blöcken auf der Bitcoin-Blockchain gespeichert sind. Diese Informationen sind jedoch nicht klar indiziert, sodass es schwierig sein kann, Metadaten schnell zu suchen und zusammenzustellen.
Bei der Verwendung von Wallet-Software wie dem Bitcoin Core-Client werden UTXO-Metadaten in einer LevelDB-Datenbank gespeichert und indiziert. LevelDB ist ein Open-Source-Speichersystem, das 2011 von Google erstellt wurde und das Auffinden von UTXOs erheblich beschleunigt.
Der Bitcoin Core-Client ist eine beliebte Software, die verwendet wird, um sich mit dem Bitcoin-Blockchain-Netzwerk zu verbinden. Ursprünglich von Satoshi Nakamoto erstellt, wird Bitcoin Core jetzt von einer Gemeinschaft freiwilliger Entwickler gewartet.
UTXOs unter der Haube 🚗
Auf einer technischeren Ebene gibt es vier Hauptteile einer Transaktion:
- Version: Dies informiert die Netzwerk-Knoten, welche Version der Client-Software verwendet wird. Verschiedene Versionen folgen unterschiedlichen Regeln zur Überprüfung von Transaktionsdaten.
- Locktime: Dies ist die Zeitspanne, die bestimmt, wie schnell eine Transaktion zur Blockchain hinzugefügt wird. Dieser Input bestimmt, wann die frühestmögliche Zeit für die Verarbeitung der Transaktion durch Mining-Knoten ist.
- Input: Informationen, die auf die Quelle der Mittel oder die vorherige Transaktion hinweisen, aus der der UTXO stammt. Der Input enthält auch etwas, das als „Unlocking-Skript“ bezeichnet wird.
- Ausgang: Informationen über den Wert, der übertragen wird, die Brieftasche, an die das Eigentum der Mittel übertragen wird, und die neuen UTXOs, die gebildet werden. Der Output enthält auch ein „Locking-Skript“.
Wie UTXOs sich von Bargeld unterscheiden
Die Hauptunterschiede zwischen der Analogie der physischen Geldscheine und dem UTXO-Modell bestehen darin, dass Bitcoin und andere UTXO-basierte Krypto-Assets nicht an feste Beträge gebunden sind, d.h. $5, $10, $15 usw. Jeder Betrag an Bitcoin (bis zu acht Dezimalstellen) kann ein unspent transaction output sein.
Zum Beispiel könnten Sie 0,0003847 BTC von einer Transaktion übrig haben.
Dieser Betrag würde zu einem neuen UTXO werden, der vollständig ausgegeben werden muss, wenn er verwendet wird, und nicht in kleinere Beträge unterteilt werden kann.
Nehmen wir an, John hat ein Krypto-Wallet-Guthaben von 1 Bitcoin. Sein Guthaben und die Zusammensetzung dieses Guthabens sind zwei verschiedene Dinge, ähnlich wie Sie $100 in Ihrer Brieftasche haben könnten, aber es könnte aus vier $20-Scheinen, zwei $5-Scheinen und einem $10-Schein bestehen.
Nehmen wir an, die Zusammensetzung von Johns 1 BTC-Guthaben besteht aus 5 verschiedenen unspent transaction outputs.
- 0,138 BTC
- 0,1 BTC
- 0,004 BTC
- 0,73 BTC
- 0,028 BTC
John möchte 0,6 BTC an Jane senden. Um dies zu tun, wird die Wallet-Software von John automatisch eine beliebige Anzahl von UTXOs, die er kontrolliert, zusammenfassen, um diese Transaktion sowie alle damit verbundenen Minergebühren zu decken.
In diesem Beispiel nehmen wir an, dass seine Wallet-Software automatisch Johns Bitcoin-UTXO im Wert von 0,73 BTC an Jane sendet und den verbleibenden Betrag abzüglich der Transaktionsgebühren als neuen UTXO an John zurückgibt.
Dieser Betrag wird automatisch an eine Wechseladresse gesendet; eine separate Adresse, die mit Ihrer Krypto-Wallet verknüpft ist.
Sperren und Entsperren von Skripten 🔒
Wenn UTXOs erstellt werden, werden sie mit der öffentlichen Wallet-Adresse des Empfängers gesperrt. Um diesen UTXO als Eingabe in einer neuen Transaktion zu verwenden, muss er zuerst mit der digitalen Signatur des Absenders entsperrt werden.
Dies ist eine weitere wichtige Sache, die man über Bitcoin-Transaktionen verstehen sollte. Wenn eine Transaktion durchgeführt wird, wird Bitcoin nicht digital von einem Konto auf ein anderes bewegt. Stattdessen werden sie entsperrt, einem neuen Eigentümer zugewiesen und dann wieder gesperrt.
Das bedeutet, dass nur der neue Eigentümer die Mittel mit seiner digitalen Signatur entsperren und sie woanders hin transferieren kann; zu einer anderen Person oder zu einer anderen Wallet unter seiner Kontrolle.
Script ist eine Programmiersprache, die von Bitcoin verwendet wird, um Transaktionen zu verarbeiten, einschließlich des Sperrens und Entsperrens von UTXOs.
- Sperrschlüssel (ScriptPubKey): Wenn ein UTXO gesperrt ist, legt das Sperrskript (bekannt als ScriptPubKey) Bedingungen fest, die erfüllt sein müssen, bevor der UTXO als Eingabe verwendet werden kann. Dies beinhaltet normalerweise den Nachweis, dass Sie den privaten Schlüssel besitzen, der der öffentlichen Wallet-Adresse entspricht, die zum Sperren des UTXO verwendet wurde, indem Sie eine digitale Signatur bereitstellen.
- Entsperrschlüssel (ScriptSig): Um einen UTXO zu entsperren, müssen Sie die Bedingungen erfüllen, die vom Sperrskript festgelegt wurden, d.h. eine digitale Signatur bereitstellen, die nachweist, dass Sie die privaten Schlüssel kontrollieren, die dem öffentlichen Schlüssel entsprechen, der zum Sperren des UTXO verwendet wurde.
Dies verhindert, dass jemand anderes auf diese Mittel zugreifen und sie ausgeben kann.
Was ist Bitcoin-Staub?
Bitcoin-Staub bezieht sich auf UTXOs, die winzige Restbeträge von Satoshis enthalten, die aus vorherigen Transaktionen übrig geblieben sind.
Für sich genommen würden diese winzigen Beträge an BTC mehr an Transaktionsgebühren kosten, um verarbeitet zu werden, als sie wert sind, und daher sitzen sie oft in Wechseladressen und warten darauf, mit anderen UTXOs gebündelt und ausgegeben zu werden.
Was ist ein Dusting-Angriff?
Dusting-Angriffe beziehen sich auf Betrüger, die Staub an Hunderte von Tausenden von verschiedenen Wallet-Adressen senden. Die Idee dahinter ist, potenzielle Ziele für Social Engineering-Angriffe zu ermitteln.
Ein Betrüger wird Adressen beobachten, die den Staub enthalten, den sie gesendet haben, und warten, bis der Eigentümer eine Transaktion durchführt, die UTXOs von verschiedenen Adressen, die mit ihrem Wallet verbunden sind, bündelt. Da Staub-UTXOs so klein sind, besteht eine gute Chance, dass sie mit anderen zusammengefasst und als Eingaben verwendet werden.
Sobald dies geschieht, kann der Betrüger eine Vorstellung davon bekommen, welche Mittel eine Person hat. Sie können dann entscheiden, Phishing-Nachrichten in Transaktionen einzubetten, die den Eigentümer einladen, auf einen Link zu klicken, der Malware herunterlädt, oder gefälschte Websites zu besuchen, die legitime Landingpages imitieren und nach persönlichen Informationen fragen.
Wie gefährlich sind Bitcoin-Dusting-Angriffe?
Dusting-Angriffe geben Betrügern keinen Zugriff auf Ihre Mittel.
Sie dienen lediglich dazu, einzugrenzen, welche Adressen von einem bestimmten Krypto-Wallet kontrolliert werden.
Um Ihr Risiko von Dusting-Angriffen zu minimieren, ist es am besten, niemals auf Links zu klicken oder Websites zu besuchen, die mit Dust-Transaktionen verbunden sind.
Kaufe jetzt Bitcoin
Jetzt, da Sie alles über das Modell der unspent transaction output gelernt haben, sind Sie bereit, Ihre Krypto-Reise fortzusetzen und Bitcoin zu kaufen?
Schau dir unseren Kraken Learn Center-Leitfaden für weitere Informationen zu So kaufst du Bitcoin (BTC) und registriere dich noch heute für ein Kraken Konto an.