|
| 1 | +--- |
| 2 | +title: 'Zpravodaj „Bitcoin Optech” č. 307' |
| 3 | +permalink: /cs/newsletters/2024/06/14/ |
| 4 | +name: 2024-06-14-newsletter-cs |
| 5 | +slug: 2024-06-14-newsletter-cs |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: cs |
| 9 | +--- |
| 10 | +Zpravodaj tento týden oznamuje návrh BIPu pro formát kvantově bezpečných |
| 11 | +bitcoinových adres a obsahuje naše pravidelné rubriky se souhrnem |
| 12 | +Bitcoin Core PR Review Clubu, oznámeními nových vydání a popisem významných |
| 13 | +změn v populárních bitcoinových páteřních projektech. |
| 14 | + |
| 15 | +## Novinky |
| 16 | + |
| 17 | +- **Návrh BIPu pro kvantově bezpečný formát adres:** vývojář Hunter Beast |
| 18 | + zaslal do fóra Delving Bitcoin a emailové skupiny [příspěvek][beast post] |
| 19 | + s [„hrubým návrhem” BIPu][quantum draft], který přiřazuje segwitovou verzi |
| 20 | + 3 adresám s [kvantově odolným][topic quantum resistance] algoritmem elektronických |
| 21 | + podpisů. Návrh BIPu problém popisuje a odkazuje na několik potenciálních algoritmů |
| 22 | + s jejich očekávanou onchain velikostí. Volba algoritmu, detaily o konkrétní |
| 23 | + implementaci a dodatečné BIPy potřebné k plnému uskutečnění vize přidání kvantové |
| 24 | + odolnosti do bitcoinu jsou ponechány budoucím diskuzím. |
| 25 | + |
| 26 | +## Bitcoin Core PR Review Club |
| 27 | + |
| 28 | +*V této měsíční rubrice shrnujeme nedávné sezení [Bitcoin Core PR Review Club][] a |
| 29 | +vyzdvihujeme některé z důležitých otázek a odpovědí. Klikněte na otázku a odpověď se vám odhalí.* |
| 30 | + |
| 31 | +[Nemaž opakovaně indexy při pokračování předchozí reindexace][review club |
| 32 | +30132] je PR od [TheCharlatan][gh thecharlatan], které snižuje startovací dobu, |
| 33 | +pokud uživatel restartuje uzel ještě před dokončením reindexace. |
| 34 | + |
| 35 | +Bitcoin Core implementuje pět indexů. Vyžadované jsou indexy množiny UTXO a bloků, |
| 36 | +indexy transakcí, [filtru kompaktních bloků][topic compact block filters] a |
| 37 | +coinstats index jsou volitelné. Pokud je program spuštěn s volbou `-reindex`, |
| 38 | +všechny indexy jsou vymazány a přepočítány. Tento proces může trvat dlouho a |
| 39 | +není zaručeno, že skončí před ukončením programu. |
| 40 | + |
| 41 | +Jelikož uzel potřebuje aktuální množinu UTXO a index bloků, je stav jejich reindexace |
| 42 | +zapisován na disk. Na začátku reindexace je [aktivován][reindex flag set] příznak |
| 43 | +a deaktivován bude pouze po dokončení reindexace. Tímto způsobem může uzel při svém |
| 44 | +startu detekovat, že by měl pokračovat v reindexaci, i když uživatel neposkytl volbu. |
| 45 | + |
| 46 | +Když je uzel restartován (bez volby `-reindex`) po nedokončené reindexaci, jsou |
| 47 | +vyžadované indexy zachovány a bude se v nich pokračovat. Před tímto PR byly |
| 48 | +volitelné index vymazány znovu. Díky [Bitcoin Core #30132][] může být start |
| 49 | +uzlu efektivnější, jelikož tyto volitelné index nejsou vymazány, pokud to není |
| 50 | +nutné. |
| 51 | + |
| 52 | +{% include functions/details-list.md |
| 53 | + q0="Jakou změnu chování přináší toto PR?" |
| 54 | + a0="Chování se mění ve třech aspektech. Zaprvé, dle záměru tohoto PR, se již |
| 55 | + při restartu po nedokončené reindexaci nebudou mazat volitelné indexy. Tím |
| 56 | + bude chování volitelných indexů totožné s vyžadovanými. Zadruhé pokud |
| 57 | + uživatel vyvolá reindexaci přes GUI, nebude již tento požadavek ignorován. |
| 58 | + Tím se opraví nenápadná chyba představená v [b47bd95][gh b47bd95]. |
| 59 | + Zatřetí je odstraněna logovací zpráva \"Initializing databases...\\n\"." |
| 60 | + a0link="https://bitcoincore.reviews/30132#l-19" |
| 61 | + |
| 62 | + q1="Jakými dvěma způsoby zpracovávají volitelné indexy nové bloky?" |
| 63 | + a1="Když se inicializuje volitelný index, zkontroluje, zda-li je jeho |
| 64 | + nejvyšší blok shodný s aktuálním nejvyšším blokem blockchainu. Pokud není, |
| 65 | + nejdříve zpracuje všechny chybějící bloky v rámci synchronizace na pozadí |
| 66 | + (pomocí `BaseIndex::StartBackgroundSync()`). Další bloky bude potom |
| 67 | + zpracovávat rozhraním validace pomocí `ValidationSignals::BlockConnected`." |
| 68 | + a1link="https://bitcoincore.reviews/30132#l-52" |
| 69 | + |
| 70 | + q2="Jaký dopad má toto PR na logiku zpracovávání nových bloků u volitelných indexů?" |
| 71 | + a2="Před tímto PR vymazání volitelných indexů bez vymazání stavu |
| 72 | + řetězce znamenalo, že byly tyto indexy považovány za nesynchronizované. |
| 73 | + Dle předchozí otázky to znamená, že nejdříve provedou synchronizaci na pozadí |
| 74 | + a poté přepnou do rozhraní validace. S tímto PR zůstávají volitelné indexy |
| 75 | + synchronizované se stavem řetězce, žádná synchronizace na pozadí tak není |
| 76 | + potřebná. Poznámka: synchronizace na pozadí začíná až po dokončení reindexace, |
| 77 | + zpracování validačních událostí se děje paralelně." |
| 78 | + a2link="https://bitcoincore.reviews/30132#l-70" |
| 79 | +%} |
| 80 | + |
| 81 | +## Vydání nových verzí |
| 82 | + |
| 83 | +*Vydání nových verzí oblíbených páteřních bitcoinových projektů. Prosíme, |
| 84 | +zvažte upgrade či pomoc s testováním.* |
| 85 | + |
| 86 | +- [Core Lightning 24.05][] je vydáním příští hlavní verze této populární implementace |
| 87 | + LN uzlu. Obsahuje vylepšení, díky kterým lépe funguje s ořezanými plnými uzly (viz |
| 88 | + [zpravodaj č. 300][news300 cln prune]), umožňuje RPC volání `check` fungovat s pluginy |
| 89 | + (viz [zpravodaj č. 302][news302 cln check]), přináší vylepšení stability (popsáno |
| 90 | + například ve zpravodajích [č. 303][news303 cln chainlag] a [č. 304][news304 cln feemultiplier]), |
| 91 | + umožňuje robustnější doručování [nabídek][topic offers] (viz [zpravodaj č. 304][news304 cln |
| 92 | + offers]) a opravuje přeplácení na poplatcích, pokud je použita konfigurační volba |
| 93 | + `ignore_fee_limits` (viz [zpravodaj č. 306][news306 cln overpay]). |
| 94 | + |
| 95 | +- [Bitcoin Core 27.1][] je údržbovým vydáním této převládající implementace plného uzlu, |
| 96 | + která obsahuje opravy několika chyb. |
| 97 | + |
| 98 | +## Významné změny kódu a dokumentace |
| 99 | + |
| 100 | +_Významné změny z tohoto týdne v [Bitcoin Core][bitcoin core repo], [Core |
| 101 | +Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo], |
| 102 | +[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet |
| 103 | +Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay |
| 104 | +Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement |
| 105 | +Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo], |
| 106 | +[Bitcoin Inquisition][bitcoin inquisition repo] a [repozitáři BINANA][binana |
| 107 | +repo]._ |
| 108 | + |
| 109 | +- [Bitcoin Core #29496][] navyšuje hodnotu konstanty `TX_MAX_STANDARD_VERSION` na 3, |
| 110 | + čímž činí standardními do potvrzení topologicky omezené ([TRUC][topic v3 transaction |
| 111 | + relay]) transakce. Je-li verze transakce rovná hodnotě 3, bude s ní nakládáno jako |
| 112 | + s TRUC transakcí dle specifikace v [BIP431][]. Hodnota `CURRENT_VERSION` zůstává 2, |
| 113 | + peněženka tedy TRUC transakce zatím vytvářet nebude. |
| 114 | + |
| 115 | +- [Bitcoin Core #28307][] opravuje chybu, která aplikovala maximální velikost P2SH skriptu |
| 116 | + (520 bajtů) i na redeem skripty u P2SH-segwit i bech32. Díky opravě je možné vytvářet |
| 117 | + multisig [deskriptory výstupů][topic descriptors] s více než 15 klíči (až do 20 klíčů, |
| 118 | + což je limit konsenzu pro `OP_CHECKMULTISIG`) včetně jejich podepisování. |
| 119 | + |
| 120 | +- [Bitcoin Core #30047][] refaktoruje reprezentaci limitu počtu znaků (`charlimit`) |
| 121 | + [bech32][topic bech32] kódování z konstanty 90 na výčtový typ. Díky tomu je snadné |
| 122 | + podporovat nové typy adres, které používají bech32 kódování, ale nemají stejný limit |
| 123 | + počtu znaků, jako definuje [BIP173][]. Například bude možné zpracovávat adresy |
| 124 | + [tichých plateb][topic silent payments], které vyžadují až 118 znaků. |
| 125 | + |
| 126 | +- [Bitcoin Core #28979][] přidává do dokumentace RPC příkazu `sendall` (viz [zpravodaj č. 194][news194 |
| 127 | + sendall], _angl._) informaci, že vedle potvrzených výstupů utrácí i nepotvrzené. Jsou-li nepotvrzené |
| 128 | + výstupy utracené, kompenzuje jakýkoliv _schodek poplatku_ (viz [zpravodaj č. 269][news269 deficit]). |
| 129 | + _Tento odstavec byl po publikaci opraven._[^correction-28979] |
| 130 | + |
| 131 | +- [Eclair #2854][] a [LDK #3083][] implementují [BOLTs #1163][], který odstraňuje požadavek |
| 132 | + na zaslání zprávy `channel_update` po neúspěšném doručení [onion zprávy][topic onion messages]. |
| 133 | + Tento požadavek umožňoval útok, ve kterém přeposílající uzel, který vygeneroval |
| 134 | + chybový status neúspěšného doručení, mohl identifikovat odesílatele [HTLC][topic htlc] |
| 135 | + díky `channel_update`, čímž narušil odesílatelovo soukromí. |
| 136 | + |
| 137 | +- [LND #8491][] přidává do `lncli` RPC příkazů `addinvoice` a `addholdinvoice` |
| 138 | + volbu `cltv_expiry`, která umožní uživatelům nastavit hodnotu `min_final_cltv_expiry_delta` |
| 139 | + ([CLTV expiry delta][topic cltv expiry delta] pro poslední část cesty). |
| 140 | + V popisu změny není uvedena motivace, mohlo by to však být v reakci na nedávné |
| 141 | + navýšení výchozí hodnoty z 9 na 18 bloků dle [BOLT2][] specifikace (viz |
| 142 | + [zpravodaj č. 284][news284 lnd final delta]). |
| 143 | + |
| 144 | +- [LDK #3080][] rozděluje `create_blinded_path` v `MessagerRouter` do dvou metod: |
| 145 | + jednu pro tvorbu kompaktních [zaslepených cest][topic rv routing] a druhou |
| 146 | + pro běžné zaslepené cesty. Volající si tedy může zvolit podle potřeby. |
| 147 | + Kompaktní zaslepené cesty používají krátké identifikátory kanálů (SCID), |
| 148 | + které odkazují na financující transakci (nebo alias kanálu) a mají obvykle |
| 149 | + 8 bajtů. Běžné zaslepené cesty odkazují na LN uzel jeho 33bajtovým veřejným klíčem. |
| 150 | + Kompaktní cesty mohou být neaktuální, pokud je kanál uzavřen nebo podstoupil |
| 151 | + [splicing][topic splicing], jsou tedy vhodnější pro krátkodobé QR kódy nebo |
| 152 | + odkazy, kde se nižší prostor ocení. Běžné cesty se upřednostňují u dlouhodobých |
| 153 | + případů použití včetně [nabídek][topic offers] založených na [onion zprávách][topic |
| 154 | + onion messages], kde díky použití identifikátorů uzlů lze přeposílat zprávy spojením, |
| 155 | + ke kterým již neexistuje kanál (onion zprávy kanály nevyžadují). `ChannelManager` |
| 156 | + bude nově používat kompaktní zaslepené cesty pro krátkodobé [nabídky][topic offers] |
| 157 | + a refundace, cesty pro odpovědi budou používat běžné zaslepené cesty. |
| 158 | + |
| 159 | +- [BIPs #1551][] přidává [BIP353][] se specifikací DNS platebních instrukcí. Tento |
| 160 | + protokol kóduje [BIP21][] adresy do TXT záznamů DNS. Protokol nabízí čitelnost |
| 161 | + instrukcí a možnost soukromého dotazování. Například `[email protected]` by mohl |
| 162 | + být přeložen na DNS adresu `example.user._bitcoin-payment.example.com`, která vrátí |
| 163 | + TXT záznam podepsaný pomocí DNSSEC a obsahující BIP21 URI, například |
| 164 | + `bitcoin:bc1qexampleaddress0123456`. [Zpravodaj č. 290][news290 bip353] obsahuje |
| 165 | + popis a [minulé číslo][news306 dns] zmiňuje začlenění BLIPu. |
| 166 | + |
| 167 | +{% assign four_days_after_posting = page.date | date: "%s" | plus: 345600 | date: "%Y-%m-%d 14:30" %} |
| 168 | +{% include snippets/recap-ad.md when=four_days_after_posting %} |
| 169 | + |
| 170 | +## Poznámky |
| 171 | + |
| 172 | +[^correction-28979]: |
| 173 | + Náš původní, zveřejnění popis Bitcoin Core #28979 tvrdil, že utrácení nepovrzených |
| 174 | + transakcí pomocí `sendall` byla změna chování. Děkujeme Gustavo Floresovi za jeho |
| 175 | + původní, správný popis (chybu zanesl editor zpravodaje). Mark „Murch” Edhardt |
| 176 | + chybu nahlásil, též mu děkujeme. |
| 177 | + |
| 178 | +{% include references.md %} |
| 179 | +{% include linkers/issues.md v=2 issues="29496,28307,30047,28979,2854,3083,1163,8491,3080,3072,1551,30132" %} |
| 180 | +[beast post]: https://delvingbitcoin.org/t/proposing-a-p2qrh-bip-towards-a-quantum-resistant-soft-fork/956 |
| 181 | +[quantum draft]: https://github.com/cryptoquick/bips/blob/p2qrh/bip-p2qrh.mediawiki |
| 182 | +[core lightning 24.05]: https://github.com/ElementsProject/lightning/releases/tag/v24.05 |
| 183 | +[Bitcoin Core 27.1]: https://bitcoincore.org/bin/bitcoin-core-27.1/ |
| 184 | +[news306 cln overpay]: /cs/newsletters/2024/06/07/#core-lightning-7252 |
| 185 | +[news304 cln feemultiplier]: /cs/newsletters/2024/05/24/#core-lightning-7063 |
| 186 | +[news304 cln offers]: /cs/newsletters/2024/05/24/#core-lightning-7304 |
| 187 | +[news303 cln chainlag]: /cs/newsletters/2024/05/17/#core-lightning-7190 |
| 188 | +[news302 cln check]: /cs/newsletters/2024/05/15/#core-lightning-7111 |
| 189 | +[news300 cln prune]: /cs/newsletters/2024/05/01/#core-lightning-7240 |
| 190 | +[review club 30132]: https://bitcoincore.reviews/30132 |
| 191 | +[gh thecharlatan]: https://github.com/TheCharlatan |
| 192 | +[gh b47bd95]: https://github.com/bitcoin/bitcoin/commit/b47bd959207e82555f07e028cc2246943d32d4c3 |
| 193 | +[reindex flag set]: https://github.com/bitcoin/bitcoin/blob/457e1846d2bf6ef9d54b9ba1a330ba8bbff13091/src/node/blockstorage.cpp#L58 |
| 194 | +[news198 sendall]: /en/newsletters/2022/04/06/#bitcoin-core-24118 |
| 195 | +[news290 bip353]: /cs/newsletters/2024/02/21/#citelne-bitcoinove-platebni-instrukce-zalozene-na-dns |
| 196 | +[news194 sendall]: /en/newsletters/2022/04/06/#bitcoin-core-24118 |
| 197 | +[news269 deficit]: /cs/newsletters/2023/09/20/#bitcoin-core-26152 |
| 198 | +[news284 lnd final delta]: /cs/newsletters/2024/01/10/#lnd-8308 |
| 199 | +[news306 dns]: /cs/newsletters/2024/06/07/#blips-32 |
0 commit comments