Fragen zum Bitcoin Mempool

Nachdem ich mir die sehr hübsch aufbereiteten Daten („Data is beautiful…“ :wink:) zum Bitcoin Mempool angesehen habe, z.B. hier (https://mempool.space/de/graphs#1m), stellen sich mir ein paar Fragen.

Es scheinen ja fast immer deutlich mehr Transaktionen im Mempool zu liegen, als die Blockgröße hergibt.
Die Miner nehmen sich immer das „oberste“ Häppchen aus dem Mempool - mit den Transaktionen, die die höchsten Fees haben, also somit den größten Profit.

Jetzt zu den Fragen:

  1. Der Mempool liegt auch auf den Full-Nodes? Oder ist dafür jemand anders im Netzwerk zuständig?

  2. Was erfolgt mit den Transaktionen, die eine sehr geringe Gebühr haben und deshalb - je nach Transaktionsaufkommen - sehr lange im Mempool rumgammeln? Gibt es eine maximale Haltezeit von Transaktionen und danach fliegen die wieder aus dem Mempool raus? Falls ja, was sind die Regeln?

  3. Alle paar Tage sieht es so aus, als ob sich der Mempool wieder bis auf den Boden leert. Ist das rein zufällig aufgrund eines sinkenden Transaktionsaufkommens? Oder ist das aufgrund eines - wie auch immer gearteten - Entrümpeln des Mempools?

  4. Wenn ich eine Transaktion mit geringen Fees vornehmen will, die nicht dringend ist und also auch ein paar Tage Zeit hätte, könnte ich
    a.) entweder den Mempool auf ein Absinken beobachten und dann meine Transaktion auslösen?
    b.) oder meine Transaktion mit einer geringen Fee losschicken und in Kauf nehmen, dass diese einige Tage braucht, bis sie in einen Block aufgenommen wird?

  5. Erfolgt die Sortierung der Transaktionen im Mempool (bzw. in dem oberen Häppchen, das sich die Miner rausholen) nach genau festgelegten Regeln, die z.B. im Bitcoin Core fest einprogrammiert sind?

  6. Falls Nein: Nach welchen Regeln wird das Häppchen sortiert bzw. ausgewählt? Entscheidet das der Miner oder der Mempool? Kann das jeder Miner selber entscheiden?

  7. Kann es sein, dass auf den zahlreichen Full-Nodes leicht unterschiedliche Mempools existieren? Entweder weil diese unterschiedlich sortiert werden oder weil nicht alle Transaktionen hundertprozentig zeitlich synchron bei allen Mempools ankommen?

  8. Aus welchem Mempool holt sich ein Miner sein Häppchen? Immer der selbe? Oder zufällig ausgewählt?

Fragen über Fragen… :grinning:

5 „Gefällt mir“

Wenn du eine Transaktion sendest, wird sie von deiner Node auf alle anderen Nodes übertragen, bis jede einzelne Node von deiner Transaktion Wind bekommen hat. Jede Node kann dann selbst entscheiden, ob sie einen Mempool hat der diese veröffentlichten Transaktionen speichert. Genau genommen kannst du auch selbst bestimmen welche Transaktionen du im Mempool speichern möchtest z.B. erst ab einer gewissen Fee etc.

Es gibt also nicht „den einen“ Mempool.

Wenn die Full-Node sich dazu entscheidet die Transaktionen zu speichern hat sie einen Mempool.

Entscheidet die Node selbst mit -mempoolexpiry (nach xy Stunden fliegt die Transaktion raus) und -maxmempool (nach xy mempool größe werden die Transaktionen mit der geringsten Gebühr aussortiert). Also grundsätzlich wird deine Transaktion nie von allen Mempools aussortiert worden sein. Es wird viel gemunkelt, dass Transaktionen standardmäßig nach 14 Tagen rausfliegen, mein aktueller Stand ist aber, dass es hier kein Limit gibt - außer man setzt es. Das sollte aber kein Problem sein, denn nur weil gewisse Nodes deine Transaktion „ablaufen“ lassen, heißt das nicht, dass das alle Nodes tun.

An diesem „Ablaufdatum“ wurde in der Vergangenheit schon mehrmals rumgeschraubt. Es gab schon einmal standardmäßige Time Limits.

Das ist aufgrund eines sinkenden Transaktionsaufkommens. Wenn wenig Transaktionen veröffentlicht werden, haben die Miner genug Zeit diese abzuarbeiten. Wenn du genau hinguckst (https://jochen-hoenicke.de/queue/#0,30d) sind das meistens Wochenenden. Der heilige SATurday eben. :wink:

Wenn du echt 0 Stress hast: Einfach mit 1 sat/vB raushauen und warten.

Bin mir nicht sicher wie das zu verstehen ist. Die Charts die du auf mempool.space oder jochen.hoenicke.de siehst sind nur eine Darstellung des Mempools. Jeder Miner kann sich dann selbst aussuchen welche inkludiert werden sollen und das werden logischerweise immer die mit der hohen Fee sein (außer Tone Vays will eine Wette gewinnen :wink: )

Miner

Ja, siehe oben. Und ja, es kommen nicht alle Transaktionen bei allen Nodes zugleich an aber da handelt es sich wirklich nur um Sekunden.

Wie er möchte. Wenn er seine eigenen Transaktionen speichert wird das meistens einen Grund haben und er wird dann auf diesen Mempool zugreifen (und das tun auch die meisten).

9 „Gefällt mir“

@satoshi Vielen Dank für die ausführlichen Antworten, ich denke, das beantwortet die meisten meiner Fragen. Schön, dass sich hier der Erfinder selber zu Wort meldet :stuck_out_tongue_winking_eye:

Das erstaunt mich etwas, ich hätte erwartet, dass solche Regeln - sofern diese existieren - einheitlich im Netzwerk für alle Nodes gelten. :thinking:
Heißt also, der Betreiber der Node kann die „expiry“ Regeln selber konfigurieren.

Genau… das kann jede Node selbst entscheiden.

Hätte eine Frage: Warum genau haben viele Nodes eine maximale Mempoolgröße von 300MB eingestellt? Meine Umbrel Node hat eine 1TB SSD, also genügend Platz für einen großen Mempool :thinking:

So, irgendwie zeigt mempool.space bei mir komische Dinge an. „Hohe Priorität = 1sat“ und kaum Transaktionen in den Blöcken… und kaum UTX im Pool… streikt meine Anzeige oder ist da nix los im Netzwerk?

1 „Gefällt mir“

Deine Anzeige streikt nicht. Momentan ist da nicht viel los das sehen wir ja schon ein paar Tage.

300mb ist extrem viel für den Mempool. Deine 1TB müssen übrigens auch für die Blockchain reichen.

Hallo zusammen

Kann mir jemand erklären warum die Zeiten zwischen den Blöcken heute so unregelmässig sind? Ich dachte bis jetzt das es immer ca. 10 Minuten sind bis ein neuer Block kommt.

Nein, die 10 Minuten sind nur der Mittelwert, der angepeilt wird. Das ganze ist aber immer so unregelmäßig. Mal gehts schneller, mal langsamer :wink:

Nach ca. 2 Wochen (genau 2016 Blöcken) wird dann vom System geschaut, ob die 10 Minuten Durchschnitt in etwa zugetroffen sind und je nachdem passt es dann die Schwierigkeit, einen Block zu finden, nach oben oder unten an.

…um es mal salopp auszudrücken :smiley:

2 „Gefällt mir“

Die Unregelmäßigkeit ist regelmäßig. :grin:
Hab am 30.12. fast ne Stunde auf nen Block gewartet, wg. Tx, alles normal
Block 716392 :stuck_out_tongue_winking_eye:

Der Mempool ist wieder stark überlastet.
Was ist da los? Soviele Transaktionen?

Die Wallets sind besser geworden! Es wird viel weniger überzahlt. Viel mehr 1 sat Transaktionen. Bullish!

(Aus dem Kontext. Nur mal so angemerkt.)

2 „Gefällt mir“

Wenn man keine Not hat, das es schnell gehen soll würde ich auch mit 1 sat/vB rausgeben.
Zur Not (im Falle es gibt über mehrere Tage einen vollen Pool) gibt man die erste Transaktion
mit RBF-Flag (replace by fee) raus. Dann kann man immer noch die gleiche Transaktion (solange sie noch nicht in der Chain ist) mit einer höheren Fee rausgeben (bieten einige Wallets schon an).