Gloria Zhao ist Bitcoin-Core-Entwicklerin und Autorin von BIP 331 und BIP 431. Sie beschäftigt sich mit dem Mempool, dem lokalen Speicher unbestätigter Transaktionen eines Knotens, und den Regeln für deren Annahme und Weitergabe. Diese wenig sichtbaren Teile der Software bestimmen, von welchen Zahlungen ein Knoten erfährt und welche er weiterleitet. Ihre Entwicklung umfasst Programmierung, sorgfältige Prüfung und die Suche nach Schutz vor Missbrauch.
Gloria Zhao kam am 4. Januar 2021 als erste Stipendiatin zu Brink. Im Jahr 2022 wurde sie Bitcoin-Core-Maintainerin und damit eine der Personen, die sich um Quellcode und Entwicklungsabläufe kümmern. Das ist Arbeit an einer bestimmten Software, keine Ernennung zur Leiterin von Bitcoin. Die für diese Überarbeitung eingesehene Alumni-Übersicht von Brink bezeichnet sie als ehemalige Maintainerin. Beim Lesen ihrer Biografie sind daher die Daten wichtig: Ein Bericht über eine frühere Ernennung belegt nicht, welche Funktion jemand heute ausübt. [1] [2]
Guter Code braucht weitere Menschen, die ihn prüfen. Zhao arbeitete im Bitcoin Core PR Review Club mit, in dem neue Mitwirkende lernen, vorgeschlagene Änderungen zu lesen und ihre Folgen zu untersuchen. Ein PR, also Pull Request, beantragt die Übernahme einer Änderung ins Projekt. Der Club vermittelt, welches Problem sie löst und wie man sie prüft; sein Hauptziel ist nicht, einen bestimmten PR zur Übernahme zu bringen. Die Diskussion dient dem Lernen und der Vorbereitung, nicht der automatischen Freigabe von Code oder einer Veröffentlichung. [2] [3]
Der Mempool ist keine gemeinsame Warteschlange für das ganze Netzwerk. Jeder Knoten entscheidet, welche unbestätigten Transaktionen er annimmt und weitergibt, etwa anhand der Gebühren und des Schutzes vor Überlastung. Das sind lokale Richtlinien. Sie unterscheiden sich von den Konsensregeln, mit denen Knoten die Gültigkeit von Blöcken prüfen. Zhao unterzeichnete die Erklärung vom 6. Juni 2025, die die Softwarewahl der Nutzer betont. Entwickler können andere Richtlinien vorschlagen, aber weder eine Unterschrift noch Verwaltungsrechte am Repository überschreiben die Software aller anderen Knoten. [4]
Eine Transaktion kann Geld aus einer anderen ausgeben, die noch nicht bestätigt ist. Die frühere heißt Elterntransaktion, die davon abhängige Kindtransaktion. Zhaos BIP 331 schlägt Package Relay vor, also die Übertragung zusammenhängender Transaktionen als Paket. Knoten würden über sendpackages die Unterstützung aushandeln, zuerst Informationen über benötigte Vorfahren und danach die eigentlichen Transaktionsdaten abrufen. So müssten sie fehlende Glieder nicht mühsam einzeln suchen. Das Dokument trägt den Status Draft, also Entwurf; seine Existenz belegt keine vollständige Einführung im gesamten Netzwerk. [5]
Stellen wir uns eine eingehende, noch unbestätigte Zahlung mit zu niedriger Gebühr vor. Wer ihren Ausgang ausgeben kann, kann eine Folgetransaktion mit höherer Gebühr erzeugen. Das ist CPFP, Child Pays for Parent: Um die Gebühr der Kindtransaktion zu erhalten, muss ein Miner auch die Elterntransaktion aufnehmen und kann beide gemeinsam bewerten. Ein Knoten, dem die Elterntransaktion fehlt, kann das Kind normalerweise nicht allein annehmen. Dieses Hindernis bei der Weitergabe behandelt BIP 331. Eine höhere Gebühr ersetzt aber keine gültigen Signaturen oder Eingänge und garantiert auch keine Bestätigung bis zu einem bestimmten Zeitpunkt. [5]
Bitcoin Core 28.0 führte ein begrenztes 1P1C-Verfahren ein: eine Eltern- und eine Kindtransaktion. Über die vorhandene P2P-Kommunikation, den direkten Austausch zwischen Knoten, ließen sich geeignete Transaktionen zusammenführen und gemeinsam bewerten. Das ist eine konkrete Verbesserung, aber keine vollständige Umsetzung von BIP 331. Die Versionshinweise schließen bei diesem Netzwerkverfahren ein Kind mit mehreren unbestätigten Eltern ausdrücklich aus und warnen vor fehlender Zuverlässigkeit unter Angriffen. Wer eine Wallet baut, die auf Weitergabe angewiesen ist, muss diese begrenzte Funktion vom umfassenderen Vorschlag unterscheiden. [5] [6]
Angreifer können Mempool-Grenzen ausnutzen, um das Ersetzen einer Transaktion oder das Erhöhen ihrer Gebühr zu erschweren. Das nennt sich Pinning. Die TRUC-Richtlinie beschränkt Abhängigkeiten zwischen Transaktionen bis zur Bestätigung, damit sich Annahme und Ersatz leichter beurteilen lassen. Bitcoin Core 28.0 führte sie für Transaktionen mit nVersion=3 ein. Zhaos BIP 431 beschreibt den Ansatz als Informationsdokument mit Status Draft. Die Begrenzung unbestätigter Vorfahren und Nachkommen hilft, doch der Schutz hängt auch davon ab, ob andere Knoten die Richtlinie übernehmen. Sie garantiert weder Schutz vor jedem Pinning noch rechtzeitige Aufnahme in einen Block. [6] [7]
Ein Programm kann seinem eigenen Knoten mit submitpackage ein Paket übergeben. Die Dokumentation von Bitcoin Core 28.0 erklärt, dass dieser Befehl über die RPC-Schnittstelle zur Kommunikation mit dem Knoten sowohl Konsensregeln als auch Mempool-Richtlinien prüft. Transaktionen, die die Prüfungen bestehen, können angenommen werden, auch wenn ein anderer Teil des Pakets scheitert. Ein Fehler macht deshalb nicht zwingend das gesamte Ergebnis rückgängig. Zu lesen sind sowohl die Zusammenfassung package_msg als auch die einzelnen tx-results. Selbst lokaler Erfolg belegt weder netzweite Verbreitung noch die Aufnahme der Transaktionen in einen Block. [8]
Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Mike Hearn, Mempool, Package Relay. Auf diesen Eintrag verweisen außerdem Package Relay, Mike Hearn, Sergio Demian Lerner.