Skip to content

Commit 572afaa

Browse files
Newsletter 349 translate in French (#2265)
Co-authored-by: Jluc-bitcoinfr <[email protected]>
1 parent 13eee8e commit 572afaa

File tree

1 file changed

+206
-0
lines changed

1 file changed

+206
-0
lines changed
Lines changed: 206 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,206 @@
1+
---
2+
title: 'Bulletin Hebdomadaire Bitcoin Optech #349'
3+
permalink: /fr/newsletters/2025/04/11/
4+
name: 2025-04-11-newsletter-fr
5+
slug: 2025-04-11-newsletter-fr
6+
type: newsletter
7+
layout: newsletter
8+
lang: fr
9+
---
10+
Le bulletin de cette semaine décrit une proposition pour accélérer le téléchargement initial des
11+
blocs de Bitcoin Core, avec une implémentation de preuve de concept qui montre une accélération
12+
d'environ cinq fois par rapport aux paramètres par défaut de Bitcoin Core. Sont également inclus nos
13+
sections régulières résumant une réunion du Bitcoin Core PR Review Club, annoncant des mises à jour
14+
et des versions candidates, et décrivant les changements notables dans les projets
15+
d'infrastructure Bitcoin populaires.
16+
17+
## Nouvelles
18+
19+
- **Accélération SwiftSync pour le téléchargement initial des blocs :** Sebastian Falbesoner a
20+
[posté][falbesoner ss1] sur Delving Bitcoin une démonstration d'implémentation et les résultats de
21+
performance pour _SwiftSync_, une idée [proposée][somsen ssgist] par Ruben Somsen lors d'une récente
22+
réunion de développeurs de Bitcoin Core et plus tard [publiée][somsen ssml] sur la liste de
23+
diffusion. À l'heure actuelle, les [résultats les plus récents][falbesoner ss2] publiés dans le fil
24+
montrent une accélération de 5,28x du _téléchargement initial des blocs_ (IBD pour _initial block download_) par rapport aux
25+
paramètres IBD par défaut de Bitcoin Core (qui utilise [assumevalid][] mais pas [assumeUTXO][topic
26+
assumeutxo]), réduisant le temps de synchronisation initial d'environ 41 heures à environ 8 heures.
27+
28+
Avant d'utiliser SwiftSync, une personne ayant déjà synchronisé son nœud à un bloc récent crée un
29+
_fichier d'indices_ qui indique quels outputs de transaction seront dans l'ensemble UTXO à ce bloc
30+
(c'est-à-dire, quels outputs seront non dépensés). Cela peut être encodé de manière efficace en
31+
quelques centaines de mégaoctets pour la taille actuelle de l'ensemble UTXO. Le fichier d'indices
32+
indique également à quel bloc il a été généré, que nous appellerons le _bloc terminal SwiftSync_.
33+
34+
L'utilisateur effectuant SwiftSync télécharge le fichier d'indices et l'utilise lors du traitement
35+
de chaque bloc précédant le bloc terminal SwiftSync pour ne stocker les outputs dans la base de
36+
données UTXO que si le fichier d'indices indique que l'output restera dans l'ensemble UTXO lorsque
37+
le bloc terminal SwiftSync sera atteint. Cela réduit massivement le nombre d'entrées qui sont
38+
ajoutées, puis plus tard retirées, de la base de données UTXO pendant l'IBD.
39+
40+
Pour s'assurer que le fichier d'indices est correct, chaque output créé non stocké dans la base de
41+
données UTXO est ajouté à un [accumulateur cryptographique][]. Chaque output dépensé est retiré de
42+
l'accumulateur. Lorsque le nœud atteint le bloc terminal SwiftSync, il s'assure que l'accumulateur
43+
est vide, signifiant que chaque output vu a été dépensé plus tard. Si cela échoue, cela signifie que
44+
le fichier d'indices était incorrect et que l'IBD doit être effectué à nouveau depuis le début sans
45+
utiliser SwiftSync. De cette manière, les utilisateurs n'ont pas besoin de faire confiance au
46+
créateur du fichier d'indices---un fichier malveillant ne peut pas entraîner un état UTXO incorrect;
47+
il peut seulement gaspiller quelques heures de ressources informatiques de l'utilisateur.
48+
49+
Une propriété supplémentaire de SwiftSync qui n'a pas encore été implémentée est de permettre la
50+
validation parallèle des blocs pendant l'IBD. Cela est possible parce que assumevalid ne vérifie pas
51+
les scripts des blocs plus anciens, les entrées ne sont jamais retirées de la base de données UTXO
52+
avant le bloc terminal SwiftSync, et l'accumulateur utilisé ne suit que l'effet net des sorties ajoutées
53+
(créées) et retirées (dépensées). Cela élimine toute dépendance entre les blocs avant le bloc
54+
terminal SwiftSync. La validation parallèle pendant l'IBD est également une caractéristique de
55+
[Utreexo][topic utreexo] pour certaines des mêmes raisons.
56+
57+
La discussion a examiné plusieurs aspects de la proposition. L'implémentation originale de
58+
Falbesoner utilisait l'accumulateur [MuHash][] (voir le [Bulletin #123][news123 muhash]), qui [a été
59+
montré][wuille muhash] résistant à l'[attaque d'anniversaire généralisée][attaque anniversaire]. Somsen [a
60+
décrit][somsen ss1] une approche alternative qui pourrait être plus rapide. Falbesoner s'est
61+
interrogé sur la sécurité cryptographique de l'approche alternative mais, puisqu'elle était simple,
62+
l'a quand même mise en œuvre et a trouvé qu'elle accélérait davantage SwiftSync.
63+
64+
James O'Beirne [a demandé][obeirne ss] si SwiftSync est utile étant donné que assumeUTXO offre une
65+
accélération encore plus grande. Somsen [a répondu][somsen ss2] que SwiftSync accélère la validation
66+
en arrière-plan d'assumeUTXO, ce qui en fait un ajout intéressant pour les utilisateurs d'assumeUTXO. Il
67+
note en outre que quiconque télécharge les données requises d'assumeUTXO (la base de données UTXO à
68+
un bloc particulier) n'a pas besoin d'un fichier d'indices séparé s'il utilise ce même bloc comme
69+
bloc terminal SwiftSync.
70+
71+
Vojtěch Strnad, 0xB10C, et Somsen [ont discuté][b10c ss] de la compression des données du fichier
72+
d'indices, avec une économie attendue d'environ 75%, réduisant le fichier d'indices de test (pour le
73+
bloc 850,900) à environ 88 Mo.
74+
75+
La discussion était en cours au moment de la rédaction.
76+
77+
## Bitcoin Core PR Review Club
78+
79+
*Dans cette section mensuelle, nous résumons une récente réunion du [Bitcoin Core PR Review Club][],
80+
en soulignant certaines des questions et réponses importantes. Cliquez sur une question ci-dessous
81+
pour voir un résumé de la réponse de la réunion.*
82+
83+
[Add Fee rate Forecaster Manager][review club 31664] est un PR par [ismaelsadeeq][gh ismaelsadeeq]
84+
qui améliore la logique de prévision des frais de transaction (également appelée [estimation][topic
85+
fee estimation]). Il introduit une nouvelle classe `ForecasterManager` à laquelle plusieurs
86+
`Forecaster`s peuvent être enregistrés. Le `CBlockPolicyEstimator` existant (qui ne considère que
87+
les transactions confirmées) est refactorisé pour devenir un de ces prévisionnistes, mais notablement un
88+
nouveau `MemPoolForecaster` est introduit. `MemPoolForecaster` considère les transactions non
89+
confirmées qui sont dans le mempool, et en tant que tel peut réagir plus rapidement aux changements
90+
de taux de frais.
91+
92+
{% include functions/details-list.md
93+
q0="Pourquoi le nouveau système est-il appelé un « Forecaster » et « ForecasterManager » plutôt
94+
qu' « Estimator » et « Fee Estimation Manager » ?"
95+
a0="Le système prédit les résultats futurs basés sur les données actuelles et passées. Contrairement
96+
à un estimateur, qui approximise les conditions présentes avec une certaine randomisation, un
97+
prévisionniste projette des événements futurs, ce qui s'aligne avec la nature prédictive de ce
98+
système et sa sortie de niveaux d'incertitude/risque."
99+
a0link="https://bitcoincore.reviews/31664#l-19"
100+
101+
q1="Pourquoi `CBlockPolicyEstimator` n'est-il pas modifié pour contenir la référence mempool,
102+
comme dans le PR #12966 ? Quelle est l'approche actuelle
103+
et pourquoi est-elle meilleure que de conserver une référence à mempool ?
104+
(Hint : see PR #28368)"
105+
a1="`CBlockPolicyEstimator` hérite de `CValidationInterface` et
106+
implémente ses méthodes virtuelles `TransactionAddedToMempool`,
107+
`TransactionRemovedFromMempool`, et
108+
`MempoolTransactionsRemovedForBlock`. Cela donne à
109+
`CBlockPolicyEstimator` toutes les informations mempool dont il a besoin sans
110+
être inutilement couplé au mempool via une référence."
111+
a1link="https://bitcoincore.reviews/31664#l-26"
112+
113+
q2="Quels sont les compromis entre la nouvelle architecture et une
114+
modification directe de `CBlockPolicyEstimator` ?"
115+
a2="La nouvelle architecture avec une classe `FeeRateForecasterManager` à
116+
laquelle plusieurs `Forecaster` peuvent être enregistrés est une approche plus modulaire
117+
qui permet de meilleurs tests, et applique une meilleure
118+
séparation des préoccupations. Elle permet d'intégrer facilement de nouvelles stratégies de prévision
119+
par la suite. Cela se fait au prix d'un peu plus de code à
120+
maintenir, et d'une confusion potentielle pour les utilisateurs quant à la méthode d'estimation
121+
à utiliser."
122+
a2link="https://bitcoincore.reviews/31664#l-43"
123+
%}
124+
125+
## Mises à jour et versions candidates
126+
127+
_Nouvelles versions et versions candidates pour des projets d'infrastructure Bitcoin populaires.
128+
Veuillez envisager de mettre à niveau vers les nouvelles versions ou d'aider à tester les versions candidates._
129+
130+
- [Core Lightning 25.02.1][] est une version de maintenance pour la version majeure actuelle de ce
131+
nœud LN populaire qui inclut plusieurs corrections de bugs.
132+
133+
- [Core Lightning 24.11.2][] est une version de maintenance pour une version majeure antérieure de
134+
ce nœud LN. Elle inclut plusieurs corrections de bugs, certaines étant les mêmes que celles sorties
135+
dans la version 25.02.1.
136+
137+
- [BTCPay Server 2.1.0][] est une version majeure de ce logiciel de traitement de paiements
138+
auto-hébergé. Elle inclut des changements importants pour les utilisateurs de certains altcoins,
139+
des améliorations pour le [RBF][topic rbf] et le [CPFP][topic cpfp] pour augmenter les frais, et un
140+
meilleur flux pour le multisig lorsque tous les signataires utilisent BTCPay Server.
141+
142+
- [Bitcoin Core 29.0rc3][] est un candidat à la sortie pour la prochaine version majeure du nœud
143+
complet prédominant du réseau. Veuillez consulter le [guide de test de la version 29][bcc29 testing
144+
guide].
145+
146+
- [LND 0.19.0-beta.rc2][] est un candidat à la sortie pour ce nœud LN populaire. L'une des
147+
principales améliorations qui pourrait probablement nécessiter des tests est le nouveau bumping de
148+
frais basé sur RBF pour les fermetures coopératives.
149+
150+
## Changements de code et de documentation notables
151+
152+
_Changements récents dans [Bitcoin Core][bitcoin core repo], [Core Lightning][core lightning
153+
repo], [Eclair][eclair repo], [LDK][ldk repo], [LND][lnd repo], [libsecp256k1][libsecp256k1 repo],
154+
[Interface de Portefeuille Matériel (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay
155+
Server][btcpay server repo], [BDK][bdk repo], [Amélioration de Bitcoin]
156+
Propositions (BIPs)][bips repo], [Lightning BOLTs][bolts repo],[Lightning BLIPs][blips repo],
157+
[Bitcoin Inquisition][bitcoin inquisition repo], et [BINANAs][binana repo]._
158+
159+
- [LDK #2256][] et [LDK #3709][] améliorent les échecs attribuables (voir le Bulletin [#224][news224
160+
failures]) comme spécifié dans [BOLTs #1044][] en ajoutant un champ `attribution_data` optionnel à
161+
la structure `UpdateFailHTLC` et en introduisant la structure `AttributionData`. Dans ce protocole,
162+
chaque nœud de transfert ajoute au message d'échec un drapeau `hop_payload`, un champ de durée qui
163+
enregistre combien de temps le nœud a détenu le HTLC, et des HMAC correspondant à différentes
164+
positions supposées dans l'itinéraire. Si un nœud corrompt le message d'échec, le décalage dans la
165+
chaîne HMAC aide à identifier la paire de nœuds entre lesquels cela s'est produit.
166+
167+
- [LND #9669][] rétrograde les [canaux taproot simples][topic simple taproot channels] pour toujours
168+
utiliser le flux de fermeture coopérative classique, même si le flux de fermeture coopérative
169+
[RBF][topic rbf] (voir le Bulletin [#347][news347 coop]) est configuré. Auparavant, un nœud ayant les
170+
deux fonctionnalités configurées échouerait à démarrer.
171+
172+
- [Rust Bitcoin #4302][] ajoute une nouvelle méthode `push_relative_lock_time()` à l'API du
173+
générateur de script, qui prend un paramètre de [verrouillage temporel relatif][topic timelocks],
174+
et rend obsolète `push_sequence()` qui prend un numéro de séquence brut comme paramètre. Ce changement
175+
résout une confusion potentielle où les développeurs pousseraient par erreur un numéro de séquence
176+
brut dans les scripts au lieu d'une valeur de verrouillage temporel relatif, qui est ensuite
177+
vérifiée contre le numéro de séquence d'une entrée en utilisant `CHECKSEQUENCEVERIFY`.
178+
179+
{% include snippets/recap-ad.md when="2025-04-15 15:30" %}
180+
{% include references.md %}
181+
{% include linkers/issues.md v=2 issues="2256,3709,9669,4302,1044" %}
182+
[bitcoin core 29.0rc3]: https://bitcoincore.org/bin/bitcoin-core-29.0/
183+
[bcc29 testing guide]: https://github.com/bitcoin-core/bitcoin-devwiki/wiki/29.0-Release-Candidate-Testing-Guide
184+
[lnd 0.19.0-beta.rc2]: https://github.com/lightningnetwork/lnd/releases/tag/v0.19.0-beta.rc2
185+
[wuille muhash]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2017-May/014337.html
186+
[falbesoner ss1]: https://delvingbitcoin.org/t/ibd-booster-speeding-up-ibd-with-pre-generated-hints-poc/1562/
187+
[somsen ssgist]: https://gist.github.com/RubenSomsen/a61a37d14182ccd78760e477c78133cd
188+
[falbesoner ss2]: https://delvingbitcoin.org/t/ibd-booster-speeding-up-ibd-with-pre-generated-hints-poc/1562/7
189+
[assumevalid]: https://bitcoincore.org/en/2017/03/08/release-0.14.0/#assumed-valid-blocks
190+
[accumulateur cryptographique]: https://en.wikipedia.org/wiki/Accumulator_(cryptography)
191+
[news123 muhash]: /en/newsletters/2020/11/11/#bitcoin-core-pr-review-club
192+
[muhash]: https://cseweb.ucsd.edu/~mihir/papers/inchash.pdf
193+
[attaque anniversaire]: https://www.iacr.org/archive/crypto2002/24420288/24420288.pdf
194+
[somsen ss1]: https://delvingbitcoin.org/t/ibd-booster-speeding-up-ibd-with-pre-generated-hints-poc/1562/2
195+
[obeirne ss]: https://delvingbitcoin.org/t/ibd-booster-speeding-up-ibd-with-pre-generated-hints-poc/1562/5
196+
[somsen ss2]: https://delvingbitcoin.org/t/ibd-booster-speeding-up-ibd-with-pre-generated-hints-poc/1562/6
197+
[b10c ss]: https://delvingbitcoin.org/t/ibd-booster-speeding-up-ibd-with-pre-generated-hints-poc/1562/4
198+
[somsen ssml]: https://mailing-list.bitcoindevs.xyz/bitcoindev/CAPv7TjaM0tfbcBTRa0_713Bk6Y9jr+ShOC1KZi2V3V2zooTXyg@mail.gmail.com/T/#u
199+
[core lightning 25.02.1]: https://github.com/ElementsProject/lightning/releases/tag/v25.02.1
200+
[core lightning 24.11.2]: https://github.com/ElementsProject/lightning/releases/tag/v24.11.2
201+
[btcpay server 2.1.0]: https://github.com/btcpayserver/btcpayserver/releases/tag/v2.1.0
202+
[news224 failures]: /fr/newsletters/2022/11/02/#attribution-de-l-echec-du-routage-ln
203+
[news347 coop]: /en/newsletters/2025/03/28/#lnd-8453
204+
[review club 31664]: https://bitcoincore.reviews/31664
205+
[gh ismaelsadeeq]: https://github.com/ismaelsadeeq
206+
[forecastresult compare]: https://github.com/bitcoin-core-review-club/bitcoin/commit/1e6ce06bf34eb3179f807efbddb0e9bca2d27f28#diff-5baaa59bccb2c7365d516b648dea557eb50e63837de71531dc460dbcc62eb9adR74-R77

0 commit comments

Comments
 (0)