Der englische Name von #UTXO ist Unspent Transaction Output, was übersetzt „Unspent Transaction Output“ bedeutet. Es sollte gesagt werden, dass das Kernkonzept der Bitcoin-Transaktion und der Kernwissenspunkt der Transaktion UTXO ist, daher werden wir in diesem Artikel über dieses UTXO sprechen.
Bestandteile einer Transaktion
Bei Bitcoin gibt es kein Konzept für ein Konto. Der sogenannte Kontostand einer Adresse wird tatsächlich durch Zählen aller mit dieser Adresse verbundenen Transaktionen berechnet. Fokussieren wir also das Mikroskop und schauen wir uns zunächst an, welche Elemente in einer Transaktion enthalten sind.
Das erste Element ist die Eingabe, also die Eingabe. Erstens ist dies nicht bei allen Angeboten der Fall. Beispielsweise enthält jeder Block eine spezielle, von Minern autonome Transaktion, die sogenannte Coinbase-Transaktion. Es handelt sich um eine Transaktion ohne Eingabe. Bei dieser Transaktion wird eine bestimmte Menge Bitcoin direkt an den Miner übertragen, der diesen Block produziert hat. Mit Ausnahme dieses Sonderfalls verfügen alle anderen Transaktionen über Eingaben. Wenn Xiao Ming beispielsweise 1 Bitcoin an Xiao Gang übertragen möchte, was sollte der Input dieser Transaktion sein? Dabei handelt es sich um einige Transaktionen im Zusammenhang mit der Adresse von Xiao Ming. Genauer gesagt handelt es sich um die nicht verbrauchten Transaktionsausgaben, die zu der in diesen Transaktionen enthaltenen Adresse von Xiao Ming gehören, nämlich UTXO.
Daher geben wir natürlich das zweite Element ein, nämlich dass die Transaktion eine Ausgabe enthalten soll. „Output“ ist ein Begriff, der im Englischen „Output“ genannt wird. Bei der Transaktion, bei der Xiao Ming einen Bitcoin an Xiao Gang überträgt, ist der Ausgang der Transaktion der Bitcoin, der auf die Adresse von Xiao Zhang verweist. Auf diese Weise verstehen wir die letzten drei Buchstaben in UTXO TXO, wobei TX für Transaktion und O für Ausgabe steht.
Das letzte U bezieht sich auf Unspent, also nicht verbraucht. Wenn Xiao Zhang diese Ausgabe noch nie zur Eingabe anderer Transaktionen verwendet hat, wurde diese Ausgabe nie verbraucht und ist ein UTXO.
Das letzte Element ist die Bearbeitungsgebühr. Bei einer Nicht-Coinbase-Transaktion muss der Input dem Output plus der Bearbeitungsgebühr entsprechen. Der Einfachheit halber ignorieren wir die Bearbeitungsgebühr.
Um die Grundkomponenten von Bitcoin-Transaktionen zu verstehen, muss man UTXO verstehen. Gehen Sie zu einem beliebigen Bitcoin-Browser und klicken Sie auf eine bestimmte Transaktion. Die gerade erwähnten Faktoren können Sie in den Details sehen.
Machen Sie Eingaben und nehmen Sie Änderungen vor
Ein Merkmal von UTXO ist, dass es wie Münzen nicht zerlegt und verwendet werden kann. Wie kommt man also bei der Transaktion auf den eingegebenen Betrag und wie bekommt man Wechselgeld?
Xiao Ming überweist 1 Bitcoin an Xiao Gang. Der gesamte Prozess ist so. In der vorherigen Transaktion, die Xiao Mings Adresse entspricht, hat er beispielsweise einen UTXO mit einem Nennwert von 0,9 gefunden, was zum Glück nicht ausreicht Eingaben sind in der Transaktion zulässig, daher hat Xiao Ming ein weiteres UTXO mit einem Nennwert von 0,2 gefunden, sodass es in dieser Übertragungstransaktion zwei Eingaben geben wird. Außerdem wird es gleichzeitig zwei Ausgänge geben, von denen einer auf Xiaogangs Adresse mit einem Nennwert von 1 Bitcoin verweist. Der andere zeigt auf die Adresse von Xiao Ming mit einem Nennwert von 0,1 Bitcoin. Diese Ausgabe ist die Änderung.
Um es zu klären, ist der gesamte Prozess wie folgt: Xiao Ming muss zunächst genügend Inputs mit ausreichendem Nennwert sammeln. Hier hat er zwei Inputs gefunden, und diese beiden Inputs selbst sind die Outputs früherer Transaktionen. Diese beiden Ausgaben sind UTXO, bevor sie verbraucht werden, aber sobald die aktuelle Transaktion wirksam wird, werden beide verbraucht und in dieser Transaktion werden zwei neue UTXOs generiert, von denen eines auf Xiao Ming und das andere auf Xiao Gang verweist. Dies ist gleichbedeutend damit, dass Xiao Ming und Xiao Gang eine Münze erhalten, die in Zukunft für andere Transaktionen ausgegeben werden kann. Der Saldo der jeweiligen Adressen von Xiao Ming und Xiao Gang ist tatsächlich die Summe aller entsprechenden UTXOs.
Auf diese Weise werden wir verstehen, wie wir genügend Inputs sammeln, Outputs generieren und Änderungen an Transaktionen vornehmen.
Warum das UTXO-Modell verwenden?
An dieser Stelle haben wir eine Frage: Ist Bitcoin nicht nur ein großes Hauptbuch? Warum nicht das Kontomodell verwenden, sondern das UTXO-Modell?
Das Kontomodell ist das Grundmodell einer traditionellen Bank oder eines Dienstes wie Alipay. Bei diesem Modell habe ich ein entsprechendes eigenes Konto, auf dem vermerkt ist, dass ich 13 Yuan habe, sodass die Zahl 13 eindeutig im System erfasst ist. Das Kontomodell ist in der Tat sehr einfach und sehr flexibel. Es ist das Kontomodell, das in Ethereum und einigen anderen Blockchain-Projekten verwendet wird.
Wenn man sich Bitcoin noch einmal ansieht, hat Xiao Ming 13 Münzen. Tatsächlich gibt es überhaupt keine Nummer 13 auf der Blockchain, da es nur Transaktionen auf der Blockchain gibt. Aber wenn wir den Bitcoin-Blockchain-Browser öffnen, können wir den Saldo sehen, der einer Adresse entspricht. Dieser wird vom Blockchain-Browser selbst berechnet und ist nicht etwas, das ursprünglich auf der Blockchain steht.
Viele Experten werden jedoch sagen, dass UTXO ein sehr gutes Modell ist, vor allem weil UTXO sich sehr gut für paralleles Rechnen eignet. Diese Funktion ist in verteilten Computernetzwerken sehr clever. Die spezifischen Details sind nicht Gegenstand dieses Artikels. Es wird empfohlen, „Vergleich von UTXO- und Kontomodellen“ zu lesen, der eine ausführlichere Diskussion enthält.
Zusammenfassen
UTXO Hören wir hier auf zu reden und fassen wir ein paar Worte zusammen.
UTXO ist ein zentrales Konzept für das Verständnis von Bitcoin-Transaktionen. Für Studenten, die die zugrunde liegenden Prinzipien von Bitcoin verstehen möchten, ist dies eine Falle, die nicht umgangen werden kann. Jede Transaktion kann mehrere Eingaben enthalten und enthält normalerweise zwei Ausgaben. Die Gesamtausgabe plus Bearbeitungsgebühr entspricht genau der Gesamteingabe. Jeder Output ist wie eine Münze, hat seinen eigenen Nennwert und gehört zu einer bestimmten Adresse. Die Ausgabe, die nicht als Eingabe für andere Transaktionen verwendet wurde, ist die „nicht ausgegebene Transaktionsausgabe“, also UTXO.
Im UTXO-Modell gibt es kein Konzept für ein Konto, daher erscheint es im Vergleich zum Kontomodell etwas kompliziert. Tatsächlich bietet es jedoch enorme Vorteile, beispielsweise ist es sehr förderlich für paralleles Rechnen in verteilten Systemen. $CKB $BTC
