Gerade für Anfänger//innen ist es oft nicht leicht die in der Bitcoin Welt verwendeten Benennungen und Stückelungen zu durchsteigen. Was unterscheidet Bitcoin von bitcoins, wie viele Sats sind ein Bitcoin und was zur Hölle sind UTXOs? Und vielmehr noch, warum sollte mich das interessieren? Ganz einfach: Wer UTXOs vernünftig verwaltet, spart sich nicht nur potentiell zukünftigen Ärger, sondern kann sogar bares Geld sparen. Da die meisten Menschen mit finanzieller Vorbildung gewohnt sind in Konten oder Guthaben zu denken, bedarf es beim Verständnis von UTXOs sicherlich ein wenig Unterstützung. Also wollen wir uns dem Thema Schritt für Schritt annehmen.
Einstieg
Viele Neulinge haben die Vorstellung, dass ein bitcoin gleich einem bitcoin ist. Sie nehmen fälschlicherweise an, dass ein bitcoin immer als Ganzes existiert. Für viele ist der Moment, in dem sie erkennen, dass ein bitcoin aus 100.000.000 Satoshis besteht, der erste große Aha!-Moment. Die Erkenntnis, dass man nicht einen ganzen bitcoin kaufen muss, sondern kleine Einheiten erwerben kann, eröffnet vielen einen ganz anderen Blick auf Bitcoin. Bekannte Sprüche, wie "ich bin zu spät dran" oder "ich kann mir keinen bitcoin leisten" hat jeder schon mal gehört und wenn man dann erklärt, dass man kleine Mengen für Cent-Beträge erwerben und versenden / erhalten kann, ändert dies die Grundhaltung zu Bitcoin von Grund auf.
Der nächste Schritt bei der Erkenntnisreise von Bitcoin ist das Verständnis über UTXOs (Unspent Transaction Output).
Der einfachste Weg, UTXOs zu erklären, ist eine einfache Analogie zu Geld im Portemonnaie. Man stelle sich dazu die Bitcoin-Wallet als ganz normale Geldbörse im normalen Leben vor. Verschiedene Szenarien:
1) Man hat im Portemonnaie 10€ in Form eines 10€-Scheins. Man möchte am Kiosk ein Bier für 2€ kaufen. Also bezahlt man mit dem Schein und bekommt vom Verkäufer 8€ zurück.
Was ist passiert? Es gibt einen Transaktions-Output: 10€-Schein aus dem Portemonnaie. Und es gibt zwei Transaktions-Inputs: 2€ in die Kasse des Kiosks und 8€ zurück in das Portemonnaie. Das sieht dann so aus:
2) Man hat im Portemonnaie 10€ in Form von 10 1€-Münzen. Man möchte am Kiosk ein Bier für 2€ kaufen. Also bezahlt man mit zwei 1€-Münzen und bekommt nichts vom Verkäufer zurück. Man hat ja passend gezahlt.
Was ist passiert? Es werden zwei Transaktions-Outputs zusammengefasst: Zwei 1€-Münzen aus dem Portemonnaie. Und es gibt einen Transaktions-Input: 2€ in die Kasse des Kiosks (ein weiterer Input über 0€ zurück in das Portemonnaie ist nicht nötig). Das sieht dann so aus:
Es gibt natürlich auch ein Szenario, in dem beide Fälle verknüpft sind.
3) Man hat im Portemonnaie 10€ in Form von zwei 5€-Scheinen. Man möchte am Kiosk drei Bier für 6€ kaufen. Also bezahlt man mit zwei 5€-Scheinen und bekommt vom Verkäufer 4€ zurück.
Was ist passiert? Es gibt zwei Transaktions-Outputs: Zwei 5€-Scheine aus dem Portemonnaie. Und es gibt zwei Transaktions-Inputs: 6€ in die Kasse des Kiosks, und 4€ zurück in das Portemonnaie. Das sieht dann so aus:
Mit Hilfe dieser drei Szenarien haben wir die beiden Grundideen verbildlicht: Um einen gewissen Betrag zu bezahlen, können UTXOs (die jeweiligen Münzen oder Scheine im Portemonnaie) auseinandergebrochen oder zusammengefasst werden.
Eine weitere Grundidee besteht darin, dass ein UTXO IMMER zerstört wird. Das lässt sich mit dem folgenden Szenario verbildlichen:
4) Man hat im Portemonnaie 10€ in Form eines 10€-Scheins. Man möchte am Kiosk 5 Bier für 10€ kaufen. Also bezahlt man mit dem Schein und bekommt nichts vom Verkäufer zurück.
Was ist passiert? Es gibt einen Transaktions-Output: 10€-Schein aus dem Portemonnaie. Und es gibt einen Transaktions-Input: 10€ in die Kasse des Kiosks. Allerdings hat der Kioskbesitzer den 10€-Schein zerrissen und hat einen ganz neuen 10€-Schein bekommen, den er in die Kasse legt. Dem Besitzer ist egal, ob der Schein derselbe ist, wie der, den ich ihm gegeben habe, denn der Schein in seiner Kasse ist vom Wert identisch.
Als nächstes muss man verstehen, dass Transaktionen in der Blockchain historisch miteinander verknüpft sind. Diese Verknüpfung entsteht dadurch, dass die Outputs einer Transaktion immer die Inputs der nächsten Transaktion darstellen. In unserem Beispiel bedeutet das, dass es jemanden gibt, der eine Liste darüber führt, welche Münzen und Scheine aus einem Portemonnaie ausgegeben wurden und welche nicht. Auf dieser Liste steht aber auch, welche Münzen und Scheine in die Kasse des Kioskbesitzers gewandert sind und von dort wieder herausgegeben wurden. Diese Liste wird also immer länger, denn die Scheine und Münzen werden als Wechselgeld mehrere Male am Tag an verschiedene Kunden ausgegeben und auch deren Portemonnaies werden auf dieser Liste akribisch festgehalten. Diese Liste ist die Blockchain.
Jetzt haben wir also verstanden, dass Bitcoin kein System von Konten und Guthaben ist, sondern vielmehr die Sammlung und Übersicht von UTXOs und deren Besitzer. Die Aufgabe einer Wallet besteht also unter anderem darin, ein Bitcoin-Guthaben abzubilden, das aus vielen verschiedenen UTXOs besteht.
Transaktionsgebühren
Mit diesem Wissen können wir jetzt eine weitere Komplexität hinzufügen. In unseren Szenarien gab es nur zwei Teilnehmer jeder Transaktion: Sender und Empfänger der Zahlung, also Biertrinker und Kioskbesitzer. Im Bitcoin-Netzwerk gibt es allerdings noch einen dritten Teilnehmer, der an jeder Transaktion interessiert ist. Die Miner. Denn Miner sind dafür verantwortlich, dass die Transaktionen in die Blockchain geschrieben werden und dafür erhalten sie eine kleine Transaktionsgebühr. Dies bedeutet, dass ein weiterer UTXO erstellt wird, der diese Gebühren enthält. Technisch gesehen ist diese Zahlung impliziert, dass heißt der (die) UTXO(s) auf der Senderseite sinf größer, als der UTXO auf der Empfängerseite. Das Delta erhält der Miner.
Die Höhe der Gebühr variiert von Transaktion zu Transaktion und kann sogar vom Sender eingestellt werden, indem das Delta größer oder kleiner eingestellt wird. Ein weiterer Punkt ist, dass der Gebrauch von vielen UTXOs auch zu höheren Gebühren führt, da die Gebühren anhand der Größe der Transaktion (Dateigröße) und nicht anhand der Geldmenge (in Bitcoin, US Dollar oder Euro dargestellt) berechnet werden. Eine 0,001 Bitcoin Zahlung kann dementsprechend höhere Gebühren beinhalten, als eine 100 Bitcoin Zahlung, wenn die 0,001 Bitcoin Zahlung aus vielen kleinen UTXOs besteht. Dies bedeutet aber nicht, dass ein Anteil jedes verwendeten UTXOs in separate UTXOs für den Miner aufgebrochen wird, der Miner erhält einen UTXO in Höhe der Gesamtmenge der Gebühren.
Um es einfach zu veranschaulichen, nehmen wir eine Gebühr von 1% an. Bildlich dargestellt ist dies einfacher zu verstehen:
Wie wir sehen können, hätten zwei UTXOs (5€ und 1€) gereicht, um die Zahlung von 6€ an den Kiosk zu tätigen, allerdings musste noch ein weiterer UTXO von der Wallet hinzugezogen werden, um auch die GEbühr zu zahlen. Der Rest geht als Wechselgeld an den Sender zurück.
Das Thema Gebühren ist nicht ganz trivial, denn die Höhe der Transaktionsgebühren hängt nicht nur davon ab, wie viele Bytes eine Transaktion hat (also aus wie vielen verschiedenen UTXOs sie zusammengestellt wurde), sondern auch vom aktuellen Status der Auslastung des Netzwerks und vom aktuellen Kurs. Die Gebühren werden in sats/B oder sats/vB (Satoshis pro (virtual) Byte) berechnet, also wie viele Sats man pro Byte entrichten muss. Da Sats Kursschwankungen unterliegen, sind Transaktionen im Allgemeinen teurer, wenn der Kurs hoch ist.
Wie an der Grafik deutlich zu sehen ist, sind Transaktionsgebühren in den letzten anderthalb Jahren relativ stabil und relativ niedrig gewesen, allerdings sieht man auch, dass es auch Zeiten gab, in denen die Gebühren deutlich gestiegen sind und sehr wechselhaft waren.
Ein weiterer Faktor beim Bestimmen der Gebühren ist der/die Nutzer//in selbst, denn Gebühren lassen sich individuell einstellen. Die meisten (mobilen) Wallets übernehmen diese Aufgabe für den/die Nutzer//in, indem mit Hilfe eines Algorithmus die optimale Höhe der angebotenen Gebühren berechnet wird. Wiederum andere Wallets erlauben dem/der Nutzer//in die Gebühren von Transaktion zu Transaktion frei zu bestimmen.
Welchen Nutzen haben hohe gegenüber niedrigen Gebühren? Bitcoin-Miner handeln nicht ganz uneigennützig, denn sie werden für ihre Arbeit entlohnt. Für jeden produzierten Block erhalten sie neben dem Blockanteil (Reward) auch sämtliche Transaktionsgebühren, der im neuen Block enthaltenen Transaktionen. Ohne zu sehr ins Detail zu gehen, bedeutet dies, dass Miner einen Anreiz haben, Transaktionen mit möglichst hohen Gebühren zuerst in den neuen Block zu schreiben, um so ihren Profit zu maximieren. Je höher eine Gebühr relativ zu denen der anderen Transaktionen im Mempool ist, desto wahrscheinlicher ist, dass diese Transaktion im nächsten Block landet. Das bietet dem/der Nutzer//in die Möglichkeit, die eigene Transaktion zu priorisieren.
Weitere Faktoren, die Einfluss auf die Höhe der Gebühren nehmen können (z.B. Adressformate), unterschlagen wir an dieser Stelle und widmen uns wieder dem eigentlichen Thema.
Wir haben also gesehen, dass das Bitcoin Netzwerk im Endeffekt eine riesige Sammlung von UTXOs ist. Man könnte auch sagen, dass UTXOs bitcoins sind und das Netzwerk nur den wechselnden Besitzanspruch jedes/jeder Besitzer//in verwaltet. In der Regel helfen uns Wallets dabei, dieses komplexe Netzwerk möglichst benutzerfreundlich darzustellen, denn alles was der/die Durchschnittsnutzer//in braucht, ist eine Übersicht über die Menge Bitcoin, die er/sie besitzt und eine Möglichkeit Bitcoin zu senden und zu empfangen. Wenn man aber etwas tiefer in die Materie steigt und/oder sogar anfängt, größere Mengen (und ich meine nicht große Summen) an Bitcoin zu empfangen, dann ist es sinnvoll, sich mit UTXO Management zu beschäftigen. Dies ist besonders häufig der Fall bei Firmen oder Personen, die Zahlungen in Bitcoin akzeptieren, Value-4-Value Content produzieren, oder in sonstiger Form viele Transaktionseingänge mit Bitcoin haben.
UTXO Management
Das Verwalten der eigenen UTXOs besteht im Prinzip darin, diese zu labeln / markieren und zu konsolidieren. Einige Wallets bieten diese Funktionen an und erlauben z.B. jeden einzelnen UTXO anzuzeigen und ein Label zu vergeben.
Dieses Taggen oder Labeln von einzelnen UTXOs wird auch Coin Control genannt, und ist dann besonders hilfreich, wenn man einzelne Eingänge in bestimmte UTXOs für Zahlungen und andere UTXOs für das Sparen aufteilen möchte. Dies könnte Gründe der Privatsphäre, aber auch einfach buchhalterische Hintergründe haben.
Mit unserem Vorwissen wissen wir jetzt, dass man problemlos alle UTXOs einer Wallet konsolidieren kann, indem man diese einfach in einer Transaktion in Höhe des gesamten Guthabens an eine eigene Adresse sendet. Dies hat zur Folge, dass alle UTXOs zu einem einzelnen UTXO (zzgl. eines UTXOs für Gebühren) gruppiert werden.
Dies sieht dann auf der Blockchain folgendermaßen aus:
Der Vorteil vom UTXO Management ist zum einen, dass man durch das Konsolidieren kleinerer Beträge zukünftig Transaktionsgebühren sparen kann - dies ist natürlich nur richtig, wenn man nicht genauso viele Konsolidierungen vornimmt, wie man Zahlungen ausführen würde. Auch ermöglicht aktives Management Konsolidierungen in Zeiten vorzunehmen, wenn Netzwerkgebühren niedrig sind, um zu vermeiden, dass man während einer Zeit, in der das Netzwerk überlastet ist, mehr bezahlt. Außerdem kann UTXO Management (und dazu gehören auch CoinJoins ⬇️) die Privatsphäre erhöhen, da die in einer Transaktion benutzten UTXOs Informationen über das Gesamtguthaben oder den Transaktionsverlauf preisgeben könnten.
Mit dem anhaltenden Wachstum des Netzwerks steigt natürlich auch die Anzahl der existierenden UTXOs, denn auch wenn Inputs zerstört werden, kommt es natürlich häufiger vor, dass größere UTXOs in kleinere aufgebrochen werden, als dass kleine UTXOs zu größeren Transaktionen zusammengefasst werden. Es gibt natürlich auch Zyklen, in denen die Gesamtmenge leicht zurück geht. Dies geht meist mit einem Rückgang des Kurses einher und ist auf UTXO Management zurückzuführen, bei dem große Operationen, wie Miner und Exchanges, ihre UTXOs bündeln und vom niedrigen Preis profitieren wollen.
Sidenote: Jede//r, der/ die schonmal eine "kleinere" Transaktion gesendet hat, "um zu testen, ob das auch alles funktioniert mit diesem Netzwerk", um dann anschließend einen größeren Betrag zu versenden, wird jetzt festgestellt haben, dass in beiden Fällen, sehr wahrscheinlich ein UTXO mit dem Gesamtbetrag ins Netzwerk gesendet wurde 😄
Sven Steiger
Sven is author of Genexy.org an independent #Bitcoin publication launched in 2022 // Block 736100 Nostr: npub102mehs854zw704xr6s3krzwesmy7r8fa5vxar6yeu3zpmyu94kvs2nasul
follow me :
Related Posts
Athletes and Bitcoin: Securing Wealth Beyond Their Careers
Oct 27, 2024
Rabbit fragt#18 Rätsel
Aug 30, 2024
Rabbit fragt #17
Aug 28, 2024