|
| 1 | +--- |
| 2 | +title: 'Bulletin Hebdomadaire Bitcoin Optech #250' |
| 3 | +permalink: /fr/newsletters/2023/05/10/ |
| 4 | +name: 2023-05-10-newsletter-fr |
| 5 | +slug: 2023-05-10-newsletter-fr |
| 6 | +type: newsletter |
| 7 | +layout: newsletter |
| 8 | +lang: fr |
| 9 | +--- |
| 10 | +Le bulletin de cette semaine résume un article sur le protocole PoWswap |
| 11 | +et comprend nos sections habituelles avec le résumé d'une réunion du Bitcoin |
| 12 | +Core PR Review Club, des annonces de nouvelles versions et de versions |
| 13 | +candidates, et des descriptions des principaux changements apportés aux |
| 14 | +logiciels d'infrastructure Bitcoin les plus répandus. Nous avons également |
| 15 | +inclus une courte section célébrant les cinq ans de Bitcoin Optech et |
| 16 | +notre 250e bulletin. |
| 17 | + |
| 18 | +## Nouvelles |
| 19 | + |
| 20 | +- **Article sur le protocole PoWswap :** Thomas Hartman a [posté][hartman |
| 21 | + powswap] sur la liste de diffusion Bitcoin-Dev un [article][hnr powswap] |
| 22 | + qu'il a écrit avec Gleb Naumenko et Antoine Riard sur le protocole [PoWSwap][] |
| 23 | + proposé pour la première fois par Jeremy Rubin. Powswap permet la création |
| 24 | + de contrats exécutoires "on-chain" liés au changement du taux de hachage. |
| 25 | + L'idée de base tire parti de la relation entre le temps et la production de |
| 26 | + blocs, renforcée par le protocole, ainsi que de la possibilité d'exprimer |
| 27 | + les blocages temporels en temps ou en blocs. Prenons l'exemple du script |
| 28 | + suivant : |
| 29 | + |
| 30 | + ``` |
| 31 | + OP_IF |
| 32 | + <Alice's key> OP_CHECKSIGVERIFY <time> OP_CHECKLOCKTIMEVERIFY |
| 33 | + OP_ELSE |
| 34 | + <Bob's key> OP_CHECKSIGVERIFY <height> OP_CHECKLOCKTIMEVERIFY |
| 35 | + OP_ENDIF |
| 36 | + ``` |
| 37 | + |
| 38 | + Imaginons que l'heure actuelle soit _t_ et que la hauteur de bloc actuelle |
| 39 | + soit _x_. Si les blocs sont produits en moyenne à 10 minutes d'intervalle, |
| 40 | + alors si nous fixons `<time>` à _t + 1000 minutes_ et `<height>` à _x + 50_, |
| 41 | + <!-- skip-duplicate-words-test -->nous nous attendons à ce que Bob puisse passer la sortie contrôlée par le |
| 42 | + script ci-dessus en moyenne 500 minutes avant qu'Alice puisse le dépenser. |
| 43 | + Cependant, si le taux de production de blocs devait soudainement plus que |
| 44 | + doubler, Alice pourrait être en mesure de dépenser la production avant Bob. |
| 45 | + |
| 46 | + Plusieurs applications sont envisagées pour ce type de contrat : |
| 47 | + |
| 48 | + - *Assurance contre l'augmentation du hashrate :* les mineurs doivent acheter |
| 49 | + leur équipement avant de connaître avec certitude le montant des revenus |
| 50 | + qu'il générera. Par exemple, un mineur qui achète suffisamment d'équipement |
| 51 | + pour recevoir 1 % du total actuel des récompenses du réseau peut être surpris |
| 52 | + de constater que d'autres mineurs ont également acheté suffisamment |
| 53 | + d'équipement pour doubler le hashrate total du réseau, laissant le mineur |
| 54 | + avec 0,5 % de la récompense au lieu de 1 %. Avec PoWSwap, le mineur peut |
| 55 | + conclure un contrat sans confiance avec quelqu'un qui est prêt à le payer |
| 56 | + si le hashrate augmente avant une certaine date, compensant ainsi la baisse |
| 57 | + inattendue des revenus du mineur. En échange, le mineur verse à cette |
| 58 | + personne une prime initiale ou accepte de lui verser un montant plus élevé |
| 59 | + si le hashrate à l'échelle du réseau reste inchangé ou diminue. |
| 60 | + |
| 61 | + - *Assurance contre la baisse du hashrate :* une grande variété de problèmes |
| 62 | + liés à Bitcoin entraînerait une diminution significative du taux de hachage |
| 63 | + à l'échelle du réseau. Le hashrate diminuerait si des mineurs étaient fermés |
| 64 | + par des parties puissantes, ou si une quantité importante de [fee sniping][topic fee sniping] |
| 65 | + commençait à se produire soudainement parmi les mineurs établis, ou si la |
| 66 | + valeur des BTC pour les mineurs diminuait soudainement. Les détenteurs de |
| 67 | + BTC qui souhaitent s'assurer contre de telles situations peuvent conclure |
| 68 | + des contrats sans confiance avec des mineurs ou des tiers. |
| 69 | + |
| 70 | + - *Contrats de taux de change :* en général, si le pouvoir d'achat des BTC |
| 71 | + augmente, les mineurs sont prêts à augmenter la quantité de hashrate qu'ils |
| 72 | + fournissent (pour augmenter les récompenses qu'ils reçoivent). Si le pouvoir |
| 73 | + d'achat diminue, le hashrate diminue. De nombreuses personnes peuvent être |
| 74 | + intéressées par des contrats sans confiance liés au futur pouvoir d'achat |
| 75 | + du bitcoin. |
| 76 | + |
| 77 | + Bien que l'idée de PoWSwap circule depuis plusieurs années, le document fournit |
| 78 | + plus de détails et d'analyses que nous n'en avions vus jusqu'à présent. |
| 79 | + |
| 80 | +## Mises à jour et versions candidates |
| 81 | + |
| 82 | +*Nouvelles versions et versions candidates pour les principaux projets |
| 83 | +d'infrastructure Bitcoin. Veuillez envisager de passer aux nouvelles |
| 84 | +versions ou d'aider à tester les versions candidates.* |
| 85 | + |
| 86 | +- [Core Lightning 23.05rc2][] est une version candidate de la prochaine |
| 87 | + version de l'implémentation du LN. |
| 88 | + |
| 89 | +- [Bitcoin Core 24.1rc2][] est une version candidate pour une version |
| 90 | + de maintenance de la version actuelle de Bitcoin Core. |
| 91 | + |
| 92 | +- [Bitcoin Core 25.0rc1][] est une version candidate de la prochaine |
| 93 | + version majeure de Bitcoin Core. |
| 94 | + |
| 95 | +## Bitcoin Core PR Review Club |
| 96 | + |
| 97 | +*Dans cette section mensuelle, nous résumons une récente réunion du |
| 98 | +[Bitcoin Core PR Review Club][] en soulignant certaines des questions |
| 99 | +et réponses importantes. Cliquez sur une question ci-dessous pour voir |
| 100 | +un résumé de la réponse de la réunion.* |
| 101 | + |
| 102 | +[Ajout de getprioritisationmap, suppression d'une entrée mapDeltas lorsque delta==0][review club 27501] |
| 103 | +est un PR de Gloria Zhao (glozow) qui améliore la fonctionnalité |
| 104 | +de Bitcoin Core permettant aux mineurs de modifier les frais de mempool |
| 105 | +effectifs, et donc la priorité minière (plus élevée ou plus basse), de |
| 106 | +certaines transactions (voir la [prioritisetransaction RPC][]). |
| 107 | +L'augmentation (si elle est positive) ou la diminution (si elle est |
| 108 | +négative) des frais est appelée _fee delta_. Les valeurs de priorisation |
| 109 | +des transactions sont conservées sur disque dans le fichier `mempool.dat` |
| 110 | +et sont restaurées au redémarrage du noeud. |
| 111 | + |
| 112 | +L'une des raisons pour lesquelles un mineur peut donner la priorité à |
| 113 | +une transaction est de tenir compte d'un paiement de frais de transaction |
| 114 | +hors bande ; la transaction concernée sera traitée comme si elle avait |
| 115 | +des frais plus élevés lorsqu'il s'agira de choisir les transactions à |
| 116 | +inclure dans le modèle de bloc du mineur. |
| 117 | + |
| 118 | +La PR ajoute une nouvelle RPC, `getprioritisationmap`, qui retourne |
| 119 | +l'ensemble des transactions priorisées. La PR supprime également les |
| 120 | +entrées de priorisation inutiles, qui peuvent survenir si l'utilisateur |
| 121 | +remet les deltas à zéro. |
| 122 | + |
| 123 | +{% include functions/details-list.md |
| 124 | + q0="Qu'est-ce que la structure de données [mapDeltas][] et pourquoi est-elle nécessaire ?" |
| 125 | + a0="C'est là que sont stockées les valeurs de priorité par transaction. |
| 126 | + Ces valeurs affectent les décisions locales d'extraction et d'éviction, |
| 127 | + ainsi que les calculs des taux d'ascendants et de descendants." |
| 128 | + a0link="https://bitcoincore.reviews/27501#l-26" |
| 129 | + |
| 130 | + q1="La hiérarchisation des transactions affecte-t-elle l'algorithme d'estimation des frais ?" |
| 131 | + a1="L'estimation des frais doit prédire avec précision les décisions |
| 132 | + attendues des mineurs (dans ce cas, _d'autres_ mineurs), et ces |
| 133 | + mineurs n'ont pas les mêmes priorités que nous, puisqu'elles sont |
| 134 | + locales." |
| 135 | + a1link="https://bitcoincore.reviews/27501#l-31" |
| 136 | + |
| 137 | + q2="Comment une entrée est-elle ajoutée à `mapDeltas` ? Quand est-elle supprimée ?" |
| 138 | + a2="Il est ajouté par la RPC `prioritisetransaction`, et aussi quand |
| 139 | + le noeud redémarre, à cause d'une entrée dans `mempool.dat`. Ils |
| 140 | + sont supprimés lorsqu'un bloc contenant la transaction est ajouté |
| 141 | + à la chaîne, ou lorsque la transaction est [remplacée][topic rbf]." |
| 142 | + a2link="https://bitcoincore.reviews/27501#l-34" |
| 143 | + |
| 144 | + q3="Pourquoi ne pas supprimer l'entrée d'une transaction dans `mapDeltas` |
| 145 | + lorsqu'elle quitte le mempool (parce que, par exemple, elle a expiré ou |
| 146 | + a été expulsée parce que le feerate est tombé en dessous du feerate minimum) ?" |
| 147 | + a3="La transaction peut revenir dans le mempool. Si son entrée `mapDeltas` |
| 148 | + avait été supprimée, l'utilisateur devrait redonner la priorité à la transaction." |
| 149 | + a3link="https://bitcoincore.reviews/27501#l-84" |
| 150 | + |
| 151 | + q4="Si une transaction est retirée de `mapDeltas` parce qu'elle est incluse |
| 152 | + dans un bloc, mais que le bloc est ensuite ré-organisé, la priorité de la transaction |
| 153 | + ne devra-t-elle pas être rétablie ?" |
| 154 | + a4="Oui, mais les réorganisations devraient être rares. En outre, le paiement hors |
| 155 | + bande peut en fait prendre la forme d'une transaction en bitcoins, et il peut |
| 156 | + donc être nécessaire de la refaire également." |
| 157 | + a4link="https://bitcoincore.reviews/27501#l-90" |
| 158 | + |
| 159 | + q5="Pourquoi devrions-nous autoriser la priorisation d'une transaction qui n'est |
| 160 | + pas présente dans le pool de mémoire ?" |
| 161 | + a5="Parce que la transaction peut ne pas être dans le mempool _yet_. |
| 162 | + Et il se peut même qu'elle ne soit pas en mesure d'entrer dans le |
| 163 | + pool de mémoire en premier lieu sur la base de ses propres frais |
| 164 | + (sans la priorisation)." |
| 165 | + a5link="https://bitcoincore.reviews/27501#l-89" |
| 166 | + |
| 167 | + q6="Quel est le problème si nous ne nettoyons pas `mapDeltas` ?" |
| 168 | + a6="Le principal problème est l'allocation de mémoire inutile." |
| 169 | + a6link="https://bitcoincore.reviews/27501#l-107" |
| 170 | + |
| 171 | + q7="Quand le fichier `mempool.dat` (y compris `mapDeltas`) est-il écrit |
| 172 | + de la mémoire vers le disque ?" |
| 173 | + a7="Lors d'un arrêt complet, et en exécutant la commande RPC `savemempool`." |
| 174 | + a7link="https://bitcoincore.reviews/27501#l-114" |
| 175 | + |
| 176 | + q8="Sans le PR, comment les mineurs peuvent-ils nettoyer les `mapDeltas` |
| 177 | + (c'est-à-dire supprimer les entrées dont la valeur de priorité est nulle) ?" |
| 178 | + a8="Le seul moyen est de redémarrer le nœud, puisque les |
| 179 | + priorisations à valeur nulle ne sont pas chargées dans |
| 180 | + `mapDeltas` lors du redémarrage. Avec le PR, l'entrée |
| 181 | + `mapDeltas` est supprimée dès que sa valeur est fixée |
| 182 | + à zéro. Ceci a l'effet bénéfique supplémentaire que les |
| 183 | + priorisations à valeur nulle ne sont pas écrites sur le disque." |
| 184 | + a8link="https://bitcoincore.reviews/27501#l-127" |
| 185 | +%} |
| 186 | + |
| 187 | +## Changements notables dans le code et la documentation |
| 188 | + |
| 189 | +*Changements notables cette semaine dans [Bitcoin Core][bitcoin core repo], [Core |
| 190 | +Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo], |
| 191 | +[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet |
| 192 | +Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay |
| 193 | +Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement |
| 194 | +Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo], et |
| 195 | +[Bitcoin Inquisition][bitcoin inquisition repo].* |
| 196 | + |
| 197 | +- [Bitcoin Core #26094][] ajoute les champs block hash et height à `getbalances`, |
| 198 | + `gettransaction`, et `getwalletinfo`. Ces appels RPC verrouillent l'état de la |
| 199 | + chaîne pour s'assurer qu'ils sont à jour avec le dernier bloc et ils bénéficient |
| 200 | + donc de l'inclusion du hash et de la hauteur du bloc dans la réponse. |
| 201 | + |
| 202 | +- [Bitcoin Core #27195][] permet de supprimer tous les récepteurs externes d'une |
| 203 | + transaction qui est [remplacée][topic rbf] en utilisant la RPC `bumpfee` du |
| 204 | + portefeuille interne de Bitcoin Core. L'utilisateur fait cela en faisant en |
| 205 | + sorte que la seule sortie de la transaction de remplacement paie sa propre |
| 206 | + adresse. Si la transaction de remplacement est confirmée, cela empêche les |
| 207 | + destinataires originaux d'être payés, ce qui est parfois décrit comme |
| 208 | + "l'annulation" d'un paiement Bitcoin. |
| 209 | + |
| 210 | +- [Eclair #1783][] ajoute une API `cpfpbumpfees` pour [CPFP][topic cpfp] |
| 211 | + l'augmentation des frais d'une ou plusieurs transactions. Le PR met également |
| 212 | + à jour la liste des [paramètres recommandés][eclair bitcoin.conf] pour |
| 213 | + l'exécution de Bitcoin Core afin de s'assurer que la création d'une transaction |
| 214 | + avec majoration des frais est une option viable. |
| 215 | + |
| 216 | +- [LND #7568][] ajoute la possibilité de définir des bits de caractéristiques |
| 217 | + LN supplémentaires lors du démarrage du nœud. Il supprime également la |
| 218 | + possibilité de désactiver tout bit de caractéristique codé en dur ou défini |
| 219 | + pendant l'exécution (mais des bits supplémentaires peuvent toujours être |
| 220 | + ajoutés et désactivés ultérieurement). Une mise à jour de la proposition |
| 221 | + connexe dans [BLIPs #24][] note que les bits de caractéristique personnalisés |
| 222 | + [BOLT11][] sont limités à une valeur exprimée maximale de 5114. |
| 223 | + |
| 224 | +- [LDK #2044][] apporte plusieurs modifications à la suggestion d'itinéraire |
| 225 | + de LDK pour les factures [BOLT11][], le mécanisme qu'un nœud LN récepteur |
| 226 | + peut utiliser pour suggérer des itinéraires à utiliser par un nœud utilisateur. |
| 227 | + Avec cette fusion, seuls trois canaux sont suggérés, la prise en charge des |
| 228 | + nœuds fantômes de LDK est améliorée (voir [Newsletter #188][news188 phantom]), |
| 229 | + et les trois canaux choisis le sont pour des raisons d'efficacité et de |
| 230 | + confidentialité. La discussion sur le PR inclut [plusieurs][carman hints] |
| 231 | + [commentaires perspicaces][corallo hints] sur les implications pour la vie |
| 232 | + privée de la fourniture d'indications d'itinéraires. |
| 233 | + |
| 234 | +## Célébration de la lettre d'information Optech #250 |
| 235 | + |
| 236 | +Bitcoin Optech a été fondé, en partie, pour "faciliter l'amélioration des |
| 237 | +relations entre les entreprises et la communauté open source". Cette lettre |
| 238 | +d'information hebdomadaire a été lancée pour donner aux cadres et aux |
| 239 | +développeurs des entreprises utilisant Bitcoin un meilleur aperçu de ce que |
| 240 | +la communauté open source est en train de construire. En tant que tel, |
| 241 | +<!-- skip-duplicate-words-test -->nous nous sommes d'abord concentrés sur la |
| 242 | +documentation des travaux susceptibles d'affecter les entreprises. |
| 243 | + |
| 244 | +Nous avons rapidement découvert que les lecteurs professionnels n'étaient |
| 245 | +pas les seuls à être intéressés par ces informations. De nombreux contributeurs |
| 246 | +aux projets Bitcoin n'avaient pas le temps de lire toutes les discussions sur |
| 247 | +les listes de diffusion relatives au développement du protocole ou de surveiller |
| 248 | +les changements majeurs dans d'autres projets. Ils appréciaient que quelqu'un |
| 249 | +les informe des développements qu'ils pourraient trouver intéressants ou qui |
| 250 | +pourraient affecter leur travail. |
| 251 | + |
| 252 | +Depuis près de cinq ans, nous avons le plaisir de fournir ce service. Nous avons |
| 253 | +essayé d'élargir cette simple mission en proposant également un guide de |
| 254 | +[compatibilité des technologies du portefeuille][compatibility matrix], un |
| 255 | +index de plus de 100 [sujets d'intérêt][topics], et un [podcast][podcast] de |
| 256 | +discussion hebdomadaire avec des invités qui incluent de nombreux contributeurs |
| 257 | +dont nous avons eu le privilège d'écrire sur leurs travaux. |
| 258 | + |
| 259 | +Rien de tout cela ne serait possible sans nos nombreux contributeurs qui, au cours |
| 260 | +de l'année écoulée, ont été les suivants : |
| 261 | +<!-- alphabetical --> |
| 262 | +Adam Jonas, |
| 263 | +Copinmalin, |
| 264 | +David A. Harding, |
| 265 | +Gloria Zhao, |
| 266 | +Jiri Jakes, |
| 267 | +Jon Atack, |
| 268 | +Larry Ruane, |
| 269 | +Mark "Murch" Erhardt, |
| 270 | +Mike Schmidt, |
| 271 | +nechteme, |
| 272 | +Patrick Schwegler, |
| 273 | +Shashwat Vangani, |
| 274 | +Shigeyuki Azuchi, |
| 275 | +Vojtěch Strnad, |
| 276 | +Zhiwei "Jeffrey" Hu, |
| 277 | +et plusieurs autres personnes qui ont apporté des contributions spéciales à des sujets particuliers. |
| 278 | + |
| 279 | +Nous sommes également éternellement reconnaissants à nos [sponsors fondateurs][] |
| 280 | +Wences Casares, John Pfeffer et Alex Morcos, ainsi qu'à nos nombreux |
| 281 | +[soutiens financiers][]. |
| 282 | + |
| 283 | +Nous vous remercions de votre lecture. Nous espérons que vous continuerez à le faire |
| 284 | +lorsque nous publierons les 250 prochains bulletins d'information. |
| 285 | + |
| 286 | +{% include references.md %} |
| 287 | +{% include linkers/issues.md v=2 issues="26094,27195,1783,7568,24,2044" %} |
| 288 | +[Core Lightning 23.05rc2]: https://github.com/ElementsProject/lightning/releases/tag/v23.05rc2 |
| 289 | +[bitcoin core 24.1rc2]: https://bitcoincore.org/bin/bitcoin-core-24.1/ |
| 290 | +[bitcoin core 25.0rc1]: https://bitcoincore.org/bin/bitcoin-core-25.0/ |
| 291 | +[eclair bitcoin.conf]: https://github.com/ACINQ/eclair/pull/1783/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5 |
| 292 | +[carman hints]: https://github.com/lightningdevkit/rust-lightning/pull/2044#issuecomment-1448840896 |
| 293 | +[corallo hints]: https://github.com/lightningdevkit/rust-lightning/pull/2044#issuecomment-1461049958 |
| 294 | +[hartman powswap]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-May/021605.html |
| 295 | +[hnr powswap]: https://raw.githubusercontent.com/blockrate-binaries/paper/master/blockrate-binaries-paper.pdf |
| 296 | +[powswap]: https://powswap.com/ |
| 297 | +[news188 phantom]: /en/newsletters/2022/02/23/#ldk-1199 |
| 298 | +[sponsors fondateurs]: /about/#founding-sponsors |
| 299 | +[soutiens financiers]: /#members |
| 300 | +[review club 27501]: https://bitcoincore.reviews/27501 |
| 301 | +[prioritisetransaction rpc]: https://developer.bitcoin.org/reference/rpc/prioritisetransaction.html |
| 302 | +[mapDeltas]: https://github.com/bitcoin/bitcoin/blob/fc06881f13495154c888a64a38c7d538baf00435/src/txmempool.h#L450 |
0 commit comments