Zum Inhalt springen
buybitcoinsmart

Glossar / Privatsphäre und Sicherheit

Staubgrenze

Auch bekannt als Dust limit, Dust threshold.

Was ist die Staubgrenze?
Die Staubgrenze ist der kleinste Betrag, den ein Bitcoin-Output enthalten kann, bevor Nodes es ablehnen, die Transaktion weiterzuleiten, die ihn erzeugt, derzeit 546 Satoshis für eine Legacy-Adresse.

Nodes verwerfen Transaktionen, die Outputs erzeugen, die zu klein sind, um es wert zu sein, ausgegeben zu werden, wodurch verhindert wird, dass sich das Netzwerk mit unausgebbaren Resten füllt. Bitcoin Core beziffert die Grenze auf drei Satoshis pro virtuellem Byte der künftigen Ausgabe: 546 Satoshis für einen Pay-to-Public-Key-Hash-Output, 294 für natives SegWit, 330 für Taproot. Wenn eine Wallet sich weigert, einen Betrag zu senden, ist dies meist der Grund.

Wie es funktioniert

Bitcoin Core wendet die Staubgrenze auf jeden Output separat an und stellt eine einzige Frage: Würde die spätere Ausgabe dieses Outputs mehr kosten, als der Output wert ist?

Die Berechnung befindet sich in GetDustThreshold in src/policy/policy.cpp. Der Node addiert die Größe des Outputs, wie er im Ledger steht, zur Größe des Inputs, der ihn schließlich ausgeben würde, und multipliziert dann mit DUST_RELAY_TX_FEE, einer Policy-Konstante von 3.000 Satoshis pro Kilo-Virtual-Byte oder 3 Sat/vB. Rechnen Sie es für die drei gängigen Skripttypen durch:

  • Ein Pay-to-Public-Key-Hash-Output ist 34 Bytes groß und benötigt 148 virtuelle Bytes zum Ausgeben, also ergeben 182 vBytes bei 3 Sat/vB 546 Satoshis.
  • Ein nativer SegWit-Output (bech32, beginnend mit bc1q) ist 31 Bytes groß und sein Input wird auf etwa 67 vBytes reduziert, was 98 vBytes und 294 Satoshis ergibt.
  • Ein Taproot-Output (bc1p) ist 43 Bytes groß mit demselben reduzierten Input, was 110 vBytes und 330 Satoshis ergibt.

Zwei Details sind wichtig. Erstens ist dies Relay-Policy, keine Konsensregel: Ein Miner, der eine staubige Transaktion außerhalb des regulären Weges erhält, kann sie in einen Block aufnehmen, und jeder Node wird diesen Block akzeptieren. Zweitens sind OP_RETURN-Outputs ausgenommen, weil sie nachweislich nicht ausgebbar sind, sodass es keinen künftigen Input gibt, der bezahlt werden müsste.

Der Schwellenwert ist zudem unverändert geblieben, während sich der Gebührenmarkt verändert hat. Während einer Spitze bei 200 Sat/vB kostet die Ausgabe desselben Legacy-Outputs etwa 29.600 Satoshis, sodass er wirtschaftlich längst tot ist, bevor das Netzwerk ihn als Staub bezeichnen würde.

Wo Sie sie sehen

Die Staubgrenze zeigt sich als Fehlermeldung, fast nie als Konzept.

Wallets formulieren sie als "amount below dust threshold", "output too small" oder grauen einfach die Senden-Schaltfläche aus. Bitcoin Core und die meiste Wallet-Software wenden sie auch stillschweigend auf das Wechselgeld an: Wenn der Rest einer Zahlung unter den Schwellenwert fallen würde, lässt die Wallet den Wechselgeld-Output weg und gibt diesen Wert dem Miner als zusätzliche Gebühr, statt etwas zu erzeugen, das niemand ausgeben kann.

Börsen liegen ohnehin weit über der Grenze. Ihre Auszahlungsmindestbeträge richten sich nach ihren eigenen Kosten für die Bearbeitung einer Anfrage, nicht nach der Policy, sodass Sie auf eine Untergrenze von 0,0001 BTC oder 10 Dollar stoßen, lange bevor Sie 546 Satoshis erreichen.

Lightning hat seine eigene Version der Regel. Jeder Kanal handelt einen dust_limit_satoshis-Wert aus, und BOLT 2 verlangt mindestens 354 Satoshis bei Kanälen, die Anchor-Outputs verwenden. Jede Zahlung unterhalb dieser Grenze erhält überhaupt keinen Output in der Commitment-Transaktion: Wenn der Kanal zwangsgeschlossen wird, während eine solche Zahlung unterwegs ist, geht der Betrag als Gebühr an die Miner.

Staubgrenze vs. Staub

Staub ist ein Output; die Staubgrenze ist eine Regel über Outputs. Im alltäglichen Gebrauch bezeichnet Staub jeden Output, der zu klein ist, um es wert zu sein, bei den heutigen Gebühren ausgegeben zu werden, eine Grenze, die sich jedes Mal verschiebt, wenn sich der Mempool füllt. Die Staubgrenze ist eine feste Policy-Konstante, die sich überhaupt nicht verschiebt. Diese Lücke ist der Grund, warum Sie einen Output halten können, den das Netzwerk problemlos weitergeleitet hat, und es dennoch als unwirtschaftlich empfinden, ihn auszugeben.

Staubgrenze vs. minimale Relay-Gebühr

Die minimale Relay-Gebühr ist eine Untergrenze für die gesamte Transaktion, standardmäßig 1.000 Satoshis pro Kilo-Virtual-Byte oder 1 Sat/vB. Die Staubgrenze ist eine Untergrenze für einen einzelnen Output und verwendet bewusst einen höheren Satz von 3 Sat/vB, damit ein Output nur erstellt wird, wenn er auch unter etwas schlechteren Bedingungen als denen, unter denen er erstellt wurde, noch ausgebbar sein wird. Eine Transaktion kann die Relay-Gebühr problemlos überschreiten und dennoch abgelehnt werden, weil ein Output von 200 Satoshi die Staubprüfung nicht bestanden hat.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Warum beträgt die Staubgrenze 546 Satoshis?

Weil 546 das ist, was das Ausgeben eines Legacy-Pay-to-Public-Key-Hash-Outputs bei 3 Satoshis pro virtuellem Byte kostet. Der Output plus der Input, der ihn ausgeben wird, ergeben 182 virtuelle Bytes, und Bitcoin Core multipliziert dies mit seiner Staub-Relay-Gebühr von 3.000 Satoshis pro Kilo-Virtual-Byte.

Kann ich einen Output unterhalb der Staubgrenze noch ausgeben?

Ja, wenn Sie bereits einen halten. Die Grenze blockiert die Erzeugung solcher Outputs zum Zeitpunkt der Weiterleitung; sie friert bereits existierende Outputs nicht ein. Einen auszugeben kostet in der Regel mehr an Gebühren, als er wert ist, was genau der Sinn der Regel ist.

Ändert sich die Staubgrenze mit den Netzwerkgebühren?

Nein. Sie ist eine feste Policy-Konstante, sodass sie je nach Adresstyp bei 546, 294 oder 330 Satoshis bleibt, während sich die tatsächlichen Gebühren zwischen 1 und mehreren hundert Satoshis pro virtuellem Byte bewegen.

Verwandte Begriffe

Mehr zum Thema Privatsphäre und Sicherheit

Diese Seite auf Englisch lesen