Tento týden přinášíme varování o kompromitaci podepisovacích klíčů Bitcoin Knots, oznámení o vydání dvou softwarových forků Bitcoin Core a souhrn pokračující diskuze o pravidlech nahrazování transakcí. Též nechybí naše pravidelné rubriky s oznámeními o softwarových vydáních a popisem významných změn populárního bitcoinového páteřního software.

Novinky

  • Klíče podepisující Bitcoin Knots kompromitovány: vývojář implementace plného uzlu Bitcoin Knots oznámil, že PGP klíč, který používá k podepisování vydání Knots, byl kompromitován. Dále řekl: „Nestahujte Bitcoin Knots a nedůvěřujte mu, dokud se to nevyřeší. Pokud jste tak již v minulých několika měsících učinili, zvažte dočasné vypnutí.” Jiné implementace plného uzlu nejsou poznamenány.

  • Softwarové forky Bitcoin Core: minulý měsíc byly vydány dvě modifikace Bitcoin Core:

    • Bitcoin Inquisition: Anthony Towns oznámil v emailové skupině Bitcoin-Dev novou verzi Bitcoin Inquisition, softwarového forku Bitcoin Core navrženého k testování soft forků a jiných změn protokolu na signetu. Tato verze obsahuje podporu pro navrhované SIGHASH_ANYPREVOUT a OP_CHECKTEMPLATEVERIFY. Townsův email dále obsahuje dodatečné informace pro každého, kdy bych se chtěl tohoto testování zúčastnit.

    • Uzel pro full RBF spojení: Peter Todd oznámil patch Bitcoin Core 24.0.1, který nastavuje full-RBF service bit během oznamování síťových adres dalším uzlům, avšak pouze má-li uzel nastavenu volbu mempoolfullrbf. Uzly běžící s tímto patchem se navíc připojují až k čtyřem dalším uzlům oznamujícím podporu pro full RBF. Peter Todd poznamenává, že Bitcoin Knots, jiná implementace plného uzlu, také oznamuje tento service bit, i když neobsahuje obdobný kód pro připojování. Patch je založen na Bitcoin Core pull requestu #25600.

  • Pokračuje diskuze o RBF: v pokračující diskuzi o aktivaci full-RBF na mainnetu se minulý měsíc v emailové skupině rozvíjelo několik paralelních debat:

    • Uzly s full RBF: Peter Todd prozkoumal plné uzly, které oznamovaly, že provozovaly Bitcoin Core 24.x a akceptovaly spojení na IPv4 adrese. Zjistil, že kolem 17 % přeposílalo full RBF nahrazení: transakce, které nahradily transakce bez BIP125 signálu. Může to znamenat, že tyto uzly měly aktivovánu volbu mempoolfullrbf, i když je ve výchozím stavu vypnuta.

    • Nové úvahy o RBF-FSS: Daniel Lipshitz zaslal do emailové skupiny Bitcoin-Dev nápad na druh nahrazování transakcí nazývaný First Seen Safe (FSS), kde by nahrazující transakce platila původním výstupům minimálně stejnou částku jako původní transakce. To by zaručilo, že by mechanismus nahrazování nemohl být použit ke krádeži prostředků od příjemce původní transakce. Yuval Kogman ve své odpovědi připojil odkaz na ranější verzi stejné myšlenky sdílené v roce 2015 Peterem Toddem. Todd v následující odpovědi popsal, proč je tento způsob méně preferovaný než opt-in nebo full RBF.

    • Motivace k full RBF: Anthony Towns zaslal do vlákna příspěvek s výčtem motivací různých skupin k používání full RBF. Towns analyzuje, co znamená a neznamená ekonomická racionalita v kontextu výběru transakcí těžařem. Těžaři optimalizující pro krátkodobý profit by přirozeně preferovali full RBF. Avšak, poznamenává Towns, těžaři, kteří učinili dlouhodobé kapitálové investice do zařízení, mohou namísto toho optimalizovat příjem z poplatků napříč několika bloky a nemusí tak nezbytně nutně upřednostňovat full RBF. Navrhuje k úvaze tři různé scénáře.

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.

  • Eclair 0.8.0 je hlavním vydáním této oblíbené implementace LN uzlu. Přidává podporu pro zero-conf kanály a aliasy pro krátké identifikátory kanálu (SCID). Pro více informací o těchto funkcích a dalších změnách viz poznámky k vydání.

  • LDK 0.0.113 je novou verzí této knihovny pro tvorbu peněženek a aplikací s Lightning Network.

  • BDK 0.26.0-rc.2 je kandidátem na vydání této knihovny pro tvorbu peněženek.

Významné změny v kódu a dokumentaci

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) a Lightning BOLTs.

  • Bitcoin Core #26265 snižuje požadavky na minimální povolenou velikost serializované transakce bez witnessů v rámci pravidel přeposílání transakcí z 82 bytů na 65 bytů. Například transakce s jedním vstupem a jedním výstupem se 4 byty OP_RETURN, která byla v předchozích verzích odmítáná z důvodu příliš malé velikosti, by nyní byla do mempoolu přijata a přeposílána dále. Pro informace o pozadí a motivaci viz zpravodaj č. 222 (angl.).

  • Bitcoin Core #21576 umožňuje peněženkám používajícím externí podpisová zařízení navýšit poplatek pomocí RBF, a to v GUI i RPC volání bumpfee.

  • Bitcoin Core #24865 umožňuje, aby byla peněženka obnovena ze zálohy též na ořezaných uzlech. Je však nutné, aby byly k dispozici bloky vzniklé po vytvoření peneženky. Bloky jsou potřebné při hledání všech transakcí, které mají vliv na stav peněženky. Záloha peněženky vytvořená z Bitcoin Core obsahuje datum vytvoření peněženky.

  • Bitcoin Core #23319 přidavá do odpovědi RPC volání getrawtransaction dodatečné informace, je-li parametr verbose nastaven na 2. Tyto nové informace obsahují poplatek za transakci a detaily o každém z předchozích výstupů, které jsou utráceny v této transakci. Pro podrobnosti o metodě získání těchto informací viz zpravodaj č. 172 (angl.).

  • Bitcoin Core #26628 odmítne RPC požadavky, obsahují-li opakovaný název parametru. Dříve byl v takovém případě uvažován pouze poslední z opakovaných parametrů, např. z {"foo"="bar", "foo"="baz"} byl použit pouze {"foo"="baz"}. Takový požadavek bude nově odmítnut a bude vrácena chybová hláška. bitcoin-cli používání opakovaných paramterů nemění; požadavek odmítnut nebude, avšak bude odeslán pouze poslední výskyt opakovaného parametru.

  • Eclair #2464 přidává možnost spustit událost, jakmile je spojení uzlu připravené přijímat platby. To je obzvláště užitečné v případě asynchronních plateb, kdy uzel dočasně zadržuje platbu pro vzdálené spojení, čeká, až se připojí, a pak platbu doručí.

  • Eclair #2482 umožňuje posílání platby pomocí zaslepených tras, což jsou cesty, jejichž několik posledních uzlů je zvoleno příjemcem. Příjemce zakryje informace o uzlech pomocí onion šifrování a pošle tato zašifrovaná data plátci spolu s identitou prvního uzlu zaslepené trasy. Plátce poté vytvoří cestu k tomuto prvnímu uzlu a připojí zašifrované údaje pro operátory posledních několika uzlů. Tento způsob umožňuje příjemci obdržet platbu, aniž by odhalil identitu svého uzlu nebo kanálů vedoucích k plátci, čímž zvušuje své soukromí.

  • LND #2208 počíná volit odlišné cesty podle poměru kapacity kanálu a částky platby. S částkou blížící se kapacitě kanálu klesá pravděpodobnost zařažení kanálu do cesty. Tento přístup je podobný hledání cesty v Core Lightning a LDK.

  • LDK #1738 a #1908 přidávají nové funkce pro nakládání s nabídkami.

  • Rust Bitcoin #1467 přidává vstupům a výstupům metody pro výpočet velikosti ve váhových jednotkách.

  • Rust Bitcoin #1330 odstraňuje datový typ PackedLockTime, jehož náhradou je téměř shodný typ absolute::LockTime. Rozdíl mezi těmito dvěma typy, který může mít vliv na použití, je, že PackedLockTime poskytoval implementaci traitu Ord, avšak absolute::LockTime ji neposkytuje. Locktime však bude i tak při řazení transakcí brán do úvahy.

  • BTCPay Server #4411 aktualizuje verzi závislosti Core Lightning na 22.11 (viz zpravodaj č. 229). Uživatelé, kteří chtějí do BOLT11 faktury zahrnout hash popisky objednávky, již nemusí k tomuto účelu používat plugin invoiceWithDescriptionHash, ale postačí nastavit pole description a volbu descriptionHashOnly.