|
| 1 | +--- |
| 2 | +title: 'Zpravodaj „Bitcoin Optech” č. 401' |
| 3 | +permalink: /cs/newsletters/2026/04/17/ |
| 4 | +name: 2026-04-17-newsletter-cs |
| 5 | +slug: 2026-04-17-newsletter-cs |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: cs |
| 9 | +--- |
| 10 | +Zpravodaj tento týden popisuje nápad na lightningové uzly používající vnořený |
| 11 | +MuSig2 a shrnuje projekt formálně ověřující skalární násobení modulo |
| 12 | +v secp256k1. Též nechybí naše pravidelné rubriky s popisem nedávných změn |
| 13 | +ve službách a klientském software, s oznámeními nových vydání a se souhrnem |
| 14 | +významných změn v populárním bitcoinovém páteřním software. |
| 15 | + |
| 16 | +## Novinky |
| 17 | + |
| 18 | +- **Diskuze o používání vnořeného MuSig2 v Lightning Network**: ZmnSCPxj zaslal do fóra Delving |
| 19 | + Bitcoin [příspěvek][kofn post del] o nápadu na vytvoření lightningových uzlů |
| 20 | + v podobě _k_ z _n_ vícenásobného podpisu s použitím vnořeného Musig2 protokolu |
| 21 | + z nedávno zveřejněného [článku][nmusig2 paper]. Začal vysvětlením důležitosti |
| 22 | + této vlastnosti, poté vyjmenoval současná technická omezení lightningového |
| 23 | + protokolu a nakonec poskytl návrh na úpravy BOLT specifikací. |
| 24 | + |
| 25 | + ZmnSCPxj tvrdí, že potřeba pro _k_ z _n_ podpisové schéma v lightningu vychází |
| 26 | + z žádosti mnoha držitelů poskytovat síti svou likviditu výměnou za poplatky. |
| 27 | + Tito velcí držitelé mohou vyžadovat silné záruky zabezpečení prostředků, |
| 28 | + které jediný klíč nemůže poskytnout. Schéma s _k_ z _n_ podpisy by takové |
| 29 | + zabezpečení garantovat mohlo, dokud by bylo kompromitováno méně než k klíčů. |
| 30 | + |
| 31 | + BOLT specifikace by v dnešní podobě neumožnily poskytnout bezpečný způsob |
| 32 | + přidání _k_ z _n_ multisig schématu. Hlavní překážkou je revokační klíč. Dle BOLT |
| 33 | + je revokační klíč vytvořen pomocí tzv. shachainu, který je ze své povahy |
| 34 | + nevhodný pro použití s _k_ z _n_ multisigem. |
| 35 | + |
| 36 | + ZmnSCPxj proto navrhuje upravit BOLT specifikace tak, aby validace revokačních |
| 37 | + klíčů účastníků kanálu pomocí shachainu byla volitelná. K tomu by měl sloužit |
| 38 | + nový pár feature bitů nazvaný `no_more_shachains` a přítomný v `globalfeatures` |
| 39 | + i `localfeatures`. Lichý bit by signalizoval, že uzel nebude provádět shachain |
| 40 | + validaci klíčů protistrany, avšak validní revokační klíče by pro zachování |
| 41 | + kompatibility nadále poskytoval. Sudý bit by signalizoval, že uzel nebude ani |
| 42 | + validovat, ani poskytovat validní revokační klíče. Lichý bit by byl používán |
| 43 | + hraničními uzly (ZmnSCPxj je definuje jako gateway nodes), které by propojovaly |
| 44 | + uzly schopné _k_ z _n_ podpisů (sudý bit) a zbytek sítě. |
| 45 | + |
| 46 | + Nakonec ZmnSCPxj zdůrazňuje, jak by tento návrh představoval vážný kompromis, |
| 47 | + totiž v požadavcích na ukládání revokačních klíčů. Uzly by musely ukládat jednotlivé |
| 48 | + revokační klíče namísto kompaktní shachain reprezentace. V důsledku |
| 49 | + by tak tyto klíče vyžadovaly na disku třikrát více místa. |
| 50 | + |
| 51 | +- **Formální ověření skalárního násobení modulo v secp256k1**: |
| 52 | + Remix7531 zaslal do emailové skupiny Bitcoin-Dev [příspěvek][topic secp |
| 53 | + formalization] o vytvoření formální verifikace skalárního násobení modulo |
| 54 | + v secp256k1. Projekt ukazuje, že formální verifikace části |
| 55 | + bitcoin-core/secp256k1 je praktická. |
| 56 | + |
| 57 | + V rámci [secp256k1-scalar-fv-test codebase][secp verification codebase] |
| 58 | + vzal Remix7531 skutečný céčkový kód z knihovny a dokázal jeho správnost |
| 59 | + vzhledem k formální matematické specifikaci. Použil Rocq a Verified |
| 60 | + Software Toolchain (VST). Remix7531 vysvětlil, proč je tato snaha důležitá. |
| 61 | + Paměťově bezpečné jazyky, testování a fuzz testování mohou najít mnoho chyb, |
| 62 | + ale nemohou zaručit jejich absenci. Formalizace v jazyce Rocq může dokázat |
| 63 | + absenci chyb ve správě paměti, správnost implementace specifikace a konečnost |
| 64 | + algoritmu. |
| 65 | + |
| 66 | + Jako další kroky plánuje převést důkaz skalárního násobení do RefinedC. |
| 67 | + Tím by dosáhl možnosti napřímo porovnat oba nástroje nad stejným kódem. |
| 68 | + Co se týče verifikace, dalším cílem je Pippengerův algoritmus |
| 69 | + násobení více skalárů, který se používá pro dávkové ověřování podpisů. |
| 70 | + |
| 71 | +## Změny ve službách a klientech |
| 72 | + |
| 73 | +*V této měsíční rubrice upozorňujeme na zajímavé aktualizace bitcoinových |
| 74 | +peněženek a služeb.* |
| 75 | + |
| 76 | +- **Coldcard 6.5.0 přidává MuSig2 a miniscript:** |
| 77 | + Coldcard [6.5.0][coldcard 6.5.0] přidává podporu pro [MuSig2][topic musig], |
| 78 | + schopnost doložit dostupné prostředky dle [BIP322][] a nové funkce pro [miniscript][topic |
| 79 | + miniscript] a [taproot][topic taproot], např. podporu až pro osm listů v [tapscriptu][topic |
| 80 | + tapscript]. |
| 81 | + |
| 82 | +- **Vydán Frigate 1.4.0:** |
| 83 | + Frigate [v1.4.0][frigate blog], experimentální Electrum server pro skenování |
| 84 | + [tichých plateb][topic silent payments] (viz [zpravodaj č. 389][news389 |
| 85 | + frigate]), nově používá knihovnu UltrafastSecp256k1 ve spojení s výpočty |
| 86 | + na moderním GPU. Doba skenování několika měsíců bloků se snížila z hodiny |
| 87 | + na půl sekundy. |
| 88 | + |
| 89 | +- **Aktualizace Bitcoin Backbone:** |
| 90 | + Bitcoin Backbone [vydal][backbone ml 1] několik [aktualizací][backbone ml 2] |
| 91 | + přidávajících podporu [kompaktních bloků][topic compact block relay] dle [BIP152][], |
| 92 | + vylepšujících správu transakcí a adres a pokládajících základy víceprocesového |
| 93 | + rozhraní (viz [zpravodaj č. 368][news368 backbone], _angl._). Oznámení dále |
| 94 | + navrhuje rozšířit Bitcoin Kernel API o nezávislé ověřování hlaviček a transakcí. |
| 95 | + |
| 96 | +- **Vydán Utreexod 0.5:** |
| 97 | + Utreexod [v0.5][utreexod blog] přidává úvodní stahování bloků přes [SwiftSync][news349 |
| 98 | + swiftsync], který nemusí díky kryptografické agregaci během úvodního stahovaní |
| 99 | + stahovat a ověřovat doklady o začlenění do akumulátoru a který snižuje |
| 100 | + stahování dodatečných dat uzly během úvodního stahování z 1,4 TB na zhruba |
| 101 | + 200 GB (s možností další redukce díky kešování). |
| 102 | + |
| 103 | +- **Vydána Floresta 0.9.0:** |
| 104 | + Floresta [v0.9.0][floresta v0.9.0] přináší soulad P2P síťového protokolu |
| 105 | + s [BIP183][news366 utreexo bips] pro výměnu UTXO dokladů a vyměňuje |
| 106 | + `libbitcoinconsensus` ze Bitcoin Kernel. Dosahuje tím zhruba 15× rychlejší |
| 107 | + validace skriptu. |
| 108 | + |
| 109 | +## Vydání nových verzí |
| 110 | + |
| 111 | +*Vydání nových verzí oblíbených páteřních bitcoinových projektů. Prosíme, |
| 112 | +zvažte upgrade či pomoc s testováním.* |
| 113 | + |
| 114 | +- [Bitcoin Core 31.0rc4][] je kandidátem na vydání příští hlavní verze této |
| 115 | + převládající implementace plného uzlu. K dispozici je [průvodce testováním][bcc31 testing]. |
| 116 | + |
| 117 | +- [Core Lightning 26.04rc3][] je kandidátem na vydání příští hlavní verze této |
| 118 | + populární implementace LN uzlu. Pokračuje v aktualizacích splicingu a opravuje |
| 119 | + chyby předchozích kandidátů. |
| 120 | + |
| 121 | +## Významné změny kódu a dokumentace |
| 122 | + |
| 123 | +_Významné změny z tohoto týdne v [Bitcoin Core][bitcoin core repo], [Core |
| 124 | +Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo], |
| 125 | +[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet |
| 126 | +Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay |
| 127 | +Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement |
| 128 | +Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo], |
| 129 | +[Lightning BLIPs][blips repo], [Bitcoin Inquisition][bitcoin inquisition |
| 130 | +repo] a [repozitáři BINANA][binana repo]._ |
| 131 | + |
| 132 | +- [Bitcoin Core #34401][] přidává do `btck_BlockHeader` v |
| 133 | + `libbitcoinkernel` C API (viz [zpravodaj č. 380][news380 kernel], _angl._, |
| 134 | + a [zpravodaj č. 390][news390 header]) metodu pro serializaci hlavičky bloku |
| 135 | + ve standardním kódování. To umožňuje externím programům používajícím C API |
| 136 | + ukládat, posílat či porovnávat serializované hlavičky bez potřeby dalšího |
| 137 | + serializačního kódu. |
| 138 | + |
| 139 | +- [Bitcoin Core #35032][] přestává ukládat síťové adresy, které se dozvěděl |
| 140 | + z RPC volání `sendrawtransaction` s aktivní volbou `privatebroadcast` |
| 141 | + (viz [zpravodaj č. 388][news388 private]). Volba `privatebroadcast` umožňuje |
| 142 | + uživatelům zveřejnit transakce přes krátkodobé [Tor][topic anonymity networks] |
| 143 | + nebo I2P spojení nebo přes Tor proxy. |
| 144 | + |
| 145 | +- [Core Lightning #9021][] činí [splicing][topic splicing] aktivním ve výchozím |
| 146 | + nastavení. Po zveřejnění specifikace protokolu splicingu (viz |
| 147 | + [zpravodaj č. 398][news398 splicing]) již není splicing považován za experimentální. |
| 148 | + |
| 149 | +- [Core Lightning #9046][] navyšuje předpokládaný `final_cltv_expiry` |
| 150 | + ([CLTV expiry delta][topic cltv expiry delta] posledního skoku) u [keysend |
| 151 | + plateb][topic spontaneous payments] z 22 na 42 bloků pro lepší spolupráci |
| 152 | + s LDK. |
| 153 | + |
| 154 | +- [LDK #4515][] přepíná feature bit kanálů s [commitmenty s nulovými poplatky][topic v3 commitments] ( |
| 155 | + viz [zpravodaj č. 371][news371 0fc], _angl._) z experimentálního na produkční. |
| 156 | + Kanály s commitmenty s nulovými poplatky nahrazují dva [anchor výstupy][topic anchor outputs] jedním sdíleným |
| 157 | + [Pay-to-Anchor (P2A)][topic ephemeral anchors] výstupem zastropovaným na hodnotě |
| 158 | + 240 sat. |
| 159 | + |
| 160 | +- [LDK #4558][] aplikuje stávající vypršení časového limitu u nekompletních |
| 161 | + [plateb s více cestami][topic multipath payments] (MPP) také na [keysend platby][topic |
| 162 | + spontaneous payments]. Dříve mohl nekompletní keysend MPP zůstat nevyřízen až do |
| 163 | + vypršení CLTV, čímž držel [HTLC][topic htlc] sloty. |
| 164 | + |
| 165 | +- [LND #9985][] přidává kompletní podporu pro produkční [jednoduché taprootové |
| 166 | + kanály][topic simple taproot channels] s produkčními feature bity 80/81 a |
| 167 | + speciálním typem commitmentu `SIMPLE_TAPROOT_FINAL`. Používá optimalizované |
| 168 | + [tapscripty][topic tapscript], které upřednostňují `OP_CHECKSIGVERIFY` před |
| 169 | + `OP_CHECKSIG`+`OP_DROP`, a přidává zpracovávání noncí založené na mapě s txid |
| 170 | + klíčem v reakci na `revoke_and_ack`. Jedná se o základy pro budoucí |
| 171 | + [splicing][topic splicing]. |
| 172 | + |
| 173 | +- [BTCPay Server #7250][] přidává podporu pro [LUD-21][]. Přináší volitelný |
| 174 | + neautentizovaný vstupní bod `verify`, který umožňuje externím službám ověřit, |
| 175 | + zda již byla [BOLT11][] faktura vytvořená přes [LNURL-pay][topic lnurl] urovnána. |
| 176 | + |
| 177 | +- [BIPs #2089][] zveřejňuje [BIP376][], který definuje nová [PSBTv2][topic psbt] |
| 178 | + pole na úrovni vstupů pro data potřebná pro podepisování a utrácení |
| 179 | + výstupů [tichých plateb][topic silent payments] a volitelné pole pro [BIP32][topic bip32] |
| 180 | + derivaci kompatibilní s 33bajtovými klíči pro utrácení dle [BIP352][]. |
| 181 | + Tato změna doplňuje [BIP375][], který specifikuje, jak vytvářet výstupy tichých |
| 182 | + plateb pomocí PSBT (viz [zpravodaj č. 309][news309 bip375]). |
| 183 | + |
| 184 | +{% include snippets/recap-ad.md when="2026-04-21 16:30" %} |
| 185 | +{% include references.md %} |
| 186 | +{% include linkers/issues.md v=2 issues="34401,35032,9021,9046,4515,4558,9985,7250,2089" %} |
| 187 | + |
| 188 | +[coldcard 6.5.0]: https://coldcard.com/docs/upgrade/#edge-version-650xqx-musig2-miniscript-and-taproot-support |
| 189 | +[frigate blog]: https://damus.io/nevent1qqsrg3xsjwpt4d9g05rqy4vkzx5ysdffm40qtxntfr47y3annnfwpzgpp4mhxue69uhkummn9ekx7mqpz3mhxue69uhkummnw3ezummcw3ezuer9wcq3samnwvaz7tmjv4kxz7fwwdhx7un59eek7cmfv9kqz9rhwden5te0wfjkccte9ejxzmt4wvhxjmczyzl85553k5ew3wgc7twfs9yffz3n60sd5pmc346pdaemf363fuywvqcyqqqqqqgmgu9ev |
| 190 | +[news389 frigate]: /cs/newsletters/2026/01/23/#experimentalni-electrum-server-pro-testovani-tichych-plateb |
| 191 | +[news368 backbone]: /en/newsletters/2025/08/22/#bitcoin-core-kernel-based-node-announced |
| 192 | +[backbone ml 1]: https://groups.google.com/g/bitcoindev/c/D6nhUXx7Gnw/m/q1Bx4vAeAgAJ |
| 193 | +[backbone ml 2]: https://groups.google.com/g/bitcoindev/c/ViIOYc76CjU/m/cFOAYKHJAgAJ |
| 194 | +[news349 swiftsync]: /cs/newsletters/2025/04/11/#swiftsync-urychlujici-uvodni-stahovani-bloku |
| 195 | +[utreexod blog]: https://delvingbitcoin.org/t/new-utreexo-releases/2371 |
| 196 | +[floresta v0.9.0]: https://www.getfloresta.org/blog/release-v0.9.0 |
| 197 | +[news366 utreexo bips]: /en/newsletters/2025/08/08/#draft-bips-proposed-for-utreexo |
| 198 | +[kofn post del]: https://delvingbitcoin.org/t/towards-a-k-of-n-lightning-network-node/2395 |
| 199 | +[nmusig2 paper]: https://eprint.iacr.org/2026/223 |
| 200 | +[bitcoin core 31.0rc4]: https://bitcoincore.org/bin/bitcoin-core-31.0/test.rc4/ |
| 201 | +[bcc31 testing]: https://github.com/bitcoin-core/bitcoin-devwiki/wiki/31.0-Release-Candidate-Testing-Guide |
| 202 | +[Core Lightning 26.04rc3]: https://github.com/ElementsProject/lightning/releases/tag/v26.04rc3 |
| 203 | +[news380 kernel]: /en/newsletters/2025/11/14/#bitcoin-core-30595 |
| 204 | +[news390 header]: /cs/newsletters/2026/01/30/#bitcoin-core-33822 |
| 205 | +[news388 private]: /cs/newsletters/2026/01/16/#bitcoin-core-29415 |
| 206 | +[news398 splicing]: /cs/newsletters/2026/03/27/#bolts-1160 |
| 207 | +[news371 0fc]: /en/newsletters/2025/09/12/#ldk-4053 |
| 208 | +[news309 bip375]: /cs/newsletters/2025/01/17/#bips-1687 |
| 209 | +[BIP376]: https://github.com/bitcoin/bips/blob/master/bip-0376.mediawiki |
| 210 | +[LUD-21]: https://github.com/lnurl/luds/blob/luds/21.md |
| 211 | +[topic secp formalization]: https://groups.google.com/g/bitcoindev/c/l7AdGAKd1Oo |
| 212 | +[secp verification codebase]: https://github.com/remix7531/secp256k1-scalar-fv-test |
0 commit comments