Dieser Newsletter fasst eine Sicherheitslücke in älteren Eclair-Versionen sowie Forschungsergebnisse zu Feerate-Einstellungen von Full Nodes zusammen. Außerdem finden Sie wie gewohnt unsere Abschnitte mit ausgewählten Fragen & Antworten von Bitcoin Stack Exchange, Ankündigungen zu neuen Releases und Release Kandidaten sowie bemerkenswerte Änderungen an verbreiteter Bitcoin-Infrastruktur-Software.

Nachrichten

  • Eclair-Sicherheitslücke: Matt Morehouse postete auf Delving Bitcoin eine verantwortungsvolle Offenlegung (responsible disclosure) einer Sicherheitslücke in älteren Eclair-Versionen. Allen Eclair-Nutzern wird empfohlen, auf Version 0.12 oder neuer zu aktualisieren. Die Lücke ermöglichte es einem Angreifer, eine alte Commitment-Transaktion zu veröffentlichen und so alle aktuellen Mittel eines Kanals zu stehlen. Neben der Behebung der Lücke haben die Eclair-Entwickler eine umfangreiche Test-Suite hinzugefügt, um ähnliche Fehler künftig früher zu erkennen.

  • Untersuchung zu Feerate-Einstellungen: Daniela Brozzoni veröffentlichte auf Delving Bitcoin die Ergebnisse eines Scans von fast 30.000 Full Nodes, die eingehende Verbindungen akzeptierten. Jeder Knoten wurde nach dem BIP133 Fee-Filter befragt, der die niedrigste Feerate angibt, bei welcher der Knoten aktuell unbestätigte, weitergeleitete Transaktionen akzeptiert. Solange die Mempools nicht voll sind, entspricht dies dem standardmäßigen minimalen Relay-Feerate des Knotens. Die Auswertung zeigt, dass die meisten Knoten den bisherigen Standard von 1 sat/vbyte (s/v) verwenden. Etwa 4 % der Knoten nutzten 0,1 s/v, den Standard der kommenden Bitcoin Core 30.0, und rund 8 % antworteten gar nicht auf die Abfrage – was auf sogenannte Spy-Nodes hindeuten kann.

    Ein kleiner Anteil der Knoten gab den Wert 9.170.997 (10.000 s/v) als Feefilter an; Entwickler 0xB10C merkte an, dass Bitcoin Core diesen, durch Rundung entstandenen, Wert setzt, wenn der Knoten mehr als 100 Blöcke hinter dem Tip liegt und sich auf den Empfang von Blockdaten statt auf Transaktionen konzentriert, die in späteren Blöcken bestätigt werden könnten.

Ausgewählte Fragen & Antworten von Bitcoin Stack Exchange

Bitcoin Stack Exchange ist eine der ersten Anlaufstellen für Optech-Beitragende, wenn sie nach Antworten suchen – oder um in kurzen Pausen fragenden Nutzern zu helfen. In diesem monatlichen Beitrag heben wir einige der am besten bewerteten Fragen und Antworten seit unserem letzten Update hervor.

Releases und Release-Kandidaten

Neue Releases und Release-Kandidaten für verbreitete Bitcoin-Infrastrukturprojekte. Bitte erwägen Sie ein Upgrade auf neue Releases oder helfen Sie beim Testen von Release-Candidates.

Wichtige Code- und Dokumentationsänderungen

Bemerkenswerte Änderungen in Bitcoin Core, Core Lightning, Eclair, LDK, LND, libsecp256k1, Hardware Wallet Interface (HWI), Rust Bitcoin, BTCPay Server, BDK, Bitcoin Improvement Proposals (BIPs), Lightning BOLTs, Lightning BLIPs, Bitcoin Inquisition und BINANAs.

  • Bitcoin Core #33333 gibt nun eine Startwarnung aus, wenn die dbcache Einstellung eines Knotens einen Schwellenwert überschreitet, der aus dem verfügbaren Arbeitsspeicher des Systems abgeleitet wird. Das soll Out-of-Memory-Fehler oder intensives Swapping verhindern. Für Systeme mit weniger als 2 GB RAM liegt die dbcache-Warnschwelle bei 450 MB; andernfalls beträgt die Schwelle 75 % des gesamten RAM. Das frühere dbcache-Limit von 16 GB wurde im September 2024 entfernt (siehe Newsletter #321).

  • Bitcoin Core #28592 erhöht die pro-Peer-Transaktions-Relay-Rate für eingehende Verbindungen von 7 auf 14, um der gestiegenen Präsenz kleinerer Transaktionen im Netzwerk Rechnung zu tragen. Für ausgehende Peers ist die Rate 2,5-mal höher und steigt auf 35 Transaktionen pro Sekunde. Die Relay-Rate begrenzt, wie viele Transaktionen ein Knoten seinen Peers sendet.

  • Eclair #3171 entfernt PaymentWeightRatios, eine Pfadfindungsmethode, die Uniformität in Kanal-Balances annahm, und ersetzt sie durch einen neu eingeführten probabilistischen Ansatz, der auf vergangenen Zahlungsversuchen basiert (siehe Newsletter #371).

  • Eclair #3175 lehnt nun unbezahllbare BOLT12 Offers ab, bei denen die Felder offer_chains, offer_paths, invoice_paths und invoice_blindedpay vorhanden, aber leer sind.

  • LDK #4064 aktualisiert die Signaturprüfungslogik, sodass, wenn das Feld n (Payee-Pubkey) vorhanden ist, die Signatur gegen diesen Wert verifiziert wird. Andernfalls wird der Pubkey des Empfängers aus der BOLT11 Invoice extrahiert; sowohl High-S- als auch Low-S-Signaturen werden berücksichtigt. Dieser PR bringt die Prüfungen in Einklang mit dem vorgeschlagenen BOLTs #1284 und anderen Implementierungen wie Eclair (siehe Newsletter #371).

  • LDK #4067 fügt Unterstützung dafür hinzu, P2A ephemeral anchor Ausgaben aus zero-fee commitment Transaktionen auszugeben, sodass Kanalpartner ihre Mittel on-chain zurückfordern können. Siehe Newsletter #371 für LDKs Implementierung von Zero-Fee-Commitment-Kanälen.

  • LDK #4046 ermöglicht es einem häufig offline befindlichen Sender, async payments an einen häufig offline befindlichen Empfänger zu senden. Der Sender setzt ein Flag in der update_add_htlc Nachricht, damit das HTLC beim LSP gehalten wird, bis der Empfänger wieder online ist und eine release_held_htlc Onion-Nachricht sendet, um die Zahlung zu beanspruchen.

  • LDK #4083 markiert den Endpoint pay_for_offer_from_human_readable_name als veraltet, um doppelte BIP353 HRN-Zahlungs-APIs zu entfernen. Wallets sollten die bitcoin-payment-instructions-Crate verwenden, um Zahlungsanweisungen zu parsen und aufzulösen, bevor sie pay_for_offer_from_hrn aufrufen (z. B. satoshi@nakamoto.com).

  • LND #10189 aktualisiert sein sweeper-System (siehe Newsletter #346), sodass der Fehlercode ErrMinRelayFeeNotMet korrekt erkannt wird und fehlgeschlagene Transaktionen durch erneutes Senden mit erhöhter Gebühr (Fee Bumping) solange neu versucht werden, bis die Übertragung erfolgreich ist. Zuvor wurde der Fehler falsch zugeordnet, sodass kein Retry erfolgte. Außerdem verbessert der PR die Gewichtsschätzung, indem ein mögliches zusätzliches Change-Output berücksichtigt wird; relevant für Taproot-Overlay-Kanäle und LNDs Taproot Assets.

  • BIPs #1963 ändert den Status der BIPs, die kompakte Blockfilter spezifizieren (BIP157 und BIP158) von Draft zu Final, da sie seit 2020 in Bitcoin Core und anderer Software eingesetzt werden.