Wie verlassen Transaktionen den Speicherpool?

Woher weiß mein Bitcoin-Core-Client, wann er eine Transaktion aus dem Speicherpool löschen muss?

Ist es so einfach wie ein bestimmter Zeitraum?

Antworten (3)

Ab Bitcoin Core 0.14.0 sind dies die Möglichkeiten, wie eine Transaktion den Mempool verlassen kann:

  • Die Transaktion wurde in einen Block aufgenommen.
  • Die Transaktion oder einer ihrer unbestätigten Vorfahren steht in Konflikt mit einer Transaktion, die in einem Block enthalten war.
  • Die Transaktion wurde durch eine neuere Version ersetzt (siehe BIP 125 ).
  • Die Transaktion befand sich am Ende des Mempools (bei Sortierung nach Gebühren pro Größe), der Mempool hatte sein Größenlimit erreicht (siehe -maxmempoolOption) und eine neue Transaktion mit höheren Gebühren wurde akzeptiert, wodurch das untere Ende verdrängt wurde.
  • Die Transaktion ist durch Timeout abgelaufen (standardmäßig 14 Tage nach der Eingabe).

Außerdem können Transaktionen, die den Mempool verlassen haben, jederzeit wieder hineinkommen. Zum Beispiel, wenn sie Teil des lokalen Wallets sind und erneut gesendet werden oder wenn sie erneut über das Netzwerk empfangen werden. Die Räumung bedeutet nicht, dass eine Transaktion storniert wird.

Seit Bitcoin Core 0.14.0 wird der Mempool auf der Festplatte gespeichert, sodass er über Neustarts hinweg bestehen bleibt. In früheren Versionen führte ein Neustart auch zu einem gelöschten Mempool.

Wie kann man das Timeout ändern?
Verwendung von -mempoolexpiry=N mit N in Stunden.
Ich denke, das Standard-Timeout für Transaktionen wurde auf 14 Tage erhöht, richtig?
@Murch Es scheint, als wären es ab 0.14 14 Tage, laut diesem Reddit-Kommentar .
@murch Werden geräumte (oder gelöschte) TX durch Timeout wieder in Mempool aufgenommen?
@zono: Ja, wenn sie erneut ausgestrahlt werden und die minRelayTxFee überschreiten, die Sie für Transaktionen benötigen.

Es gibt keine feste Ablaufzeit für jeden Knoten, aber die Standardeinstellung ist 72 Stunden.

https://bitcoin.stackexchange.com/a/43165/24926

In meinem speziellen Fall (unbestätigte, nicht übertragene Transaktion im Speicherpool von Bitcoin Core 0.14.1) bestand die einzige Möglichkeit, diese Transaktion zu entfernen, darin, mempool.dat nach dem Schließen der Brieftasche zu löschen.

Das Löschen von mempool.dat zwingt Transaktionen also effektiv dazu, den Speicherpool zu verlassen.