/ home / newsletters /
Zpravodaj „Bitcoin Optech” č. 323
Zpravodaj tento týden oznamuje plánované odhalení bezpečnostní zranitelnosti a připojuje naše pravidelné rubriky s popisem nových vydání a významných změn v populárním bitcoinovém páteřním software.
Novinky
- ● Nadcházející odhalení bezpečnostní zranitelnosti btcd: Antoine Poinsot zaslal do fóra Delving Bitcoin příspěvek s oznámením odhalení chyby konsenzu postihující plné uzly btcd plánované na 10. října. Z hrubého průzkumu aktivních plných uzlů Poinsot odhaduje, že kolem 36 btcd uzlů je stále zranitelných (i když 20 z nich též trpí zranitelností, která byla již odhalena, viz zpravodaj č. 286). V odpovědi potvrdil vývojář btcd Olaoluwa Osuntokun existenci zranitelnosti a její opravení ve verzi 0.24.2. Provozovatelé starší verze btcd jsou nabádáni k upgradu na poslední verzi, která byla označena za kritickou opravu.
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.
-
● Bitcoin Core 28.0 je nová hlavní verze této převládající implementace plného uzlu. Jedná se o první vydání podporující testnet4, příležitostné přeposílání balíčku s jedním rodičem a jedním rodičem (one-parent-one-child package relay, 1p1c). Dále přináší aktivované přeposílání transakcí do potvrzení topologicky omezených (TRUC), aktivované přeposílání pay-to-anchor transakcí, omezené RBF přeposílání balíčků a aktivovaný full-RBF. Byly přidány výchozí parametry pro assumeUTXO, což umožní použít RPC příkaz
loadtxoutset
k načtení množiny UTXO stažené mimo bitcoinovou síť (např. přes torrent). Vydání též obsahuje mnoho dalších vylepšení a oprav chyb. Pro podrobnosti viz poznámky k vydání. -
● BDK 1.0.0-beta.5 je kandidátem na vydání této knihovny pro budování peněženek a jiných aplikací s podporou bitcoinu. Tento kandidát „aktivuje ve výchozím nastavení RBF a klient bdk_esplora se bude po selhání opakovaně zkoušet znovu připojit. Balíček
bdk_electrum
také nově nabízí konfigurační příznakuse-openssl
.”
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, Bitcoin Inquisition a repozitáři BINANA.
-
● Bitcoin Core #30043 přináší vestavěnou implementaci Port Control Protocol (PCP) s podporou IPv6 pinholingu, který uzlům umožní dostupnost bez manuální konfigurace routeru. Tato změna nahrazuje stávající závislost
libnatpmp
pro mapování IPv4 portů s PCP a zároveň implementuje záložní mechanismus pro NAT Port Mapping Protocol (NAT-PMP). Ačkoliv je PCP / NAT-PMP ve výchozím nastavení neaktivní, v budoucích vydáních se to může změnit. Viz též zpravodaj č. 131 (angl.). -
● Bitcoin Core #30510 přidává k rozhraní
Mining
(viz zpravodaj č. 310) wrapper meziprocesové komunikace (IPC). To oddělenému Stratum v2 procesu umožní vytvářet, spravovat a odesílat šablony bloků připojením k procesubitcoin-node
(viz též zpravodaj č. 320). Bitcoin Core #30409 rozhraníMining
rozšiřuje o novou metoduwaitTipChanged()
, která detekuje nově příchozí blok a pošle tento blok připojeným klientům. RPC metodywaitfornewblock
,waitforblock
awaitforblockheight
nově tuto metodu používají. -
● Core Lightning #7644 přidává do nástroje
hsmtool
příkaznodeid
, který pro daný záložní souborhsm_secret
vrací identifikátor uzlu. Cílem je předejít nejasnostem při párování uzlů a jejich záloh. -
● Eclair #2848 implementuje rozšiřitelné inzeráty likvidity (liquidity advertisements) dle návrhu v BOLTs #1153. Umožní prodejcům ve svých zprávách
node_announcement
inzerovat ceny, za kterých jsou ochotni prodat likviditu. Kupující se potom k těmto uzlům mohou připojit a o likviditu požádat. Použity mohou být též k vytváření kanálů s oboustranným financováním či pro přidání likvidity k existujícím kanálům pomocí splicingu. -
● Eclair #2860 přidává volitelnou zprávu
recommended_feerates
, kterou mohou uzly použít k informování svých spojení o poplatcích, které považují za akceptovatelné a které si přejí použít pro otevírací transakce. Pokud uzel odmítne žádost o otevření, bude zřejmé, že tak bylo na základě nesouladu představ o poplatcích. -
● Eclair #2861 implementuje financování za běhu dle specifikace v BLIPs #36. Umožní klientům s nedostatečnou příchozí likviditou požádat o dodatečnou likviditu pomocí protokolu inzerování likvidity (viz PR výše) a platbu tak obdržet. Prodejce likvidity platí poplatky za onchain transakce u kanálů s oboustranným financováním nebo splicingu, ale později během routování platby je kupující zaplatí zpět. Pokud není platba za poplatek dostatečná, prodejce může transakci utratit podruhé a použít likviditu jinde.
-
● Eclair #2875 implementuje kredit pro placení poplatku za otevření kanálu dle specifikace v BLIPs #41. Umožní klientům s financováním za běhu (viz PR výše) přijmout platby, které jsou příliš nízké na pokrytí onchain poplatků. Jakmile je nashromážděn dostatečný kredit na poplatky, může být použit k vytvoření onchain transakce např. pro financování či splicing. Klienti spoléhají, že poskytovatelé likvidity budou v budoucích transakcích tento kredit ctít.
-
● LDK #3303 přidává do příchozí platby nové pole typu
PaymentId
. Záměrem je zlepšit idempotenci zpracování událostí, patřičné události během restartu uzlu tak budou zpracovány pouze jednou. Dříve se používal haš platby, který mohl vést k duplikovaným událostem.PaymentId
je autentizační kód zprávy založený na haši (HMAC) identifikátoru kanálu a HTLC obsažených v těle platby. -
● BDK #1616 ve výchozím stavu signalizuje RBF v
TxBuilder
. Volající může signál změnit patřičným číslem sekvence. -
● BIPs #1600 přináší několik změn do specifikace BIP85, mezi které patří např. objasnění, že
drng_reader.read
(pro čtení náhodných čísel) je identifikátor funkce a ne její volání, a jasnější je také nakládání s pořadím bajtů. Dále byla přidána podpora pro testnet (včetně nově referenční implementace v Pythonu), upřesněno bylo vysvětlení formátu WIF pro import seedu do hierarchické deterministické peněženky, byl přidán kód pro portugalštinu a opravy se dočkaly testovací vektory. Byl též určen nový reprezentant této specifikace. -
● BOLTs #798 začleňuje specifikaci protokolu nabídek jako BOLT12. Též přináší několik aktualizací BOLT1 a BOLT4.