Was macht eine unbestätigte Sendung „verdächtig“? (wird wahrscheinlich ersetzt oder nie bestätigt)

Wenn ich mir unbestätigte Bitcoin-Transaktionen anschaue, versuche ich zwischen TXs zu unterscheiden, die wahrscheinlich bestätigt werden (ob im ersten nächsten Block oder in 2 Stunden) und TXs, die wahrscheinlich ersetzt werden oder überhaupt nie bestätigt werden.

Offensichtlich fallen TXs mit dem Opt-in-RBF-Flag in die letztere Kategorie.

Aber ich denke, es gibt andere Kriterien, wie zum Beispiel:

  • mit einer extrem niedrigen Gebühr oder sogar ohne Gebühr.
  • Mit vielen Staubausgängen.
  • Abhängig von unbestätigten Eingaben.

Sollte ich sonst noch etwas beachten? Welche anderen Faktoren könnten dazu führen, dass eine TX weniger wahrscheinlich bestätigt wird?

Zum Beispiel, abgesehen von der Staubausgabe, machen Staub (dh viele kleine) Eingaben einen TX weniger sicher zu bestätigen? (abgesehen von mehr Eingaben, die größere TX-Daten verursachen, was zu einer niedrigeren Gebühr führt, wenn sie in Satoshis pro KB gemessen wird)

Es ist unangemessen, 0-conf-Transaktionen danach zu klassifizieren, ob sie RBF oder eines der oben genannten Merkmale aufweisen oder nicht. Eine Transaktion, bei der es am unwahrscheinlichsten ist, dass sie doppelt ausgegeben oder bestätigt wird, ist eine, die Miner am wenigsten dazu anregt, sie in einen Block aufzunehmen. Man könnte ebenso argumentieren, dass eine Transaktion, die die Negation all Ihrer oben genannten Eigenschaften erfüllt, immer noch „verdächtig“ wäre, wenn die Bergleute nur auf der Grundlage der Transaktionsgebühren zum Minzen angeregt würden.

Antworten (1)

Das Ersetzen von Transaktionen ohne Bestätigung ist relativ einfach. Ich würde jede Transaktion ohne Bestätigung als "verdächtig" markieren.

RBF ist eine Richtlinie und Bergleute könnten auch Transaktionen ersetzen, die kein Opt-in-RBF unterzeichnen.

Der beste Weg, um zu überprüfen, ob eine 0-conf-Transaktion bald abgebaut wird:

  • nSequence-Nummer prüfen (0-conf nur akzeptieren, wenn nSequence-Nummer INT_MAX ist)
  • Überprüfen Sie die Transaktionsgebühr und vergleichen Sie sie mit Ihrer geschätzten Gebühr (erfordert einen Mempool/Bitcoin-Core)
  • Berechnen Sie die Risiken: Jede 0-conf-Transaktion kann ersetzt/doppelt ausgegeben werden! Artikel mit hohem Wert sollten nicht "versandt" werden < 6 Bestätigungen (IMO).
Vielen Dank. Nur um sicherzugehen, meinten Sie eigentlich: if nSequence number is INT_MAX or INT_MAX-1 ? (das ist 0xFFFFFFFF oder 0xFFFFFFFE). Wenn ich mich nicht irre, besteht das Opt-in-RBF-Flag aus einer nSequence unter INT_MAX-1?