Learn
Dina · 15.3.2024

Ethereum-UTXOs: Grundlagen und Lösungen des Dust-UTXO Problems

Ethereum-UTXOs sind fundamentale Bestandteile der Ethereum-Blockchain und spielen eine entscheidende Rolle bei Transaktionen im Netzwerk. Dennoch wird ihnen oft zu wenig Beachtung geschenkt, was gerade bei einem Sparplan zu späteren Komplikationen wie z. B. Dust-UTXOs führen kann. Deswegen ist es umso wichtiger, den Aufbau einer Ethereum-Transaktion, UTXOs und die Probleme, die durch sie auftreten können, zu verstehen und Maßnahmen zu ergreifen, um zukünftige Probleme zu verhindern.

Kurz erklärt: Was ist ein UTXO?

Die Abkürzung UTXO steht für „Unspent Transaction Output“, was auf Deutsch in etwa „Nicht ausgegebene Transaktionsausgabe“ bedeutet. Ein UTXO repräsentiert einen bestimmten Ethereum-Betrag in einer Wallet, der noch nicht ausgegeben oder verwendet wurde.

Um das Konzept von UTXOs und die Bedeutung des UTXO-Problems zu verstehen, ist es zuerst essentiell, das Prinzip einer Ethereum-Transaktion näher zu betrachten.

Ethereum-Transaktionen: Das Prinzip

Eine Ethereum-Transaktion ist der wesentliche Baustein des Ethereum-Netzwerks, der es ermöglicht, Ethereum zwischen verschiedenen Parteien zu transferieren. Hierbei spielen verschiedene Faktoren eine Rolle:

Die Bausteine einer Ethereum-Transaktion

  1. Transaktions-ID (TxID): Eine eindeutige Identifikationsnummer, die jede Transaktion im Netzwerk eindeutig kennzeichnet.
  2. Inputs: Die Inputs einer Transaktion verweisen auf bereits existierende UTXOs, die in früheren Transaktionen empfangen wurden. Diese Inputs geben an, wie viele Ethereum in der Transaktion verarbeitet werden sollen und weisen auf die Ethereum-Adressen der UTXOs hin.
  3. Outputs: Die Outputs bestimmen, wohin die Ethereum gesendet werden sollen. Jeder Output enthält eine Ethereum-Adresse und den Betrag an Ethereum, der an diese Adresse gesendet wird.
  4. Gebühr: Eine Netzwerk-Gebühr, die die Person, welche die Transaktion tätigt, den Minern als Anreiz bietet, damit sie die Transaktion in einen Block der Blockchain aufnehmen. Transaktionen mit höheren Gebühren haben normalerweise Priorität bei der Verarbeitung.

Der Ablauf einer Ethereum-Transaktion - Beispiel

Angenommen, Peter möchte Anna 0.1 Ethereum senden, dann sieht der Ablauf wie folgt aus:

  1. Peter erstellt eine neue Transaktion in seiner Wallet, in der er Anna als Empfängerin angibt und den Betrag festlegt. In diesem Fall ist der Betrag 0.1 Ethereum.
  2. Nun sucht die Wallet nach einer passenden UTXO in Peters Wallet, welche den gewünschten Betrag abdecken kann. Als Beispiel nehmen wir an, dass Peter einen UTXO mit 0.2 Ethereum in seiner Wallet besitzt.
  3. Die Wallet verwendet nun diesen UTXO als Input für die neue Transaktion und gibt an, dass 0.1 Ethereum an Anna gesendet werden sollen.
  4. Die Wallet generiert nun eine digitale Signatur, um zu beweisen, dass sie berechtigt ist, die Ethereum aus dem ausgewählten UTXO zu verwenden.
  5. Die Transaktion wird an das Ethereum-Netzwerk gesendet und von den Minern für eine Transaktionsgebühr in einen Block der Blockchain aufgenommen. In diesem Beispiel nehmen wir an, dass diese Gebühr 0.01 Ethereum beträgt.
  6. Sobald die Transaktion im Block bestätigt wurde, erhält Anna die 0.1 Ethereum in ihre Wallet und der UTXO von 0.2 Ethereum in Peters Wallet wird als “ausgegeben” markiert und kann nicht mehr für weitere Transaktionen verwendet werden. Es entstehen somit zwei neue UTXOs. Der Rest des ursprünglichen UTXO minus die Gebühr von 0.01 Ethereum ergibt einen neuen UTXO in Peters Wallet von 0.09 Ethereum und ein UTXO in Annas Wallet über den Betrag von 0.1 Ethereum.
Abbildung einer beispielhaften Ethereum-Transaktion
Abbildung einer beispielhaften Ethereum-Transaktion. Zur Vereinfachung wurde die Verbildlichung der Gebühr weggelassen.

Das UTXO-Prinzip und seine Auswirkungen

Wie bereits bei dem Aufbau und Ablauf der Transaktion erklärt, spielen UTXOs eine große Rolle in Ethereum-Transaktionen. Um die Auswirkungen dieses Prinzips genauer zu verstehen, betrachten wir einige wichtige Aspekte:

Was ist ein UTXO?

Ein UTXO ist ein Output (Ausgabe) in der Ethereum-Blockchain, der noch nicht in einer Transaktion als Eingabe (Input) verwendet wurde. Anders ausgedrückt, handelt es sich um einen Ethereum-Betrag, der noch nicht in einer neuen Transaktion verwendet und ausgegeben wurde. Auf der anderen Seite werden Outputs, die bereits in einer Transaktion als Input verwendet wurden, als “Spent Transaction Output” bezeichnet.

Das Guthaben einer Ethereum-Adresse ergibt sich somit aus der Summe der UTXOs, die dieser Adresse zugeordnet sind. Jedes Mal, wenn eine Ethereum-Transaktion stattfindet, werden ein oder mehrere ungenutzte UTXOs als Eingabe verwendet und es werden neue Outputs, die wiederum als UTXOs verwendet werden können, erzeugt. Dieses Konzept ermöglicht eine transparente und sichere Verfolgung der Ethereum-Transaktion in der Blockchain und verhindert das “Double-spending-Problem”, sprich das ein Ethereum mehrmals ausgegeben werden kann.

Unterschied zwischen einer Transaktion und einem UTXO

Der Unterschied zwischen einer Transaktion und einem UTXO liegt in ihrer Funktion und ihrem Status in der Blockchain. Eine Transaktion ist der Prozess des Ethereum-Transfers selbst, bei dem UTXOs als Eingaben verwendet werden. Ein UTXO hingegen ist der ungenutzte Ethereum-Betrag, welcher noch nicht in einer Transaktion als Input verwendet wurde und daher weiterhin für zukünftige Transaktionen verfügbar ist.

Es ist wichtig zu verstehen, dass UTXOs nicht direkt übertragen werden können, sondern nur indirekt durch die Erstellung und Bestätigung neuer Transaktionen entstehen. Im Ethereum-Netzwerk wird das UTXO-Modell verwendet, um sicherzustellen, dass nur genau so viele Ethereum ausgegeben werden können, wie verfügbar sind.

Auswirkungen auf die Transaktionsgebühren

Die Netzwerkgebühr, die für eine Transaktion bezahlt werden muss, hängt nicht direkt mit der Menge der Ethereums zusammen, die versendet werden, sondern vielmehr mit der Anzahl der UTXOs, die in dieser Transaktion involviert sind. Dies kann auf den ersten Blick verwirrend sein, da man meinen könnte, dass größere Ethereum-Beträge automatisch höhere Gebühren verursachen würden.

Jedoch liegt der Hauptgrund für die Gebührenunterschiede in der Art und Weise, wie Transaktionen in der Ethereum-Blockchain verarbeitet werden. Denn jeder UTXO muss einzeln in die Transaktion einbezogen werden, und jeder UTXO trägt zu der insgesamt benötigten Speicherplatzmenge bei. Je mehr UTXOs in einer Transaktion verwendet werden, desto größer wird der Speicherplatzbedarf.

Um dies zu verdeutlichen kann man folgendes Beispiel verwenden: Angenommen eine Transaktion besteht aus einer Kombination von zehn kleinen UTXOs im Wert von jeweils 0.001 ETH. Der Gesamtwert dieser UTXOs beträgt folglich 0.01 ETH. Eine andere Transaktion verwendet jedoch nur eine einzige UTXO im Wert von 0.01 ETH. Obwohl beide Transaktionen den gleichen Gesamtwert von 0.01 ETH besitzen, wird die erste Transaktion höhere Gebühren erfordern, da sie mehr Speicherplatz in einem Block beansprucht.

Somit führt dies dazu, wie in unserem Beispiel beschrieben, dass Transaktionen mit vielen kleinen UTXOs mehr Speicherplatz in einem Block brauchen als Transaktionen mit weniger, dafür aber größeren UTXOs, selbst wenn der Gesamtbetrag der Ethereums in beiden Transaktionen gleich ist.

Zusammenfassend heißt dies, dass die Netzwerkgebühr nicht linear mit dem übertragenen Ethereum-Betrag steigt, wie man vielleicht anfangs annehmen könnte, sondern vielmehr von der Anzahl der UTXOs und dem dadurch verursachten Speicherplatzbedarf beeinflusst wird.

Das Wichtigste zusammengefasst:

  • UTXO steht für Unspent Transaction Output. Damit sind Outputs einer Transaktion gemeint, welche noch nicht ausgegeben wurden.
  • Das UTXO-Modell wird verwendet, um “Double-spending” zu verhindern.
  • UTXOs sind wichtige Bestandteile einer Ethereum-Transaktion.
  • Sobald ein UTXO ausgegeben wurde, wird er als “ausgegeben” gekennzeichnet und kann nicht wieder verwendet werden.
  • Nachdem ein UTXO ausgeben wurde, entsteht ein neuer UTXO mit einem neuen Betrag.
  • Die Gebühren einer Ethereum-Transaktion berechnen sich aus der Speichergröße der Transaktion. Größere Transaktionen nehmen mehr Platz im Block ein und benötigen mehr Ressourcen von den Minern.
  • Transaktionen mit vielen UTXOs haben höhere Gebühren als Transaktionen mit wenigen UTXOs.

Das Prinzip von Ethereum ähnelt eher Bargeld als einem Bankkonto

Die Auswirkungen auf die Transaktionsgebühren lassen sich noch einfacher veranschaulichen, indem man UTXOs mit physischen Geldmünzen vergleicht: Wenn deine Wallet eine Ethereum-Transaktion empfängt, ist es so, als würde jemand eine Geldmünze in deinen Geldbeutel legen. Denn eine Ethereum-Wallet speichert alle einzelnen Transaktionen zusammen.

Stell dir also vor, du erhältst regelmäßig viele kleine UTXOs in deine Wallet, ähnlich wie wenn du viele kleine Geldmünzen in deinem physischen Geldbeutel aufbewahrst. Bei einer physischen Transaktion ist es einfacher, den Wert von 100 Euro mit einer 100-Euro- oder zwei 50-Euro-Scheinen zu bezahlen, als mit einer Vielzahl von Münzen. Denn ein 100-Euro-Schein braucht physisch weniger Platz als z.B. hundert 1-Euro-Münzen.

Dieses Prinzip besteht ebenfalls bei den UTXOs, denn ein UTXO braucht weniger Speicherplatz als zum Beispiel 100 UTXOs, wobei man die Annahme treffen müsste, dass der 100-Euro-Schein den gleichen Platz im Geldbeutel beansprucht, wie eine 1-Euro Münze. Somit bedarf es auch einem physisch größeren Aufwandes, hundert 1-Euro-Münzen aus dem Geldbeutel zu holen als einen 100-Euro-Schein. Der angesprochene höhere Aufwand ist in diesem Beispiel vergleichbar mit der höheren Transaktionsgebühr bei vielen UTXOs, da die Miner mehr Ressourcen aufwenden müssen um mehr Daten zu verarbeiten.

Ebenfalls hat man nach einer Bargeldtransaktion neue UTXOs. Denn muss man zum Beispiel 50 Euro bezahlen, hat aber nur einen 100-Euro-Schein zur Verfügung, dann erhält man 50 Euro zurück. Der 100-Euro-Schein kann also im Geldbeutel als UTXO betrachtet werden und wird nach dem Bezahlen in zweimal 50 Euro aufgeteilt, einmal in 50 Euro, welche die empfangende Person erhält und in ihrem Geldbeutel einen neuen UTXO abbildet und einmal in das erhaltene Rückgeld, ebenfalls 50 Euro, die nun einen neuen UTXO im Geldbeutel der zahlenden Person darstellen.

Das Dust-UTXO-Problem und seine Auswirkungen

Beim regelmäßigen Stapeln von Ethereum im Rahmen eines Sparplans, um vom Durchschnittskosten-Effekt zu profitieren, können Dust-UTXOs zu einem potenziellen Problem werden. UTXOs werden als “Dust-UTXOs” bezeichnet, wenn der UTXO-Betrag kleiner als die aktuelle durchschnittliche Transaktionsgebühr ist. Folglich kann der Ethereum-Betrag nicht mehr wegtransferiert werden bzw. “zerfällt zu Staub”, da er von den Transaktionsgebühren bei einer Überweisung vollständig “aufgefressen” wird.

Ein regelmäßiger Sparplan bietet hierfür ein gewisses Risiko, da im Laufe der Zeit, je nach Regelmäßigkeit und Höhe des Betrags, viele kleine UTXOs angesammelt werden, welche einen geringen Betrag an Ethereum beinhalten.

Wenn man beispielsweise aktuell 100 Euro pro Woche in Ethereum investiert, können die entstandenen UTXOs aktuell noch einigermassen gut ausgegeben werden, da die Transaktionsgebühren zurzeit (März 2024) nur ein paar Tausend Gwei, also 1 bis 2 Euro, pro Transaktion betragen. Aber wenn du z. B. täglich 5 Euro investierst, sammelst du mit jeder Transaktion ziemlich kleine UTXOs, die in naher Zukunft zu Dust-UTXOs werden könnten. Schon heute würden bei einer Transaktion über 10 % des Betrags eines solchen kleinen UTXOs verbraucht werden.

Falls die Transaktionsgebühren jedoch weiter ansteigen, was in den nächsten Jahren auch zu erwarten ist, und zu dem Zeitpunkt wenn diese UTXOs mit den Beträgen von 0.00019 ETH oder 0.000076 ETH ausgegeben werden sollen, die durchschnittliche Transaktionsgebühr 0.0002 ETH oder mehr beträgt, dann muss die Person, welche die UTXOs ausgeben oder verschieben möchte, mehr Ethereum in Gebühren bezahlen, als Ethereum transferiert werden sollen. Somit ist der Ethereum-Betrag “zu Staub zerfallen”, da er nicht mehr kostengünstig wegtransferiert werden kann.

Folglich ist es wichtig zu verhindern, dass solche Dust-UTXOs entstehen. Dies kann durch UTXO-Management sichergestellt werden. Das UTXO-Management ist gerade dann sehr wichtig, wenn es wahrscheinlicher wird, dass die Transaktionsgebühren steigen.

Für einen Anstieg der Transaktionsgebühren kann es mehrere Gründe geben. In der Vergangenheit sind die Gebühren zum Beispiel angestiegen, als das Ordinals-Upgrade eingeführt wurde. Aber auch nach einem Halving kann es theoretisch zu Anstiegen kommen, da sich der Blockreward halbiert.

Lösungen für das Dust-UTXO-Problem beim regelmäßigen Stacken von Ethereum

  1. UTXO-Konsolidierung: Ein Weg, um das Dust-UTXO-Problem zu minimieren, besteht darin, deine regelmäßigen Ethereum-Käufe zu konsolidieren, indem du mehrere kleine UTXOs zu größeren UTXOs zusammenführst. Dadurch wird die Anzahl der UTXOs in deiner Wallet reduziert, was zu weniger Transaktionsdaten und somit niedrigeren Gebühren führt. Beachte jedoch, dass das Zusammenführen von UTXOs auch Transaktionsgebühren verursacht und es deswegen ratsam ist, dies genau zu planen.
  2. Effiziente Gebührenberechnung: Wähle eine Ethereum-Wallet, die Gebühren effizient berechnet und dir die Möglichkeit bietet, die Transaktionsgebühren manuell anzupassen. Indem du die Gebühren entsprechend den aktuellen Netzwerkbedingungen anpasst, kannst du sicherstellen, dass deine Transaktionen schnell oder kostengünstig bestätigt werden.

Das Potenzial des Lightning-Netzwerks

Um das Dust-UTXO-Problem langfristig zu lösen oder zu umgehen wird schon ausführlich an Lösungen gearbeitet. Denn gerade bei Mikrotransaktionen ist es wichtig, dass keine hohen Gebühren anfallen, die sich unverhältnismäßig auf einen kleinen Kauf auswirken.

Eine mögliche Lösung für dieses Problem ist das Lightning-Netzwerk. Das Lightning-Netzwerk bietet die Möglichkeit, kleinere Beträge zu stapeln und Transaktionskosten zu reduzieren. Indem mehr Transaktionen außerhalb der Blockchain ausgeführt werden, kann das Lightning-Netzwerk die Skalierbarkeit verbessern und das Dust-UTXO-Problem verringern.

Mit dem neuen Pocket Top-Up Service wird es so möglich sein, direkt über Lightning Ethereum zu kaufen und in einer selbstverwahrten Wallet aufzubewahren. Dadurch entfällt das Problem der Dust-UTXOs, wichtig ist hierbei aber, dass Lightning-Wallets hot Wallets sind und nicht zum Stapeln großer Ethereum-Beträge geeignet sind. Somit kann Lightning momentan keine endgültige Lösung des Problems bieten.

Zusammenfassung und Ausblick

Die Ethereum-Community arbeitet ständig an neuen Entwicklungen und Lösungen, um das Netzwerk zu optimieren. Zukünftige Verbesserungen könnten die Verwaltung von UTXOs erleichtern und die Gebührenstruktur weiter optimieren. Für Personen, die Ethereum nutzen, ist es daher ratsam, sich laufend über diese technischen Details und Entwicklungen zu informieren, um Ethereum effizient und kostengünstig nutzen zu können. Durch bewusste UTXO-Konsolidierung und den Einsatz von effizienten Wallets kannst du die Auswirkungen des Dust-UTXO-Problems reduzieren und mögliche Vorteile des Lightning-Netzwerks nutzen.

Verbreite das Wissen

Wenn dir dieser Inhalt gefallen hat, dann teile ihn mit deinen Freunden. Wenn du denkst, dass hier etwas fehlt, schick uns eine kurze Nachricht.

Mail

Du erhältst

0,00405495 ETH

⭐️ gekauft am 10.05.23, 06:42 (MEZ) bei 25.196,30 EUR

⏱️ ausbezahlt bis 22:00

Glückwunsch,

deine Überweisung ist soeben eingetroffen und wurde wie folgt in Ethereum umgewandelt:

EinzahlungEUR 100,00