UTXO versus account-basierte Blockchains: Funktionsweise, Unterschiede und Anwendungsfälle

Was sind UTXO- und account-basierte Blockchains?
UTXO- und account-basierte Blockchains sind zwei unterschiedliche Arten, wie eine Blockchain festhält, wem welche Krypto gehört und wie Transaktionen verarbeitet werden.
Bekannte Beispiele für Blockchains, die mit dem UTXO-Modell arbeiten, sind Bitcoin, Litecoin, Dogecoin und Bitcoin Cash. Cardano nutzt eine weiterentwickelte Variante, das eUTXO-Modell, mit dem auch komplexere Logik und Smart Contracts möglich sind.
Bekannte account-basierte Blockchains sind Ethereum, Solana und die C-Chain von Avalanche. Bei solchen Blockchains wird der Zustand in Accounts gespeichert, zum Beispiel über Salden und andere gespeicherte Daten. Ethereum nutzt etwa Accounts mit unter anderem einem Saldo und einer Nonce, während Solana den gesamten Zustand in Accounts speichert.
Ein UTXO ist die Kurzform für Unspent Transaction Output: ein Stück Krypto aus einer früheren Transaktion, das noch nicht ausgegeben wurde. Du kannst es mit einzelnen digitalen Geldscheinen vergleichen. Jeder Geldschein hat einen bestimmten Wert und kann nur einmal ausgegeben werden.
Wenn du zum Beispiel eine Bitcoin-Transaktion machst, verwendest du einen oder mehrere bestehende UTXOs als Input. Diese gelten danach als ausgegeben. Gleichzeitig entstehen neue UTXOs für den Empfänger und gegebenenfalls für das Wechselgeld, das an den Absender zurückgeht.
Ein account-basiertes Modell funktioniert eher wie ein normales Bankkonto. Ein Account hat einen aktuellen Zustand, etwa einen Saldo, der steigt oder fällt, wenn Transaktionen verarbeitet werden. Auf Ethereum enthält so ein Account neben dem ETH-Saldo zum Beispiel auch eine Nonce und, je nach Account-Typ, Informationen über Code und gespeicherte Daten.
Der wichtigste Unterschied liegt also in der Verwaltung. Eine UTXO-Blockchain hält einzelne, noch nicht ausgegebene Wertstücke fest, während eine account-basierte Blockchain vor allem den aktuellen Saldo und andere Daten pro Account speichert.
Das sagt nicht automatisch etwas über etwa Konsens, Privatsphäre oder die Möglichkeiten für Smart Contracts aus. Es gibt außerdem weiterentwickelte UTXO-Modelle wie eUTXO, die ebenfalls komplexere Logik unterstützen.
Wichtigste Erkenntnisse
- Ein UTXO-Modell hält Wert als einzelne, noch nicht ausgegebene Outputs aus früheren Transaktionen fest.
- Ein account-basiertes Modell hält einen veränderlichen Saldo und andere Daten pro Account fest.
- Bitcoin nutzt das UTXO-Modell und Ethereum ist ein bekanntes Beispiel für eine account-basierte Blockchain.
- Bei UTXO wird ein bestehender Output verbraucht und es werden neue Outputs erzeugt.
- Beide Modelle können auf öffentlichen Blockchains pseudonyme, aber gut nachvollziehbare Transaktionen haben.
Wie funktioniert das UTXO-Modell?
Das UTXO-Modell arbeitet mit einzelnen Krypto-Beträgen, die noch nicht ausgegeben wurden. So ein UTXO stammt aus einer früheren Transaktion und kann nur verwendet werden, wenn die dazugehörigen Bedingungen erfüllt sind. Meist weist du mit einer digitalen Signatur nach, dass du berechtigt bist, diesen UTXO auszugeben.
Wenn du eine neue Transaktion erstellst, verweist sie auf einen oder mehrere bestehende UTXOs. Das Netzwerk prüft dann, ob diese UTXOs noch nicht zuvor ausgegeben wurden und ob die Bedingungen erfüllt sind.
Wichtig zu wissen: Einen UTXO kannst du nicht teilweise verbrauchen. Sobald du ihn verwendest, wird der gesamte UTXO ausgegeben. Deshalb entstehen bei einer Zahlung oft mehrere neue UTXOs: einer für den Empfänger und gegebenenfalls einer für den Restbetrag, der an den Absender zurückgeht. Letzteres wird auch change output genannt.
Beispiel: Stell dir vor, deine Crypto Wallet kann einen UTXO von 1 BTC ausgeben und du möchtest 0,4 BTC an jemanden senden.
Der gesamte UTXO von 1 BTC wird dann als Input verwendet. Die Transaktion kann zum Beispiel 0,4 BTC an den Empfänger senden und den Restbetrag nach Abzug der Transaktionskosten als neuen UTXO an eine Adresse zurückschicken, die du kontrollierst.
Der alte UTXO von 1 BTC existiert danach nicht mehr. Stattdessen sind neue UTXOs entstanden.
Dein sichtbarer Saldo besteht also nicht aus einem einzelnen Betrag auf der Blockchain. Er ist die Summe aller UTXOs, die deine Wallet ausgeben kann.
Auch der Wert einer Transaktion lässt sich einfach prüfen. Der Gesamtwert der neuen Outputs darf nicht höher sein als der Wert der verwendeten Inputs. Die Differenz zwischen beiden kann als Transaktionsgebühr an den Miner gehen, der den Block produziert.
Bei Bitcoin können einem UTXO über Skripte zusätzliche Bedingungen hinzugefügt werden. So ein Skript legt fest, unter welchen Bedingungen der UTXO ausgegeben werden darf. Das macht Bitcoin für bestimmte Formen der Autorisierung programmierbar, aber das Bitcoin-Skriptmodell ist deutlich begrenzter als die umfangreichen Smart Contracts von etwa Ethereum.
Wie funktioniert das account-basierte Modell?
Das account-basierte Modell arbeitet mit Accounts, die jeweils einen aktuellen Zustand haben. Denk zum Beispiel an einen Saldo und eine Nonce. Eine Nonce ist eine fortlaufende Zahl, die festhält, wie viele Transaktionen ein Account gesendet hat. So kann das Netzwerk verhindern, dass derselbe Transaktionsauftrag erneut ausgeführt wird.
Bei einer normalen ETH-Transaktion wird der Saldo des Absenders verringert und der Saldo des Empfängers erhöht. Danach wird der neue Zustand beider Accounts auf Ethereum gespeichert.
Ethereum kennt zwei Arten von Accounts:
- Externally owned accounts (EOAs): Accounts, die mit einem Private Key verwaltet werden. Das sind meist die Accounts, die Nutzer über eine Wallet verwalten. Ein EOA kann selbst eine Transaktion starten.
- Contract-Accounts: Accounts, denen Smart-Contract-Code zugeordnet ist. Sie haben keinen Private Key und starten nicht selbstständig eine externe Transaktion. Sie führen Code aus, wenn sie durch eine Transaktion oder einen anderen Contract aufgerufen werden.
Eine Transaktion von einem EOA enthält unter anderem Informationen über das Ziel, den Betrag, die Nonce, die Signatur, eventuelle zusätzliche Daten und wie viel Gas maximal verwendet werden darf. Gas bestimmt, wie viel Rechenarbeit Ethereum für eine Transaktion ausführen darf.
Geht eine Transaktion nur an einen normalen Account, kann zum Beispiel ETH gesendet werden. Geht die Transaktion an einen Contract-Account, kann die EVM, die Ausführungsumgebung von Ethereum, den Code dieses Contracts ausführen.
Dadurch kann eine einzelne Transaktion viel mehr tun als nur ETH senden. Ein Smart Contract kann zum Beispiel Tokens verschieben, gespeicherte Daten anpassen oder andere Smart Contracts aufrufen.
Validatoren prüfen und verarbeiten Transaktionen nach denselben Regeln. Ist die Transaktion gültig, werden die neuen Salden und anderen Änderungen Teil des neuen Zustands von Ethereum.
Was sind die wichtigsten Unterschiede zwischen beiden Modellen?
Der größte Unterschied liegt darin, wie eine Blockchain festhält, was jemand besitzt.
Bei einem UTXO-Modell besteht der aktuelle Zustand aus einzelnen Krypto-Beträgen, die noch nicht ausgegeben wurden. Bei einem account-basierten Modell hat jeder Account dagegen einen aktuellen Zustand, etwa einen Saldo, eine Nonce und eventuell gespeicherte Contract-Daten.
Bei UTXO verbrauchst du bestehende Outputs und es entstehen neue Outputs. Bei Accounts wird der bestehende Zustand direkt angepasst. Denk zum Beispiel an einen Saldo, der sinkt, eine Nonce, die steigt, oder Daten in einem Smart Contract, die sich ändern.
Auch Double Spending wird anders verhindert. Bei UTXO darf derselbe Output nur einmal verwendet werden. Bei einem account-basierten Modell hilft die Nonce dabei, Transaktionen desselben Accounts in der richtigen Reihenfolge zu verarbeiten und zu verhindern, dass derselbe Auftrag erneut ausgeführt wird.
Es ist zu einfach zu sagen, dass UTXO nur für Zahlungen und account-basierte Blockchains nur für Smart Contracts geeignet sind. Weiterentwickelte UTXO-Modelle wie eUTXO können ebenfalls komplexere Logik und Smart Contracts unterstützen.
Wie eine Blockchain in der Praxis funktioniert, hängt außerdem nicht nur vom UTXO- oder Account-Modell ab. Auch zum Beispiel die Crypto Wallet, Transaktionskosten, die virtuelle Maschine und mögliche Privatsphäre-Techniken spielen eine Rolle.
Wie unterscheiden sich Transaktionen und Saldo-Verwaltung?
Bei einer UTXO-Transaktion verwendet deine Wallet einen oder mehrere bestehende UTXOs als Input. Die Wallet sucht genug einzelne Beträge zusammen, um die Zahlung und die Transaktionskosten bezahlen zu können. Das wird auch coin selection genannt.
Sind die ausgewählten UTXOs zusammen mehr wert als der Betrag, den du senden möchtest? Dann entsteht meist ein neuer UTXO mit dem Restbetrag. Das wird change output genannt.
Dein Saldo besteht bei einem UTXO-Modell also aus mehreren einzelnen UTXOs, die zusammen deinen gesamten verfügbaren Saldo bilden.
Bei einem account-basierten Modell funktioniert das anders. Ein Account hat einen einzigen Saldo, der direkt angepasst wird. Wenn du zum Beispiel ETH sendest, sinkt der Saldo deines Accounts und der des Empfängers steigt.
Transaktionen vom selben Ethereum-Account haben außerdem jeweils eine Nonce. Dadurch weiß Ethereum, in welcher Reihenfolge diese Transaktionen verarbeitet werden müssen. Das ist wichtig, weil eine frühere Transaktion Einfluss auf eine spätere haben kann. Dein Saldo kann sich zum Beispiel geändert haben oder ein Smart Contract kann inzwischen einen anderen Zustand haben.
Eine Ethereum-Transaktion ist deshalb nicht gut mit einem Input und einem Output zu vergleichen. Die Transaktion startet zwar von einem Account aus, aber ein Smart Contract kann während der Ausführung mehrere Accounts, Tokens und gespeicherte Daten anpassen.
Wie unterscheiden sich Privatsphäre und Nachverfolgbarkeit?
Öffentliche UTXO- und account-basierte Blockchains sind meist pseudonym. Das bedeutet, dass eine Adresse nicht automatisch deinen Namen zeigt, Transaktionen und Adressen aber öffentlich auf der Blockchain stehen.
Bei Bitcoin werden oft verschiedene Adressen für unterschiedliche Transaktionen verwendet. Auch das Wechselgeld einer Transaktion kann an eine neue Adresse gehen. Dadurch ist nicht immer sofort sichtbar, welche Adressen zu derselben Person gehören.
Trotzdem können Analysten Muster erkennen. Wenn mehrere Adressen zum Beispiel gemeinsam als Input für eine Bitcoin-Transaktion verwendet werden, kann das darauf hindeuten, dass dieselbe Partei diese Adressen kontrolliert. Das ist allerdings kein harter Beweis.
Bei Ethereum nutzen Menschen oft dieselbe Account-Adresse für viele verschiedene Aktivitäten. Dadurch lassen sich Transaktionen, Token-Bewegungen und Interaktionen mit Smart Contracts von dieser Adresse aus leichter miteinander verknüpfen.
Keines der beiden Modelle ist automatisch anonym oder datenschutzfreundlicher. Zusätzliche Techniken wie Zero-Knowledge-Proofs, Mixer oder Shielded Transactions können die Privatsphäre erhöhen. Das sind ergänzende Techniken und kein Standardbestandteil des UTXO- oder Account-Modells.
Welche Vor- und Nachteile haben UTXO- und account-basierte Blockchains?
Beide Modelle haben starke und schwache Seiten. Welche Lösung besser funktioniert, hängt davon ab, was eine Blockchain oder Anwendung leisten soll.
Vorteile des UTXO-Modells
-
Klare Transaktionsstruktur Bei einer UTXO-Transaktion ist genau sichtbar, welche bestehenden Outputs verwendet werden und welche neuen Outputs entstehen. Dadurch lässt sich der Geldfluss innerhalb einer Transaktion klar nachvollziehen.
-
Möglichkeit zur parallelen Verarbeitung Transaktionen, die nicht dieselben UTXOs verwenden, können in manchen UTXO-Modellen unabhängig voneinander geprüft werden. Das kann Raum für parallele Verarbeitung schaffen.
-
Klare Kontrolle über Double Spending Ein UTXO kann nur einmal ausgegeben werden. Sobald er verwendet wurde, existiert er nicht mehr als verfügbarer Output.
Nachteile des UTXO-Modells
-
Mehr Aufwand für Wallets Eine Crypto Wallet muss entscheiden, welche UTXOs für eine Zahlung verwendet werden. Das nennt man coin selection. Auch Change Outputs und große Mengen kleiner UTXOs müssen verwaltet werden.
-
Gemeinsamer Zustand kann komplizierter sein Wenn mehrere Transaktionen denselben UTXO brauchen, um Contract-Logik auszuführen, können sie miteinander in Konflikt geraten. Sobald eine Transaktion diesen UTXO verwendet, muss die andere Transaktion möglicherweise mit dem neuen Zustand neu aufgebaut werden.
Vorteile des account-basierten Modells
-
Einfache Saldo-Verwaltung Ein Account hat einen aktuellen Saldo, der direkt angepasst wird. Dadurch muss eine Wallet nicht zuerst verschiedene einzelne UTXOs zusammensuchen.
-
Praktisch für gemeinsamen und dauerhaften Zustand Account-basierte Blockchains wie Ethereum können Daten direkt mit Accounts und Smart Contracts verknüpfen. Das passt gut zu Anwendungen, bei denen viele Transaktionen auf denselben gespeicherten Informationen aufbauen.
-
Geeignet für komplexe Smart Contracts Ein Smart Contract kann während einer Ausführung verschiedene Salden, Accounts und gespeicherte Daten anpassen. Das macht das Modell praktisch für viele verschiedene Arten von Blockchain-Anwendungen.
Nachteile des account-basierten Modells
-
Transaktionen hängen stärker vom aktuellen Zustand ab Das Ergebnis einer Transaktion kann vom Saldo, der Nonce oder den Contract-Daten zum Zeitpunkt der Ausführung abhängen. Eine frühere Transaktion kann diesen Zustand inzwischen bereits verändert haben.
-
Die Reihenfolge der Transaktionen ist wichtig Transaktionen vom selben Account müssen in der richtigen Nonce-Reihenfolge ausgeführt werden. Auch bei Smart Contracts kann die Reihenfolge, in der Transaktionen verarbeitet werden, den endgültigen Zustand beeinflussen.
-
Mehr gemeinsamer Zustand kann die Verarbeitung komplexer machen Wenn viele Transaktionen dieselben Accounts oder Contract-Daten ändern wollen, sind diese Transaktionen nicht immer vollständig unabhängig voneinander.
Kurz gesagt: Keines der beiden Modelle ist automatisch schneller, günstiger, sicherer oder besser für die Privatsphäre. Solche Eigenschaften hängen vom gesamten Design der Blockchain und davon ab, wie das UTXO- oder Account-Modell darin umgesetzt ist.
Wann ist welches Blockchain-Modell geeignet?
Ein UTXO-Modell passt gut zu Anwendungen, bei denen Wert als einzelne Beträge geführt wird und jeder Output nur einmal ausgegeben werden kann. Das funktioniert zum Beispiel gut für Zahlungen, bei denen klar sein muss, welche Beträge verwendet werden und welche neuen Beträge danach entstehen.
Willst du komplexere Anwendungen bauen, kann ein UTXO-Modell trotzdem geeignet sein. Weiterentwickelte Varianten wie eUTXO können ebenfalls Smart Contracts und komplexere Regeln unterstützen.
Allerdings muss bei solchen Anwendungen gut darüber nachgedacht werden, wie mehrere Nutzer gleichzeitig mit denselben Daten arbeiten. Wenn viele Transaktionen immer denselben UTXO brauchen, können sie miteinander kollidieren. Durch die Verteilung der Daten auf mehrere UTXOs lassen sich solche Konflikte manchmal verringern.
Ein account-basiertes Modell passt dagegen gut zu Anwendungen, bei denen Daten häufig angepasst werden und mehrere Aktionen auf demselben gespeicherten Zustand aufbauen. Auf Ethereum kann eine Transaktion zum Beispiel ETH senden und gleichzeitig einen Smart Contract aufrufen, der danach gespeicherte Daten verändert.
Welche Lösung am besten geeignet ist, hängt deshalb nicht nur vom Label UTXO oder account-basiert ab. Schau vor allem darauf, was die Anwendung tun soll, wie viele Nutzer gleichzeitig dieselben Daten ändern wollen, wie komplex die Smart Contracts sind und welche Nutzererfahrung du für Wallets bieten möchtest.
Fazit
UTXO- und account-basierte Blockchains lösen dasselbe Grundproblem, tun das aber auf unterschiedliche Weise. UTXO arbeitet mit einzelnen, nur einmal ausgebbaren Outputs, während ein Account-Modell einen veränderlichen Zustand pro Account festhält.
Bei einfachen Zahlungen ist der Unterschied gut zu sehen: Bei UTXO werden alte digitale Beträge verbraucht und neue erzeugt, während bei Accounts Salden aktualisiert werden. Bei komplexeren Anwendungen wird die Wahl interessanter. UTXO-Varianten können Smart Contracts unterstützen, und Account-Modelle können ebenfalls problemlos Werte übertragen.
Das Wichtigste ist deshalb nicht, welches Modell allgemein besser ist. Entscheidend ist, welches Modell am besten zu dem passt, was eine Blockchain oder Anwendung leisten soll.