Bergbau

Angleichung wirtschaftlicher Anreize mit Ressourcenkosten und getrenntem Zeugnis - Andreas Antonopoulos

Bitcoin-Mining-Knoten und vollständige Knoten verursachen Kosten für die Ressourcen, die zur Unterstützung des Bitcoin-Netzwerks und der Blockchain verwendet werden. Mit steigendem Bitcoin-Umfang steigen auch die Kosten für Ressourcen (CPU, Netzwerkbandbreite, Speicherplatz, Arbeitsspeicher).

Bergleute werden für diese Kosten durch Gebühren entschädigt, die proportional zur Größe (in Byte) jeder Transaktion sind. Nicht-Mining-Vollknoten werden nicht kompensiert, sodass diese Kosten entstehen, da sie einen autorisierenden vollvalidierenden Vollindexknoten ausführen müssen, möglicherweise weil sie den Knoten zum Betreiben eines Bitcoin-Geschäfts verwenden.

Ohne Transaktionsgebühren würde das Wachstum der Bitcoin-Daten wohl dramatisch zunehmen. Gebühren sollen die Bedürfnisse von Bitcoin-Nutzern mit der Belastung, die ihre Transaktionen dem Netzwerk auferlegen, über einen marktbasierten Preisfindungsmechanismus in Einklang bringen.

Bei der Gebührenberechnung nach Transaktionsgröße werden alle Daten in der Transaktion als gleich behandelt. Aber aus der Perspektive der Vollknoten und Bergleute tragen einige Teile einer Transaktion viel höhere Kosten. Jede Transaktion, die dem Bitcoin-Netzwerk hinzugefügt wird, beeinflusst den Verbrauch von vier Ressourcen auf Knoten:

Speicherplatz: Jede Transaktion wird in der Blockchain gespeichert und addiert sich zur Gesamtgröße der Blockchain. Die Blockchain ist auf der Festplatte gespeichert, aber der Speicher kann durch "Zurückschneiden" älterer Transaktionen optimiert werden.

CPU: Jede Transaktion muss validiert werden, was CPU-Zeit erfordert.

Bandbreite: Jede Transaktion wird mindestens einmal über das Netzwerk übertragen (durch Flood-Propagation). Ohne Optimierung werden Transaktionen als Teil eines Blocks erneut übertragen, was die Netzwerkkapazität verdoppelt

Speicher: Knoten, die Transaktionen validieren, behalten den "UTXO-Satz", die Liste aller nicht ausgegebenen Transaktionsausgaben, im Speicher. Da der Speicher mindestens eine Größenordnung teurer ist als die Festplatte, trägt das Wachstum des UTXO-Sets überproportional zu den Kosten für den Betrieb eines Knotens bei.

Wie Sie der obigen Liste entnehmen können, hat nicht jeder Teil einer Transaktion die gleichen Auswirkungen auf die Kosten für die Ausführung eines Knotens oder auf die Skalierbarkeit von Bitcoin, um mehr Transaktionen zu unterstützen. Der teuerste Teil einer Transaktion sind die neu erstellten Ausgaben, da sie dem In-Memory-UTXO-Set hinzugefügt werden. Im Vergleich dazu tragen Signaturen (auch Zeugendaten genannt) am wenigsten zur Belastung des Netzwerks und der Kosten für die Ausführung eines Knotens bei, da Zeugendaten nur einmal validiert und dann nie wieder verwendet werden.

Außerdem können Knoten unmittelbar nach dem Empfang einer neuen Transaktion und der Validierung von Zeugendaten diese Zeugendaten verwerfen. Wenn die Gebühren auf der Grundlage der Transaktionsgröße berechnet werden, ohne zwischen diesen beiden Arten von Daten zu unterscheiden, stimmen die Marktanreize der Gebühren nicht mit den tatsächlichen Kosten überein, die durch eine Transaktion verursacht werden. Tatsächlich fördert die derzeitige Gebührenstruktur das gegenteilige Verhalten, da Zeugendaten den größten Teil einer Transaktion ausmachen.

Die Anreize, die durch Gebühren entstehen, sind wichtig, weil sie das Verhalten von Brieftaschen beeinflussen.Alle Geldbörsen müssen eine Strategie für die Zusammenstellung von Transaktionen implementieren, die eine Reihe von Faktoren berücksichtigt, wie z. B. Datenschutz (Verringerung der Wiederverwendung von Adressen), Fragmentierung (viele lose Änderungen) und Gebühren. Wenn die Gebühren die Wallets dazu motivieren, möglichst wenige Eingaben in Transaktionen zu verwenden, kann dies zur UTXO-Auswahl führen und Adressstrategien ändern, die unbeabsichtigt den UTXO-Satz aufblähen.

Transaktionen verbrauchen UXO in ihren Eingaben und erstellen neue UTXO mit ihren Ausgaben. Eine Transaktion, die mehr Eingaben als Ausgaben hat, führt daher zu einer Verringerung des UTXO-Satzes, wohingegen eine Transaktion, die mehr Ausgaben als Eingaben aufweist, zu einer Erhöhung des UTXO-Satzes führt. Betrachten wir den Unterschied zwischen Inputs und Output und rufen Sie das "Net-new UTXO" auf.

Dies ist ein wichtiger Messwert, da er uns Auskunft darüber gibt, wie sich eine Transaktion auf die teuerste netzwerkweite Ressource, den In-Memory-UTXO-Satz, auswirken wird. Eine Transaktion mit positivem Net-new-UTXO trägt zu dieser Belastung bei. Eine Transaktion mit einem negativen Net-new-UTXO reduziert die Belastung. Wir möchten daher Transaktionen, die entweder negativ Net-new-UTXO oder neutral mit null Net-new-UTXO sind, unterstützen.

Betrachten wir ein Beispiel dafür, welche Anreize durch die Berechnung der Transaktionsgebühr mit und ohne getrennten Zeugen geschaffen werden. Wir werden zwei verschiedene Transaktionen betrachten. Transaktion A ist eine Transaktion mit drei Eingängen und zwei Ausgängen, die eine Net-new-UTXO-Metrik von -1 aufweist, was bedeutet, dass sie ein UTXO mehr verbraucht, als sie erstellt, wodurch die UTXO-Menge um eins reduziert wird.

Transaktion B ist eine Transaktion mit zwei Eingängen und drei Ausgängen, die eine Net-new-UTXO-Metrik von 1 hat, was bedeutet, dass sie dem UTXO-Satz ein UTXO hinzufügt, wodurch zusätzliche Kosten für das gesamte Bitcoin-Netzwerk entstehen. Beide Transaktionen verwenden Skripts mit Mehrfachsignaturen (2-von-3), um zu demonstrieren, wie komplexe Skripts die Auswirkung von getrennten Zeugen auf Gebühren erhöhen. Nehmen wir eine Transaktionsgebühr von 30 Satoshi pro Byte und einen 75% igen Gebührenrabatt auf die Zeugendaten an:

ohne segregierten Zeugen

Transaktion A Gebühr: 25, 710 Satoshi

Transaktion B Gebühr: 18, 990 Satoshi

Mit segregiertem Zeugen

Transaktion A Gebühr: 8, 130 Satoshi

Transaktion B Gebühr: 12, 045 Satoshi

Beide Transaktionen sind billiger, wenn ein getrennter Zeuge implementiert wird. Wenn wir jedoch die Kosten zwischen den beiden Transaktionen vergleichen, sehen wir, dass vor dem getrennten Zeugen die Gebühr für die Transaktion höher ist, die ein negatives Net-new-UTXO hat. Nach dem getrennten Zeugen stimmen die Transaktionsgebühren mit dem Anreiz überein, neue UTXO-Erstellung zu minimieren, indem Transaktionen nicht versehentlich mit vielen Eingaben bestraft werden.

Segregierter Zeuge hat daher hauptsächlich zwei Auswirkungen auf die von den Bitcoin-Nutzern gezahlten Gebühren. Erstens reduziert der segregierte Zeuge die Gesamtkosten von Transaktionen, indem er Zeugedaten diskontiert und die Kapazität der Bitcoin-Blockchain erhöht. Zweitens, der Rabatt der Segregierten Zeugen auf Zeugendaten korrigiert eine Fehlausrichtung von Anreizen, die versehentlich mehr Aufblähung im UTXO-Set verursacht haben.