|
| 1 | +--- |
| 2 | +title: 'Zpravodaj „Bitcoin Optech” č. 241' |
| 3 | +permalink: /cs/newsletters/2023/03/08/ |
| 4 | +name: 2023-03-08-newsletter-cs |
| 5 | +slug: 2023-03-08-newsletter-cs |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: cs |
| 9 | +--- |
| 10 | +Tento týden přinášíme popis návrhu alternativního designu `OP_VAULT` s |
| 11 | +několika výhodami a oznamujeme nový týdenní Optech podcast. Též nechybí |
| 12 | +naše pravidelné rubriky se souhrnem Bitcoin Core PR Review Club sezení, |
| 13 | +oznámeními o nových vydáních a popisem významných změn oblíbených |
| 14 | +páteřních bitcoinových projektů. |
| 15 | + |
| 16 | +## Novinky |
| 17 | + |
| 18 | +- **Alternativní návrh OP_VAULT:** Greg Sanders [zaslal][sanders |
| 19 | + vault] do emailové skupiny Bitcoin-Dev alternativní design poskytující |
| 20 | + funkce návrhu `OP_VAULT`/`OP_UNVAULT` (viz [zpravodaj č. 234][news234 vault]). |
| 21 | + Jeho verze by přidala tři opkódy namísto dvou, viz příklad: |
| 22 | + |
| 23 | + - *Alice zašle prostředky do úschovny* zaplacením [P2TR výstupu][topic |
| 24 | + taproot] se stromem skriptů, který obsahuje alespoň dva [koncové skripty][topic |
| 25 | + tapscript] („leafscript”): jeden pro spuštění procesu otevření úschovny s časovým |
| 26 | + zpožděním a druhý pro okamžité zmrazení prostředků, např. |
| 27 | + `tr(klíč,{spusť,zmraz})`. |
| 28 | + |
| 29 | + - Skript *spusť* obsahuje její méně důvěryhodný způsob autorizace |
| 30 | + (např. podpis z horké peněženky) a opkód `OP_TRIGGER_FORWARD`. |
| 31 | + V době vytvoření tohoto skriptu poskytne opkódu parametr |
| 32 | + *časového zpoždění*, např. relativní časový zámek 1 000 bloků |
| 33 | + (zhruba jeden týden). |
| 34 | + |
| 35 | + - Skript *zmraz* obsahuje jakýkoliv Alicin způsob autorizace (nebo žádný) |
| 36 | + a opkód `OP_FORWARD_DESTINATION`. V době vytvoření tohoto skriptu |
| 37 | + si také zvolí důvěryhodnější způsob autorizace (např. vícenásobný |
| 38 | + podpis z několika studených peněženek a podpisových zařízení). |
| 39 | + Opkódu poskytne commitment tohoto způsobu v podobě hashe. |
| 40 | + |
| 41 | + - *Alice spustí otevírání úschovny* utracením výstupu výše uvedeného |
| 42 | + skriptu (tj. jeho použitím jako vstupu) a zvolením spouštěcího |
| 43 | + skriptu. Zároveň poskytne dva dodatečné parametry opkódu `OP_TRIGGER_FORWARD`: |
| 44 | + index výstupu, který obdrží prostředky tohoto vstupu, a commitment |
| 45 | + (ve formě hashe), který určí, jak bude později moci prostředky utratit. |
| 46 | + Opkód ověří, že uvedený výstup této transakce platí P2TR výstup stromem |
| 47 | + skriptů, který je podobný právě utrácenému s tím rozdílem, že spouštěcí |
| 48 | + skript je nahrazen skriptem obsahujícím relativní zpoždění (`OP_CHECKSEQUENCEVERIFY`, |
| 49 | + CSV) shodné se zpožděním uvedeným dříve (např. 1 000 bloků). Druhým rozdílem |
| 50 | + je opkód `OP_FORWARD_OUTPUTS` obsahující hash Alicina commitmentu. |
| 51 | + Tento způsob rekonstrukce stromu skriptů připomíná `OP_TAPLEAF_UPDATE_VERIFY`, |
| 52 | + dřívější návrh [kovenantů][topic covenants] (viz [zpravodaj č. |
| 53 | + 166][news166 tluv], *angl.*). |
| 54 | + |
| 55 | + - *Alice dokončí otevření úschovny* vyčkáním na uvolnění časového zámku |
| 56 | + a následným utracením výstupu se zvoleným skriptem obsahujícím opkód |
| 57 | + `OP_FORWARD_OUTPUTS`. Opkód ověří, že hash částky a skriptu výstupu |
| 58 | + odpovídá commitmentu, který Alice učinila v předchozí transakci. |
| 59 | + V tomto případě Alice úspěšně zaslala prostředky do úschovny, započala |
| 60 | + otevření úschovny, musela počkat nejméně 1 000 bloků (aby měl její software |
| 61 | + dostatek času na potvrzení záměru) a nakonec platbu dokončila. |
| 62 | + |
| 63 | + - V případě problémů *Alice prostředky zmrazí*. Může tak učinit kdykoliv |
| 64 | + počínaje okamžikem vkladu prostředků do úschovny až do dokončení otevírání |
| 65 | + úschovny. Aby mohla prostředky zmrazit, jednoduše zvolí zmrazovací |
| 66 | + skript z výstupu transakce (buď vkladové nebo spouštěcí), neboť Alice |
| 67 | + vložila zmrazovací skript do vkladové transakce a tento skript byl |
| 68 | + automaticky přenesen dále. |
| 69 | + |
| 70 | + Jednou z výhod, které tento přístup poskytuje oproti původním designu |
| 71 | + `OP_VAULT`, je možnost stanovit v zmrazovacím skriptu jakékoliv podmínky |
| 72 | + autorizace. V návrhu `OP_VAULT` mohl prostředky zmrazit kdokoliv, kdo |
| 73 | + znal parametry zvolené Alicí. Ačkoliv to není problém bezpečnostní, |
| 74 | + může být dosti otravný. V Sandersově návrhu by mohla Alice pro započetí |
| 75 | + zmrazení vyžadovat například podpis nějaké slabě chráněné peněženky. To by |
| 76 | + mohlo být dostatečné pro zabránění většiny otravných útoků, ale nebránilo |
| 77 | + by to Alici v případě potřeby prostředky rychle zmrazit. |
| 78 | + |
| 79 | + Několik dalších výhod spočívá ve snadnosti porozumění a ověření správnosti |
| 80 | + [protokolu][topic vaults]. Autor původního `OP_VAULT` návrhu James O'Beirne |
| 81 | + se o Sandersově návrhu vyjádřil pozitivně. O'Beirne též přinesl několik |
| 82 | + dodatečných změn, které popíšeme v budoucím čísle zpravodaje. |
| 83 | + |
| 84 | +- **Nový Optech podcast:** týdenní Optech Audio Recap na Twitter Spaces |
| 85 | + je nyní dostupný jako podcast. Každá epizoda bude dostupná na všech |
| 86 | + oblíbených podcastových platformách a přepis bude přístupný na našem webu. |
| 87 | + Náš [blogový příspěvek][podcast post] obsahuje další informace včetně |
| 88 | + vysvětlení, proč podcast považujeme za důležitý krok v naší misi za |
| 89 | + vylepšení technické komunikace v bitcoinu. |
| 90 | + |
| 91 | +## Bitcoin Core PR Review Club |
| 92 | + |
| 93 | +*V této měsíční rubrice shrnujeme nedávné sezení [Bitcoin Core PR Review Club][] a |
| 94 | +vyzdvihujeme některé z důležitých otázek a odpovědí. Klikněte na otázku a odpověď se vám odhalí.* |
| 95 | + |
| 96 | +[Bitcoin-inquisition: Aktivační logika pro testování změn konsenzu][review club bi-16] |
| 97 | +je PR od Anthonyho Townse, které přidává způsob aktivace a deaktivace soft forků v projektu |
| 98 | +[Bitcoin Inquisition][], navrženém na testování na [signetu][topic signet]. Projekt |
| 99 | +byl popsán ve [zpravodaji č. 219][newsletter #219 bi] (*angl.*). |
| 100 | + |
| 101 | +Konkrétně toto PR nahrazuje sémantiku bitů verze bloku podle [BIP9][] takzvaným |
| 102 | +[dědičným nasazováním][Heretical Deployments] („Heretical Deployments”). Na rozdíl od změn konsenzu a přeposílání |
| 103 | +na mainnetu, které se obtížně a zdlouhavě aktivují a vyžadují pečlivé budování konsenzu |
| 104 | +mezi lidmi a spletitý mechanismus [aktivace][topic soft fork activation], mohou být |
| 105 | +tyto změny na testnetu nasazovány jednodušeji. PR také implementuje způsob deaktivace |
| 106 | +změn, které se ukázaly jako problematická či nežádoucí, což je další rozdíl oproti |
| 107 | +mainnetu. |
| 108 | + |
| 109 | +{% include functions/details-list.md |
| 110 | + q0="Proč chceme nasazovat změny konsenzu, které nejsou začleněny do |
| 111 | + Bitcoin Core? Jaké problémy by přineslo začleňování kódu do Bitcoin Core |
| 112 | + a následného otestování na signetu?" |
| 113 | + a0="Bylo probráno několik důvodů. Nemůžeme nutit uživatele mainnetu k upgradu |
| 114 | + jejich verze Bitcoin Core, a tedy i po opravení chyby mohou někteří uživatelé |
| 115 | + stále provozovat chybovou verzi. Spoléhání pouze na regtest ztěžuje integrační |
| 116 | + testování software třetích stran. Začleňování změn konsenzu do odděleného |
| 117 | + repozitáře je mnohem méně riskantní než začleňování do Core: přidávání |
| 118 | + logiky soft forků, byť deaktivované, může přinést chyby ovlivňující stávající chování." |
| 119 | + a0link="https://bitcoincore.reviews/bitcoin-inquisition-16#l-37" |
| 120 | + |
| 121 | + q1="Dědičné nasazování postupně mění stav podobně jako BIP9 |
| 122 | + (`DEFINED`, `STARTED`, `LOCKED_IN`, `ACTIVE` a`FAILED`), |
| 123 | + avšak s jedním dodatečným stavem po `ACTIVE` nazývaným `DEACTIVATING` |
| 124 | + (po němž následuje konečný stav `ABANDONED`). Jaký je smysl stavu |
| 125 | + `DEACTIVATING`?" |
| 126 | + a1="Dává uživatelům možnost vyzvednout prostředky, které mohou mít |
| 127 | + v soft forku. Po deaktivaci nebo nahrazení forku by nemuseli mít |
| 128 | + k prostředkům přístup, jelikož by transakce byla odmítnuta jako |
| 129 | + nestandardní. Není ani tak důležité vyvarovat se ztrát prostředků |
| 130 | + na signetu, ale snažit se nepřeplňovat množinu UTXO." |
| 131 | + a1link="https://bitcoincore.reviews/bitcoin-inquisition-16#l-92" |
| 132 | + |
| 133 | + q2="Proč PR odstraňuje `min_activation_height`?" |
| 134 | + a2="V novém modelu nepotřebujeme nastavitelný předaktivační interval. |
| 135 | + S dědičným nasazováním se automaticky aktivuje na počátku následující |
| 136 | + 432blokové periody (zhruba tři dny; tato perioda je pevně daná)." |
| 137 | + a2link="https://bitcoincore.reviews/bitcoin-inquisition-16#l-126" |
| 138 | + |
| 139 | + q3="Proč je v tomto PR taproot trvale usazen?" |
| 140 | + a3="Pokud by nebyl trvale usazen („buried”), musel by být dědičně |
| 141 | + nasazen, což by vyžadovalo trochu kódování. Též by to znamenalo, že |
| 142 | + by jeho časový limit jednou vypršel, což nechceme." |
| 143 | + a3link="https://bitcoincore.reviews/bitcoin-inquisition-16#l-147" |
| 144 | +%} |
| 145 | + |
| 146 | +## Vydání nových verzí |
| 147 | + |
| 148 | +*Vydání nových verzí oblíbených páteřních bitcoinových projektů. Prosíme, |
| 149 | +zvažte upgrade či pomoc s testováním.* |
| 150 | + |
| 151 | +- [Core Lightning 23.02][] je vydáním nové verze této oblíbené implementace LN. |
| 152 | + Obsahuje experimentální podporu ukládání záloh pro spojení (viz [zpravodaj |
| 153 | + č. 238][news238 peer storage]) a aktualizuje experimentální podporu pro |
| 154 | + [oboustranné vklady][topic dual funding] a [nabídky][topic offers]. Též |
| 155 | + nechybí několik dalších vylepšení a oprav chyb. |
| 156 | + |
| 157 | +- [LDK v0.0.114][] je vydáním nové verze této knihovny pro budování |
| 158 | + peněženek a aplikací s podporou LN. Opravuje několik bezpečnostních |
| 159 | + chyb a obsahuje schopnost parsovat [nabídky][topic offers]. |
| 160 | + |
| 161 | +- [BTCPay 1.8.2][] je nejnovějším vydáním tohoto oblíbeného software pro |
| 162 | + zpracování bitcoinových plateb. Poznámky k vydání verze 1.8.0 říkají, že |
| 163 | + „tato verze přináší vlastní platební formuláře, možnosti nastavení |
| 164 | + brandingu, předělaný pohled klávesnice PoS, nové ikony a štítkování adres.” |
| 165 | + |
| 166 | +- [LND v0.16.0-beta.rc2][] je kandidátem na vydání nové hlavní verze této oblíbené |
| 167 | + implementace LN. |
| 168 | + |
| 169 | +## Významné změny v kódu a dokumentaci |
| 170 | + |
| 171 | +*Významné změny z tohoto týdne v [Bitcoin Core][bitcoin core repo], [Core |
| 172 | +Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo], |
| 173 | +[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet |
| 174 | +Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay |
| 175 | +Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement |
| 176 | +Proposals (BIPs)][bips repo] a [Lightning BOLTs][bolts repo].* |
| 177 | + |
| 178 | +- [LND #7462][] umožňuje watch-only peněžkám se vzdáleným |
| 179 | + podepisováním spuštění v bezstavovém režimu. |
| 180 | + |
| 181 | +{% include references.md %} |
| 182 | +{% include linkers/issues.md v=2 issues="7462" %} |
| 183 | +[core lightning 23.02]: https://github.com/ElementsProject/lightning/releases/tag/v23.02 |
| 184 | +[lnd v0.16.0-beta.rc2]: https://github.com/lightningnetwork/lnd/releases/tag/v0.16.0-beta.rc2 |
| 185 | +[LDK v0.0.114]: https://github.com/lightningdevkit/rust-lightning/releases/tag/v0.0.114 |
| 186 | +[BTCPay 1.8.2]: https://github.com/btcpayserver/btcpayserver/releases/tag/v1.8.2 |
| 187 | +[podcast post]: /cs/podcast-announcement/ |
| 188 | +[sanders vault]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-March/021510.html |
| 189 | +[news234 vault]: /cs/newsletters/2023/01/18/#navrh-na-nove-opkody-pro-uschovny |
| 190 | +[news166 tluv]: /en/newsletters/2021/09/15/#covenant-opcode-proposal |
| 191 | +[news238 peer storage]: /cs/newsletters/2023/02/15/#core-lightning-5361 |
| 192 | +[newsletter #219 bi]: /en/newsletters/2022/09/28/#bitcoin-implementation-designed-for-testing-soft-forks-on-signet |
| 193 | +[review club bi-16]: https://bitcoincore.reviews/bitcoin-inquisition-16 |
| 194 | +[bitcoin inquisition]: https://github.com/bitcoin-inquisition/bitcoin |
| 195 | +[heretical deployments]: https://github.com/bitcoin-inquisition/bitcoin/wiki/Heretical-Deployments |
| 196 | +[bip9]: https://github.com/bitcoin/bips/blob/master/bip-0009.mediawiki |
0 commit comments