UTXO oder Unspent Transaction Output ist eines der zentralen Konzepte, die das korrekte Funktionieren der Blockchain-Technologie ermöglichen, die Satoshi Nakamoto für Bitcoin, die erste Kryptowährung der Welt, entwickelt hat.
Daus Jahrzehnten vor seiner Entstehung Bitcoin, die Besessenheit, rein digitales Geld zu schaffen, beschäftigte viele Menschen. Aber eines der Hauptprobleme, mit denen jeder konfrontiert war, war das Berühmte doppelte Ausgaben.
Es war Satoshi Nakamoto der dank einer Reihe von Techniken dieses große Problem löste und das erste rein digitale dezentrale Geld schaffen konnte. In diesem Artikel erklären wir, was UTXOs sind und welche große Rolle sie bei der Erstellung von Transaktionen spielen, damit Ihre Bitcoins sicher innerhalb des Protokolls transportiert werden können. Blockchain.
UTXO, ein Konzept zur Vermeidung doppelter Ausgaben
Wie wir bereits im Artikel erklärt haben Wie funktionieren Bitcoin-Transaktionen?Eine Transaktion besteht aus Ein- und Ausgängen. Die Menge der Ein- und Ausgänge ergibt zusammen mit den zu sendenden Münzen und kryptografischen Signaturen einen Transaktions-Hash, der als HASH-ID bezeichnet wird.
Die Einträge sind die HASH-ID einer Transaktion, die die empfangen hat geldbeutel und die zuvor noch nicht verwendet wurden, das heißt, es handelt sich um UTXOs, während die Ausgabe die Zieladresse ist, an die UTXOs erstellt werden, die später in einer Transaktion verwendet werden können. Die gleiche Adresse kann haben unendliches UTXO. Aus diesem Grund werden UTXOs als eine Reihe von Transaktionen definiert.
Wenn eine Person eine Transaktion senden muss, muss diese von UTXO gespeist werden. Das heißt, von Transaktionen, die Sie erhalten haben und die noch nicht ausgegeben wurden. Dies bedeutet, dass eine Person ein oder mehrere UTXOs für dieselbe Transaktion verwenden kann. Tatsächlich können diese UTXOs Teil einer oder mehrerer Adressen in Ihrem Wallet sein. Und wir gehen noch einen Schritt weiter: Mit UTXO könnte sogar eine Transaktion aus Adressen verschiedener Wallets erstellt werden, solange jede mit ihrem entsprechenden eindeutigen privaten Schlüssel signiert ist.
All dies führt zu einem Ort: Ein UTXO kann nur einmal verwendet werden.. Und dies ist für die Funktionsweise der Blockchain-Technologie von grundlegender Bedeutung, da sie zu den Werkzeugen gehört, die garantieren, dass Münzen nicht mehr als einmal verwendet werden (das berühmte Doppelausgabensystem).
Die Zuverlässigkeit der Verwendung dieses Mechanismus zur Identifizierung nicht ausgegebener Münzen ist so hoch, dass sie es ist die Art und Weise, wie man bei Bitcoin zählen kann, wie viele Münzen im Umlauf sind. Dabei werden alle Coins addiert, die sich in den UTXOs befinden, also in den Transaktionen, die noch nicht ausgegeben wurden.
Nachfolgend hinterlassen wir Ihnen ein einfaches Beispiel, damit Sie den Ablauf verstehen:
Stellen Sie sich vor, María möchte Pedro insgesamt 100 € in Bitcoins für einen Job zahlen. María hofft, von einigen Leuten, die ihr Bitcoins schulden, eine Zahlung zu erhalten und mit diesem Geld Pedros Arbeit bezahlen zu können.
Wenn María diese Zahlungen erhält, hat sie einige „Inputs“ an Geld, und aus diesen Zuflüssen wird sie einen „Output“ machen, um Pedro zu bezahlen. Sie beglichen Marías Schulden, nämlich eine Zahlung von 75 € und eine weitere von 50 €.
Wenn sie Pedro bezahlt, muss María beide Inputs verwenden, da keiner von beiden ausreicht, und sie wird Pedro als Output einsetzen.
Danach wird Pedro einen UTXO-Eintrag haben (er hat die Zahlung erhalten).
Wohin mit den übriggebliebenen Münzen?
Wie Sie gesehen haben, hatte María insgesamt 125 €, aufgeteilt auf zwei UTXOs, musste aber nur 100 € senden. Er musste die beiden UTXOs verwenden und Pedros Adresse als Ausgabe festlegen, aber seine Brieftasche hat für María transparent etwas anderes getan. In Ihrem Wallet finden Sie außerdem eine Adresse für María als Ausgang, der Sie die restlichen 25 € zugewiesen haben. Es ist das, was man nennt Richtung der Veränderung.
Übrigens gibt es einige Transaktionen, die zu einem UTXO werden, aber nicht von einem vorherigen UTXO generiert werden. Woraus sie bestehen, werden Sie später sehen.
Mit dem oben Beschriebenen werden Sie in der Lage sein zu verstehen, wie dieses Modell funktioniert "Vorspeise" y "Abflüge", kann uns helfen, Beziehungen des Besitzes und der Gewährung von Geld aufzubauen. Eine Beziehung, die in der Blockchain durch den Einsatz von Kryptographie gekennzeichnet ist und uns absolute Sicherheit gibt, dass das Geld am Ziel angekommen ist und tatsächlich unter der Kontrolle des Empfängers steht.
UTXO und seine Bedeutung für Bitcoin
Im Bitcoin Alle Transaktionen haben diese Struktur von Ein- und Ausgängen.
- In den „Einträgen“ einer Bitcoin-Transaktion können wir die Herkunft des Guthabens sehen, das wir mit unserem Wallet verwalten.
- Unter „Ausgaben“ können wir sehen, wohin wir unser Geld geschickt haben.
- Darüber hinaus können wir den Restbetrag sehen, der zurückerstattet wird. All dies ist für jedermann sichtbar und nachvollziehbar, da die Bitcoin-Blockchain öffentlich und transparent ist.
Wenn man genau hinschaut, hat man mit diesem Modell die volle Kontrolle darüber, wie das Geld verwendet wird und unter welchen Bedingungen es ausgegeben werden kann. Erstens, Um ein Guthaben in Bitcoin verwenden zu können, muss es in Ihrem Wallet als UTXO betrachtet werden. Das heißt, jemand muss eine Zahlung leisten (einen Exit oder UTXO), damit diese Zahlung zu Ihrem Eintrag wird und Sie somit über einen Restbetrag verfügen, den Sie ausgeben können.
Dies ist ein rekursiver Prozess. Das heißt, es wiederholt sich ab dem Moment, in dem die Währung als Ergebnis eines abgebauten Blocks generiert wird. Zum Beispiel ein Coinbase-Transaktion ist eigentlich ein vom Miner erstelltes UTXO, um dieses Guthaben an eine Adresse unter seiner Kontrolle zu senden. Somit wird diese Ausstiegstransaktion zu einer Geldeingabe für den Miner, die später ausgegeben werden kann. Der gleiche Vorgang wird für die übrigen Bitcoin-Benutzer wiederholt. Daraus können wir erkennen, dass UTXOs ein wesentlicher Bestandteil von Bitcoin-Transaktionen sind und ohne sie ihr Betrieb unmöglich wäre.
Erweiterung des Beispiels, wie ein UTXO in Bitcoin funktioniert
Wir können die Funktionsweise eines UTXO in Bitcoin wie folgt sehen:
Daniel möchte das Auto von Luis im Wert von 1 BTC bezahlen und hat insgesamt 1,5 BTC in seinem Portemonnaie. Daniels Guthaben ist in zwei Adressen aufgeteilt, A mit 0,8 BTC und B mit 0,7 BTC.
Also geht Daniel zu Luis und leistet die Zahlung für 1 BTC. Zu diesem Zeitpunkt kann Daniels Wallet 1 BTC nicht direkt senden, da der Saldo auf zwei Adressen aufgeteilt ist. Also nimmt beide Salden und wandelt sie in die Eingaben des Zahlungsvorgangs um. Als nächstes nimmt er die Adresse von Luis und ordnet dieser den Versand von 1 BTC zu, weist zusätzlich insgesamt 0,4995 BTC der Börsenadresse zu und der Rest verbleibt als Mining-Provision.
Sobald Daniel seine Transaktion absendet, wird sie vom Netzwerk verarbeitet und bestätigt, wodurch der Weg zur Unumkehrbarkeit beginnt. Und an diesem Punkt ist es leicht zu erkennen, wo sich die UTXOs der Transaktion befinden.
Die ersten UTXOs, die wir im Beispiel erkennen können, sind Daniels Salden. Diese Adressen mit einem Guthaben von 0,8 BTC und 0,7 BTC sind zwei UTXOs, die unter ihrer Kontrolle stehen und es ihnen ermöglichen, die Zahlung an Luis vorzunehmen. Da Daniel die Kontrolle über diese Guthaben hat, kann er seine UTXOs in „Einträge“ für eine neue Zahlung umwandeln, wie er es in diesem Beispiel effektiv tut.
Unmittelbar nachdem das Netzwerk Daniels Transaktion bestätigt hat, ändert sich die Situation. Jetzt hat Daniel nicht mehr die Kontrolle über die Guthaben, die er ursprünglich hatte, und stattdessen Ihre Transaktion hat neue UTXOs generiert, die die vorherigen überschreiben. Die betreffenden neuen UTXOs werden zunächst durch die Adresse von Luis und den 1 BTC repräsentiert, den er darin von Daniel erhalten hat. Und zweitens für die Börsenadresse und die 0,4995 BTC, die Daniel vom Netzwerk erhalten hat, denn es handelt sich um den Rest der von ihm geleisteten Zahlung. Wie bereits erwähnt, verbleibt der Rest zur Fertigstellung der 1,5 BTC, die Daniel ursprünglich hatte, als Provisionszahlung für den Miner.
Bitcoin-Skripte und ihre Beziehung zu UTXOs
Der gesamte Betrieb von UTXOs in Bitcoin wird durch das garantiert Bitcoin-Skript, die Programmiersprache, mit der alle Operationen in Bitcoin geschrieben werden. Jeder Transaktion ist ein Skript zugeordnet, das uns Folgendes ermöglicht:
- Bestätigen Sie, dass das verwendete Guthaben wirklich uns gehört.
- Stellen Sie sicher, dass das gesendete Guthaben nur von der Person ausgegeben werden kann, an die wir es senden.
Aber wie werden diese Operationen durchgeführt? Das erklären wir im Folgenden:
Wir bestätigen, dass der Restbetrag uns gehört
Die erste Aufgabe, um ein Bitcoin-Guthaben verwenden zu können, besteht darin, nachzuweisen, dass dieses Guthaben tatsächlich uns gehört. Um dies zu tun, müssen Sie zunächst bedenken, dass jedes UTXO, das wir in einen Eintrag umwandeln (Guthaben, das wir ausgeben werden), tatsächlich der ist Ausstieg aus einer vorherigen Transaktion was uns Zugang zu diesen BTC verschaffte. Das heißt, jedem Bitcoin-Guthaben ist ein UTXO zugeordnet, und diesem UTXO ist ein Blockierungsskript zugeordnet.
Dieses Blockierungsskript ist ein digitales Schloss, das wir öffnen müssen, um das Guthaben des besagten UTXO nutzen zu können. Die Blockierungsskripte in Bitcoin sind vielfältig, am gebräuchlichsten ist jedoch das P2PKH (Pay to Public Key Hash). Obwohl es auch solche gibt P2SH (Multisig)das P2PK (das primitivste von allen). Dieses Blockierungsskript kann mit dem privaten Schlüssel geöffnet werden, der zu der im UTXO angegebenen Adresse führt.
Um das Skript freizuschalten, müssen wir also die Bitcoin-Adresse zusammen mit unserem privaten Schlüssel nehmen und den öffentlichen Schlüssel dieser Adresse generieren. Am Ende stempeln wir unsere digitale Signatur ab und nach der Überprüfung aller Daten wird der Restbetrag dieser Adresse freigeschaltet, sodass wir ihn verwenden können. Das heißt, die Knoten akzeptieren die Transaktion und stellen sie in den mempool Warten auf die Bergleute.
Im Gegenteil, wenn wir dieses Verfahren nicht durchführen, werden wir einfach Die Transaktion wird von den Knoten abgelehnt und wir können das Guthaben nicht verwenden. Dieser Vorgang wird als Entsperrskript bezeichnet. Natürlich ist dieses kryptografische Verfahren automatisch und transparent für Wallet-Benutzer, der gesamte Vorgang wird von der Wallet selbst ausgeführt, aber jetzt wissen Sie, was darin passiert. In diesem Schema wird dieser Teil der Operation im scriptSig jedes Bitcoin-Skripts beschrieben.
Erstellen des Blockierungsskripts
Indem wir beweisen, dass wir unsere UTXOs ausgeben können, fahren wir mit dem Transaktionserstellungsprozess fort und erstellen ein Blockierungsskript für das neue UTXO, das an das Ziel weitergeleitet wird. In diesem Fall erstellt das Wallet ein Skript ähnlich dem, das es zuvor für uns erstellt hat, was darauf hinweist Der Einzige, der dieses neue UTXO ausgeben kann, ist derjenige, der über die privaten Schlüssel verfügt, die die Adressen steuern, an die wir gesendet haben.
Auf diese Weise, was erstellt wird, ist eine Validierungskette, bei dem Bitcoins, wenn sie von einer Adresse an eine andere weitergegeben werden, für die Verwendung durch die letzte Person, die sie in Besitz nimmt, gesperrt werden.
Wie Sie sehen können, hat bei Bitcoin alles einen klar definierten Grund, und alle seine Teile ermöglichen zusammen das korrekte Funktionieren der Kryptowährungen. Da es sich um ein offenes Protokoll handelt, Alle Knoten, die Teil des Protokolls sein möchten, interpretieren die Regeln auf die gleiche Weise.
Alle Transaktionen werden von allen Knoten überprüft, wobei diejenigen, die die Mehrheit akzeptiert, validiert werden und diejenigen, die der Großteil der Hash-Leistung (die von den Minern erzeugt wird) akzeptieren, von der Mehrheit akzeptiert werden. Diese Kontrollen garantieren demokratisch die Einhaltung des Protokolls.
Kurioses über UTXOs in Bitcoin
Nun haben Sie im vorherigen Beispiel sicherlich einige kuriose Dinge über UTXOs und ihre Funktionsweise in Bitcoin gesehen, und wir werden sie in diesem Abschnitt erklären.
Transaktionen, die nicht von einem UTXO stammen
Wie bereits erwähnt, gibt es einige spezielle Transaktionen, die nicht mit UTXOs generiert werden, da die Münzen „magisch“ erscheinen. Dieser besondere Fall tritt in der auf Coinbase-Transaktionen, die von Minern beim Mining eines Blocks erstellt werden und dazu dienen, die Blockbelohnung zu erhalten.
Warum nicht eine geteilte Zahlung mit BTC-Guthaben durchführen?
Beim Lesen des obigen Beispiels haben Sie sich wahrscheinlich gefragt, warum Daniels Bitcoin-Wallet nicht mit einer einzigen Eingabe eine exakte Zahlung von 1 BTC durchgeführt hat? Die Antwort darauf lautet: UTXOs repräsentieren das unteilbare Gleichgewicht innerhalb von Bitcoin. Das heißt, wir können diesen Saldo nicht in kleinere Werte umwandeln, es sei denn, wir geben den Saldo aus, indem wir eine neue Transaktion erstellen.
Schauen wir uns zur Vereinfachung dieses Beispiel an: Wenn wir 1 BTC mit unserem Wallet bezahlen möchten, dieser Betrag jedoch in 100 verschiedene UTXOs mit jeweils 0,01 BTC aufgeteilt ist, dann verwendet unser Wallet die 100 Adressen als Eingaben für unsere Transaktion und wird somit die Zahlung leisten. Das heißt, das Bitcoin-Protokoll markiert diese 100 UTXOs als „verbraucht“. Von dort aus wird eine neue Transaktion mit einem neuen UTXO generiert, an die wir die Zahlung von 1 BTC gesendet haben, und wir haben keine Kontrolle über den Kontostand dieser verwendeten Adressen.
Zusammenhang mit Provisionen in Bitcoin
Ein weiterer Nutzen von UTXOs betrifft die Provisionen oder Gebühren in Bitcoin. Im vorherigen Beispiel haben wir erklärt, dass jedes Mal, wenn wir eine Transaktion durchführen, Die Provision für diesen Vorgang entspricht der Differenz zwischen den Ein- und Ausgängen.. Das heißt:
Gesamteingabe – Gesamtausgabe = Provisionen
Das sagt uns das Für den Aufbau einer Transaktion ist von Anfang an ein Saldo an Provisionen vorgesehen. Die Provision an die Bergleute ist nicht mit einer Ausgabe verbunden, daher behalten die Bergleute den Rest, der nicht damit verbunden ist. Das heißt, der Gesamtinput muss immer größer sein als der zugehörige Gesamtoutput.
Die Provision für die Miner ist nicht festgelegt, jeder entscheidet, wie viel er zahlen möchte, je nachdem, wie schnell er ist, aber es ist etwas, das wir in allen Transaktionen innerhalb von Bitcoin sehen und dessen Zweck zweierlei ist:
- Fördern Sie die Arbeit der Bergleute dass sie beim Generieren eines Blocks nicht nur die Belohnung dafür erhalten, sondern auch die Provisionen aller durch diesen Block bestätigten Transaktionen.
- Verhindern Sie, dass das Netzwerk böswilligen Angriffen ausgesetzt ist als DDoS, Staubangriff, unter anderen. Dies liegt daran, dass jede Transaktion Kosten verursacht und die Durchführung von Transaktionen in großer Zahl für den Angreifer hohe Kosten verursacht.
UTXO auf anderen Blockchains und Kryptowährungen
Das UTXO-Schema ist so gut, dass sich die übrigen Kryptowährungen entschieden haben, es für ihre Systeme zu verwenden. Natürlich kann jede Blockchain dieses Konzept anders anpassen. Auf diese Weise kann es sich an die zusätzlichen Funktionen anpassen, die jedes Blockchain-Protokoll, auf dem es ausgeführt wird, bieten kann. Die grundlegende Bedienung ist jedoch dieselbe. Daher mögen auch Privacy-Coins Monero o ZcashVerwenden Sie dieses Schema, angepasst an die Besonderheiten Ihres Protokolls.
Bitcoin-Kurs für Fortgeschrittene
Fortgeschrittene EbeneBei der Bit2Me Academy bieten wir Ihnen diesen kostenlosen Bitcoin-Kurs für Fortgeschrittene, damit Sie der nächste Satoshi Nakamoto werden können.