/ home / newsletters /
Zpravodaj „Bitcoin Optech” č. 354
Zpravodaj tento týden popisuje opravenou zranitelnost postihující staré verze Bitcoin Core. Též nechybí naše pravidelné rubriky se souhrnem nedávných diskuzí o změnách konsenzu, oznámeními nových vydání a popisem významných změn v populárním bitcoinovém páteřním software.
Novinky
- ● Odhalení zranitelnosti postihující staré verze Bitcoin Core: Antoine Poinsot zaslal do emailové skupiny Bitcoin-Dev příspěvek s oznámením zranitelnosti postihující verze Bitcoin Core před 29.0. Zranitelnost původně zodpovědně nahlásil Eugene Siegel spolu s další, úzce související zranitelností popsanou ve zpravodaji č. 314. Útočník mohl poslat nadměrný počet oznámení adresy uzlu, který způsobil přetečení 32bitového identifikátoru a pád uzlu. Částečné opatření spočívalo v omezení počtu těchto zpráv na jednu za deset sekund na jedno spojení. Tím by přetečení při výchozím počtu 125 spojení nenastalo za méně než deset let. Zranitelnost byla zcela odstraněna použitím 64bitových datových typů počínaje Bitcoin Core verzí 29.0 vydanou minulý měsíc.
Diskuze o změnách konsenzu
Měsíční rubrika shrnující návrhy a diskuze o změnách pravidel bitcoinového konsenzu.
-
● Popis výhod
OP_CTV
aOP_CSFS
pro BitVM: Robin Linus zaslal do fóra Delving Bitcoin příspěvek o několika vylepšeních BitVM, které by případné opkódy OP_CTV a OP_CSFS mohly přinést, pokud by byly soft forkem přidané do bitcoinu. Mezi popsané výhody patří bezproblémové navýšení počtu operátorů, „zhruba desetinásobné snížení velikosti transakcí” (což snižuje maximální možné náklady) a u některých kontraktů možnost neinteraktivního peggingu.
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.
- ● LND 0.19.0-beta.rc4 je kandidátem na vydání tohoto oblíbeného LN uzlu. Jedním významným vylepšením, které by si zasloužilo důkladné testování, je nové schéma RBF navyšování poplatků během kooperativního zavření kanálu.
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.
-
● Bitcoin Core #32155 přidává v kódu těžby mincetvorným transakcím časový zámek . Nastaví pole
nLockTime
na aktuální výšku bloku mínus jedna a bude vyžadovat, aby polenSequence
nebylo finální (aby mohl být časový zámek vynucen). I když není na mainnetu obvykle vestavěná těžba používána, tato změna by měla povzbudit těžební pooly k implementaci těchto změn do svého software v přípravě na navrhovaný soft fork pročištění konsenzu (BIP54). Přidání časového zámku do mincetvorných transakcí řeší zranitelnost duplikovaných transakcí a umožní odstranit nákladnou kontrolu dle BIP30. -
● Bitcoin Core #28710 odstraňuje zbývající kód, dokumentaci a testy související se zastaralými peněženkami včetně RPC volání
importmulti
,sethdseed
,addmultisigaddress
,importaddress
,importpubkey
,dumpwallet
,importwallet
anewkeypool
. Jako finální krok odstranění podpory zastaralých peněženek je odstraněna závislost na BerkeleyDB. Malá část kódu a nezávislý parser databáze (viz zpravodaj č. 305) zůstávají zachovány pro možnost provádět migraci na deskriptorové peněženky. -
● Core Lightning #8272 odstraňuje z démonu
connectd
mechanismus vyhledávání spojení z DNS seedu. Řeší tím problémy způsobené offline DNS seedy. -
● LND #8330 přidává do modelu pravděpodobnosti bimodálního hledání cest malou konstantu (1/c), která řeší numerickou nestabilitu. V okrajových případech, kde by jinak výpočet selhal kvůli chybám zaokrouhlování nebo by byla výsledkem nulová pravděpodobnost, poskytuje tato regularizace záložní mechanismus v podobě návratu k rovnoměrnému rozdělení. Změna opravuje chybu normalizace, která se objevuje ve scénářích pracujících s objemnými kanály nebo kanály, které do bimodálního rozdělení nezapadají. Dále model přestane provádět některé nepotřebné výpočty pravděpodobnosti a bude opravovat neaktuální data o likviditě kanálu a rozporné historické informace.
-
● Rust Bitcoin #4458 nahrazuje strukturu
MtpAndHeight
explicitní dvojicí typůBlockMtp
(nově přidaný) aBlockHeight
(již existující). Tím umožní lepší reprezentaci výšky bloku a mediánu času posledních 11 bloků (Median Time Past, MTP) v relativních časových zámcích. Na rozdíl odlocktime::absolute::MedianTimePast
, jehož hodnota je minimálně 500 miliónů (zhruba rok 1985), můžeBlockMtp
reprezentovat jakékoliv 32bitové časové razítko. Může být tedy použit i v teoretických okrajových případech např. v řetězcích s neobvyklými časovými razítky. Změna dále přinášíBlockMtpInterval
a přejmenováváBlockInterval
naBlockHeightInterval
. -
● BIPs #1848 mění stav BIP345 na
Withdrawn
(stažen), jelikož autor věří, že jím navrhovaný opkódOP_VAULT
byl překonán opkódemOP_CHECKCONTRACTVERIFY
(OP_CCV), který přináší obecnější návrh úschoven a nový typ kovenantů. -
● BIPs #1841 začleňuje BIP172, který navrhuje na základě současného hojného používání formálně definovat „satoshi” jako nedělitelnou bázovou jednotku bitcoinu.
-
● BIPs #1821 začleňuje BIP177, který navrhuje předefinovat „bitcoin” jako nejmenší nedělitelnou jednotku (běžně nazývanou satoshi) namísto 100 000 000 těchto jednotek. Návrh tvrdí, že sjednocení terminologie se skutečnou bázovou jednotkou by odstranilo zmatky způsobené nahodilým formátováním desetinných čísel.
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 20. 5. v 16:30 UTC. Diskuze jsou nahrávány a zpřístupněny na stránce našeho podcastu.