Skip to content

Commit 2222804

Browse files
authored
Newsletter 353 translate in French (#2312)
1 parent 0aae29f commit 2222804

File tree

1 file changed

+202
-0
lines changed

1 file changed

+202
-0
lines changed
Lines changed: 202 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,202 @@
1+
---
2+
title: 'Bulletin Hebdomadaire Bitcoin Optech #353'
3+
permalink: /fr/newsletters/2025/05/09/
4+
name: 2025-05-09-newsletter-fr
5+
slug: 2025-05-09-newsletter-fr
6+
type: newsletter
7+
layout: newsletter
8+
lang: fr
9+
---
10+
Le bulletin de cette semaine décrit une vulnérabilité théorique de défaillance de consensus
11+
récemment découverte et renvoie à une proposition pour éviter la réutilisation des chemins de
12+
portefeuille BIP32. Sont également incluses nos sections régulières résumant une
13+
réunion du Bitcoin Core PR Review Club, annonçant des mises à jour et des versions candidates,
14+
et décrivant les changements notables dans les projets d'infrastructure Bitcoin populaires.
15+
16+
## Nouvelles
17+
18+
- **Vulnérabilité de défaillance de consensus BIP30 :** Ruben Somsen a [posté][somsen bip30] sur la
19+
liste de diffusion Bitcoin-Dev à propos d'une défaillance de consensus théorique qui pourrait
20+
survenir maintenant que les points de contrôle ont été retirés de Bitcoin Core (voir le [Bulletin
21+
#346][news346 checkpoints]). En bref, les transactions coinbase des blocs 91722 et 91812 sont
22+
[dupliquées][topic duplicate transactions] dans les blocs 91880 et 91842. [BIP30][] spécifie que ces
23+
deux derniers blocs devraient être traités de la manière dont la version historique de Bitcoin Core
24+
les a traités en 2010, c'est-à-dire en écrasant les entrées coinbase antérieures dans l'ensemble
25+
UTXO avec les duplicatas ultérieurs. Cependant, Somsen note qu'un réordonnancement de l'un ou des
26+
deux blocs ultérieurs résulterait dans le retrait de l'entrée dupliquée (ou des entrées) de
27+
l'ensemble UTXO, le laissant également dépourvu des entrées antérieures en raison de l'écrasement.
28+
Mais, un nœud nouvellement démarré qui n'a jamais vu les transactions dupliquées aurait toujours les
29+
transactions antérieures, lui donnant un ensemble UTXO différent qui pourrait entraîner une
30+
défaillance de consensus si l'une des deux transactions est dépensée.
31+
32+
Ce n'était pas un problème lorsque Bitcoin Core avait des points de contrôle car ils exigeaient que
33+
les quatre blocs mentionnés ci-dessus fassent partie de la meilleure blockchain. Ce n'est pas
34+
vraiment un problème maintenant, sauf dans un cas théorique où le mécanisme de sécurité de preuve de
35+
travail de Bitcoin se brise. Plusieurs solutions possibles ont été discutées, telles que coder en
36+
dur une logique de cas spéciaux supplémentaires pour ces deux exceptions.
37+
38+
- **Éviter la réutilisation du chemin BIP32 :** Kevin Loaec a [posté][loaec bip32reuse] sur Delving
39+
Bitcoin pour discuter des options permettant d'éviter que le même chemin de portefeuille
40+
[BIP32][topic bip32] soit utilisé avec différents portefeuilles, ce qui pourrait conduire à une
41+
perte de confidentialité en raison du [lien de sortie][topic output linking] et une perte théorique
42+
de sécurité (par exemple, en raison de [l'informatique quantique][topic quantum resistance]). Il a
43+
suggéré trois approches possibles : utiliser un chemin aléatoire, utiliser un chemin basé sur la
44+
date de création du portefeuille, et utiliser un chemin basé sur un compteur incrémentiel. Il a
45+
recommandé l'approche basée sur la date de création.
46+
47+
Il a également recommandé d'abandonner la plupart des éléments de chemin [BIP48][] comme inutiles en
48+
raison de l'utilisation de plus en plus répandue des portefeuilles avec des [descripteurs][topic
49+
descriptors], en particulier pour les portefeuilles multisig et les portefeuilles à script complexe.
50+
Cependant, Salvatore Ingala a [répondu][ingala bip48] pour suggérer de conserver la partie _type de
51+
monnaie_ du chemin BIP48 car elle aide à garantir que les clés utilisées avec différentes
52+
cryptomonnaies sont conservées séparées, ce qui est appliqué par certains dispositifs de signature
53+
matérielle.
54+
55+
## Bitcoin Core PR Review Club
56+
57+
*Dans cette section mensuelle, nous résumons une récente réunion du [Bitcoin Core PR Review Club][],
58+
mettant en lumière certaines des questions importantes et des réponses. Cliquez
59+
sur une question ci-dessous pour voir un résumé de la réponse donnée lors de la réunion.*
60+
61+
[L'ajout d'un exécutable wrapper bitcoin][review club 31375] est une PR par [ryanofsky][gh
62+
ryanofsky] qui introduit un nouveau binaire `bitcoin` qui peut être utilisé pour découvrir et lancer
63+
les différents binaires de Bitcoin Core.
64+
65+
Bitcoin Core v29 a été livré avec 7 binaires (par exemple, `bitcoind`, `bitcoin-qt` et
66+
`bitcoin-cli`), mais ce nombre devrait [augmenter][Bitcoin Core #30983] à l'avenir lorsque les
67+
binaires [multiprocess][multiprocess design] seront également distribués. Le nouveau wrapper
68+
`bitcoin` mappe les commandes (par exemple, `gui`) au bon binaire monolithique (`bitcoin-qt`) ou
69+
multiprocessus (`bitcoin-gui`). En plus de la découvrabilité, le wrapper offre également une
70+
compatibilité vers l'avant, de sorte que les binaires peuvent être réorganisés sans que l'interface
71+
utilisateur ne change.
72+
73+
Avec cette PR, un utilisateur peut lancer Bitcoin Core avec `bitcoin daemon` ou `bitcoin gui`.
74+
Lancer directement les binaires `bitcoind` ou `bitcoin-qt` reste possible et n'est pas affecté par
75+
cette PR.
76+
77+
{% include functions/details-list.md
78+
q0="D'après le problème #30983, quatre stratégies de wrapper ont été listées. Quels inconvénients
79+
spécifiques de l'approche « side-binaries » cette PR aborde-t-elle ?"
80+
a0="L'approche des side-binaries supposée par cette PR implique de libérer les nouveaux binaires
81+
multiprocessus aux côtés des binaires monolithiques existants. Avec autant de binaires, cela peut
82+
être déroutant pour les utilisateurs de trouver et de comprendre le binaire dont ils ont besoin pour
83+
leur objectif. Cette PR élimine une grande partie de la confusion en fournissant un point d'entrée
84+
unique, avec un aperçu des options et une chaîne d'aide. Un examinateur a suggéré l'ajout d'une
85+
recherche floue pour faciliter encore plus cela."
86+
a0link="https://bitcoincore.reviews/31375#l-40"
87+
q1="`GetExePath()` n'utilise pas `readlink(\"/proc/self/exe\")` sur Linux même si cela serait plus
88+
direct. Quels avantages l'implémentation actuelle offre-t-elle ? Quels cas particuliers
89+
pourrait-elle manquer ?"
90+
a1="Il peut y avoir d'autres plateformes non-Windows qui n'ont pas le système de fichiers proc. À
91+
part cela, ni l'auteur ni les invités n'ont pu identifier d'inconvénients à l'utilisation de
92+
procfs."
93+
a1link="https://bitcoincore.reviews/31375#l-71"
94+
q2="Dans `ExecCommand`, expliquez le but du booléen `fallback_os_search`. Dans quelles circonstances
95+
vaut-il mieux éviter de laisser l'OS rechercher le binaire sur le `PATH` ?"
96+
a2="Si cela semble que l'exécutable wrapper a été invoqué par chemin (par exemple,
97+
\"/build/bin/bitcoin\") plutôt que par recherche (par exemple, \"bitcoin\"), il est supposé que
98+
l'utilisateur utilise une construction locale et `fallback_os_search` est défini sur `false`. Ce
99+
booléen est introduit pour éviter de mélanger involontairement des binaires de différentes sources.
100+
Par exemple, si l'utilisateur n'a pas construit localement `gui`, alors `/build/bin/bitcoin gui` ne
101+
devrait pas retomber sur le `bitcoin-gui` installé sur le système. L'auteur envisage de supprimer
102+
entièrement la recherche `PATH`, et les retours des utilisateurs seraient utiles."
103+
a2link="https://bitcoincore.reviews/31375#l-75"
104+
q3="Le wrapper ne recherche `${prefix}/libexec` que lorsqu'il détecte qu'il est exécuté depuis un
105+
répertoire `bin/` installé. Pourquoi ne pas toujours rechercher `libexec` ?"
106+
a3="Le wrapper doit être prudent quant aux chemins qu'il tente d'exécuter, et encourager les
107+
dispositions standard `PREFIX/{bin,libexec}`, et non encourager les wrapper à créer des
108+
dispositions non standard ou à fonctionner lorsque les binaires sont arrangés de manières
109+
inattendues."
110+
a3link="https://bitcoincore.reviews/31375#l-75"
111+
q4="La PR ajoute une exemption dans `security-check.py` parce que le wrapper ne contient pas
112+
d'appels `glibc` fortifiés. Pourquoi ne les contient-il pas, et l'ajout d'un simple `printf` à
113+
`bitcoin.cpp` briserait-il les constructions reproductibles sous les règles actuelles ?"
114+
a4="Le binaire du wrapper est si simple qu'il ne contient aucun appel pouvant être fortifié. S'il en
115+
contient à l'avenir, l'exemption dans security-check.py peut être retirée."
116+
a4link="https://bitcoincore.reviews/31375#l-117"
117+
%}
118+
119+
## Mises à jour et versions candidates
120+
121+
_Nouvelles versions et versions candidates pour des projets d'infrastructure Bitcoin populaires.
122+
Veuillez envisager de mettre à niveau vers les nouvelles versions ou d'aider à tester les versions candidates._
123+
124+
- [LND 0.19.0-beta.rc4][] est un candidat à la sortie pour ce nœud LN populaire. L'une des
125+
principales améliorations qui pourrait probablement nécessiter des tests est le nouveau bumping de
126+
frais basé sur RBF pour les fermetures coopératives.
127+
128+
## Changements notables dans le code et la documentation
129+
130+
_Changements récents notables dans [Bitcoin Core][bitcoin core repo], [Core Lightning][core lightning
131+
repo], [Eclair][eclair repo], [LDK][ldk repo], [LND][lnd repo], [libsecp256k1][libsecp256k1 repo],
132+
[Interface de Portefeuille Matériel (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [Serveur
133+
BTCPay][btcpay server repo], [BDK][bdk repo], [Propositions d'Amélioration de Bitcoin (BIPs)][bips
134+
repo], [Lightning BOLTs][bolts repo], [Lightning BLIPs][blips repo], [Inquisition Bitcoin][bitcoin
135+
inquisition repo], et [BINANAs][binana repo]._
136+
137+
- [Core Lightning #8227][] ajoute des plugins `lsps-client` et `lsps-service` basés sur Rust qui
138+
implémentent un protocole de communication entre les nœuds LSP et leurs clients, en utilisant un
139+
format JSON-RPC sur les messages peer-to-peer [BOLT8][], comme spécifié dans [BLIP50][] (voir
140+
le Bulletin [#335][news335 blip50]). Cela pose les bases pour l'implémentation des demandes de
141+
liquidité entrantes comme spécifié dans [BLIP51][], et de [canaux JIT][topic jit channels] comme
142+
spécifié dans [BLIP52][].
143+
144+
- [Core Lightning #8162][] met à jour la gestion des ouvertures de canaux en attente initiées par
145+
les pairs en les conservant indéfiniment, jusqu'à une limite des 100 plus récents. Auparavant, les
146+
ouvertures de canaux non confirmées étaient oubliées après 2016 blocs. De plus, les canaux fermés
147+
sont maintenant conservés en mémoire pour permettre à un nœud de répondre à un message
148+
`channel_reestablish` d'un pair.
149+
150+
- [Core Lightning #8166][] améliore la commande RPC `wait` en remplaçant son unique objet `details`
151+
par des objets spécifiques aux sous-systèmes : `invoices`,
152+
`forwards`, `sendpays` et [`htlcs`][topic htlc]. De plus, la commande RPC `listhtlcs` prend
153+
désormais en charge la pagination via les nouveaux champs `created_index` et `updated_index` ainsi
154+
que les paramètres `index`, `start` et `end`.
155+
156+
- [Core Lightning #8237][] ajoute un paramètre `short_channel_id` à la commande RPC
157+
`listpeerchannels` pour retourner uniquement un canal spécifique, s'il est fourni.
158+
159+
- [LDK #3700][] ajoute un nouveau champ `failure_reason` à l'événement `HTLCHandlingFailed` pour
160+
fournir des informations supplémentaires sur la raison de l'échec du [HTLC][topic htlc], et si la
161+
cause était locale ou en aval. Le champ `failed_next_destination` est renommé en `failure_type` et
162+
la variante `UnknownNextHop` est dépréciée, remplacée par la plus générale `InvalidForward`.
163+
164+
- [Rust Bitcoin #4387][] refactorise la gestion des erreurs [BIP32][topic bip32] en remplaçant le
165+
seul `bip32::Error` par des énumérations séparées pour la dérivation, le numéro/chemin de l'enfant
166+
et l'analyse de la clé étendue. Cette PR introduit également une nouvelle variante
167+
`DerivationError::MaximumDepthExceeded` pour les chemins dépassant 256 niveaux. Ces changements
168+
d'API rompent la compatibilité ascendante.
169+
170+
- [BIPs #1835][] met à jour [BIP48][] (voir le Bulletin [#135][news135 bip48]) pour réserver la
171+
valeur de type de script 3 pour les dérivations [taproot][topic taproot] (P2TR) dans les
172+
portefeuilles multisig déterministes avec le préfixe m/48', en plus des types de script P2SH-P2WSH
173+
(1′) et P2WSH (2′) existants.
174+
175+
- [BIPs #1800][] fusionne [BIP54][], qui spécifie la proposition de soft fork de nettoyage du
176+
consensus [topic consensus cleanup] pour corriger un certain nombre de vulnérabilités de longue date
177+
dans le protocole Bitcoin. Voir le Bulletin [#348][news348 cleanup] pour une description détaillée de
178+
ce BIP.
179+
180+
- [BOLTs #1245][] renforce [BOLT11][] en interdisant les encodages de longueur non minimale dans les
181+
factures : les champs d'expiration (x), le [délai d'expiration CLTV][topic cltv expiry delta] pour
182+
le dernier saut (c) et les bits de fonctionnalité (9) doivent être sérialisés en longueur minimale
183+
sans zéros initiaux, et les lecteurs devraient rejeter toute facture contenant des zéros initiaux.
184+
Ce changement a été motivé par des tests de fuzzing qui ont détecté que lorsque LDK resérialise des
185+
factures non minimales en minimales (en supprimant les zéros supplémentaires), cela provoque l'échec
186+
de la validation de la signature ECDSA de la facture.
187+
188+
{% include snippets/recap-ad.md when="2025-05-13 16:30" %}
189+
{% include references.md %}
190+
{% include linkers/issues.md v=2 issues="8227,8162,8166,8237,3700,4387,1835,1800,1245,50,51,52,30983" %}
191+
[lnd 0.19.0-beta.rc4]: https://github.com/lightningnetwork/lnd/releases/tag/v0.19.0-beta.rc4
192+
[wuille clustrade]: https://delvingbitcoin.org/t/how-to-linearize-your-cluster/303/68
193+
[somsen bip30]: https://mailing-list.bitcoindevs.xyz/bitcoindev/CAPv7TjZTWhgzzdps3vb0YoU3EYJwThDFhNLkf4XmmdfhbORTaw@mail.gmail.com/
194+
[loaec bip32reuse]: https://delvingbitcoin.org/t/avoiding-xpub-derivation-reuse-across-wallets-in-a-ux-friendly-manner/1644
195+
[ingala bip48]: https://delvingbitcoin.org/t/avoiding-xpub-derivation-reuse-across-wallets-in-a-ux-friendly-manner/1644/3
196+
[news346 checkpoints]: /fr/newsletters/2025/03/21/#bitcoin-core-31649
197+
[news335 blip50]: /fr/newsletters/2025/01/03/#blips-52
198+
[news135 bip48]: /en/newsletters/2021/07/28/#bips-1072
199+
[news348 cleanup]: /fr/newsletters/2025/04/04/#brouillon-de-bip-publie-pour-le-nettoyage-du-consensus
200+
[review club 31375]: https://bitcoincore.reviews/31375
201+
[gh ryanofsky]: https://github.com/ryanofsky
202+
[multiprocess design]: https://github.com/bitcoin/bitcoin/blob/master/doc/design/multiprocess.md

0 commit comments

Comments
 (0)