Masse an Bitcoin-Signaturen: Warum manche UTXOs schwieriger zu signieren sind als andere

EinsteigerDec 27, 2023
In diesem Artikel werden die Verwendung von UTXO (Unspent Transaction Output) und die Auswirkungen der Signaturgröße auf die Transaktionsgebühren untersucht.
Masse an Bitcoin-Signaturen: Warum manche UTXOs schwieriger zu signieren sind als andere

Was ist UTXO-Signaturmasse?

Obwohl wir wissen , dass das Signieren von Transaktionen mit zu vielen UTXOs zu Geräteausfällen führen kann, wirft diese allgemeine Aussage dennoch einige Fragen auf: Gibt es eine bestimmte Anzahl von UTXOs, die dazu führen würden, dass ein Hardware-Wallet beim Signieren fehlschlägt? Können bestimmte UTXOs mehr Schwierigkeiten verursachen als andere?

Als ich die Antworten auf solche Fragen recherchierte, stellte ich fest, dass der Zeit- und Arbeitsaufwand, den eine Hardware-Wallet zum Signieren einer Transaktion erfordert, nicht nur von der Anzahl der gesendeten UTXOs und der Anzahl der Empfangsadressen abhängt. Es hängt auch von ähnlichen Details zu den vorherigen Transaktionen ab, aus denen jedes UTXO stammt, ein Phänomen, das ich „Signaturmasse“ nenne. Mir sind keine anderen Veröffentlichungen bekannt, die sich auf dieses Konzept beziehen.

Mit anderen Worten: UTXOs mit größerer Signaturmasse – was weiter unten ausführlicher erläutert wird – können schwieriger zu signieren sein als andere. Auch wenn zwei UTXOs möglicherweise die gleiche Datenmenge auf der Blockchain verbrauchen, kann das Signieren mit einer Hardware-Wallet erheblich mehr Verarbeitung erfordern.

Diese Tatsache geht über Adresstypen und Multisig-Quoren hinaus; Das Signieren eines UTXO an einer 2-von-3-Multisig-Adresse kann wesentlich mehr Aufwand erfordern als das Signieren eines anderen UTXO an derselben Adresse (oder einer gleichwertigen Adresse, selbst wenn die Bitcoin-Beträge und Zieladressen genau gleich sind).

Warum sind einige UTXOs schwieriger zu signieren?

Um zu verstehen, warum zwei ähnlich aussehende UTXOs dramatisch unterschiedliche Signaturmassen haben können, müssen Sie die Umwegmethode verstehen, die Hardware-Wallets verwenden, um Eingabebeträge ohne Internetverbindung zu überprüfen, und wie sich die Transaktionskomplexität zwischen den verschiedenen Methoden zum Empfangen von Bitcoin auf Ihre Wallet unterscheiden kann.

Sicherheitsüberprüfungen der Eingabemenge

Bei jeder Bitcoin-Transaktion ist es wichtig, die Beträge der Eingaben zu überprüfen. Andernfalls könnten große Mengen Ihrer Bitcoins versehentlich an Miner ausgezahlt werden. Warum? Denn die von den Minern erhobenen Gebühren werden nicht explizit in der Transaktion angegeben, sondern implizit berechnet, indem der Wert der Outputs vom Wert der Inputs abgezogen wird. Wenn also ein großer Unterschied zwischen den beiden Zahlen besteht, ist auch die Gebühr hoch.

Wenn Sie beispielsweise UTXOs im Gesamtwert von 0,8 BTC hatten und diese verwendet haben, um 0,3 BTC irgendwohin zu senden, und wenn Sie die restlichen ~0,5 BTC nicht als Wechselgeld an sich selbst zurückgeschickt haben, kann der Miner des Blocks nun die 0,5 BTC als Ersatz beanspruchen einen Teil ihres verdienten Honorars.

Mach dir keine Sorge! Alle modernen und angesehenen Bitcoin-Tools verfügen über automatische Sicherheitsmechanismen, daher wäre es ziemlich schwierig (wenn nicht unmöglich), diesen Fehler zu begehen. Der Prozess kann so einfach sein wie das Durchsuchen der Blockchain, um die Menge der Eingaben zu überprüfen und dann deren Gesamtsumme mit der Summe der ausgewählten Ausgaben zu vergleichen, um festzustellen, ob die Gebühr angemessen ist.

Aber natürlich sind Hardware-Wallets so konzipiert, dass sie unabhängig vom Internet funktionieren, was besonders bei Air-Gap-Geräten deutlich wird. Ohne das Internet oder eine Knotenverbindung kann die Blockchain nicht beobachtet werden. Daher müssen die meisten Hardware-Wallets eine alternative, umständliche Methode verwenden, um Eingabebeträge zu überprüfen. Im Wesentlichen muss das Gerät nicht nur die Informationen importieren, die die Transaktion beschreiben, die es signieren wird, sondern auch den Verlauf, woher jede Eingabe kam.

Anders ausgedrückt: Für jedes verschobene UTXO möchte das Gerät unmittelbar vorher die Transaktionsdetails überprüfen, die zur Erstellung dieses UTXO geführt haben. Wenn diese Transaktion komplex wäre, müssten mehr Daten importiert werden, was sich etwa in der Größe einer PSBT-Datei widerspiegeln würde. Werfen wir einen Blick auf die Transaktionskomplexität.

Transaktionskomplexität aus gemeinsamen Quellen

Die meisten Menschen erhalten Bitcoin auf drei Arten in ihr Wallet: von einer Börse, von einem Mining-Pool oder direkt von einer anderen Person in einer Peer-to-Peer-Transaktion (P2P). Peer-to-Peer-Transaktionen weisen in der Regel eine sehr geringe Komplexität auf und die daraus resultierenden UTXOs weisen eine relativ geringe Signaturmasse auf.

Allerdings neigen Börsen und Mining-Pools dazu, Gelder schubweise zu verteilen und Bitcoins innerhalb derselben Transaktion an viele Personen gleichzeitig zu senden. Diese Transaktionen sind komplexer und die resultierenden UTXOs werden eine größere Signaturmasse aufweisen.

Ich habe die Verteilungstendenzen für mehrere in Amerika beliebte Mining-Pools und Börsen untersucht und meine Ergebnisse sind in der folgenden Tabelle dargestellt. Die Anzahl der Ausgaben gibt die Anzahl der Personen an, die typischerweise Bitcoin innerhalb jeder Verteilung gesendet haben. Eine höhere Anzahl bedeutet eine höhere Transaktionskomplexität und einen größeren Signiermassenaufwand für die Empfänger.

Bei diesen Zahlen handelt es sich zum Zeitpunkt des Schreibens um Näherungswerte, die sich je nach Art und Weise, wie die einzelnen Pools oder Börsen in der Zukunft Ausschüttungen vornehmen, ändern können.

Beachten Sie, dass die Verteilungen von Mining-Pools im Allgemeinen größer sind als die von Börsen und dass bestimmte Mining-Pools wie F2Pool außergewöhnlich große Verteilungen verwenden. Wenn Sie ein UTXO direkt von einer F2Pool-Auszahlung erhalten, ist es daher wahrscheinlicher, dass dieses UTXO bei bestimmten Hardware-Wallets zu Signaturschwierigkeiten führt.

Ein Hinweis zu SegWit und der Sicherheitslücke BIP 143

Im Jahr 2017 kam es zum Segregated Witness Soft Fork und der Signaturprozess wurde für SegWit-Transaktionen geändert. Es wurde die Anforderung eingeführt, Eingabebeträge in die Daten aufzunehmen, zu denen sich Nutzer mit einer Unterschrift verpflichten. Infolgedessen glaubte man, dass jeder Versuch, einen Benutzer oder ein Gerät dazu zu verleiten, versehentlich eine Transaktion mit absurd hohen Gebühren zu signieren, verhindert würde. Die meisten Hardware-Wallet-Hersteller haben entsprechend gehandelt, indem sie die Sicherheitsprüfungen für den Eingabebetrag entfernt und den Signaturprozess für SegWit-Transaktionen vereinfacht haben.

Mitte 2020 wurde jedoch eine Schwachstelle in BIP 143 entdeckt, die viele Hardware-Wallet-Hersteller dazu veranlasste, Sicherheitsprüfungen für Eingabebeträge für SegWit-Transaktionen wieder einzuführen. Zum Zeitpunkt des Verfassens dieses Artikels sind Sicherheitsüberprüfungen des Eingabebetrags noch ein normaler Prozess während einer Hardware-Wallet-Signatur. In der Community gibt es einige Diskussionen über zukünftige Änderungen, die die Notwendigkeit von Sicherheitsüberprüfungen der Eingabebeträge effektiver beseitigen könnten, wie etwa die explizite Festlegung von Gebühren in jeder Transaktion statt implizit.

Wie wirkt sich Signing Mass auf mich aus?

Aufgrund der unterschiedlichen Signierungsmasse ist es beim Versuch, Bitcoins aus Ihrer selbstverwahrten Cold-Storage-Wallet abzuheben, von Bedeutung, wie Sie die Bitcoins überhaupt erhalten haben. Die Methoden, mit denen Sie Bitcoin erwerben, können bei der Genehmigung von Überweisungen zu Unterschieden führen.

Signierfehler antizipieren und bewältigen

Wenn Sie ein UTXO besitzen, das von einer anderen von Ihnen kontrollierten Wallet übertragen wurde oder im Rahmen einer Peer-to-Peer-Transaktion empfangen wurde, ist die Transaktion wahrscheinlich relativ einfach. Der UTXO wird eine geringere Signierungsmasse haben und bei zukünftigen Ausgaben einfacher zu signieren sein. Wenn Sie hingegen ein UTXO direkt von einem Mining-Pool erhalten haben, oder insbesondere von einem Mining-Pool, der sehr große Ausschüttungen vornimmt (wie in der vorherigen Grafik gezeigt), können Sie davon ausgehen, dass das Signieren dieses UTXO schwieriger ist.

Glücklicherweise bedeutet das nicht, dass Ihr Bitcoin dauerhaft stecken bleibt, wenn Ihre Hardware-Wallet nicht signieren kann, weil Sie versuchen, zu viele UTXOs mit hoher Masse gleichzeitig zu übertragen. Eine schnelle und einfache Lösung besteht darin, Ihre Transaktion in mehrere Transaktionen aufzuteilen und Ihre Bitcoins in Blöcken zu übertragen. Jeder Block enthält nur einen Bruchteil der Daten und Ihr Gerät wird mit größerer Wahrscheinlichkeit erfolgreich eine Signatur bereitstellen.

Eine andere Strategie besteht darin, Signaturfehler von vornherein zu verhindern, indem die Anzahl der von Ihnen gehaltenen UTXOs und die Signiermasse dieser UTXOs kontrolliert werden. Sie können zwar nicht ändern, wie Mining-Pools und Börsen Gelder verteilen, es ist jedoch wichtig zu bedenken, dass die Signaturmasse eines UTXO durch die unmittelbar vorherige Transaktion bestimmt wird und nicht durch den Transaktionsverlauf davor. Das bedeutet, dass Sie ein UTXO von einem Mining-Pool erhalten und es sofort an eine andere Wallet oder Adresse, die Sie kontrollieren, übertragen können, was eine Peer-to-Peer-Transaktion nachahmt. Das resultierende UTXO an der neuen Adresse wird eher eine kleine als eine große Signaturmasse haben.

Die Unterzeichnungsmasse hat keinen Einfluss auf die Transaktionsgebühren

Es ist wichtig zu betonen, dass sich die Massensignierung nur auf die Zeit und den Aufwand auswirkt, die eine Hardware-Wallet zum Signieren einer Transaktion benötigt, nicht auf die Netzwerkgebühren, die Sie zahlen müssen. Dies liegt daran, dass die Signiermasse nur während des Signiervorgangs relevant ist und nicht dazu führt, dass Ihre Transaktion mehr Daten in der Blockchain beansprucht.

Das bedeutet, dass Sie nicht unbedingt mehr Transaktionsgebühren zahlen, wenn Sie Bitcoins von einem Mining-Pool wie F2Pool erhalten, und dass Ihre Transaktionsgebühren auch nicht sinken, wenn Sie einen Dienst wählen, der weniger Ausgaben für seine Verteilungen verwendet.

Haftungsausschluss:

  1. Dieser Artikel wurde von [unchained] nachgedruckt. Alle Urheberrechte liegen beim ursprünglichen Autor [Tom Honzik]. Wenn Sie Einwände gegen diesen Nachdruck haben, wenden Sie sich bitte an das Gate Learn- Team, das sich umgehend darum kümmern wird.
  2. Haftungsausschluss: Die in diesem Artikel geäußerten Ansichten und Meinungen sind ausschließlich die des Autors und stellen keine Anlageberatung dar.
  3. Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verbreiten oder Plagiieren der übersetzten Artikel verboten.
learn.articles.start.now
learn.articles.start.now.voucher
learn.articles.create.account