Start
Start

Bitcoin basiert teilweise auf einer Datenbank, die alle Transaktionen aufzeichnet, die als „Blockchain“ bekannt ist. Dieser Begriff ist inzwischen berühmt, aber wussten Sie, dass es eine andere Datenbank gibt, die für den Betrieb von Bitcoin-Knoten genauso wichtig ist? Dieses viel weniger bekannte Element ist das UTXO-Set.
In diesem Artikel lade ich Sie ein, herauszufinden, was das UTXO-Set ist und welche Rolle es für das Funktionieren von Bitcoin spielt. Wir werden auch untersuchen, warum seine Entwicklung mittelfristig die Stabilität von Bitcoin gefährden könnte und welche Lösungen zur Lösung dieses Problems in Betracht gezogen werden.
EIN TUXO (Nicht verbrauchte Transaktionsausgabe) ist eine Bitcoin-Transaktionsausgabe, die noch nicht ausgegeben wurde. Konkret handelt es sich dabei um mehr oder weniger große Bitcoin-Stücke, die ein Benutzer besitzt und die für eine zukünftige Transaktion zur Verfügung stehen.
Jedes UTXO steht für eine bestimmte Menge an Bitcoin und ist durch ein Skript gesichert, das die Bedingungen definiert, unter denen es ausgegeben werden kann. Diese Bedingungen erfordern in der Regel eine Signatur, die mit einem privaten Schlüssel des legitimen Eigentümers abgerufen wird.
Einfach ausgedrückt ist das UTXO für Bitcoin das, was das Ticket in Euro ist. Bitcoin ist die für Bitcoin verwendete Rechnungseinheit, und UTXO ist das Medium, mit dem diese Rechnungseinheiten dargestellt werden können.

Eine Transaktion besteht aus der Übertragung von Bitcoins aus einer Reihe von Einträgen (Eingaben) zu einer Reihe von Ausgängen (Ausgänge).
Die Einträge einer Transaktion entsprechen UTXOs aus früheren Transaktionen, die während dieser neuen Transaktion verbraucht werden. Ein Signaturskript (ScriptSIG) wird verwendet, um jedes UTXO in Einträgen freizuschalten, indem die bei der Erstellung des UTXO definierten Ausgabenbedingungen erfüllt werden.
Im Gegenzug erstellt die Transaktion neue UTXOs in den Ausgaben. Jeder Output verknüpft eine bestimmte Anzahl von Bitcoins mit einer neuen Ausgabenbedingung (Drehbuch Pubkey), häufig unter Verwendung einer Empfangsadresse. Diese neu erstellten UTXOs können dann als Eingabe für zukünftige Transaktionen verwendet werden.

Das UTXO-Set repräsentiert alle UTXOs, die zu einem bestimmten Zeitpunkt auf Bitcoin existieren. Mit anderen Worten, es handelt sich um eine vollständige Liste aller Bitcoin-Stücke, die zum Ausgeben zur Verfügung stehen. Wenn wir also die Beträge aller im UTXO-Set enthaltenen UTXOs zusammenzählen, erhalten wir die gesamte Geldmenge, die auf Bitcoin im Umlauf ist.
.png)
Jeder Knoten im Netzwerk unterhält seinen eigenen vollständigen UTXO-Satz lokal, parallel zur Blockchain. Dieses UTXO-Set wird ständig aktualisiert, da neue Transaktionen in Blöcke integriert werden.
Wenn eine neue Transaktion von einem Benutzer im Netzwerk gesendet wird, überprüft jeder Knoten, ob die als Eingaben verwendeten UTXOs in seinem UTXO-Set vorhanden sind. Dadurch wird sichergestellt, dass die ausgegebenen Bitcoins tatsächlich existieren und nicht bereits in einer anderen Transaktion verbraucht wurden. Wenn das UTXO legitim ist, wird die Transaktion akzeptiert, andernfalls wird sie abgelehnt, um doppelte Ausgaben zu vermeiden.

Sobald die Transaktion validiert ist, aktualisiert der Knoten seinen UTXO-Satz: Er entfernt die als Eingaben verwendeten UTXOs und fügt die neuen UTXOs hinzu, die als Ausgaben erstellt wurden. Infolgedessen wird das UTXO-Set ständig aktualisiert, um die verfügbaren Bitcoin-Münzen widerzuspiegeln.

Auf dem Mehrheitsclient Bitcoin Core wird das UTXO-Set in der Datei gespeichert.“Kettenstaat“.
➤ Erfahre mehr darüber, wie ein Bitcoin-Knoten funktioniert.
UTXO wächst kontinuierlich und schnell auf Bitcoin. Aufgrund zahlreicher systemexterner und systeminterner Faktoren ist das durchschnittliche Verhältnis der durch UTXO verbrauchten UTXOs sehr unausgewogen. Diese Expansion ist teilweise auf den Anstieg des Bitcoin-Preises zurückzuführen, der die Verwendung kleinerer UTXOs fördert und somit deren Gesamtzahl erhöht. Die zunehmende Akzeptanz führt auch zu einem erhöhten Bedarf an UTXOs.
Es gibt auch die klassische Struktur von Bitcoin-Zahlungstransaktionen, typischerweise eine Eingabe für zwei Ausgänge, wodurch zwei UTXOs für ein einziges verbrauchtes UTXO erzeugt werden. Schließlich ist der CIOH (Heuristik zur gemeinsamen Input-Ownership), stellt bei der Konsolidierung mehrerer UTXOs ein Vertraulichkeitsproblem dar und stellt ein zusätzliches Hindernis für die Reduzierung ihrer Anzahl dar. Daher sind UTXO und Knoten für natürliches und unvermeidliches Wachstum bestimmt.
Dieses Problem ist den Entwicklern von Bitcoin Core seit mehreren Jahren bekannt. Mit dem SegWit-Update von 2017 wurde auch ein wirtschaftlicher Anreiz zur Konsolidierung eingeführt, indem die Gebühren für Transaktionen gesenkt wurden, die mehr Inputs verbrauchen und weniger Outputs erzeugen. Diese Maßnahme reichte jedoch nicht aus, um das Phänomen einzudämmen.
Das Problem bei diesem Wachstum ist, dass für die Wartung des UTXO-Sets immer mehr RAM benötigt wird. Damit Knoten Transaktionen effektiv validieren können, muss ein Teil des UTXO-Sets im RAM gespeichert werden, da dies eine schnelle Überprüfung ermöglicht. Dieses Problem wirkt sich auch auf die anfängliche Synchronisierungszeit aus (IBD), d. h. die Zeit, die benötigt wird, um die gesamte Blockchain herunterzuladen und zu validieren, wenn ein neuer Knoten gestartet wird.
Mit zunehmender Größe des UTXO steigt auch der RAM-Bedarf. Der Anstieg der RAM-Kapazität des Computers (Mooresches Gesetz) folgt jedoch nicht derselben Kurve wie das Wachstum des UTXO-Sets. Wenn sich dieser Trend fortsetzt, wird der Betrieb eines Bitcoin-Knotens in Bezug auf die Hardware immer teurer.
Dieser Anstieg der Hardwareanforderungen für den Betrieb eines Knotens könnte sich auf die Dezentralisierung und Sicherheit des Bitcoin-Netzwerks auswirken. Wenn die Kosten für die Wartung eines Knotens steigen, werden weniger Personen dazu in der Lage sein, dies zu tun, was die Anzahl der Knoten reduziert und die Verteilung und Robustheit des Netzwerks verringert. Die Größe des UTXO ist daher eine große Herausforderung für die mittelfristige Rentabilität von Bitcoin.
Die Lösung, die sich abzuzeichnen scheint, um dieses Problem der zunehmenden Größe des UTXO-Sets auf Bitcoin zu lösen, ist Utreexo.
Utreexo ist eine Lösung, die von Tadge Dryja (der auch der Mitbegründer des Lightning Network ist) erfunden wurde, um UTXO-Sets mithilfe eines auf Merkle-Bäumen basierenden Akkumulators zu komprimieren. Das klassische UTXO, das alle UTXOs enthält, benötigt viel Speicherplatz. Mit Utreexo wird diese Einschränkung aufgehoben, da Bitcoin-Knoten nicht mehr alle UTXOs speichern, sondern nur noch wenige kryptografische Fingerabdrücke. Dadurch werden die RAM- und Speicheranforderungen drastisch reduziert.
Wenn ein Benutzer eine Transaktion mit Utreexo kompatibel macht, liefert er sowohl den Nachweis des Besitzes der verwendeten UTXOs als auch der zugehörigen Merkle-Pfade. Der Knoten überprüft dann diese Beweise, um sicherzustellen, dass UTXOs aufgrund ihres kryptografischen Fußabdrucks insgesamt existieren, ohne dass alle Daten gespeichert werden müssen.

Utreexo kann auf zwei Arten implementiert werden. Die erste besteht darin, ihre Verwendung so zu verallgemeinern, dass alle Transaktionen diese Beweise enthalten. Dies würde jedoch die Blockgrößen erhöhen, was sich auf den Bandbreiten- und Speicherbedarf auswirken würde. Die zweite Methode basiert auf“Brückenknoten“: vollständige Knoten, die auch das komplette UTXO-Set speichern und die notwendigen Nachweise für die Utreexo-Knoten liefern. Utreexo wäre dann eine Option für Nutzer, die sich keinen kompletten Node leisten können. In beiden Fällen gibt es einen Kompromiss, sei es in Bezug auf die benötigten Ressourcen oder die Abhängigkeit von Bridge-Knoten.
➤ Entdecken Sie, was Mempool auf einem Bitcoin-Knoten ist.
Das UTXO-Set ist eine große Liste aller Bitcoin-Teile, die zu einem bestimmten Zeitpunkt existieren und die von jedem Knoten verwaltet wird. Es spielt eine wichtige Rolle bei der Funktionsweise von Bitcoin, aber sein schnelles und fast natürliches Wachstum wird die Zukunft vor Herausforderungen stellen. Wenn die Größe des UTXO weiter zunimmt, könnten die Kosten für den Betrieb eines Nodes für einige Benutzer unerschwinglich werden.
Utreexo bietet eine Lösung, indem es die RAM-Anforderungen durch den Einsatz kryptografischer Akkumulatoren reduziert. Dieses Protokoll beinhaltet jedoch zwangsläufig Kompromisse, entweder in Bezug auf die Größe der Blöcke oder in Bezug auf die Abhängigkeit von Bridge-Knoten. In Zukunft könnten sich andere Lösungen ergeben, aber es ist sicher, dass es sich um eine technische Debatte handeln wird, die in den kommenden Jahren behandelt werden muss.

