Was ist ein UTXO??

UTXO steht für TX-Ausgabe (Unspent Transaction). Grundsätzlich ist es der Betrag der verbleibenden Kryptowährungsänderung, den Sie von jeder Transaktion erhalten. Um dies weiter zu erläutern, sollten wir zunächst die Funktionsweise einer typischen Kryptotransaktion aufschlüsseln. Verwenden wir für unser Beispiel Bitcoin, da es die bekannteste Kryptowährung mit UTXOs ist.

Ein UTXO-Transaktionsbeispiel

Wenn Sie sich Ihre Bitcoin-Brieftasche ansehen, sehen Sie einen Kontostand. In diesem Beispiel setzen wir diesen Wert auf 100 Bitcoin. Obwohl Sie gerade beobachten einer Saldo besteht Ihr Geld tatsächlich aus mehrere UTXOs. Sie können vier UTXOs im Wert von jeweils 25 Bitcoin, zwei UTXOs im Wert von 50 oder eine Reihe von UTXOs im Wert von 37, 18, 40 und 5 Bitcoin haben. Die spezifischen Beträge spielen keine Rolle, müssen sich jedoch zu Ihrem Gesamtguthaben summieren, in diesem Fall zu 100.

Nehmen wir an, Sie kaufen ein neues Auto. Du arbeitest hart; du verdienst es. Gegen das Lambo-Stereotyp entscheiden Sie sich für eine Porche, die 35 Bitcoin kostet. Nun, Ihre Brieftasche enthält nur UTXOs, die jeweils 15, 17, 28 und 40 Bitcoin entsprechen. Sie haben keine mit genau 35 Bitcoin.

Es ist unmöglich, UTXOs aufzuteilen, daher gibt es keine Möglichkeit, genau die 35 Bitcoin zu bezahlen, die Sie schulden.

Stattdessen geben Sie die 40 Bitcoin UTXO aus. An seiner Stelle prägt das Netzwerk zwei neue UTXOs: eines mit einem Wert von 35 Bitcoin und eines mit einem Wert von 5 Bitcoin. Das Autohaus erhält das 35-Bitcoin-UTXO, während Sie das 5-Bitcoin-UTXO als Wechselgeld erhalten.

Sie können auch die 17 und 28 Bitcoin-UTXOs ausgeben und 10 Bitcoin als Wechselgeld erhalten. Eine Transaktion kann eine beliebige Kombination von UTXOs verwenden. Sie haben jedoch keine Kontrolle darüber, welche.

So wie Sie ein UTXO in separate Instanzen aufteilen können, können Sie diese auch in größeren Transaktionen kombinieren und weniger davon im Netzwerk erstellen.

Was ist mit Transaktionsgebühren??

Transaktionsgebühren sind ebenfalls in Transaktionen enthalten und werden von der UTXO abgezogen, die Sie als Änderung erhalten. Die Gleichung sieht ungefähr so ​​aus:

Neues UTXO = (Summe der UTXOs in der Transaktion) – (Transaktionsbetrag) – (Transaktionsgebühr)

Fortsetzung unseres jüngsten Beispiels mit einer Transaktionsgebühr von einem Bitcoin:

Neues UTXO = (17 + 18) – (35) – (1) = 9 Bitcoin

UTXO-Bedeutung und mögliche Probleme

Die Implementierung von UTXOs vereinfacht die Abrechnungsmethoden der Blockchain erheblich. Anstatt jede einzelne Transaktion verfolgen und speichern zu müssen, müssen wir nur die nicht ausgegebenen Münzen verfolgen, die auch als UTXOs bezeichnet werden.

Sie sehen, jede Münze im Bitcoin-Ökosystem kann nur einmal ausgegeben werden. Daher wird jedes Bitcoin in einer Brieftasche derzeit nicht ausgegeben, weil:

  1. Ein Bergmann erhielt es als Bergbaubelohnung oder
  2. Es wurde während einer Transaktion geprägt. (Erinnern Sie sich an unser Beispiel von früher?)

UTXOs sind entscheidend, um Angriffe mit doppelten Ausgaben zu verhindern, und sie hindern Sie daran, nicht vorhandene Münzen auszugeben. Netzwerkknoten zeichnen eine Datenbank auf und verwalten sie, die alle UTXO (d. H. Nicht ausgegebenen Münzen) enthält, die für Ausgaben verfügbar sind. Wenn Sie versuchen, eine Transaktion mit einer Münze zu senden, die sich nicht in dieser Datenbank befindet, lehnen die Knoten diese ab.

Mögliche Speicherprobleme

Knoten speichern die UTXO-Datenbank im RAM. Daher ist es wichtig, den Datensatz auf einer überschaubaren Größe zu halten. Mit zunehmendem Wachstum steigen auch die Kosten für den Betrieb eines vollständigen Knotens. Wenn das Ausführen eines vollständigen Knotens zu teuer wird, könnten wir eine weitere Zentralisierung im Bitcoin-Netzwerk unter den wenigen Reichen sehen, die es sich leisten können, sie auszuführen.

Größe der Bitcoin UTXO-Datenbank im Laufe der Zeit über Blockchain

Größe der Bitcoin UTXO-Datenbank im Laufe der Zeit über Blockchain

Dieses Risiko der Zentralisierung ist eines der Hauptargumente gegen die Erhöhung der Bitcoin-Blockgröße. Bitcoin-Entwickler Gavin Andresen beschreibt es am besten in sein Artikel UTXO uh-oh…:

„Ein 1-Megabyte-Block bietet Platz für etwa 100 Millionen 500-Byte-Transaktionen pro Jahr. Wenn jeder von ihnen den UTXO-Satz um 500 Byte erhöhen würde, würde der UTXO-Satz um 50 Gigabyte pro Jahr wachsen. “

Eine Blockgröße von einem Megabyte legt eine Obergrenze für das Ausmaß fest, in dem die UTXO-Datenbank jedes Jahr wachsen kann. Er fährt fort:

“Das Zulassen von mehr Transaktionen ohne weitere Änderungen würde sehr wahrscheinlich das UTXO-Set-Wachstum beschleunigen und es teurer und schneller machen, einen vollständig validierenden Knoten auszuführen.”

Nur damit wir Andresens Worte nicht zerkleinern: Sein Artikel spricht sich tatsächlich für eine Vergrößerung des Blocks aus. Er argumentiert, dass die Auswirkungen auf die UTXO-Set-Größe nicht drastisch sind, wie andere glauben. Angesichts der Komplexität von Skalierungslösungen der zweiten Schicht müssen wir kurzfristig größere Blöcke implementieren, bevor diese Lösungen langfristig verfügbar sind.

Lösungen

Zum Glück gibt es einige Lösungen für die potenziellen Speicherprobleme. Erstens müssen Knoten nicht die gesamte UTXO-Datenbank im RAM speichern. Sie können sich dafür entscheiden, einen Teil davon auf einer kostengünstigeren Solid-State-Festplatte (SSD) oder einer sich drehenden Festplatte zu speichern. Obwohl diese Speichertypen zu langsameren Validierungszeiten für jeden Knoten führen, sollte es kein Problem geben, solange sie noch unter der durchschnittlichen Blockierungszeit von zehn Minuten liegen.

Darüber hinaus verbessern Bitcoin-Entwickler kontinuierlich die Transaktionsmechanismen, um die UTXO-Datenbank zu optimieren.

Schließlich verlangsamen Segregated Witness (Segwit) und ähnliche Skalierungslösungen indirekt das Wachstum der UTXO-Datenbank. Direkt abziehen Bitcoin Core-Dokumentation::

„Segwit verbessert die Situation hier, indem Signaturdaten, die sich nicht auf die UTXO-Satzgröße auswirken, 75% weniger kosten als Daten, die sich auf die UTXO-Satzgröße auswirken. Dies soll Benutzer dazu ermutigen, die Verwendung von Transaktionen zu bevorzugen, die die Auswirkungen auf das UTXO-Set minimieren, um die Gebühren zu minimieren, und Entwickler dazu ermutigen, intelligente Verträge und neue Funktionen so zu gestalten, dass auch die Auswirkungen auf das UTXO-Set minimiert werden. ”

Schlussfolgerung: UTXO-Alternativen?

In unserem heutigen Beispiel haben wir konsequent Bitcoin verwendet, aber es gibt viele andere Kryptowährungen, die UTXOs implementieren, darunter Bitcoin Cash, Litecoin und Komodo.

Es gibt auch viele andere Kryptos, die andere Abrechnungsmechanismen verwenden. Ethereum verfügt beispielsweise über ein kontobasiertes Transaktionsmodell. Dieser Mechanismus bietet im Allgemeinen bessere Platzersparnis und einfacheren Code zum Arbeiten; Sie verlieren jedoch ein gewisses Maß an Transaktionsschutz und stoßen später auf potenzielle Skalierbarkeitsprobleme.

Wenn Sie einen Raum von zehn Kryptoentwicklern nach den besten Abrechnungsmethoden fragen, erhalten Sie wahrscheinlich zehn verschiedene Antworten. Es ist ein heiß diskutiertes Thema in der gesamten Community, für das es immer noch keine perfekte Lösung gibt. Und aufgrund der Komplexität wird dies wahrscheinlich niemals der Fall sein.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me