Skip to content

Commit 32c3683

Browse files
jirijakesbitschmidty
authored andcommitted
Newsletter-285: Translate into Czech
1 parent e3e55a4 commit 32c3683

File tree

1 file changed

+285
-0
lines changed

1 file changed

+285
-0
lines changed
Lines changed: 285 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,285 @@
1+
---
2+
title: 'Zpravodaj „Bitcoin Optech” č. 285'
3+
permalink: /cs/newsletters/2024/01/17/
4+
name: 2024-01-17-newsletter-cs
5+
slug: 2024-01-17-newsletter-cs
6+
type: newsletter
7+
layout: newsletter
8+
lang: cs
9+
---
10+
Tento týden přinášíme odhalení nedávné zranitelnosti postihující
11+
Core Lightning a oznámení o dvou nových návrzích na soft fork. Dále
12+
poskytujeme přehled návrhu cluster mempoolu, předáváme informaci
13+
o aktualizované specifikaci a implementaci komprese transakcí a
14+
shrnujeme diskuzi o těžaři extrahovatelné hodnotě (MEV) v nenulových
15+
dočasných anchorech. Též nechybí naše pravidelné rubriky s oznámeními
16+
nových vydání a popisem významných změn v populárním bitcoinovém
17+
páteřním software.
18+
19+
## Novinky
20+
21+
- **Odhalení nedávné zranitelnosti v Core Lightning:** Matt Morehouse
22+
[oznámil][morehouse delving] na fóru Delving Bitcoin zranitelnost,
23+
kterou před tím [zodpovědně nahlásil][topic responsible disclosures].
24+
Zranitelnost postihovala Core Lightning verze 23.02 až 23.05.2.
25+
Novější verze 23.08 a vyšší postiženy nejsou.
26+
27+
Morehouse tuto zranitelnost objevil, když pokračoval v práci na falešném
28+
financování (viz [zpravodaj č. 266][news266 lnbugs]). Když znovu testoval
29+
uzly s opravami, podařilo se mu vyvolat [souběh][race condition] („race
30+
condition”), který po zhruba 30 sekundách CLN shodil. Je-li uzel offline,
31+
nemůže bránit uživatele proti zlomyslným nebo porouchaným protistranám,
32+
které uživatelovy prostředky vystavují riziku. Analýza ukázala, že CLN
33+
opravilo původní zranitelnost falešného financování, ale než stačilo
34+
opravu řádně otestovat, zranitelnost byla zveřejněna a jeden z pluginů
35+
začlenil zneužitelný souběh. Po Morehouseově nahlášení byl připraven
36+
patch, aby souběh nezpůsobil pád uzlu.
37+
38+
Pro více informací doporučujeme přečíst Morehouseův skvělý blogový
39+
příspěvek s [odhalením][morehouse full].
40+
41+
- **Návrh nového soft forku LNHANCE:** Brandon Black [zaslal][black lnhance]
42+
do fóra Delving Bitcoin detaily o soft forku, který kombinuje předchozí
43+
návrhy [OP_CHECKTEMPLATEVERIFY][topic op_checktemplateverify] (CTV) a
44+
[OP_CHECKSIGFROMSTACK][topic op_checksigfromstack] (CSFS) s novým
45+
návrhem `OP_INTERNALKEY`, který do zásobníku umisťuje [taprootový
46+
interní klíč][taproot internal key]. Než budou moci zaplatit na výstup,
47+
musí znát autoři skriptů interní klíč, aby ho mohli umístit
48+
přímo do skriptu. `OP_INTERNALKEY` je zjednodušenou verzí [staršího
49+
návrhu][rubin templating] původního autora CTV Jeremy Rubina. Nová
50+
verze ušetří několik vbyte a díky ní budou skripty snadněji znovupoužitelné,
51+
neboť hodnota klíče bude moci být načtena od interpretru skriptu.
52+
53+
Ve vlákně popsali Black i jiní některé protokoly, které by tato kombinace
54+
změn konsenzu umožňovala: [LN-Symmetry][topic eltoo] (eltoo),
55+
[joinpooly][topic joinpools] ve stylu [Ark][topic ark], zjednodušená
56+
[DLC][topic dlc] a [úschovny][topic vaults] bez předem podepsaných
57+
transakcí. Další výhody přináší pro protokoly nižší úrovně jako
58+
kontrola zahlcení ve stylu CTV či delegace podpisů ve stylu CSFS.
59+
60+
V době psaní zpravodaje se technická diskuze omezovala na žádosti
61+
o vysvětlení, které protokoly by tento návrh umožnil.
62+
63+
- **Návrh na soft fork pro 64bitovou aritmetiku:** Chris Stewart
64+
zaslal do fóra Delving Bitcoin [příspěvek][stewart 64] s [návrhem BIPu][bip
65+
64] na přidání 64bitových aritmetických operací do bitcoinu v budoucím
66+
soft forku. Bitcoin [v současnosti][script wiki] umožňuje pouze 32bitové
67+
operace (celá čísla se znaménkem, čísla přes 31 bitů tedy nemohou být
68+
použita). Podpora pro 64bitové hodnoty by byla obzvláště výhodná v
69+
jakýchkoliv konstruktech, které potřebují pracovat s částkou v satoshi
70+
placenou na výstup. Ta je specifikována jako 64bitové celé číslo.
71+
Například výstupovým protokolům [joinpoolu][topic joinpools] by
72+
se introspekce částky hodila; viz zpravodaje [č. 166][news166 tluv] (_angl._)
73+
a [č. 283][news283 exits].
74+
75+
V době psaní zpravodaje se diskuze soustředila na podrobnosti návrhu,
76+
jak celá čísla kódovat, jaký způsob upgradu [taprootu][topic taproot]
77+
použít a zda-li je lepší představit nové aritmetické opkódy či
78+
využít stávající.
79+
80+
- **Přehled návrhu cluster mempoolu:** Suhas Daftuar zaslal do fóra
81+
Delving Bitcoin [souhrn][daftuar cluster] návrhu [cluster mempoolu][topic
82+
cluster mempool]. Optech zpravodaj se pokusil shrnout současný stav
83+
diskuze o cluster mempoolu ve [zpravodaji č. 280][news280 cluster], avšak
84+
důrazně doporučujeme přečíst si tento přehled. Daftuar je jedním z
85+
architektů návrhu. Jedna drobnost, kterou jsme před tím nepopsali,
86+
upoutala naši pozornost:
87+
88+
- *CPFP carve out musí být odstraněno:* pravidlo mempoolu
89+
[CPFP carve out][topic cpfp carve out], které bylo do Bitcoin Core
90+
[přidáno][news56 carveout] v roce 2019, adresuje CPFP verzi [pinningu
91+
transakcí][topic transaction pinning]. V této obdobě protistrana-útočník
92+
zneužívá omezení v Bitcoin Core na počet a velikost souvisejících transakcí,
93+
aby pozdržel operace nad dceřinou transakcí patřící čestnému spojení.
94+
Pravidlo carve out umožňuje, aby jedna transakce tato omezení mírně
95+
překročila. V cluster mempoolu jsou související transakce umístěny
96+
do clusteru a omezení jsou aplikována na cluster, nikoliv na jednotlivé
97+
transakce. S tímto pravidlem není možné zajistit, aby cluster obsahoval
98+
maximálně jeden carve out, aniž bychom začali omezovat vztahy mezi
99+
přeposílanými transakcemi daleko za hranicí dnešních omezení.
100+
Cluster s několika carve out by mohl výrazně překročit limity,
101+
načež by musel být pro ně protokol přestavěn. To by sice vyhovovalo
102+
uživatelům carve out, ale omezovalo by to možnosti během běžného
103+
zveřejňování transakcí.
104+
105+
Navržené řešení nekompatibility mezi carve out pravidlem a cluster
106+
mempoolem je [přeposílání transakcí verze 3][topic v3 transaction
107+
relay]. To by umožňovalo běžným uživatelům transakcí verzí 1 a 2
108+
pokračovat obvyklým způsobem, ale zároveň by mohli uživatelé
109+
protokolů jako LN zvolit použití v3 transakcí, které vynucují
110+
omezení sady vztahů mezi transakcemi (_topologie_). Tato omezená
111+
topologie by bránila pinningu transakcí a mohla by být zkombinována
112+
s náhradami carve out transakcí jakou jsou [dočasné anchory][topic ephemeral
113+
anchors].
114+
115+
Je důležité, že tato velká změna správy mempoolu Bitcoin Core bere
116+
do úvahy všechny současné i možné budoucí způsoby používání bitcoinu.
117+
Proto četbu Daftuarova popisu doporučujeme vývojářům pracujícím na těžebním
118+
software, peněženkách či kontraktových protokolech. V případě jakýchkoliv
119+
nejasností nebo obav o možných negativních dopadech na bitcoin a jeho
120+
interakci s cluster mempoolem se můžete zapojit do diskuze.
121+
122+
- **Aktualizace specifikace a implementace komprese bitcoinových transakcí:**
123+
Tom Briar zaslal do emailové skupiny Bitcoin-Dev [příspěvek][briar compress]
124+
s aktualizovaným [návrhem specifikace][compress spec] a [implementace][bitcoin
125+
core #28134] komprimovaných bitcoinových transakcí. Menší transakce by
126+
byly praktičtější pro přeposílání omezenými médii, jakou jsou satelity
127+
či steganografie (např. zakódování transakce do bitmapového obrázku).
128+
Ve [zpravodaji č. 267][news267 compress] uvádíme popis původního návrhu.
129+
Briar popisuje významné změny: „odstranění hledání nLocktime ve prospěch
130+
relativní výšky bloků, která je používána všemi komprimovanými vstupy,
131+
a použití druhého typu celého čísla s proměnlivou délkou.”
132+
133+
- **Diskuze o těžaři extrahovatelné hodnotě v nenulových dočasných anchorech:**
134+
Gregory Sanders zaslal do fóra Delving Bitcoin [příspěvek][sanders mev]
135+
vyjadřující obavy o výstupech [dočasných anchorů][topic ephemeral anchors],
136+
které obsahují více než 0 satoshi. Dočasný anchor platí na standardizovaný
137+
výstupní skript, který může být utracen kýmkoliv.
138+
139+
Jedním způsobem použití dočasných anchorů by bylo mít nulovou výstupní
140+
hodnotu, což je rozumné vzhledem k pravidlům, která vyžadují, aby byly
141+
doprovázeny dceřinou transakcí utrácející tento anchor výstup. Avšak
142+
v současném LN protokolu chce-li jedna ze stran vytvořit [neekonomické][topic
143+
uneconomical outputs] HTLC, je jeho částka použita na přeplacení
144+
onchain poplatků commitment transakce. Takové HTLC se nazývá _ořezané_
145+
(„trimmed HTLC”). Je-li ořezávání HTLC v commitment transakci učiněno
146+
použitím dočasných anchorů, mohlo by být pro těžaře výdělečné, kdyby
147+
potvrdil transakci bez dceřiné transakce utrácející výstup dočasného
148+
anchoru. Po potvrzení commitment transakce není nikdo motivován k
149+
utracení nulového výstupu dočasného anchoru, bude tedy navždy
150+
okupovat prostor množiny UTXO v plných uzlech.
151+
152+
Navrženou alternativou je nastavit hodnoty výstupů dočasných anchorů
153+
rovnající se částkám ořezaných HTLC. Bude tak výhodné těžit commitment
154+
transakci i utracení výstupu dočasného anchoru. Ve svém příspěvku
155+
Sanders tuto možnosti analyzuje. Shledává, že tento způsob může přinést
156+
několik bezpečnostních problémů. Ty mohou být vyřešeny těžaři, kteří
157+
transakce analyzují a určí, kdy by bylo výhodnější, aby sami utratili
158+
výstup dočasných anchorů nově vytvořenými transakcemi. Jedná se o druh
159+
[těžaři extrahovatelné hodnoty][news201 mev] (MEV, „miner extractable value”).
160+
Bylo navrženo několik dalších alternativních řešení:
161+
162+
- *Přeposílání pouze takových transakcí, které jsou kompatibilní se záměry těžařů:*
163+
pokud by se někdo pokusil utratit dočasný anchor způsobem, který nemaximalizuje
164+
těžařovy příjmy, taková transakce by nebyla přeposlána.
165+
166+
- *Spálení ořezané hodnoty:* namísto přeměny hodnoty ořezaného HTLC do poplatku
167+
může být částka utracena na `OP_RETURN` výstup. Tím by byly satoshi
168+
navždy neutratitelné. To by bylo možné pouze, pokud by byla commitment
169+
transakce s ořezaným HTLC poslána do blockchainu. V běžném případě
170+
jsou ořezané HTLC vyřešeny offchain a jejich hodnota je přesunuta
171+
od jedné strany k druhé.
172+
173+
- *Zajištění snadné propagace MEV transakcí:* namísto toho, aby těžaři
174+
používali zvláštní kód maximalizující jejich hodnotu, usnadněme propagaci
175+
těchto transakcí sítí, ať může kdokoliv spustit MEV kód a přeposlat
176+
výsledky k těžařům způsobem, který zaručí, že všichni těžaři a
177+
přeposílající uzly obdrží stejnou sadu transakcí.
178+
179+
V době psaní zpravodaje nebylo dosaženo jasného závěru.
180+
181+
## Vydání nových verzí
182+
183+
*Vydání nových verzí oblíbených páteřních bitcoinových projektů. Prosíme,
184+
zvažte upgrade či pomoc s testováním.*
185+
186+
- [LDK 0.0.119][] je novým vydáním této knihovny pro budování aplikací
187+
nabízející LN. Bylo přidáno několik nových funkcí včetně přijímání plateb
188+
na [zaslepené cesty][topic rv routing] s několika skoky. Vydání dále obsahuje
189+
opravy několika chyb a další vylepšení.
190+
191+
## Významné změny kódu a dokumentace
192+
193+
*Významné změny z tohoto týdne v [Bitcoin Core][bitcoin core repo], [Core
194+
Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo],
195+
[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet
196+
Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay
197+
Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement
198+
Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo] a
199+
[Bitcoin Inquisition][bitcoin inquisition repo].*
200+
201+
- [Bitcoin Core #29058][] je přípravným krokem k aktivaci [P2P přenosu
202+
verze 2 (BIP324)][topic v2 p2p transport] ve výchozím nastavení.
203+
Změna přidává podporu pro v2transport v konfiguračních argumentech
204+
`-connect`, `-addnode` a `-seednode`, pokud je nastaven `-v2transport`.
205+
Pokud spojení nepodporuje v2, použije se v1. Dále tento update
206+
přidává do dashboardu `netinfo` (`bitcoin-cli`) sloupeček s verzí
207+
přenosového protokolu.
208+
209+
- [Bitcoin Core #29200][] umožňuje, aby [podpora sítě I2P][topic
210+
anonymity networks] používala spojení šifrované pomocí „ECIES-X25519
211+
a ElGamal (typ 4 a 0, respektive). To umožní připojit se k I2P uzlům
212+
kteréhokoliv druhu. Novější a rychlejší ECIES-X25519 bude upřednostňováno.”
213+
214+
- [Bitcoin Core #28890][] odstraňuje konfigurační parameter `-rpcserialversion`,
215+
který byl dříve označen za zastaralý (viz [zpravodaj č. 269][news269 rpc]).
216+
Tato volba byla představena během přechodu na v0 segwit, aby umožnila
217+
starším programům nadále přistupovat k blokům a transakcím bez segwitových
218+
polí. Dnes by již všechny programy měly segwitovým transakcím rozumět
219+
a tato volba již nadále není zapotřebí.
220+
221+
- [Eclair #2808][] přidává do příkazu `open` parametr
222+
`--fundingFeeBudgetSatoshis`, který definuje maximální částku, jakou
223+
je uzel ochoten platit na onchain poplatcích za otevření kanálu. Výchozí
224+
hodnota je nastavena na 0,1 % částky posílané do kanálu. Eclair se pokusí
225+
zaplatit nižší poplatek, pokud je to možné, ale v případě nutnosti jej
226+
navýší až na uvedenou částku. Do příkazu `rbfopen` byl přidán totožný
227+
parametr, který definuje maximální částku na utracení za [RBF
228+
navýšení poplatku][topic rbf].
229+
230+
- [LND #8188][] přidává několik nových RPC volání pro rychlé získání
231+
debugovacích informací. Ty jsou zašifrované nějakým veřejným klíčem
232+
a mohou tedy být patřičným soukromým klíčem rozšifrovány. Jak je v PR
233+
vysvětleno, „myšlenkou je, že bychom v šabloně chybového hlášení na GitHubu
234+
uvedli veřejný klíč a požádali uživatele, aby spustil příkaz `lncli encryptdebugpackage`.
235+
Výstup potom může nahrát na GitHub a tím nám poskytnout informace, které
236+
normálně pro debugování potřebujeme.“
237+
238+
- [LND #8096][] přidává „nárazníkovou zónu pro případ vysokých poplatků.”
239+
V současném LN protokolu je strana, která sama financuje kanál, zodpovědná
240+
za placení jakýchkoliv onchain poplatků přímo obsažených v commitment
241+
transakci a předem podepsaných transakcích HTLC-Success a HTLC-Timeout
242+
(HTLC-X). Nemá-li tato strana v kanálu příliš mnoho prostředků a poplatky
243+
vzrostou, nemusí být schopna přijmout nové příchozí platby, neboť nemají
244+
dostatek peněz na zaplacení poplatků, ačkoliv právě přijímají peníze.
245+
Pro vyvarování se tohoto druhu problému se zaseknutými kanály doporučuje
246+
[BOLT2][] (jak do něj bylo před několika lety přidáno v [BOLTs #740][])
247+
financující straně držet rezervu, aby mohly být platby přijímány i za
248+
zvýšených poplatků. LND nyní také implementuje toto řešení, které je již
249+
obsaženo v Core Lightning i Eclair (viz zpravodaje [č. 85][news85 stuck] a
250+
[č. 89][news89 stuck], _angl._).
251+
252+
- [LND #8095][] a [#8142][lnd #8142] přidávají dodatečnou logiku do částí kódu
253+
LND, které zpracovávají [zaslepené trasy][topic rv routing]. Jedná se o součást
254+
práce na plné podpoře zaslepených tras v LND.
255+
256+
{% assign day_after_posting = page.date | date: "%s" | plus: 86400 | date: "%Y-%m-%d 15:00" %}
257+
{% include snippets/recap-ad.md when=day_after_posting %}
258+
{% include references.md %}
259+
{% include linkers/issues.md v=2 issues="28134,29058,29200,28890,2808,8188,8096,8095,8142,740" %}
260+
[morehouse delving]: https://delvingbitcoin.org/t/dos-disclosure-channel-open-race-in-cln/385
261+
[morehouse blog]: https://morehouse.github.io/lightning/cln-channel-open-race/
262+
[script wiki]: https://en.bitcoin.it/wiki/Script#Arithmetic
263+
[news166 tluv]: /en/newsletters/2021/09/15/#amount-introspection
264+
[news283 exits]: /cs/newsletters/2024/01/03/#davkovani-plateb-pri-odchodu-z-poolu-pomoci-dokladu-o-podvodu
265+
[daftuar cluster]: https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393/
266+
[news280 cluster]: /cs/newsletters/2023/12/06/#diskuze-o-cluster-mempoolu
267+
[news267 compress]: /cs/newsletters/2023/09/06/#komprimovane-bitcoinove-transakce
268+
[briar compress]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2024-January/022274.html
269+
[compress spec]: https://github.com/bitcoin/bitcoin/blob/7e8511c1a8229736d58bd904595815636f410aa8/doc/compressed_transactions.md
270+
[news201 mev]: /cs/newsletters/2022/05/25/#debata-o-tezari-extrahovatelne-hodnote
271+
[news266 lnbugs]: /cs/newsletters/2023/08/30/#zverejneni-probehle-zranitelnosti-ln-spojene-s-falesnym-financovanim
272+
[race condition]: https://cs.wikipedia.org/wiki/Soub%C4%9Bh
273+
[morehouse full]: https://morehouse.github.io/lightning/cln-channel-open-race/
274+
[black lnhance]: https://delvingbitcoin.org/t/lnhance-bips-and-implementation/376/
275+
[stewart 64]: https://delvingbitcoin.org/t/64-bit-arithmetic-soft-fork/397/
276+
[daftuar cluster]: https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393/
277+
[sanders mev]: https://delvingbitcoin.org/t/ephemeral-anchors-and-mev/383/
278+
[bip 64]: https://github.com/bitcoin/bips/pull/1538
279+
[taproot internal key]: /en/newsletters/2019/05/14/#complex-spending-with-taproot
280+
[news56 carveout]: /en/newsletters/2019/07/24/#bitcoin-core-15681
281+
[news269 rpc]: /cs/newsletters/2023/09/20/#bitcoin-core-28448
282+
[news85 stuck]: /en/newsletters/2020/02/19/#c-lightning-3500
283+
[news89 stuck]: /en/newsletters/2020/03/18/#eclair-1319
284+
[ldk 0.0.119]: https://github.com/lightningdevkit/rust-lightning/releases/tag/v0.0.119
285+
[rubin templating]: https://freenode.irclog.whitequark.org/bitcoin-wizards/2019-05-24#24661606;

0 commit comments

Comments
 (0)