|
| 1 | +--- |
| 2 | +title: 'Bulletin Hebdomadaire Bitcoin Optech #312' |
| 3 | +permalink: /fr/newsletters/2024/07/19/ |
| 4 | +name: 2024-07-19-newsletter-fr |
| 5 | +slug: 2024-07-19-newsletter-fr |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: fr |
| 9 | +--- |
| 10 | +Le bulletin de cette semaine décrit un protocole de génération de clés distribué pour le schéma de |
| 11 | +signature limitée sans script FROST et renvoie à une introduction complète à la linéarisation de |
| 12 | +clusters. Nous incluons également nos sections régulières décrivant les mises à jour des clients et des services, |
| 13 | +les nouvelles versions et les versions candidates, ainsi que les changements |
| 14 | +apportés aux principaux logiciels d'infrastructure Bitcoin. |
| 15 | + |
| 16 | +## Nouvelles |
| 17 | + |
| 18 | +- **Protocole de génération de clés distribué pour FROST :** Tim Ruffing et Jonas Nick ont |
| 19 | + [publié][ruffing nick post] sur la liste de diffusion Bitcoin-Dev un [brouillon de BIP][chilldkg |
| 20 | + bip] avec une [référence d'implémentation][chilldkg ref] de ChillDKG, un protocole pour générer de |
| 21 | + manière sécurisée des clés à utiliser avec les [signatures limitées sans script][topic threshold |
| 22 | + signature] de style [FROST][] compatibles avec les [signatures schnorr][topic schnorr signatures] de |
| 23 | + Bitcoin. |
| 24 | + |
| 25 | + Les signatures limitées sans script sont compatibles avec la création de `n` clés, dont n'importe |
| 26 | + quelles `t` peuvent être utilisées coopérativement pour créer une signature valide. Par exemple, un |
| 27 | + schéma 2-sur-3 crée trois clés, dont deux quelconques peuvent produire une signature valide. Étant |
| 28 | + _sans script_, le schéma repose entièrement sur des opérations externes au consensus et à la |
| 29 | + blockchain, contrairement aux opérations de signature limitée scriptées intégrées de Bitcoin (par |
| 30 | + exemple, en utilisant `OP_CHECKMULTISIG`). |
| 31 | + |
| 32 | + De manière similaire à la génération d'une clé privée Bitcoin régulière, chaque personne créant une |
| 33 | + clé pour les signatures limitées sans script doit générer un nombre grand et aléatoire sans divulguer |
| 34 | + ce nombre à quiconque d'autre. Cependant, chaque personne doit également distribuer des parts |
| 35 | + dérivées de ce nombre aux autres utilisateurs afin qu'un nombre limité d'entre eux puisse créer une |
| 36 | + signature si cette clé est indisponible. Chaque utilisateur doit vérifier que les informations qu'il |
| 37 | + a reçues de chaque autre utilisateur ont été générées correctement. Plusieurs protocoles de |
| 38 | + génération de clés pour effectuer ces étapes existent, mais ils supposent que les utilisateurs |
| 39 | + générant les clés ont accès à un canal de communication qui est chiffré et authentifié entre des |
| 40 | + paires individuelles d'utilisateurs et qui permet également une diffusion authentifiée et |
| 41 | + incensurable de chaque utilisateur vers tous les autres utilisateurs. Le protocole ChillDKG combine |
| 42 | + un algorithme de génération de clés bien connu pour FROST avec des primitives cryptographiques |
| 43 | + modernes supplémentaires et des algorithmes simples pour fournir la communication sécurisée, |
| 44 | + authentifiée et prouvée incensurable nécessaire. |
| 45 | + |
| 46 | + Le chiffrement et l'authentification entre les participants commencent par un échange [elliptic |
| 47 | + curve diffie-hellman][ecdh] (ECDH). La preuve de non-censure est créée par chaque participant en |
| 48 | + utilisant sa clé de base pour signer un transcript de la session depuis son début jusqu'à la |
| 49 | + production de la clé publique limitée sans script (qui est la fin de la session). Avant d'accepter la |
| 50 | + clé publique limitée comme correcte, chaque participant vérifie le transcript de session signé de |
| 51 | + chaque autre participant. |
| 52 | + |
| 53 | + L'objectif est de fournir un protocole entièrement généralisé qui est utilisable dans tous les cas |
| 54 | + où les gens veulent générer des clés pour des signatures limitées sans script basées sur FROST. De |
| 55 | + plus, le protocole aide à simplifier les sauvegardes : tout ce dont un utilisateur a besoin est sa |
| 56 | + graine privée et certaines données de récupération qui ne sont pas sensibles à la sécurité (mais qui |
| 57 | + ont des implications sur la vie privée). Dans un [message de suivi][nick follow-up], Jonas Nick a |
| 58 | + mentionné qu'ils envisagent d'étendre le protocole pour chiffrer les données de récupération avec |
| 59 | + une clé dérivée de la graine, de sorte que la seule donnée que l'utilisateur doit garder privée soit |
| 60 | + sa graine. |
| 61 | + |
| 62 | +- **Introduction à la linéarisation des clusters :** Pieter Wuille a [publié][wuille cluster] sur |
| 63 | + Delving Bitcoin une description détaillée de toutes les parties principales de la linéarisation des |
| 64 | + clusters, la base pour un [mempool en cluster][topic cluster mempool]. Les précédents bulletins d'Optech |
| 65 | + ont tenté d'introduire le sujet à mesure que ses concepts clés étaient développés et publiés, mais |
| 66 | + cette vue d'ensemble est beaucoup plus complète. Elle guide les lecteurs dans un ordre <!-- linéaire |
| 67 | + :-) --> des concepts fondamentaux aux algorithmes spécifiques mis en œuvre. Elle se termine par des |
| 68 | + liens vers plusieurs pull requests de Bitcoin Core qui implémentent des parties du mempool en cluster. |
| 69 | + |
| 70 | +## Modifications apportées aux services et aux logiciels clients |
| 71 | + |
| 72 | +*Dans cette rubrique mensuelle, nous mettons en lumière des mises à jour intéressantes des |
| 73 | +portefeuilles et services Bitcoin.* |
| 74 | + |
| 75 | +- **ZEUS ajoute les offres BOLT12 et le support BIP353 :** |
| 76 | + La version [v0.8.5][zeus v0.8.5] tire parti du service [TwelveCash][twelve cash website] pour |
| 77 | + prendre en charge les [offres][topic offers] et [BIP353][] (voir [Newsletter #307][news307 bip353]). |
| 78 | + |
| 79 | +- **Phoenix ajoute les offres BOLT12 et le support BIP353 :** |
| 80 | + La version [Phoenix 2.3.1][phoenix 2.3.1] a ajouté le support des offres et [Phoenix 2.3.3][phoenix |
| 81 | + 2.3.3] a ajouté le support [BIP353][]. |
| 82 | + |
| 83 | +- **Stack Wallet ajoute le support RBF et CPFP :** |
| 84 | + La version [v2.1.1][stack wallet v2.1.1] de Stack Wallet a ajouté le support pour l'augmentation des |
| 85 | + frais via [RBF][topic rbf] et [CPFP][topic cpfp] ainsi que le support [Tor][topic anonymity |
| 86 | + networks]. |
| 87 | + |
| 88 | +- **BlueWallet ajoute le support de l'envoi de paiements silencieux :** |
| 89 | + Dans la version [v6.6.7][bluewallet v6.6.7], BlueWallet a ajouté la capacité d'envoyer à des |
| 90 | + adresses de [paiements silencieux][topic silent payments]. |
| 91 | + |
| 92 | +- **Annonce de BOLT12 Playground :** |
| 93 | + Strike a [annoncé][strike bolt12 playground] un environnement de test pour les offres BOLT12. Le |
| 94 | + projet utilise Docker pour initier et automatiser les portefeuilles, les canaux et les paiements à |
| 95 | + travers différentes implémentations de LN. |
| 96 | + |
| 97 | +- **Annonce du dépôt de test Moosig :** |
| 98 | + Ledger a publié un [dépôt][moosig github] de test basé sur Python pour utiliser [MuSig2][topic |
| 99 | + musig] et [BIP388][] les [politiques de portefeuille pour les portefeuilles descripteurs][news302 |
| 100 | + bip388]. |
| 101 | + |
| 102 | +- **Outil de visualisation en temps réel de Stratum publié :** |
| 103 | + Le site web [stratum.work][stratum.work], basé sur [des recherches précédentes][b10c nostr], affiche |
| 104 | + en temps réel les messages Stratum d'une variété de pools de minage Bitcoin. |
| 105 | + avec le [code source disponible][stratum work github]. |
| 106 | + |
| 107 | +- **BMM 100 Mini Miner annoncé :** |
| 108 | + Le [matériel de minage][braiins mini miner] de Braiins est livré avec un sous-ensemble de |
| 109 | + fonctionnalités [Stratum V2][topic pooled mining] activées par défaut. |
| 110 | + |
| 111 | +- **Coldcard publie une spécification de diffusion de transaction basée sur URL :** |
| 112 | + Le [protocole][pushtx spec] permet la diffusion d'une transaction Bitcoin |
| 113 | + en utilisant une requête HTTP GET et peut être utilisé par des dispositifs de signature matérielle |
| 114 | + basés sur NFC, parmi d'autres cas d'utilisation. |
| 115 | + |
| 116 | +## Changements notables dans le code et la documentation |
| 117 | + |
| 118 | +_Changements notables cette semaine dans [Bitcoin Core][bitcoin core repo], [Core |
| 119 | +Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo], |
| 120 | +[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Interface de Portefeuille Matériel (HWI)][hwi |
| 121 | +repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay |
| 122 | +Server][btcpay server repo], [BDK][bdk repo], [Propositions d'Amélioration de Bitcoin (BIPs)][bips |
| 123 | +repo], [Lightning BOLTs][bolts repo], |
| 124 | +[Lightning BLIPs][blips repo], [Inquisition Bitcoin][bitcoin inquisition |
| 125 | +repo], et [BINANAs][binana repo]._ |
| 126 | + |
| 127 | +- [Bitcoin Core #26596][] utilise la nouvelle base de données en lecture seule pour migrer |
| 128 | + les portefeuilles hérités vers des portefeuilles [descriptor][topic descriptors]. Ce changement |
| 129 | + ne déprécie pas les portefeuilles hérités ou le `BerkeleyDatabase` hérité. Une nouvelle |
| 130 | + classe `LegacyDataSPKM` a été créée contenant uniquement les données essentielles |
| 131 | + et les fonctions nécessaires pour charger un portefeuille hérité en vue de sa migration. Voir le |
| 132 | + Bulletin [#305][news305 bdb] pour une introduction à la `BerkeleyRODatabase`. |
| 133 | + |
| 134 | +- [Core Lightning #7455][] améliore le traitement des [messages onion][topic onion |
| 135 | + messages] par `connectd` en implémentant le transfert via `short_channel_id` |
| 136 | + (SCID) et `node_id` (voir le [Bulletin #307][news307 ldk3080] pour |
| 137 | + une discussion sur un changement similaire dans LDK). Les messages onion sont maintenant |
| 138 | + toujours activés, et les messages entrants sont limités à 4 par seconde. |
| 139 | + |
| 140 | +- [Eclair #2878][] rend les fonctionnalités de [masquage de route][topic rv routing] et de mise en veille |
| 141 | + des canaux optionnelles, puisqu'elles sont maintenant entièrement implémentées et font |
| 142 | + partie de la spécification BOLT (voir les Bulletins [#245][news245 blind] et |
| 143 | + [#309][news309 stfu]). Un nœud Eclair annonce le support de ces |
| 144 | + fonctionnalités à ses pairs, mais la fonction `route_blinding` est désactivée par défaut car il |
| 145 | + ne transférera pas les [paiements aveuglés][topic rv routing] qui n'utilisent pas |
| 146 | + le [trampoline routing][topic trampoline payments]. |
| 147 | + |
| 148 | +- [Rust Bitcoin #2646][] introduit de nouveaux inspecteurs pour les structures de script et de |
| 149 | + témoin telles que `redeem_script` pour assurer la conformité avec les règles de [BIP16][]; |
| 150 | + concernant les dépenses P2SH, `taproot_control_block`, et `taproot_annex` pour |
| 151 | + assurer la conformité avec les règles [BIP341][] ; et `witness_script` pour garantir que les scripts |
| 152 | + témoins P2WSH respectent les règles [BIP141][]. Voir le Bulletin [#309][news309 p2sh]. |
| 153 | + |
| 154 | +- [BDK #1489][] met à jour `bdk_electrum` pour utiliser des preuves de Merkle pour la vérification |
| 155 | + simplifiée des paiements (SPV). Il récupère les preuves de Merkle et les en-têtes de blocs en même |
| 156 | + temps que les transactions, valide que les transactions se trouvent dans des blocs confirmés avant |
| 157 | + d'insérer des ancres, et supprime la gestion des réorganisations de `full_scan`. La PR introduit |
| 158 | + également `ConfirmationBlockTime` comme un nouveau type d'ancre, remplaçant les types précédents. |
| 159 | + |
| 160 | +- [BIPs #1599][] ajoute [BIP46][] pour un schéma de dérivation pour les portefeuilles HD qui créent |
| 161 | + des adresses [verrouillées dans le temps][topic timelocks] utilisées pour les [fidelity |
| 162 | + bonds][news161 fidelity] comme celles utilisées pour le matching de marché [coinjoin][topic |
| 163 | + coinjoin] de style JoinMarket. Les fidelity bonds améliorent la résistance Sybil du protocole en |
| 164 | + créant un système de réputation où les créateurs prouvent leur sacrifice intentionnel de la valeur |
| 165 | + temporelle de l'argent en verrouillant dans le temps des bitcoins. |
| 166 | + |
| 167 | +- [BOLTs #1173][] rend le champ `channel_update` optionnel dans les [messages onion][topic onion |
| 168 | + messages] d'échec. Les nœuds ignorent maintenant ce champ en dehors du paiement actuel pour éviter |
| 169 | + le profilage des expéditeurs de [HTLC][topic htlc]. Le changement vise à décourager les retards de |
| 170 | + paiement dus à des paramètres de canal obsolètes tout en permettant encore aux nœuds avec des |
| 171 | + données de gossip périmées de bénéficier des mises à jour lorsque nécessaire. |
| 172 | + |
| 173 | +- [BLIPs #25][] ajoute une description de comment [BLIP25][] permet le transfert de HTLCs qui sous-paient |
| 174 | + la valeur en onion encodée. Par exemple, Alice fournit une facture lightning à Bob mais elle n'a pas de |
| 175 | + canaux de paiement, donc quand Bob paie, Carol (le LSP d'Alice) crée un canal à la volée. Pour |
| 176 | + permettre à Carol de prendre des frais d'Alice pour couvrir le coût de la commission initiale |
| 177 | + onchain qui crée un [canal JIT][topic jit channels], ce protocole est utilisé, et Alice |
| 178 | + recoit un HTLC qui sous-paie la valeur en onion encodée. Pour une discussion précédente sur une |
| 179 | + mise en œuvre de cela dans LDK, voir le [Bulletin #257][news257 jit htlc]. |
| 180 | + |
| 181 | +{% assign four_days_after_posting = page.date | date: "%s" | plus: 345600 | date: "%Y-%m-%d 14:30" %} |
| 182 | +{% include snippets/recap-ad.md when=four_days_after_posting %} |
| 183 | +{% include references.md %} |
| 184 | +{% include linkers/issues.md v=2 issues="26596,7455,2878,2646,1489,1599,1173,25" %} |
| 185 | +[ruffing nick post]: https://mailing-list.bitcoindevs.xyz/bitcoindev/8768422323203aa3a8b280940abd776526fab12e.camel@timruffing.de/T/#u |
| 186 | +[chilldkg bip]: https://github.com/BlockstreamResearch/bip-frost-dkg |
| 187 | +[chilldkg ref]: https://github.com/BlockstreamResearch/bip-frost-dkg/tree/master/python/chilldkg_ref |
| 188 | +[nick follow-up]: https://mailing-list.bitcoindevs.xyz/bitcoindev/7084f935-0201-4909-99ff-c76f83572a7c@gmail.com/ |
| 189 | +[wuille cluster]: https://delvingbitcoin.org/t/introduction-to-cluster-linearization/1032 |
| 190 | +[frost]: https://eprint.iacr.org/2020/852.pdf |
| 191 | +[ecdh]: https://en.wikipedia.org/wiki/Elliptic-curve_Diffie%E2%80%93Hellman |
| 192 | +[zeus v0.8.5]: https://github.com/ZeusLN/zeus/releases/tag/v0.8.5 |
| 193 | +[twelve cash website]: https://twelve.cash/ |
| 194 | +[news307 bip353]: /fr/newsletters/2024/06/14/#bips-1551 |
| 195 | +[phoenix 2.3.1]: https://github.com/ACINQ/phoenix/releases/tag/android-v2.3.1 |
| 196 | +[phoenix 2.3.3]: https://github.com/ACINQ/phoenix/releases/tag/android-v2.3.3 |
| 197 | +[stack wallet v2.1.1]: https://github.com/cypherstack/stack_wallet/releases/tag/build_235 |
| 198 | +[bluewallet v6.6.7]: https://github.com/BlueWallet/BlueWallet/releases/tag/v6.6.7 |
| 199 | +[strike bolt12 playground]: https://strike.me/blog/bolt12-playground/ |
| 200 | +[moosig github]: https://github.com/LedgerHQ/moosig |
| 201 | +[news302 bip388]: /fr/newsletters/2024/05/15/#bips-1389 |
| 202 | +[stratum.work]: https://stratum.work/ |
| 203 | +[stratum work github]: https://github.com/bboerst/stratum-work |
| 204 | +[b10c nostr]: https://primal.net/e/note1qckcs4y67eyaawad96j7mxevucgygsfwxg42cvlrs22mxptrg05qtv0jz3 |
| 205 | +[braiins mini miner]: https://braiins.com/hardware/bmm-100-mini-miner |
| 206 | +[pushtx spec]: https://pushtx.org/#url-protocol-spec |
| 207 | +[news305 bdb]: /fr/newsletters/2024/05/31/#bitcoin-core-26606 |
| 208 | +[news309 p2sh]: /fr/newsletters/2024/06/28/#rust-bitcoin-2794 |
| 209 | +[news161 fidelity]: /en/newsletters/2021/08/11/#implementation-of-fidelity-bonds |
| 210 | +[news257 jit htlc]: /fr/newsletters/2023/06/28/#ldk-2319 |
| 211 | +[news307 ldk3080]: /fr/newsletters/2024/06/14/#ldk-3080 |
| 212 | +[news245 blind]: /fr/newsletters/2023/04/05/#bolts-765 |
| 213 | +[news309 stfu]: /fr/newsletters/2024/06/28/#bolts-869 |
0 commit comments