#47 // KW15 // 13.4.2023 // Was schwimmt da im Mempool? đŸ§ đŸŠâ€â™‚ïžđŸ“ˆ

Diese Woche schauen wir uns den Mempool etwas genauer an. Was ist der Mempool, bzw. was sind die Mempools, was ist seine Funktion und was passiert dort aktuell?

Block Height 785255 ‱ Price 30.100 USD ‱ Preis 27.350 EUR ‱ WoW 7,9% ‱ MVRV 1,5 ‱ Market 🐂

// Today's Menu 📜

  • Es gibt nicht den einen Mempool, es gibt ca. 18.000 Mempools 🌊
  • Dr. Miner bittet zum Vorsprechtermin đŸ§‘â€âš•ïž
  • Es kommt nicht auf die GrĂ¶ĂŸe an đŸ˜Č

// Starter 🍾

Obwohl einige andere Themen, wie der kĂŒrzlich erschienene New York Times Artikel, in dem sich faktisch falsch und inhaltlich voreingenommen mit Bitcoin-Mining befasst wird, oder die Entdeckung des Satoshi Whitepapers auf Apple Computern momentan die heissen und viel besprochenen Nachrichten sind, hĂ€lt auch die Diskussion ĂŒber Ordinals und Inscriptions und besonders deren Auswirkungen auf das Bitcoin-Netzwerk an. Einer der viel besprochenen Aspekte bei diesem Thema ist die Auswirkung dieser Bitcoin-NFTs auf die GebĂŒhrenstruktur und somit Gewinnzusammensetzung fĂŒr Miner, aber auch die direkten Auswirkungen auf On-Chain-Transaktionen durch die höheren GebĂŒhren und den seit Wochen sehr vollen Mempool. Genau ĂŒber den wollen wir uns diese Woche etwas detaillierter unterhalten, da es auch unter erfahrenen Bitcoinern immer noch einige MissverstĂ€ndnisse zu geben scheint.

// Primi 🍝

Fangen wir zunĂ€chst ganz vorne an. RegelmĂ€ĂŸigen Leser//innen dieses Blogs sollte in Erinnerung sein, dass ich Anfang Februar einen Artikel ĂŒber UTXOs und GebĂŒhrenmanagement geschrieben habe:

#37 // KW5 // 2.2.2023 // UTXOs & Fee-Management 👛đŸșđŸ’±
Wer UTXOs vernĂŒnftig verwaltet, schĂŒtzt nicht nur besser die eigene PrivatsphĂ€rer, sondern kann sogar bares Geld dabei sparen. Da die meisten Menschen mit finanzieller Vorbildung gewohnt sind in Konten oder Guthaben zu denken, bedarf es beim VerstĂ€ndnis von UTXOs sicherlich ein wenig UnterstĂŒtzung.

In diesem Artikel habe ich beschrieben wie Transaktionen zusammengesetzt sind und welche Möglichkeiten Nutzer//innen haben, um ihre persönlichen Transaktionen anhand variabler GebĂŒhreneinstellungen schnell oder langsam im Netzwerk zu platzieren.

Welchen Nutzen haben hohe gegenĂŒber niedrigen GebĂŒhren? Bitcoin-Miner handeln nicht ganz uneigennĂŒtzig, denn sie werden fĂŒr ihre Arbeit entlohnt. FĂŒr jeden produzierten Block erhalten sie neben dem Blockanteil (Reward) auch sĂ€mtliche TransaktionsgebĂŒhren, der im neuen Block enthaltenen Transaktionen. Ohne zu sehr ins Detail zu gehen, bedeutet dies, dass Miner einen Anreiz haben, Transaktionen mit möglichst hohen GebĂŒhren zuerst in den neuen Block zu schreiben, um so ihren Profit zu maximieren. Je höher eine GebĂŒhr relativ zu denen der anderen Transaktionen im Mempool ist, desto wahrscheinlicher ist, dass diese Transaktion im nĂ€chsten Block landet. Das bietet dem/der Nutzer//in die Möglichkeit, die eigene Transaktion zu priorisieren.

Der Mempool, kurz fĂŒr Memory Pool, hat also was mit Transaktionen zu tun - und zwar ganz schön viel. Denn jede im System propagierte Transaktion landet zunĂ€chst im Mempool. Also kann man sagen, dass der Mempool sowas wie ein Wartezimmer, oder eine Warteschlange am Supermarkt oder im VergnĂŒgungspark ist. Soll eine Transaktion in einen Block geschrieben werden, so muss sie sich erstmal anstellen. Dabei bleibt festzuhalten, dass Transaktionen erst im Netzwerk propagiert werden, bevor sie in einen Block geschrieben werden können. Wenn man also in seiner Wallet eine Transaktion abschickt und einen grĂŒnen Haken oder eine Animation angezeigt bekommt, dass die Transaktion erfolgreich versendet wurde, dann bedeutet dies schlicht nur, dass die Wallet die Nachricht, die diese Transaktion enthĂ€lt, zunĂ€chst an eine Node (einen Knotenpunkt im Netzwerk) ĂŒbertragen hat. Das dezentrale Peer-to-Peer Bitcoin-Netzwerk erledigt dann den Rest: Die Nodes propagieren diese Nachricht sofort weiter an alle verbundenen Nodes (Flooding genannt), und somit ist die Nachricht innerhalb weniger Sekunden an alle Netzwerkteilnehmer versendet. Dabei werden Transaktionen erstmal auf ihre Richtigkeit ĂŒberprĂŒft. Dann werden diese erst von den Mining-Nodes aus dem Mempool ĂŒbernommen, die die Transaktionen sortieren und ihren Blöcken hinzufĂŒgen.

Transaktionen werden also von Wallets als Nachrichten ins Netzwerk gesendet. Ganz einfach gesprochen enthĂ€lt jede Nachricht Informationen ĂŒber den Sender, den EmpfĂ€nger, die Höhe der versendeten Zahlung und die Höhe der angehefteten GebĂŒhr. Diese Informationen mĂŒssen also erstmal im Netzwerk untergebracht werden, damit die Mining-Nodes aus diesem Pool von unbestĂ€tigten Transaktionen ihre Blöcke zusammensetzen können.

Jetzt sitzen also in diesem Wartezimmer ganz viele Transaktionen und warten darauf, aufgerufen zu werden, um von Dr. Miner in seinem Besprechungszimmer empfangen zu werden. Doch anders als beim Arzt, wo man in der Reihenfolge aufgerufen wird, in der man seinen Termin vereinbart hat, oder beim Straßenverkehrsamt, wo die Nummer auf dem kleinen Ticket, das man beim Eintritt gezogen hat, ĂŒber die Reihenfolge entscheidet, sucht Dr. Miner sich selbst aus, welche Patienten (Transaktionen) er in welcher Reihenfolge sehen möchte. Dr. Miner bittet zum Vorsprechtermin. Und da alle Patienten ein kleines Schildchen hochhalten, auf dem die GebĂŒhr steht, die sie bereit sind zu zahlen, um so schnell wie möglich von Dr. Miner empfangen zu werden, kann dieser ganz einfach diejenigen bevorzugen, die am meisten zahlen (wĂŒrde so im normalen Leben ja keineswegs ablaufen - hrr hrr, Kassenpatienten!).

Damit möchte ich nicht sagen, dass bei Bitcoin ein Zwei- oder Mehrklassensystem besteht, wie das im deutschen Gesundheitssystem der Fall ist, allerdings gibt es Einzelnen die Freiheit darĂŒber zu entscheiden, wie wichtig ihnen einzelne Transaktionen sind und wie viel sie bereit sind, dafĂŒr zu bezahlen (Ă€hem, freie Marktwirtschaft, hust!) Diese variable GebĂŒhrenstruktur ist also ganz eng mit dem Anreizsystem von Bitcoin verbunden. GebĂŒhren werden in sats/B oder sats/vB (Satoshis pro (virtual) Byte) berechnet, also wie viele Sats man pro Byte entrichten muss. Damit werden Transaktionen mit mehr Blockgewicht automatisch teurer (hallo Ordinals 👋), was eigentlich sehr fair ist, aber die variable GebĂŒhreneinstellung in den meisten Wallets erlaubt Versendenden ihre Transaktion auch anderen Transaktionen gegenĂŒber zu priorisieren, wenn diese es fĂŒr notwendig halten.

Eine oft falsche Annahme ist, dass es irgendwie den einen Mempool gibt. Das ist natĂŒrlich falsch und aufgrund der dezentralen Struktur des Netzwerks auch gar nicht möglich. Vielmehr verfĂŒgt jede Node ĂŒber ihren eigenen Mempool (mit seinen eigenen Einstellungen). Dieses MissverstĂ€ndnis rĂŒhrt wahrscheinlich daher, dass immer von DEM Mempool gesprochen wird und Block-Explorer, wie mempool.space, durch ihre Übersicht suggerieren, dass diese Informationen aus DEM Mempool entstammen. Dabei sind Explorer oft nur die Visualisierung einer einzelnen Node, oder aggregieren verschiedene Informationen, um einen möglichst akkuraten Gesamteindruck darzustellen.

☝
Kurz zusammengefasst: Ein Mempool ist die Warteschlange ausstehender und unbestĂ€tigter Transaktionen fĂŒr eine Node. Es gibt keinen zentralen oder globalen Mempool. Jede Node verwaltet ihren eigenen Mempool, sodass verschiedene Nodes theoretisch unterschiedliche Transaktionen in ihren Mempools sammeln können. Transaktionen wiederum enthalten GebĂŒhreninformationen, die fĂŒr die Mining-Nodes wichtig sind, um diese zu priorisieren.
via Mempool.space

Wenn man sich das obige Bild einmal anschaut, versteht man auch, was es mit den GebĂŒhren auf sich hat. Am einfachsten ist es sich vorzustellen, es gĂ€be eine Autobahn, auf der ein Algorithmus entscheidet, wie schnell alle Autos fahren. Um ĂŒberhaupt auf diese Autobahn auffahren zu dĂŒrfen, muss man 1,98 sat/vB zahlen, sonst wird man gar nicht drauf gelassen. Diejenigen Transaktionen, die 4 sat/vB zahlen, dĂŒrfen zwar auf die Autobahn, stehen aber momentan auf dem Standstreifen und kommen nicht vorwĂ€rts. Wer mind. 5 sat/vB zahlt, fĂ€hrt automatisch auf der rechten Spur, alle die mind. 7 sat/vB zahlen, fahren in der Mitte, und wer mind. 10 sat/vB ausgeben möchte, darf rechts am schnellsten fahren.

Oder um eine andere Analogie zu bemĂŒhen, schauen wir uns eine Warteschlange im VergnĂŒgungspark an. Allerdings gibt es nicht nur eine lange Schlange, sondern verschiedene Schlangen fĂŒr dieselbe Achterbahn mit unterschiedlich langen Wartezeiten. Jedoch muss man mehr Fahrpreis bezahlen, wenn man in die Schlange mit der kĂŒrzeren Wartezeit möchte (wĂŒrde so im normalen Leben ja keineswegs ablaufen - hrr hrr, Genie-Pass im Disney World). Alle 10 Minuten fĂ€hrt die Achterbahn eine Runde und nimmt immer nur eine gewisse Anzahl von Parkbesuchern mit, bis das Gewichtslimit der Bahn erreicht ist - nur das Gewicht der FahrgĂ€ste ist entscheidend, nicht die Menge.

Es gibt einige FahrgĂ€ste, denen es wert ist, auf jeden Fall in der nĂ€chsten Bahn zu sitzen, koste es was es wolle. Dann wiederum gibt es welche, die schauen, wie viele FahrgĂ€ste schon in den jeweiligen Reihen stehen und sich ausrechnen, wie viel sie bezahlen mĂŒssten, um eine fast 100%ige Chance zu erhalten, in der nĂ€chsten Bahn zu sitzen, ohne unnötig draufzuzahlen. Dann gibt es diejenigen, denen es egal ist, denn sie wissen, dass sie auf jeden Fall irgendwann mitfahren, aber auf Schnelligkeit keinen Wert legen. Diese unterschiedlichen Warteschlangen lassen sich im folgenden Bild gut an den Kohorten der linken Spalte ablesen. Dort werden die jeweiligen GebĂŒhrenbereiche in sats/vB dargestellt und naturgemĂ€ĂŸ sind die unteren Bereiche mehr gefĂŒllt, als die oberen.

Mempool by vBytes (sat/vByte)

Die Einordnung der GebĂŒhren, das Analysieren der jeweiligen BĂ€nder und das Errechnen der MindestgebĂŒhren, etc. ĂŒbernimmt natĂŒrlich nicht der Sender jedes Mal manuell. Wallets nutzen Algorithmen, um genau diese Informationen aus dem Netzwerk auszuwerten und um dann dem/der Nutzer//in die GebĂŒhren schon einzustellen. Sollte es jedoch trotzdem vorkommen, dass die GebĂŒhren zu niedrig eingestellt wurden und somit Transaktionen im Mempool stecken bleiben (sprich: Die GebĂŒhren sind zu gering, um von Mining-Nodes als interessant genug erachtet zu werden und die Transaktion wird deshalb Block nach Block umgangen), gibt es die Möglichkeit Transaktionen zu pushen.

#29 // KW48 // 1.12.2022 // On-Chain Analytics â›“ïžđŸ•”ïžâ€â™€ïž
HÀtte man die vorhandenen Mittel einer öffentlich einsehbaren Blockchain nicht verwenden können, um viele der Fiaskos dieses Jahr abzuwenden. Kann man On-Chain Analyse betreiben, um verdÀchtige Spieler ausfindig zu machen und was genau ist On-Chain Analyse eigentlich?

Wie wir in meinem Artikel vom Dezember letztes Jahres gesehen haben, wurde mit Version 0.24 des Bitcoin Core Protokolls eine Änderung in der Core Implementierung vorgenommen:

Und zwar wird der Default von Opt-in auf Full replace-by-fee (RBF) geĂ€ndert. RBF ist eine Mempool-Funktion, die 2015 vorgeschlagen wurde und ins Protokoll ĂŒbernommen wurde, die Nutzer//innen eine Möglichkeit gibt feststeckende Transaktionen voranzutreiben, wenn diese lange Zeit unbestĂ€tigt im Mempool hĂ€ngen. Wenn Nutzer//innen diese jetzt beschleunigen wollen, können sie eine höhere GebĂŒhr zahlen, um die eigene Transaktion attraktiver zu machen. In der 2016 eingefĂŒhrten Opt-in RBF Funktion, mĂŒssen Nutzer//innen aktiv einwilligen, dass ihre Transaktionen durch Transaktionen mit höheren GebĂŒhren ersetzt werden, wohingegen die neue Full RBF Funktion standardmĂ€ĂŸig jede Transaktion ersetzbar macht, solange fĂŒr die Ersetzung eine höhere GebĂŒhr gezahlt wird.
☝
Kurz zusammengefasst: Der Mempool funktioniert als Sammelbecken fĂŒr alle dem Netzwerk ĂŒbertragenen Transaktionen, die dann von den Minern sukzessive in einen Block gepackt werden. Dies erfolgt in der Regel nach Höhe der GebĂŒhren, d.h. Transaktionen, die eine höhere GebĂŒhr mit sich fĂŒhren, werden von Minern prĂ€feriert, da dies deren Profit steigert. Wurde eine Transaktion mit geringer GebĂŒhr ĂŒbertragen, oder treten aus verschiedenen GrĂŒnden hohe GebĂŒhrenspitzen auf, können die unprĂ€ferablen Transaktionen im Mempool hĂ€ngen bleiben.

Wie wir jetzt wissen, verwaltet jede Node ihren separaten, individuellen Mempool. Die Einstellungen können die Betreiber der Nodes selbst vornehmen, denn wĂ€hrend die StandardgrĂ¶ĂŸe auf eine Memory-Grenze von 300 MB festgelegt ist, kann jeder Knotenbetreiber seinen eigenen Wert festlegen. Die Mempool-GrĂ¶ĂŸenbeschrĂ€nkung bezieht sich jedoch nicht auf die serialisierten Daten oder das Transaktionsgewicht der Transaktionen in der Warteschlange, sondern auf die tatsĂ€chliche Speichernutzung der deserialisierten Transaktionsdaten auf der jeweiligen Node.

Wenn die Mempool-Grenze einer Node erreicht ist, werden die Transaktionen mit der niedrigsten GebĂŒhr gelöscht und die Node gibt dem Netzwerk bekannt, dass vorerst keine Transaktionen unter einer gewissen GebĂŒhr weitergeleitet werden sollen. Da jede Node unterschiedliche Grenzen hat, kann es sein, dass eine Node mit einem kleineren oder grĂ¶ĂŸeren Mempool Transaktionen frĂŒher oder spĂ€ter löscht.

Nachdem der RĂŒckstand unter die (meistens) 300 MB-Grenze gesunken ist, senken Nodes ihre GebĂŒhrenmindestanforderung und beginnen wieder damit, Transaktionen zu akzeptieren, die zuvor ausgeschlossen wurden.

Jetzt ist es auch ĂŒber drei Monate her, dass das Ordinals / Inscriptions Protokoll veröffentlicht wurde und nach einem anfangs relativ langsamen Start (trotz heftiger Diskussionen, vieler Publikationen zu dem Thema, etc.) wurden in dieser Zeit mittlerweile mehr als 1 Millionen Artefakte hochgeladen.

via Dune.com/dgtl_assets

Das Hochladen so vieler (meistens) Bilder direkt in die Bitcoin-Blockchain ist mit recht hoher Sicherheit der Treiber dafĂŒr, dass der Mempool seit einiger Zeit komplett ausgelastet ist (also die 300 MB-Grenze ĂŒbersteigt) und, wie oben gesehen, zum Zeitpunkt des Verfassens, ca. 17.000 Transaktionen darauf warten, in einen Block geschrieben zu werden. Dies entspricht etwa 90 Blöcken, die das Netzwerk produzieren könnte, ohne dass eine einzige weitere Transaktion hinzu kommt. Die große Menge an hochgeladenen Daten hat auch dazu gefĂŒhrt, dass GebĂŒhren zeitweise in den Bereich von 20-40 sat/vByte gehoben wurden.

via Johoe's Bitcoin Mempool Size Statistics

Vor SegWit (Segregated Witness) wurden GebĂŒhren nach TransaktionsgrĂ¶ĂŸe bestimmt. SegWit fĂŒhrte das Konzept des Blockgewichts ein und Ă€nderte die zu erhebenden GebĂŒhren nach Gewichtseinheit anstelle der TransaktionsgrĂ¶ĂŸe. Diese Änderung wurde eingefĂŒhrt, um die TransaktionsgebĂŒhren insgesamt zu senken, jedoch kommt es dennoch vor, dass Blöcke erstellt werden, die ĂŒberwiegend aus Inscriptions bestehen.

SegWit war ironischerweise auch der Soft Fork, der es erst ermöglichte, dass Inscriptions in der heutigen Form hochgeladen werden können. Mehr dazu hier:

#38 // KW6 // 9.2.2023 // Ordinals & Inscriptions đŸ”ąâœïžđŸȘš
Ordinals sind momentan heiß diskutiert und in aller Munde (wie ZĂ€hne). Doch wie genau funktoniert die Ordinals-Theorie und warum ist sie so kontrovers?

Um das Ordinals / Inscriptions Thema abzuschließen, bleibt bei aller Kritik auf der einen Seite und einem neuen GeschĂ€ftsmodell / einer neuen Einnahmequelle fĂŒr Miner auf der anderen Seite, zu sagen, dass der Anteil an TransaktionsgebĂŒhren, die auf Ordinals / Inscriptions zurĂŒckzufĂŒhren sind, doch recht ĂŒberschaubar ist.

via Dune.com/21shares_research

Es bleibt festzuhalten, dass der Mempool einen sehr wichtigen Teil des Bitcoin-Netzwerks darstellt. Er ermöglicht uns zu verstehen, wie ge- oder ĂŒberfĂŒllt das Netzwerk ist und ob es Transaktionsstaus gibt, die zu langsameren BestĂ€tigungszeiten und höheren GebĂŒhren fĂŒhren. Er hilft fortgeschrittenen Nutzer//innen zu verstehen, wie sie ihre GebĂŒhren am besten einstellen, aber bietet auch einen Überblick ĂŒber den gesamten Zustand des Netzwerks. Will man sich einen Gesamteindruck ĂŒber Bitcoin - das Netzwerk - machen, schaut man sich nicht den aktuellen Tageskurs an, sondern vielmehr den Mempool und die Hashrate. Diese zwei Quellen bieten eine Menge Auskunft darĂŒber, was gerade im Netzwerk passiert und vielleicht passieren wird.

Los Miner, ihr habt zu viele ungelesene Transaktions-Nachrichten in eurem Mempool-Postfach!



// Secondi đŸČ

News

CAR to drop crypto as legal tender - Central Banking
Country bows to pressure from partners in regional monetary union

Schade, dass das Projekt schon aufgegeben wurde. Allerdings, muss man dazu sagen, dass es im Vergleich zu El Salvador nie wirklich um Bitcoin als WĂ€hrung ging, sondern vielmehr ein Versuch / ein Experiment war und neben Bitcoin auch KryptowĂ€hrungen erlaubt waren. Dies zeigt auch, dass man sich Bitcoin aktiv mit allen Konsequenzen öffnen muss, alleine den Zahlungsverkehr zu legalisieren fĂŒhrt nicht weit.

RoboSats Reached A Record P2P Trading Volume in March
RoboSats is a simple and private way for to exchange fiat currencies for bitcoin and vice versa.

Es ist schön und wichtig zu sahen, dass no-KYC-Bitcoin Anbieter / Handelsplattformen, wie RoboSats, stetig wachsen. Das zeigt auf der einen Seite, dass diese Services benutzerfreundlicher werden und auf der anderen Seite, dass eine reale Nachfrage nach Bitcoin außerhalb der großen Börsen besteht.

EU Lawmakers Vote in Favor of Payment Limits on Anonymous Crypto Wallets
Crypto rules form part of a money-laundering overhaul supported by the European Parliament Committees

Ach, EU, ach! đŸ€Ą


// Candy 🍭


Maßgeschneidert und individuell, die passende Infrastruktur fĂŒr dein Unternehmen. Ob Kiosk, Restaurant, Online-Shop oder als Reisender ohne Internet. Finde deine Lösung auf business-bitcoin.de
Sweater, T-Shirts, Jacken, MĂŒtzen und vieles mehr von der wildesten Bitcoin-Fashion-Brand direkt aus Frankfurt auf bitcoin-rebel.com

Feels good to be back! Aber irgendwie ist Urlaub schon was Feines ;)

In diesem Sinne, 2... 1... Risiko!‌

Sven