Was sind Mempools und wie funktionieren sie?

2023-07-27, 06:33

[TL; DR]

Die Hauptfunktion des Mempools besteht darin, Transaktionen zu speichern, bevor sie validiert werden.

Bitcoin und Ethereum sind Beispiele für Blockchains, die Mempools verwenden.

Blockchain-Überlastung ist der Hauptgrund, warum Transaktionen lange Zeit stecken bleiben.

Wenn Sie möchten, dass eine Transaktion schnell durchgeführt wird, verwenden Sie geeignete Gasgebühren.

Einführung

Wir führen oft Transaktionen auf verschiedenen Blockchains wie Ethereum und Bitcoin, aber wir verstehen möglicherweise nicht vollständig einige ihrer technischen Details. Dennoch kann es uns helfen, unsere Transaktionen zu beschleunigen oder ihre Kosten zu senken, wenn wir wissen, wie einige Komponenten der Blockchains funktionieren.

In dieser Analyse besprechen wir Mempool in der Blockchain und wie es funktioniert. Wir werden auch erklären, wie Sie ausstehende oder verzögerte Transaktionen in den Bitcoin- und Ethereum-Netzwerken behandeln können.

Lesen Sie auch: Was ist ein Blockchain-Explorer?

Was ist ein Mempool?

Mempool, eine abgekürzte Form des Memory Pools, ist ein Knotenraum zur Speicherung von Informationen wie unbestätigten Transaktionen. Es fungiert als Wartezimmer für Transaktionen, die noch nicht bestätigt oder genehmigt wurden. Denken Sie daran, dass Transaktionen nur in einen Block aufgenommen werden, wenn sie überprüft oder genehmigt sind.

Mit anderen Worten, ein Mempool ist ein Raum, in dem ausstehende Transaktionen warten, bevor sie einem Block hinzugefügt werden.

Wenn die Transaktion verifiziert ist, bedeutet dies, dass alle Peers auf der Blockchain auf die Informationen zugreifen können. Dennoch überprüfen verschiedene Knoten vor der Genehmigung der Transaktion die Signatur, prüfen, ob die Ausgabe nicht größer ist als die Eingabe und ob das die digitalen Vermögenswerte noch nicht gesendet hat. Wenn eine dieser Bedingungen nicht erfüllt ist, lehnen die Validatoren oder Miner die Transaktion ab.

Es ist wichtig zu verstehen, dass es keinen einzigen Mempool für eine Blockchain gibt. Jeder Knoten im Blockchain-Netzwerk hat seinen eigenen Speicherpool, auch Transaktionspool genannt. Daher bilden die Mempools der verschiedenen Knoten einen gemeinsamen Blockchain-Speicherpool.

Als Beispiel die Transaktionen, die auf dem durchgeführt werden. Bitcoin Transaktionen im Netzwerk werden nicht direkt in die Blockchain aufgenommen. Jeder Knoten speichert die Transaktionen in einem temporären Speicher für Transaktionen namens Mempool oder Txpool. Dadurch entsteht eine Warteschlange, die überprüft und validiert werden muss.

Daher können wir einen Mempool einfach als organisierte Warteschlange von Transaktionen definieren, die sortiert und zu einem Block hinzugefügt werden müssen.

Speicherpool (Mempool) in einem Knoten - Babypips

Beachten Sie, dass Transaktionen nur im Mempool existieren, bevor sie bestätigt oder in Blöcke verpackt werden. Im obigen Diagramm ist der blau gefärbte Abschnitt der Mempool-Bereich, der innerhalb eines Knotens existiert. Das nächste Diagramm zeigt die Verteilung der Mempools in einem Netzwerk.

Vollknoten im Bitcoin-Netzwerk haben Mempools - Babypips

Wie im obigen Bild zu sehen ist, hat jeder Vollknoten in einem Netzwerk wie Bitcoin oder Ethereum einen Mempool. Jede Transaktion wird jedoch wie im nächsten Diagramm angegeben um die Netzwerkknoten herum übertragen.

Ein Netzwerk von Bitcoin-Knoten - Babypips

Wie wir im Diagramm sehen, initiiert der Benutzer in Lila eine Bitcoin-Transaktion, die vor der Genehmigung im Mempool gespeichert wird. Es ist wichtig zu beachten, dass die Transaktion, sobald sie verifiziert ist, zu einem Block hinzugefügt wird, wie die nächste Abbildung zeigt.

Eine Transaktion wird zur Datei (Block) hinzugefügt - Babypips

Der blaue Pfeil in der Abbildung zeigt, was passiert, wenn eine Transaktion verifiziert wird. Sie wird vom TxPool zu einem Block verschoben. Zu diesem Zeitpunkt verfügen alle Computer über die aktualisierte Datei der bestätigten Transaktion.

Wie funktionieren Mempools

Im Allgemeinen funktionieren Mempools nicht genau auf die gleiche Weise. Wie sie funktionieren, hängt von der Architektur jeder Blockchain ab. Mit anderen Worten, sie arbeiten je nach Typ der Konsensmechanismen der Netzwerke unterschiedlich. Die Transaktionen werden je nach Netzwerk entweder von Validatoren oder Minern überprüft.

Als Beispiel werden Transaktionen auf der Bitcoin-Blockchain von Minern verifiziert, da sie den Proof-of-Work-Konsensmechanismus verwendet. Auf der anderen Seite werden Transaktionen im Ethereum-Netzwerk von Validatoren genehmigt, da die Blockchain den Proof-of-Stake-Konsensmechanismus verwendet.

Lesen Sie auch: Umgestaltung von Ethereum und mögliche Gesundheitsprobleme im Netzwerk

Das Bitcoin-Netzwerk erfordert mindestens sechs Bestätigungen pro Transaktion, während die Ethereum-Blockchain mindestens sieben Bestätigungen benötigt. Grundsätzlich hat jede Transaktion in einem Mempool einen bestimmten Status. Sie ist entweder ausstehend oder in der Warteschlange. Wenn ein Validator oder Miner eine in der Warteschlange befindliche Transaktion validiert, wird sie zu einer ausstehenden Transaktion.

Lesen Sie auch: Was ist das Bitcoin Lightning Network?

Lassen Sie uns ein einfaches Beispiel dafür betrachten, was passiert, wenn Sie ETH an einen Freund senden. Der Vorgang beinhaltet die Eingabe der Wallet-Adresse, das Festlegen der Gasgebühr und die Transaktion bestätigen.

Sobald Sie diese durchführen, wird Ihre Transaktion in der Warteschlange auf Verifizierung gesetzt. Zu diesem Zeitpunkt wird sie an das gesamte Netzwerk von Knotenpunkten übertragen, aber sie gehört noch zu keinem Block.

Wenn die Validatoren die Transaktion überprüfen und feststellen, dass sie alle Bedingungen erfüllt, wird sie vom Wartestatus in den ausstehenden Status verschoben und wartet auf Bestätigung. Von dort nimmt einer der Validatoren die Transaktion aus dem Mempool und fügt sie einem neuen Block hinzu.

In diesem Stadium genehmigen mehrere Validatoren dies, was es Ihrem Freund ermöglicht, die ETH zu erhalten.

Lassen Sie uns die Mempool-Dynamik zusammenfassen

Schritt 1: Der Absender gibt die Zieladresse ein, akzeptiert die Netzwerktransaktionsgebühren und klickt auf ‘SENDEN’

SCHRITT 2: Die Transaktion wird dem nächstgelegenen Mempool hinzugefügt und in die Warteschlange gestellt.

SCHRITT 3: Die Mempool-Daten werden an die anderen Knoten im Netzwerk übertragen.

SCHRITT 4: Ein Knotenpunkt genehmigt die Transaktion und ihr Status ändert sich von Wartend zu Ausstehend.

SCHRITT 5: Ein Bergmann wählt die ausstehende Transaktion aus und fügt sie einem Block hinzu.

SCHRITT 6: Die restlichen Knoten löschen die Transaktion aus ihren Mempools.

SCHRITT 7: Die Transaktion ist abgeschlossen und das Vermögen gelangt in die Zielbrieftasche.

Jetzt, da Sie verstehen, was Ihre Transaktion verzögert, wenn Sie sie verarbeiten, schauen wir uns die Gründe an, warum einige Transaktionen stecken bleiben, und welche Maßnahmen Sie ergreifen können.

Gründe, warum Transaktionen im Mempool stecken bleiben

Der Hauptgrund, warum Transaktionen im Mempool stecken bleiben, ist Netzwerküberlastung. Wenn es einen hohen Transaktionsvolumen gibt, steigt der Druck auf den verfügbaren Blockplatz, was die Mempool-Rückstand auslöst. Dies tritt auf, wenn die Anzahl der ausstehenden Transaktionen höher ist als die durchschnittlichen Transaktionen in einem Block.

Einige Ereignisse und Nachrichten, die den Verkehr auf der Blockchain beeinflussen, können zu Staus im Netzwerk führen. Zum Beispiel können Luftabwürfe, die Notierung an weiteren Börsen oder neue Partnerschaften zu Staus führen. Es gibt jedoch Faktoren, die es den Knotenpunkten ermöglichen, bestimmte Transaktionen zu priorisieren.

Transaktionsgebühr: Die Höhe der Gebühren, die den verschiedenen Transaktionen angehängt sind, bestimmt, welche zuerst genehmigt werden. Da Miner und Validatoren vom Gewinn angetrieben werden, priorisieren sie Transaktionen mit höheren Gebühren, da dies ihnen ermöglicht, höhere Belohnungen zu erhalten.

Daher organisieren die Miner und Validatoren die Transaktionen in ihren Mempools basierend auf Gebühren pro Einheit wie Satoshis/Byte. Am Ende fügen sie den Blöcken zuerst die Transaktionen mit den höchsten Gebühren hinzu. Dieses zwingt die Benutzer, hohe Gebühren für ihre Transaktionen festzulegen.

Nichtsdestotrotz können die Benutzer je nach Netzwerkverkehr optimale Gasgebühren festlegen und dennoch sicherstellen, dass ihre Transaktionen rechtzeitig bestätigt werden. Wichtig ist es für die Benutzer, Faktoren wie historische Daten, Netzwerküberlastung, Transaktionsvolumen und Gebührenverteilung im Mempool zu überprüfen, bevor sie ihre eigenen Gasgebühren festlegen.

Bestätigungszeiten: Die Benutzer müssen möglicherweise auch die Bestätigungszeiten überprüfen, bevor sie ihre Gebühren festlegen. Wenn die Bestätigungszeiten hoch sind, bedeutet dies, dass die Miner und Validatoren Transaktionen mit hohen Gebühren bevorzugen. Im Wesentlichen bedeutet eine überlastete Mempool, dass Transaktionen mit niedrigeren Gebühren viel Zeit benötigen, um abgewickelt zu werden.

Blockraum: Der Blockraum bestimmt auch die Zeit, die vergeht, bevor Transaktionen genehmigt werden. Da der Blockraum immer begrenzt ist, bevorzugen Bergleute und Validatoren Transaktionen mit höheren Gebühren. Dies bedeutet, dass Transaktionen mit niedrigeren Gebühren viel Zeit im Mempool verbringen.

Mempool-Größe und Räumung: Jede Transaktion, die dem Block hinzugefügt werden soll, ist ein Datenstück mit einer Größe, die in Kilobyte gemessen wird. Daher können große Mempools viele Transaktionen aufnehmen. Normalerweise legen Knoten die Größen ihrer Mempools fest, die oft bei 300 MB für Bitcoin liegen. Wenn ein Mempool einen Schwellenwert erreicht, kann der Knoten eine Mindesttransaktionsgebühr festlegen.

Wenn die Benutzer solche Dynamiken verstehen, wird es für sie einfach, ihre Transaktionsgebühren festzulegen und diese innerhalb einer angemessenen Frist genehmigt zu bekommen. Zum Beispiel können sie Überzahlungen in Zeiten geringer Durchsatzrate vermeiden oder Unterzahlungen zu Spitzenzeiten vermeiden, wenn sie zeitkritische Transaktionen haben. Sie können auch nahezu korrekte Schätzungen darüber abgeben, wie schnell ihre Transaktionen validiert werden.

Warum Transaktionen im Mempool stecken bleiben

Oftmals bleiben Transaktionen aus verschiedenen Gründen im Mempool stecken, aber die meisten davon hängen mit den Gasgebühren zusammen. Der Hauptgrund, warum einige Transaktionen jedoch im Mempool stecken bleiben, ist die Netzwerküberlastung. Bei Überlastung werden Transaktionen mit hohen Gebühren zuerst abgewickelt, während der Rest dort stecken bleibt.

Daher ist es während der Hauptverkehrszeiten im Netzwerk am besten, die Transaktionsgebühren zu erhöhen. Dies liegt daran, dass die Gasgebühren bei Überlastung stark ansteigen. Wenn Sie also eine Transaktion während der Stoßzeiten durchführen, sollten Sie Ihre Gebühren mit denen abgleichen, die andere Netzwerkbenutzer zahlen.

Der andere Grund, warum die Transaktionen im Mempool stecken bleiben, ist ein Rückgang der Hash-Rate. Wir sagen, dass die Hash-Rate gesunken ist, wenn das Netzwerk nicht über die physische Rechenleistung verfügt, um eine hohe Anzahl ausstehender Transaktionen auszuführen.

Wie man Ihre Transaktion aus dem Mempool freigibt

Wenn Ihre Transaktion im Mempool feststeckt, haben Sie einige Optionen. Die erste Option besteht darin, die Transaktion zu stornieren. In diesem Fall fallen erneut Transaktionsgebühren an. Sie können beispielsweise die Transaktion mit demselben Nonce erneut senden.

Zweitens können Sie wählen, die Transaktion zu beschleunigen, indem Sie Ihre Ledger mit einer Drittanbieter-Brieftasche wie MetaMask oder Electrum verbinden. Allerdings müssen Sie dafür mehr bezahlen.

Die dritte Option besteht darin, etwas länger auf die Durchführung der Transaktion zu warten. Dadurch warten Sie darauf, dass der Netzwerkverkehr abnimmt, was es Ihrer Transaktion ermöglicht, ohne zusätzliche Kosten durchgeführt zu werden.

Mempool in Bitcoin

Die Transaktionen, die an das Bitcoin-Netzwerk gesendet werden, werden nicht sofort zur Blockchain hinzugefügt. Sie gelangen zuerst in den Mempool. In der Vergangenheit erforderten solche Transaktionen lediglich Gebühren, die in Satoshis pro Byte gemessen wurden.

Allerdings änderte sich dies nach dem SegWit-Upgrade, das es ermöglicht, Transaktionen in Gewichtseinheiten zu messen. Das Gute daran ist, dass die SegWit-Funktionen mehr Daten zu einem Block hinzufügen können als zuvor. Genauer gesagt gibt es 2 MB Daten pro Block, obwohl dies auf 4 MB erhöht werden kann.

Ethereum Mempool

Ursprünglich mussten Transaktionen im Ethereum-Netzwerk in den Mempool gelangen, bevor sie validiert wurden. Als die Blockchain jedoch vom Proof-of-Work-Konsensmechanismus auf den Proof-of-Stake-Mechanismus umstellte, wurde das Konzept eines Block-Builders eingeführt.

Im Grunde genommen sind die Block Builder Drittanbieter, die die Transaktionen in ein optimiertes Transaktionspaket zusammenstellen, das einen Block bildet. In diesem Fall stellen die Drittanbieter die Transaktionspakete aus dem Mempool zusammen oder ordnen sie um. Von dort aus bieten sie die Transaktionspakete den Validatoren zur Aufnahme in die Blöcke an. Die Drittanbieter erhalten Belohnungen für die Durchführung dieser Aufgaben.

Fazit

Zusammenfassend ist ein Mempool ein Bereich, in dem eine Blockchain-Knoten vor der Validierung vorübergehend Transaktionen speichert. Die Dauer, die eine Transaktion im Mempool von Ethereum verbleibt, hängt von mehreren Faktoren ab, wie beispielsweise dem Netzwerkverkehr und der Gasgebühr. Sowohl die Bitcoin- als auch die Ethereum-Blockchains verwenden Transaktionspools.

FAQs zu Mempools

Was ist der Mempool?

Ein Mempool ist ein Bereich, in dem ausstehende Transaktionen warten, bevor sie zu einem Block hinzugefügt werden. Sobald die Transaktion validiert ist, wird sie zu einem Block hinzugefügt, der sich in der Blockchain befindet.

Was passiert im Mempool?

Wenn einige Transaktionen in einem Mempool sind, wählen einige Validierer oder Miner sie aus und fügen sie Blöcken hinzu. Einige der Transaktionen können jedoch bei Netzwerkverkehrsstaus lange in der Warteschlange bleiben oder ausstehen.

Was ist ein BTC Mempool?

Der BTC-Mempool ist der Wartebereich für Transaktionen, die im Bitcoin-Netzwerk verarbeitet werden. Normalerweise hat jeder Bitcoin-Blockchain-Knoten seinen eigenen Mempool.

Was ist Mempool in Ethereum?

Ein Mempool in Ethereum ist der Speicherplatz für Transaktionen auf den Ethereum-Knoten, bevor sie bestätigt werden. Die Zeit, die verstreicht, bevor diese Transaktionen bestätigt werden, hängt vom Verkehr im Ethereum-Netzwerk innerhalb eines bestimmten Zeitraums ab.


Autor: Mashell C., Gate.io Forscher
Dieser Artikel spiegelt ausschließlich die Ansichten des Forschers wider und stellt keine Anlageempfehlungen dar.
Gate.io behält sich alle Rechte an diesem Artikel vor. Das Reposting des Artikels ist gestattet, sofern Gate.io als Quelle angegeben wird. In allen Fällen wird rechtliche Schritte wegen Urheberrechtsverletzung eingeleitet werden.


Teilen
Содержимое
gate logo
Gate
Jetzt handeln
Treten Sie Gate bei, um Prämien zu gewinnen