|
| 1 | +--- |
| 2 | +title: 'Zpravodaj „Bitcoin Optech” č. 261' |
| 3 | +permalink: /cs/newsletters/2023/07/26/ |
| 4 | +name: 2023-07-26-newsletter-cs |
| 5 | +slug: 2023-07-26-newsletter-cs |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: cs |
| 9 | +--- |
| 10 | +Tento týden popisujeme protokol pro zjednodušení komunikace v rámci |
| 11 | +kooperativního uzavření LN kanálu a přinášíme souhrn poznámek k |
| 12 | +nedávnému setkání vývojářů LN. Též nechybí naše pravidelné rubriky |
| 13 | +s oblíbenými otázkami a odpověďmi z Bitcoin Stack Exchange, oznámeními |
| 14 | +o nových verzích a popisem významných změn v populárních bitcoinových |
| 15 | +páteřních projektech. |
| 16 | + |
| 17 | +## Novinky |
| 18 | + |
| 19 | +- **Jednodušší zavírání LN kanálů:** Rusty Russell zaslal do emailové |
| 20 | + skupiny Lightning-Dev [příspěvek][russell closing] s návrhem na |
| 21 | + zjednodušení procesu, kterým dva LN uzly kooperativně zavírají kanál. |
| 22 | + V novém protokolu uzavírání kanálu informuje jeden z uzlů svou protistranu, |
| 23 | + že si přeje zavřít kanál, a určí výši transakčního poplatku, který zaplatí. |
| 24 | + Tento iniciátor uzavření bude zodpovědný za celý poplatek, avšak |
| 25 | + oba výstupy typické transakce kooperativního uzavření kanálu budou |
| 26 | + okamžitě utratitelné, kterákoliv strana tedy bude moci použít |
| 27 | + [navýšení poplatku pomocí CPFP][topic cpfp]. Nový protokol má též |
| 28 | + kompatibilní způsob výměny informací s [protokoly vícenásobného |
| 29 | + podpisu][topic multisignature] založenými na [MuSig2][topic musig], |
| 30 | + který jsou součástí vyvíjených vylepšení LN mající za cíl navýšení |
| 31 | + soukromí a snížení onchain nákladů. |
| 32 | + |
| 33 | + V době psaní neobdržel Russellův návrh v emailové skupině žádné komentáře, |
| 34 | + avšak pod jeho [pull requestem][bolts #1096] se již několik reakcí |
| 35 | + objevilo. |
| 36 | + |
| 37 | +- **Poznámky k LN summitu:** Carla Kirk-Cohen zaslala do emailové skupiny |
| 38 | + Lightning-Dev [příspěvek][kc notes] se souhrnem diskuzí z nedávného |
| 39 | + setkání vývojářů LN v New Yorku. Mezi diskutovanými tématy bylo: |
| 40 | + |
| 41 | + - *Spolehlivé potvrzování transakcí:* [přeposílání balíčků][topic |
| 42 | + package relay], [přeposílání v3 transakcí][topic v3 transaction relay], |
| 43 | + [dočasné anchor výstupy][topic ephemeral anchors], [cluster |
| 44 | + mempool][topic cluster mempool] i další témata související s |
| 45 | + přeposíláním transakcí a těžbou byly předmětem diskuzí v kontextu |
| 46 | + hledání jasnější cesty ke spolehlivějšímu potvrzování onchain |
| 47 | + transakcí bez hrozby [pinningu][topic transaction pinning] nebo |
| 48 | + nutnosti přeplácet během navyšování poplatků pomocí [CPFP][topic cpfp] |
| 49 | + a [RBF][topic rbf]. Doporučujeme čtenářům zajímajícím se o pravidla |
| 50 | + přeposílání transakcí, která mají dopad na všechny protokoly druhé |
| 51 | + vrstvy, aby si přečetli poznámky obsahující zajímavé informace |
| 52 | + poskytnuté vývojáři LN. |
| 53 | + |
| 54 | + - *Taproot a MuSig2 kanály:* krátká diskuze o vývoji kanálů založených |
| 55 | + na [P2TR][topic taproot] výstupech a [MuSig2][topic musig] pro |
| 56 | + elektronické podpisy. Významná část poznámek se týká zjednodušeného |
| 57 | + protokolu kooperativního zavření kanálu, kterému jsme se věnovali |
| 58 | + v předchozím bodě. |
| 59 | + |
| 60 | + - *Aktualizovaná oznámení o kanálech:* gossip protokol LN v současnosti |
| 61 | + přeposílá oznámení o nových nebo aktualizovaných kanálech jen, pokud |
| 62 | + jsou tyto kanály financovány P2WSH výstupem se skriptem 2-ze-2 `OP_CHECKMULTISIG`. |
| 63 | + Abychom mohli začít používat [P2TR][topic taproot] |
| 64 | + výstupy a [multisig][topic multisignature] commitmenty založené na |
| 65 | + [MuSig2][topic musig], musí být tento gossip protokol aktualizován. |
| 66 | + Jedním z diskutovaných [témat][topic channel announcements] během |
| 67 | + předchozího setkání LN vývojářů (viz [zpravodaj č. 204][news204 gossip]) |
| 68 | + bylo, zda bychom měli učinit minimální aktualizaci protokolu (nazývanou |
| 69 | + gossip v1.5), která by pouze přidala P2TR výstupy, či širší aktualizaci |
| 70 | + protokolu (gossip v2.0), která by umožnila používat UTXO všech druhů. |
| 71 | + Pokud by mohl být použit jakýkoliv výstup, znamenalo by to, že výstup |
| 72 | + použitý pro oznámení kanálu nemusí být výstup, který je skutečně |
| 73 | + používán pro provoz kanálu. Tato vlastnost by porušila veřejnou vazbu |
| 74 | + mezi výstupy a financováním kanálů. |
| 75 | + |
| 76 | + Další diskutovanou myšlenkou bylo, zda by mělo být UTXO s hodnotou _n_ |
| 77 | + umožněno oznamovat kanál s kapacitou větší než _n_. Díky tomu |
| 78 | + by mohli účastníci kanálu ponechat některé z otevíracích transakcí |
| 79 | + skryté. Například pokud by Alice a Bob spolu otevřeli dva kanály, mohli |
| 80 | + by použít jeden kanál k vytvoření oznámení s hodnotou vyšší než je hodnota |
| 81 | + tohoto kanálu. Tím by dali najevo, že mohou přeposílat platby vyšší, než |
| 82 | + kolik činí hodnota kanálu; k tomu by využívali druhého, skrytého kanálu. |
| 83 | + Díky tomu by mohli zvýšit pravděpodobnost, že kterýkoliv |
| 84 | + výstup v síti, včetně nikdy neoznámených, by mohl být používán pro |
| 85 | + LN kanál. |
| 86 | + |
| 87 | + Poznámka také hovoří o kompromisním rozhodnutí (gossip v1.75), |
| 88 | + které by umožnilo používat jakýkoliv skript, ale bez navýšené |
| 89 | + hodnoty. |
| 90 | + |
| 91 | + - *PTLC a redundantní přeplatky:* dle poznámek bylo krátce diskutováno |
| 92 | + i přidání [PTLC][topic ptlc] do protokolu, hlavně v souvislosti se |
| 93 | + [signature adaptors][topic adaptor signatures]. Větší část obsahu |
| 94 | + poznámky byla věnována vylepšení, které by mělo dopad na obdobné |
| 95 | + součásti protokolu: možnost [redundantního přeplacení][topic |
| 96 | + redundant overpayments] faktury a následného vrácení většiny nebo |
| 97 | + celého přeplatku. Příklad: Alice chce zaplatit Bobovi 1 BTC. |
| 98 | + Nejprve pošle Bobovi 20 [plateb s více cestami][topic multipath payments], |
| 99 | + každou o hodnotě 0,1 BTC. Díky použití buď matematiky (techniky |
| 100 | + nazývané _boomerang_, viz [zpravodaj č. 86][news86 boomerang], *angl.*) |
| 101 | + nebo commitmentů s více vrstvami a jednoho kola komunikace navíc |
| 102 | + (tzv. _spear_) by byl Bob schopný nárokovat maximálně 10 těchto plateb. |
| 103 | + Každá další platba, která by dosáhla jeho uzlu, by byla odmítnuta. Výhodou tohoto |
| 104 | + přístupu je, že až 10 částečných plateb od Alice by mohlo selhat, aniž |
| 105 | + by byla zpožděna celá platba. Nevýhodou se jeví býti zvýšená |
| 106 | + složitost a, v případě spearu, pravděpodobně i nižší rychlost, než |
| 107 | + kterou lze dosáhnout v dnešním stavu. Účastníci diskutovali, zda |
| 108 | + by mohly být najednou učiněny změny potřebné pro PTLC i redundantní |
| 109 | + přeplatky. |
| 110 | + |
| 111 | + - *Návrhy na obranu před zahlcením kanálu:* podstatná část poznámek |
| 112 | + poskytla souhrn diskuze o návrzích na zabránění [útoků zahlcením |
| 113 | + kanálu][topic channel jamming attacks]. Diskuze začala tvrzením, |
| 114 | + že žádné jedno řešení (jako je reputace nebo poplatek předem) |
| 115 | + nemůže úspěšně adresovat problém, aniž by nepřineslo nepřijatelné |
| 116 | + vedlejší efekty. Systém reputace musí myslet na nové uzly bez |
| 117 | + historie a na přirozenou míru neúspěšných HTLC; těchto by mohl |
| 118 | + útočník zneužít a přinést určitou míru škody, i když menší než |
| 119 | + dnes. Poplatky předem musí být nastaveny dostatečně vysoko, aby |
| 120 | + odradily útočníky, ale ne příliš, aby také neodrazovaly poctivé |
| 121 | + uživatele a aby neposkytovaly uzlům podnět k úmyslnému selhání |
| 122 | + přeposílaných plateb. Namísto toho bylo navrženo, aby se používalo |
| 123 | + několik způsobů najednou, což by umožnilo vyhnout se nejhorším |
| 124 | + scénářům. |
| 125 | + |
| 126 | + Dále se poznámky soustředily na podrobnosti o testování schémat |
| 127 | + lokální reputace popsaných ve [zpravodaji č. 226][news226 jamming] |
| 128 | + (*angl.*) a přípravy na pozdější implementaci nízkých poplatků |
| 129 | + napřed. Zdá se, že účastníci vyjádřili podporu testování |
| 130 | + těchto návrhů. |
| 131 | + |
| 132 | + - *Jednodušší commitmenty:* účastníci diskutovali o protokolu zjednodušených |
| 133 | + commitmentů (viz [zpravodaj č. 120][news120 commitments], *angl.*), |
| 134 | + který definuje, která strana je zodpovědná za návrh příští změny |
| 135 | + commitment transakce (oproti současnému stavu, kdy může změnu provést |
| 136 | + kdykoliv kterákoliv strana). Pokud by byla zodpovědnost na jedné |
| 137 | + ze stran, odstranilo by to složitost v případech existence dvou |
| 138 | + návrhu odeslaných zhruba ve stejnou dobu (např. pokud by Alice |
| 139 | + i Bob chtěli ve stejný okamžik přidat [HTLC][topic htlc]). Obzvláště |
| 140 | + komplikovaný případ je, pokud jedna ze stran nechce akceptovat návrh |
| 141 | + druhé strany. Tato situace je v současném protokolu těžko řešitelná. |
| 142 | + Nevýhodou přístupu se zjednodušenými commitmenty je v některých případech |
| 143 | + navýšení latence, jelikož by jedna strana musela před změnou požádat |
| 144 | + druhou stranu o povolení. Poznámky nezmínily žádný jasný závěr |
| 145 | + diskuze. |
| 146 | + |
| 147 | + - *Proces specifikace:* účastníci diskutovali o několika myšlenkách na |
| 148 | + vylepšení procesu specifikace a jeho dokumentů, včetně současných |
| 149 | + BOLTů a BLIPů. Diskuze byla, zdá se, velice pestrá a nepřinesla |
| 150 | + žádné jasné závěry. |
| 151 | + |
| 152 | +## Vybrané otázky a odpovědi z Bitcoin Stack Exchange |
| 153 | + |
| 154 | +*[Bitcoin Stack Exchange][bitcoin.se] je jedním z prvních míst, kde hledají |
| 155 | +přispěvatelé Optechu odpovědi na své otázky a kde – najdou-li volnou chvíli – |
| 156 | +pomáhají zvědavým či zmateným uživatelům. V této měsíční rubrice nabízíme |
| 157 | +některé z otázek a odpovědí, které obdržely vysoký počet hlasů.* |
| 158 | + |
| 159 | +{% comment %}<!-- https://bitcoin.stackexchange.com/search?tab=votes&q=created%3a1m..%20is%3aanswer -->{% endcomment %} |
| 160 | +{% assign bse = "https://bitcoin.stackexchange.com/a/" %} |
| 161 | + |
| 162 | +- [Jak můžu ručně (na papíře) spočítat ze soukromého klíče klíč veřejný?]({{bse}}118933) |
| 163 | + Andrew Poelstra nejprve poskytuje přehled manuálních ověřovacích technik, |
| 164 | + jako je [codex32][news239 codex32], a poté nabízí kroky k ruční derivaci |
| 165 | + veřejného klíče z klíče soukromého. Podle jeho odhadu by tento proces i s |
| 166 | + různými optimalizacemi trval nejméně 1 500 hodin. |
| 167 | + |
| 168 | +- [Proč existuje 17 verzí nativního segwitu?]({{bse}}118974) |
| 169 | + Murch vysvětluje, že [segwit][topic segwit] definoval pro [verzi witnessu][bip141 |
| 170 | + witness program] 17 hodnot (0–16), aby využil existující opkódy konstant |
| 171 | + `OP_0` … `OP_16`. Dále poznamenává, že další čísla by vyžadovala použití |
| 172 | + méně datově efektivnějších opkódů `OP_PUSHDATA`. |
| 173 | + |
| 174 | +- [Vynucuje `0 OP_CSV`, aby utrácející transakce signalizovala nahraditelnost podle BIP125?]({{bse}}115586) |
| 175 | + Murch poukazuje na [diskuzi][rbf csv discussion] potvrzující, že jelikož |
| 176 | + [časový zámek][topic timelocks] `OP_CHECKSEQUENCEVERIFY` (CSV) i nahrazení poplatkem |
| 177 | + ([RBF][topic rbf]) jsou [vynucovány ]({{bse}}87376) použitím pole |
| 178 | + `nSequence`, musí transakce s výstupem s `0 OP_CSV` signalizovat nahraditelnost |
| 179 | + dle [BIP125][]. |
| 180 | + |
| 181 | +- [Jak ovlivňují návrhy tras hledání cesty?]({{bse}}118755) |
| 182 | + Christian Decker vysvětluje dva důvody, proč by příjemce v LN poskytl |
| 183 | + odesílateli návrhy tras. Jeden důvod je, pokud by příjemce používal |
| 184 | + [neoznámené kanály][topic unannounced channels]. Druhým důvodem je poskytnutí |
| 185 | + odesílateli seznamu kanálů, které mají dostatečný zůstatek pro dokončení |
| 186 | + platby. O této technice hovoří jako o „route boost.” |
| 187 | + |
| 188 | +- [Co znamená, že zabezpečení 256bitových ECDSA, a tedy i bitcoinových klíčů je 128 bitů?]({{bse}}118928) |
| 189 | + Pieter Wuille objasňuje, že 256bitová ECDSA poskytuje pouze 128bitové |
| 190 | + zabezpečení kvůli algoritmům, které mohou derivovat soukromý klíč z |
| 191 | + veřejného klíče efektivněji než hrubou silou. Pokračuje vysvětlením |
| 192 | + rozdílu mezi zabezpečením jednotlivých klíčů a zabezpečením [seedu][topic bip32]. |
| 193 | + |
| 194 | +## Vydání nových verzí |
| 195 | + |
| 196 | +*Vydání nových verzí oblíbených páteřních bitcoinových projektů. Prosíme, |
| 197 | +zvažte upgrade či pomoc s testováním.* |
| 198 | + |
| 199 | +- [HWI 2.3.0][] je vydáním tohoto middleware umožňujícího softwarovým peněženkám |
| 200 | + komunikovat s podpisovými zařízeními. Přidává podporu pro osobně sestrojená |
| 201 | + zařízení Jade a binárku pro běh hlavního programu `hwi` na zařízeních Apple |
| 202 | + Silicon s MacOS 12.0+. |
| 203 | + |
| 204 | +- [LDK 0.0.116][] je vydáním tého knihovny pro tvorbu LN software. Obsahuje |
| 205 | + podporu pro [anchor výstupy][topic anchor outputs] a [platby s více cestami][topic |
| 206 | + multipath payments] s [keysend][topic spontaneous payments]. |
| 207 | + |
| 208 | +## Významné změny v kódu a dokumentaci |
| 209 | + |
| 210 | +*Významné změny z tohoto týdne v [Bitcoin Core][bitcoin core repo], [Core |
| 211 | +Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo], |
| 212 | +[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet |
| 213 | +Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay |
| 214 | +Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement |
| 215 | +Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo] a |
| 216 | +[Bitcoin Inquisition][bitcoin inquisition repo].* |
| 217 | + |
| 218 | +- [Bitcoin Core GUI #740][] aktualizuje dialog pro používání [PSBT][topic psbt]. |
| 219 | + Nově označuje výstupy platící vlastní peněžence jako „vlastní adresa.” |
| 220 | + To usnadní porozumění importovaných PSBT obzvláště v situacích, ve kterých |
| 221 | + transakce vrací zbytek odesílateli. |
| 222 | + |
| 223 | +{% include references.md %} |
| 224 | +{% include linkers/issues.md v=2 issues="740,1096" %} |
| 225 | +[russell closing]: https://lists.linuxfoundation.org/pipermail/lightning-dev/2023-July/004013.html |
| 226 | +[kc notes]: https://lists.linuxfoundation.org/pipermail/lightning-dev/2023-July/004014.html |
| 227 | +[news193 gossip]: /en/newsletters/2022/03/30/#continued-discussion-about-updated-ln-gossip-protocol |
| 228 | +[news204 gossip]: /cs/newsletters/2022/06/15/#aktualizace-gossip-protokolu |
| 229 | +[news86 boomerang]: /en/newsletters/2020/02/26/#boomerang-redundancy-improves-latency-and-throughput-in-payment-channel-networks |
| 230 | +[news226 jamming]: /en/newsletters/2022/11/16/#paper-about-channel-jamming-attacks |
| 231 | +[news120 commitments]: /en/newsletters/2020/10/21/#simplified-htlc-negotiation |
| 232 | +[news239 codex32]: /cs/newsletters/2023/02/22/#navrh-bip-pro-kodovani-seedu-codex32 |
| 233 | +[bip141 witness program]: https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#witness-program |
| 234 | +[wiki script]: https://en.bitcoin.it/wiki/Script#Constants |
| 235 | +[rbf csv discussion]: https://twitter.com/SomsenRuben/status/1683056160373391360 |
| 236 | +[hwi 2.3.0]: https://github.com/bitcoin-core/HWI/releases/tag/2.3.0 |
| 237 | +[ldk 0.0.116]: https://github.com/lightningdevkit/rust-lightning/releases/tag/v0.0.116 |
0 commit comments