|
| 1 | +--- |
| 2 | +title: 'Zpravodaj „Bitcoin Optech” č. 317' |
| 3 | +permalink: /cs/newsletters/2024/08/23/ |
| 4 | +name: 2024-08-23-newsletter-cs |
| 5 | +slug: 2024-08-23-newsletter-cs |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: cs |
| 9 | +--- |
| 10 | +Zpravodaj tento týden přináší souhrn diskuze o proti-exfiltračnímu |
| 11 | +protokolu, který vyžaduje pouze jedno kolo komunikace mezi peněženkou a |
| 12 | +podpisovým zařízením. Též nechybí naše pravidelné rubriky s popisem |
| 13 | +změn v klientech a službách, oznámeními nových vydání a souhrnem |
| 14 | +nedávných změn v populárním bitcoinovém páteřním software. |
| 15 | + |
| 16 | +## Novinky |
| 17 | + |
| 18 | +- **Jednoduchý (ale nedokonalý) proti-exfiltrační protokol:** vývojář |
| 19 | + Moonsettler zaslal do fóra Delving Bitcoin [příspěvek][moonsettler |
| 20 | + exfil1] s popisem [proti-exfiltračního][topic exfiltration-resistant |
| 21 | + signing] protokolu. Shodný protokol byl již dříve popsán (viz zpravodaje |
| 22 | + [č. 87][news87 exfil] a [č. 88][news88 exfil], oba _angl._), |
| 23 | + Pieter Wuille [odkázal][wuille exfil1] na první známý popis této |
| 24 | + techniky uvedený v [příspěvku][maxwell exfil] Gregoryho Maxwella z roku 2014. |
| 25 | + |
| 26 | + Protokol používá sign-to-contract, který umožňuje softwarové peněžence |
| 27 | + přispět entropií do nonce vybraného hardwarovým podpisovým zařízením |
| 28 | + způsobem, který později softwarové peněžence umožní ověřit, zda tato |
| 29 | + entropie byla použita. Sign-to-contract je variantou [pay-to-contract][topic |
| 30 | + p2c]: u pay-to-contract je tweaknutý veřejný klíč příjemce, u |
| 31 | + sign-to-contract je tweaknutý nonce podpisu plátce. |
| 32 | + |
| 33 | + Výhodou tohoto protokolu v porovnání s protokolem implementovaným |
| 34 | + v hardwarových podpisových zařízeních BitBox02 a Jade (viz [zpravodaj |
| 35 | + č. 136][news136 exfil], _angl._) je potřeba pouze jediného kola |
| 36 | + komunikace mezi softwarovou peněženkou a hardwarovým podpisovým |
| 37 | + zařízením. Toto jedno kolo může být zkombinováno s jinými procesy |
| 38 | + potřebnými pro podepsání transakce, na obvyklé postupy uživatelů tak |
| 39 | + tato technika nemá žádný dopad. Aktuálně nasazená technika, která je |
| 40 | + též založená na sign-to-contract, vyžaduje dvě kola komunikace. |
| 41 | + To je více, než kolik dnes většina uživatelů vyžaduje, ačkoliv více |
| 42 | + kol komunikace může být vyžadováno pro uživatele, kteří upgradují |
| 43 | + na [bezskriptové vícenásobné podpisy][topic multisignature] a |
| 44 | + [bezskriptové prahové podpisy][topic threshold signature]. Pro uživatele, |
| 45 | + kteří připojují svá podpisová zařízení k počítačům přímo či pomocí |
| 46 | + bezdrátových protokolů jako Bluetooth, počet kol komunikace nehraje |
| 47 | + roli. Avšak pro uživatele, kteří zařízení připojovat nechtějí, znamená |
| 48 | + každé další kolo dva ruční zásahy. To se může rychle proměnit v nepříjemné |
| 49 | + množství práce, pokud podepisují často nebo používají více zařízení |
| 50 | + pro skriptové vícenásobné podpisy. |
| 51 | + |
| 52 | + Nevýhodu tohoto protokolu zmínil Maxwell ve svém původním popisu: |
| 53 | + „ponechává otevřený [postranní kanál][topic side channels], který |
| 54 | + má exponenciální náklady za každý další bit, použitím obrušování |
| 55 | + (grinding)[…], ale odstraňuje zjevné a hodně účinné útoky, kde všechno |
| 56 | + unikne v jediném podpisu. Je to jistě méně dobré, ale jedná se pouze |
| 57 | + o dvoukolový protokol, takže hodně míst, která by nad protiopatřeními |
| 58 | + neuvažovala, by mohla tohle bez práce převzít jako jeden bod ve specifikaci |
| 59 | + protokolu.” |
| 60 | + |
| 61 | + Použití tohoto protokolu má jasné výhody oproti nepoužívání žádné anti-exfiltrace. |
| 62 | + Pieter Wuille dále [poznamenává][wuille exfil2], že se možná jedná o nejlepší |
| 63 | + možnou anti-exfiltraci s jedním kolem podepisování. Avšak Wuille |
| 64 | + obhajuje nasazený dvoukolový proti-exfiltrační protokol, který umí |
| 65 | + zabránit i exfiltraci založené na obrušování. |
| 66 | + |
| 67 | + Diskuze v době psaní nadále probíhá. |
| 68 | + |
| 69 | +## Změny ve službách a klientech |
| 70 | + |
| 71 | +*V této měsíční rubrice upozorňujeme na zajímavé aktualizace bitcoinových |
| 72 | +peněženek a služeb.* |
| 73 | + |
| 74 | +- **Ohlášena Proton Wallet:** |
| 75 | + Proton [ohlásil][proton blog] svou [open-source][proton github] Proton |
| 76 | + Wallet s podporou více peněženek, [bech32][topic bech32], [dávkových][topic |
| 77 | + payment batching] plateb, [BIP39][] frází a s integrací svého emailu. |
| 78 | + |
| 79 | +- **Ohlášen testnet CPUNet:** |
| 80 | + Přispěvatel z [braidpool][braidpool github], implementace [těžebního poolu][topic |
| 81 | + pooled mining], ohlásil testovací síť [CPUNet][cpunet github]. |
| 82 | + Uživatelé CPUNet používají modifikovaný proof of work, který |
| 83 | + vylučuje těžaře s ASIC. Záměrem je dosáhnout konzistentnější míry tvorby bloků, |
| 84 | + než je pro [testnet][topic testnet] typické. |
| 85 | + |
| 86 | +- **Spuštěn Lightning.Pub:** |
| 87 | + [Lightning.Pub][lightningpub github] poskytuje správu LND uzlu, která umožňuje |
| 88 | + sdílený přístup a koordinaci likvidity kanálů. Pro šifrovanou komunikaci |
| 89 | + a identity založené na klíčích používá nostr. |
| 90 | + |
| 91 | +- **Vydán Taproot Assets v0.4.0-alpha:** |
| 92 | + Vydání [v0.4.0-alpha][taproot assets v0.4.0] podporuje protokol [Taproot |
| 93 | + Assets][topic client-side validation] na mainnetu, kde umí vydávat onchain |
| 94 | + aktiva a provádět atomické směny pomocí [PSBT][topic psbt], a posílání |
| 95 | + aktiv přes Lightning Network. |
| 96 | + |
| 97 | +- **Vydán nástroj pro měření výkonnosti Stratum v2:** |
| 98 | + První [vydání 0.1.0][sbm 0.1.0] podporuje testování, reportování a porovnávání |
| 99 | + výkonu mezi protokoly Stratum v1 a Stratum v2 v různých scénářích. |
| 100 | + |
| 101 | +- **Ověření konceptu STARK verifikací na signetu:** |
| 102 | + StarkWare [ohlásil][starkware tweet] [STARK verifier][bcs github] |
| 103 | + ověřující důkazy s nulovou znalostí na testovací síti [signet][topic signet] |
| 104 | + pomocí opkódu [OP_CAT][topic op_cat] (viz [zpravodaj č. 304][news304 inquisition]). |
| 105 | + |
| 106 | +- **Vydán SeedSigner 0.8.0:** |
| 107 | + Bitcoinové hardwarové podpisové zařízení [SeedSigner][seedsigner website] přidalo |
| 108 | + ve vydání [0.8.0][seedsigner 0.8.0] podepisování P2PKH a P2SH multisig, rozšířilo |
| 109 | + podporu [PSBT][topic psbt] a aktivovalo podporu [taprootu][topic taproot] ve |
| 110 | + výchozím nastavení. |
| 111 | + |
| 112 | +- **Vydána Floresta 0.6.0:** |
| 113 | + Ve vydání [0.6.0][floresta 0.6.0] přidává Floresta podporu pro [filtry kompaktních |
| 114 | + bloků][topic compact block filters], doklady o podvodu na signetu a [`florestad`][floresta |
| 115 | + blog], démon pro integraci existujících peněženek a klientských aplikací. |
| 116 | + |
| 117 | +## Vydání nových verzí |
| 118 | + |
| 119 | +*Vydání nových verzí oblíbených páteřních bitcoinových projektů. Prosíme, |
| 120 | +zvažte upgrade či pomoc s testováním.* |
| 121 | + |
| 122 | +- [Core Lightning 24.08rc2][] je kandidátem na vydání další hlavní verze této |
| 123 | + populární implementace LN uzlu. |
| 124 | + |
| 125 | +- [LND v0.18.3-beta.rc1][] je kandidátem na menší opravné vydání této oblíbené |
| 126 | + implementace LN uzlu. |
| 127 | + |
| 128 | +## Významné změny kódu a dokumentace |
| 129 | + |
| 130 | +_Významné změny z tohoto týdne v [Bitcoin Core][bitcoin core repo], [Core |
| 131 | +Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo], |
| 132 | +[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet |
| 133 | +Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay |
| 134 | +Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement |
| 135 | +Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo], |
| 136 | +[Bitcoin Inquisition][bitcoin inquisition repo] a [repozitáři BINANA][binana |
| 137 | +repo]._ |
| 138 | + |
| 139 | +- [Bitcoin Core #28553][] přidává parametry mainnetového bloku 840 000 |
| 140 | + do [assumeUTXO][topic assumeutxo] snapshotu: haš bloku, počet transakcí |
| 141 | + až po tento blok a SHA256 haš serializované množiny UTXO až po tento |
| 142 | + blok. Několik přispěvatelů testováním potvrdilo, že dosáhli stejného |
| 143 | + [souboru snapshotu][snapshot file] s očekávaným kontrolním součtem |
| 144 | + a že tento snapshot bylo možné načíst. |
| 145 | + |
| 146 | +- [Bitcoin Core #30246][] přidává do nástroje `asmap-tool` podpříkaz |
| 147 | + `diff_addrs`, který uživatelům umožní porovnat dvě mapy [autonomních |
| 148 | + systémů][auto sys] (ASMap) a spočítat statistky o adresách uzlů, |
| 149 | + které byly přiřazeny do jiných čísel autonomních systémů (Autonomous |
| 150 | + System Number, ASN). Tato funkce měří degradaci ASMap během času, což |
| 151 | + je důležitým krokem na cestě k přibalení předem spočítaných ASMap do |
| 152 | + vydání Bitcoin Core. Účelem je zvýšení odolnosti vůči [útokům |
| 153 | + zastíněním][topic eclipse attacks]. Viz též [zpravodaj č. 290][news290 |
| 154 | + asmap]. |
| 155 | + |
| 156 | +- [Bitcoin Core GUI #824][] mění položku menu `Migrate Wallet` na podmenu, |
| 157 | + což uživatelům umožní migrovat kteroukoliv zastaralou peněženku v adresáři, |
| 158 | + včetně takových, které již není možné načíst. Tato změna je přípravou |
| 159 | + na možnou budoucnost, kdy budou používány pouze [deskriptorové][topic |
| 160 | + descriptors] peněženky a staré typy peněženek nebude možné načíst. |
| 161 | + Po zvolení peněženky k migraci se GUI zeptá uživatele na případné heslo. |
| 162 | + |
| 163 | +- [Core Lightning #7540][] vylepšuje vzorec, kterým se počítá pravděpodobnost |
| 164 | + úspěšného nalezení cesty v `renepay` pluginu (viz [zpravodaj č. 263][news263 |
| 165 | + renepay]). Přidává konstantní multiplikátor reprezentující pravděpodobnost, |
| 166 | + že náhodně zvolený kanál v síti je schopen přeposlat nejméně 1 msat. Výchozí |
| 167 | + hodnota je nastavena na 0,98, může se však v budoucnosti změnit. |
| 168 | + |
| 169 | +- [Core Lightning #7403][] přidává do pluginu `renepay` filtr, který ignoruje |
| 170 | + kanály s velmi nízkým `max_htlc`. V budoucnosti může být filtr rozšířen |
| 171 | + o další parametry: vysoký poplatek, nízká kapacita, vysoká latence. Uzly |
| 172 | + či kanály mohou být manuálně vyloučeny volbou `exclude`. |
| 173 | + |
| 174 | +- [LND #8943][] přidává do kódu [Alloy][alloy model] modely, počínaje modelem |
| 175 | + pro [Linear Fee Function][lnd linear] pro navyšování poplatků (inspirováno |
| 176 | + opravou chyby v [LND #8751][]). Alloy poskytuje lehkotonážní formální metodu |
| 177 | + pro ověřování správnosti systémových komponent, což během implementace |
| 178 | + pomáhá hledat chyby. Narozdíl od plnohodnotných formálních metod, které se snaží |
| 179 | + dokázat, že je model vždy správný, operuje Alloy nad vstupem množiny |
| 180 | + omezených parametrů a iterací a snaží se najít protipříklady danému tvrzení. |
| 181 | + Modely mohou být též použity pro specifikaci protokolů v P2P systémech, což |
| 182 | + je pro Lightning Network zvláště vhodné. |
| 183 | + |
| 184 | +- [BDK #1478][] přináší několik změn do struktur `FullScanRequest` a `SyncRequest` |
| 185 | + v `bdk_chain`: přináší builder vzor, mění pole `chain_tip` na volitelné |
| 186 | + (uživatelé tak nemusí být informováni o změnách `LocalChain`, což je užitečné |
| 187 | + pro používání `bdk_esplora`) a zlepšuje ergonomii sledování postupu synchronizace. |
| 188 | + Dále `bdk_esplora` automaticky přidává do `TxGraph` předchozí výstupy. |
| 189 | + |
| 190 | +- [BDK #1533][] umožňuje pomocí `Wallet::create_single` vytvářet peněženky |
| 191 | + s jediným [deskriptorem][topic descriptors]. Tato změna revertuje předchozí |
| 192 | + update, kterým struktura `Wallet` vyžadovala přítomnost interního deskriptoru |
| 193 | + pro zbytky. Důvodem předchozí změny byla ochrana soukromí adres pro zbytky |
| 194 | + během používání veřejných Electrum či Esplora serverů, avšak nyní převážila |
| 195 | + potřeba podporovat více případu použití. |
| 196 | + |
| 197 | +- [BOLTs #1182][] zlepšuje srozumitelnost a úplnost částí specifikace [BOLT4][] |
| 198 | + věnujících se [zaslepování cest][topic rv routing] a [onion zprávám][topic onion |
| 199 | + messages]: přesouvá sekci o zaslepování cest o jednu úroveň výše (aby bylo zřejmé, |
| 200 | + že se týká i plateb a ne jen onion zpráv), poskytuje konkrétnější detaily |
| 201 | + o datovém typu `blinded_path` a jeho požadavcích, rozšiřuje popis zodpovědností, |
| 202 | + rozděluje sekci příjemce na `blinded_path` a `encrypted_recipient_data`, |
| 203 | + zlepšuje vysvětlení konceptu `blinded_path`, přidává doporučení pro používání |
| 204 | + falešného skoku, přejmenovává `onionmsg_hop` na `blinded_path_hop` a další. |
| 205 | + |
| 206 | +- [BLIPs #39][] přidává [BLIP39][] specifikující volitelné pole `b` v [BOLT11][] |
| 207 | + fakturách, které určuje [zaslepenou cestu][topic rv routing] pro platbu. |
| 208 | + LND již toto pole implementuje (viz [zpravodaj č. 315][news315 blinded]). |
| 209 | + Záměrem je toto pole používat, dokud se protokolu [nabídek][topic offers] |
| 210 | + nedostane širokého nasazení. |
| 211 | + |
| 212 | +{% assign four_days_after_posting = page.date | date: "%s" | plus: 345600 | date: "%Y-%m-%d 14:30" %} |
| 213 | +{% include snippets/recap-ad.md when=four_days_after_posting %} |
| 214 | +{% include references.md %} |
| 215 | +{% include linkers/issues.md v=2 issues="28553,30246,824,7540,7403,8943,1478,1533,1182,39,8751" %} |
| 216 | +[Core Lightning 24.08rc2]: https://github.com/ElementsProject/lightning/releases/tag/v24.08rc2 |
| 217 | +[LND v0.18.3-beta.rc1]: https://github.com/lightningnetwork/lnd/releases/tag/v0.18.3-beta.rc1 |
| 218 | +[moonsettler exfil1]: https://delvingbitcoin.org/t/non-interactive-anti-exfil-airgap-compatible/1081 |
| 219 | +[wuille exfil1]: https://delvingbitcoin.org/t/non-interactive-anti-exfil-airgap-compatible/1081/3 |
| 220 | +[wuille exfil2]: https://delvingbitcoin.org/t/non-interactive-anti-exfil-airgap-compatible/1081/7 |
| 221 | +[news87 exfil]: /en/newsletters/2020/03/04/#proposal-to-standardize-an-exfiltration-resistant-nonce-protocol |
| 222 | +[news88 exfil]: /en/newsletters/2020/03/11/#exfiltration-resistant-nonce-protocols |
| 223 | +[maxwell exfil]: https://bitcointalk.org/index.php?topic=893898.msg9861102#msg9861102 |
| 224 | +[news136 exfil]: /en/newsletters/2021/02/17/#anti-exfiltration |
| 225 | +[proton blog]: https://proton.me/blog/proton-wallet-launch |
| 226 | +[proton github]: https://github.com/protonwallet/ |
| 227 | +[braidpool github]: https://github.com/braidpool/braidpool |
| 228 | +[cpunet post]: https://x.com/BobMcElrath/status/1823370268728873411 |
| 229 | +[cpunet github]: https://github.com/braidpool/bitcoin/blob/cpunet/contrib/cpunet/README.md |
| 230 | +[lightningpub github]: https://github.com/shocknet/Lightning.Pub |
| 231 | +[taproot assets v0.4.0]: https://github.com/lightninglabs/taproot-assets/releases/tag/v0.4.0 |
| 232 | +[sbm 0.1.0]: https://github.com/stratum-mining/benchmarking-tool/releases/tag/0.1.0 |
| 233 | +[starkware tweet]: https://x.com/StarkWareLtd/status/1813929304209723700 |
| 234 | +[bcs github]: https://github.com/Bitcoin-Wildlife-Sanctuary/bitcoin-circle-stark |
| 235 | +[news304 inquisition]: /cs/newsletters/2024/05/24/#bitcoin-inquisition-27-0 |
| 236 | +[seedsigner website]: https://seedsigner.com/ |
| 237 | +[seedsigner 0.8.0]: https://github.com/SeedSigner/seedsigner/releases/tag/0.8.0 |
| 238 | +[floresta 0.6.0]: https://github.com/vinteumorg/Floresta/releases/tag/0.6.0 |
| 239 | +[floresta blog]: https://medium.com/vinteum-org/floresta-update-simplifying-bitcoin-node-integration-for-wallets-6886ea7c975c |
| 240 | +[auto sys]: https://cs.wikipedia.org/wiki/Autonomn%C3%AD_syst%C3%A9m |
| 241 | +[news290 asmap]: /cs/newsletters/2024/02/21/#vylepseny-proces-opakovatelneho-sestavovani-asmap |
| 242 | +[news263 renepay]: /cs/newsletters/2023/08/09/#core-lightning-6376 |
| 243 | +[alloy model]: https://alloytools.org/about.html |
| 244 | +[lnd linear]: https://github.com/lightningnetwork/lnd/blob/b7c59b36a74975c4e710a02ea42959053735402e/sweep/fee_function.go#L66-L109 |
| 245 | +[news315 blinded]: /cs/newsletters/2024/08/09/#lnd-8735 |
| 246 | +[snapshot file]: magnet:?xt=urn:btih:596c26cc709e213fdfec997183ff67067241440c&dn=utxo-840000.dat&tr=udp%3A%2F%2Ftracker.bitcoin.sprovoost.nl%3A6969 |
0 commit comments