Zpravodaj tento týden shrnuje příspěvek o možnosti plných uzlů ignorovat transakce, které nejsou dopředu vyžádané. Též nechybí naše pravidelné rubriky s oblíbenými otázkami a odpověďmi z Bitcoin Stack Exchange, oznámeními nových vydání a významnými změnami v populárním bitcoinovém páteřním software.

Novinky

  • Ignorování nevyžádaných transakcí: Antoine Riard zaslal do emailové skupiny Bitcoin-Dev příspěvek s návrhem dvou BIPů, které by uzlům umožnily signalizovat, že již nebudou přijímat zprávy tx, které předtím nevyžádaly zprávou inv, nazývané nevyžádané transakce (unsolicited transactions). Riard podobnou myšlenku navrhl již v roce 2021 (viz zpravodaj č. 136, angl.). První navržený BIP přidává mechanismus, kterým by uzly signalizovaly své schopnosti a preference přeposílání transakcí. Druhý BIP by pomocí tohoto mechanismu umožnil uzlům určit, že uzel bude nevyžádané transakce ignorovat.

    Návrh přináší několik drobných výhod, jak bylo diskutováno v pull requestu do Bitcoin Core, ale je v rozporu s designem některých starších lehkých klientů a mohl by uživatelům tohoto software zabránit ve zveřejňování vlastních transakcí. Nasazení by tedy muselo být provedeno opatrně. Ačkoliv Riard zmíněný pull request nejprve otevřel, později jej zavřel a naznačil, že plánuje pracovat na implementaci vlastního plného uzlu postaveného na libbitcoinkernel. Též uvedl, že návrh by mohl pomoci v obraně proti některým útokům, které nedávno odhalil (zpravodaj č. 332).

Vybrané otázky a odpovědi z Bitcoin Stack Exchange

Bitcoin Stack Exchange je jedním z prvních míst, kde hledají přispěvatelé Optechu odpovědi na své otázky a kde – najdou-li volnou chvíli – pomáhají zvědavým či zmateným uživatelům. V této měsíční rubrice nabízíme některé z otázek a odpovědí, které obdržely vysoký počet hlasů.

Vydání nových verzí

Vydání nových verzí oblíbených páteřních bitcoinových projektů. Prosíme, zvažte upgrade či pomoc s testováním.

Významné změny kódu a dokumentace

Významné změny z tohoto týdne v 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 a repozitáři BINANA.

  • Core Lightning #8116 mění způsob nakládání s přerušeným vyjednáváním o zavření kanálu. Nově bude proces opakovat, i když to nebude potřeba. Změna opravuje problém, kdy se kvůli chybějící zprávě closing_signed uzel pokusí o opakované připojení, obdrží chybu a zveřejní jednostrannou zavírací transakci. Mezitím však je protistrana již ve stavu CLOSINGD_COMPLETE, a proto zveřejní transakci pro vzájemné uzavření kanálu, což může vést k soupeření mezi těmito dvěma transakcemi. Díky opravě může vyjednávání pokračovat až do potvrzení transakce vzájemného uzavření kanálu.

  • Core Lightning #8095 přidává do příkazu setconfig (viz též zpravodaj č. 257) příznak transient, díky kterému může být nastavení aplikováno pouze dočasně, bez změny konfiguračního souboru. Takové změny konfigurace nejsou tedy po restartu znovu aplikovány.

  • Core Lightning #7772 přidává do pluginu chanbackup aktualizaci záložního souboru emergency.recover (viz též zpravodaj č. 324) při každé revokaci commitmentu (když uzel obdrží nový tajný kód pro revokaci). Díky tomu mohou uživatelé zamést (sweep) prostředky v rámci trestající transakce poté, co protistrana zveřejnila neplatný, revokovaný stav. Tato změna rozšiřuje formát statických záloh kanálu a umožňuje pluginu chanbackup serializovat do starého i nového formátu.

  • Core Lightning #8094 přidává do pluginu xpay (viz zpravodaj č. 330) konfigurační volbu xpay-slow-mode, která na vrácení výsledku počká až do vyřešení všech částí platby s více cestami (multipath payments, MPP). Bez tohoto nastavení mohla být vrácena chybová hláška, i když některá HTLC stále čekala na vyřízení. Pokud se uživatel úspěšně znovu pokusil o platbu z jiného uzlu, mohlo dojít k přeplacení, pokud se zároveň urovnala čekající HTLC.

  • Eclair #2993 umožňuje příjemci zaplatit poplatky asociované se zaslepenou částí cesty, zatímco odesílatel pokryje poplatky nezaslepené části. Dříve odesílatel platil všechny poplatky, což mu mohlo pomoci odhalit zaslepenou cestu.

  • LND #9491 přidává do příkazu lncli closechannel podporu pro kooperativní zavření kanálu, i když má stále aktivní HTLC. V případě zavolání pozastaví LND kanál, aby zabránil tvorbě nových HTLC, a počká na vyřízení všech existujících HTLC. Poté započne vyjednávání. Uživatelé musí pro aktivaci tohoto chování nastavit příznak no_wait; v opačném případě obdrží chybovou hlášku. PR dále zajistí, že nastavení max_fee_rate je během kooperativního zavření kanálu vynuceno pro obě strany (dříve bylo jen pro druhou stranu).

Chcete víc?

Další diskuze o tématech zmíněných v tomto zpravodaji proběhnou v týdenním Bitcoin Optech Recap na Riverside.fm dne 4. 3. v 15:30 UTC. Diskuze jsou nahrávány a zpřístupněny na stránce našeho podcastu.