Was ist der Mempool?

Letzte Aktualisierung 4 Minuten Lesezeit

Der Mempool (Kurzform für Memory Pool) ist der Wartebereich für unbestätigten Transaktionen. Wenn du eine Transaktion signierst, wird sie nicht sofort in die Blockchain übernommen. Sie kommt in den Mempool eines Nodes und „wartet” bis ein Miner sie auswählt und in einen neuen Block aufnimmt.

Warum gibt es den Mempool?

Bitcoin-Transaktionen erscheinen in der Regel alle ~10 Minuten gebündelt in neuen Blöcken – nicht kontinuierlich in Echtzeit. Der Mempool nimmt eingehende Transaktionen auf und hält sie zwischengespeichert, bis ein neuer Block erzeugt wird. So können sich die Miner immer nachdem ein neuer Block gefunden wurde, die Transaktionen mit den höchsten Transaktionsgebühren aus dem Mempool „herausfischen” und in einen neuen Block aufnehmen.

Zugleich dient der Mempool als Filter. Bevor eine Transaktion überhaupt in den Mempool gelangt, prüfen Nodes die Gültigkeit. Ungültige oder widersprüchliche Transaktionen (z. B. Doppelausgaben) werden sofort abgewiesen und gar nicht erst im Mempool aufgenommen.

Außerdem ermöglicht der Mempool einen Marktplatz für Transaktionsgebühren. Dadurch, dass man die Transaktionen und deren Gebührenhöhe, die im Mempool auf einen Block warten einsehen kann, kann man bereits vor dem Signieren einer Transaktion abschätzen, welche Gebühr (in Sats/vB) man bezahlen müssen und abschätzen wie lange es dauert bis dies Transaktion bestätigt (in einen Block aufgenommen) wird. Jeder einzelne Node unterhält seinen eigenen lokalen Mempool – es gibt keinen einheitlichen globalen Pool. Die Mempools verschiedener Nodes ähneln sich zwar, müssen aber nicht zu 100 % identisch sein. Jeder Node kann eigene Kriterien haben, z. B. wie groß sein Mempool sein darf und ab welcher Mindestgebühr Transaktionen aufgenommen werden.

Wie gelangt eine Transaktion in den Mempool?

Sobald du in deiner Wallet auf „Senden“ klickst, erzeugt die Wallet eine gültige, signierte Bitcoin-Transaktion. Diese wird dann an das Bitcoin-Netzwerk übermittelt. Der empfangende Node überprüft die Transaktion: Er prüft, ob die ausgegebenen Bitcoin tatsächlich verfügbar sind, ob die Signatur korrekt ist und ob die Transaktion den Konsensregeln entspricht. Besteht sie diese Prüfung, wird sie in den lokalen Mempool aufgenommen. Von dort aus beginnt die Transaktion sich im Netzwerk zu verbreiten: Jeder Node, der sie aufgenommen hat, leitet sie an seine Peer-Nodes weiter. So breitet sich die Transaktion innerhalb weniger Sekunden über das gesamte Bitcoin-Netzwerk aus. Miner beobachten ihre eigenen Mempools laufend auf neue Transaktionen. Dabei wählen sie bevorzugt die aus, die besonders hohe Gebühren bieten. Aus diesen ausgewählten Transaktionen stellen sie einen neuen Block zusammen. Sobald ein Miner einen gültigen Hash für diesen Block findet, sendet er ihn an das gesamte Netzwerk. Die anderen Nodes prüfen den Block auf Richtigkeit. Damit gelten alle Transaktionen, die in diesem Block enthalten sind, als bestätigt. Mit jedem weiteren neu gefundenen Block erhöht sich die Zahl der Bestätigungen für die jeweilige Transaktion. Sechs Bestätigungen gelten als Standardmaß, um eine Transaktion als endgültig zu betrachten.

Image

Eine visuelle Darstellung des Mempools von mempool.space

Manchmal kann es lange dauern bis eine Transaktion bestätigt wird. Das passiert wenn die Nachfrage nach Blockspace groß ist. Die Miner wählen in diesem Fall bevorzugt die lukrativsten Transaktionen mit den höchsten Gebühren zuerst aus.

Bitcoin-Nodes haben außerdem oft ein Limit, wie viel Speicher sie für den Mempool bereitstellen. Ist der eigene Mempool voll, wirft die Node Transaktionen mit den niedrigsten Gebühren hinaus. Wenn eine Transaktionsgebühr unrealistisch niedrig angesetzt ist, wird diese meist gar nicht erst in den Mempool aufgenommen und die ursprünglichen UTXOs werden dann einfach wieder ausgabefähig in der Wallet, als wäre die Transaktion nie passiert.

Vor dem Senden einer Transaktion ist es deshalb sinnvoll sich die aktuellen Gebühren anzuschauen und entsprechend der Dringlichkeit der Transaktion eine Gebühr festzulegen.

Das solltest du mitnehmen

  • Der Mempool ist der temporäre „Wartebereich“ für neue Transaktionen, bevor sie in einen Block aufgenommen werden.
  • Jeder Node hat seinen eigenen Mempool.
  • Transaktionen konkurrieren um Blockspace. Bei hoher Nachfrage kann es für Transaktionen mit niedrigem Gebührensatz zu langen Wartezeiten kommen.