/ home / newsletters /
Bulletin Hebdomadaire Bitcoin Optech #248
Le bulletin de cette semaine relaie une demande de commentaires sur une
proposition visant à supprimer la prise en charge du message du protocole
P2P BIP35 mempool
dans Bitcoin Core et comprend nos sections habituelles
avec des résumés des principales questions et réponses du Bitcoin Stack Exchange,
des annonces de nouvelles mises à jour et de versions candidates, ainsi que
des résumés des principaux changements apportés aux logiciels d’infrastructure
Bitcoin les plus répandus.
Nouvelles
-
● Proposition de suppression du message P2P
mempool
du BIP35 : Will Clark s’est exprimé sur la liste de diffusion Bitcoin-Dev à propos d’un PR qu’il a ouvert pour supprimer le support du message P2Pmempool
spécifié à l’origine dans BIP35. Dans son implémentation originale, un nœud recevant un messagemempool
répondait au pair demandeur avec un messageinv
contenant les txids de toutes les transactions dans son mempool. Son homologue pouvait alors envoyer un message normalgetdata
contenant les txids de toutes les transactions qu’il souhaitait recevoir. Le BIP décrit trois motivations pour ce message : les diagnostics de réseau, permettre aux clients légers d’interroger les transactions non confirmées, et permettre aux mineurs qui ont récemment redémarré de connaître les transactions non confirmées (à l’époque, Bitcoin Core ne sauvegardait pas son mempool dans un stockage persistant lors de l’arrêt).Cependant, diverses techniques de réduction de la confidentialité ont été développées par la suite pour faciliter la détermination du nœud qui a diffusé la première transaction en abusant du message
mempool
ou de la possibilité d’utilisergetdata
pour demander n’importe quelle transaction du mempool. Pour améliorer la confidentialité de l’origine de la transaction, Bitcoin Core a ensuite supprimé la possibilité de demander des transactions non annoncées à d’autres nœuds et a limité le messagemempool
à une utilisation avec des filtres de bloom de transaction (comme spécifié dans BIP37) pour les clients légers. Plus tard encore, Bitcoin Core a désactivé par défaut le support du filtre bloom (voir Bulletin #56), ne l’autorisant qu’à être utilisé avec des pairs configurés avec l’option-whitelist
(voir Bulletin #60); cela désactive également par défaut lemempool
de BIP35.Le PR de Clark sur Bitcoin Core a reçu le soutien du projet, bien que certains partisans pensent que les filtres Bloom de BIP37 devraient être supprimés en premier. Sur la liste de diffusion, la seule réponse à ce jour note que les clients légers qui se connectent à leur propre nœud de confiance peuvent actuellement utiliser BIP35 et BIP37 pour se renseigner sur les transactions non confirmées d’une manière beaucoup plus efficace en termes de bande passante que toute autre méthode actuellement facilement disponible dans Bitcoin Core. Le répondant a suggéré que Bitcoin Core fournisse un mécanisme alternatif avant de supprimer l’interface actuelle.
Toute personne utilisant le message BIP35
mempool
à quelque fin que ce soit est priée de nous faire part de ses commentaires. Vous pouvez répondre soit au message de la liste de diffusion, soit au PR dont le lien figure ci-dessus.
Selection de Q&R du Bitcoin Stack Exchange
Bitcoin Stack Exchange est l’un des premiers endroits où les collaborateurs d’Optech cherchent des réponses à leurs questions—ou, lorsqu’ils ont quelques moments libres, aident les utilisateurs curieux ou confus. Dans cette rubrique mensuelle, nous mettons en avant certaines des questions et réponses les plus populaires depuis notre dernière mise à jour.
-
● Combien de sigops y a-t-il dans le bloc invalide 783426 ? Vojtěch Strnad a fourni un script qui parcourt toutes les transactions d’un bloc et compte les sigops et note qu’il y avait 80 003 sigops dans le bloc, ce qui le rend invalide.
-
● Comment un adversaire pourrait-il augmenter jusqu’à 500 fois les frais requis pour remplacer une transaction ? En se référant à un projet de BIP pour les ancrages éphémères, Michael Folkson demande comment l’augmentation de 500 fois des frais requis pour le remplacement d’une transaction pourrait se produire. Antoine Poinsot donne un exemple de la manière dont un attaquant pourrait utiliser les règles d’augmentation des frais Replace-By-Fee (RBF) pour exiger des transactions de remplacement supplémentaires qu’elles paient des frais beaucoup plus élevés.
-
● Meilleures pratiques avec plusieurs CPFP et CPFP + RBF ? Sdaftuar explique les considérations relatives à l’utilisation des techniques d’augmentation des frais RBF et Child Pays For Parent (CPFP) dans le cas où une première tentative d’augmentation des frais CPFP n’a pas réussi à offrir un taux suffisant pour que la transaction initiale soit confirmée.
Mises à jour et versions candidates
Nouvelles versions et versions candidates pour les principaux projets d’infrastructure Bitcoin. Veuillez envisager de passer aux nouvelles versions ou d’aider à tester les versions candidates.
-
● LDK 0.0.115 est une version de cette bibliothèque permettant de créer des portefeuilles et des applications compatibles avec le LN. Elle inclut plusieurs nouvelles fonctionnalités et corrections de bugs, notamment une meilleure prise en charge du protocole expérimental offers et une amélioration de la sécurité et de la confidentialité.
-
● LND v0.16.1-beta est une version mineure de cette implémentation de LN qui inclut plusieurs corrections de bogues et d’autres améliorations. Les notes de version indiquent que le delta de CLTV par défaut a été augmenté de 40 blocs à 80 blocs (voir Bulletin #40 où nous avons couvert un changement précédent dans le delta de la CLTV par défaut du LND).
-
● Core Lightning 23.05rc1 est une version candidate pour la prochaine version de l’implémentation du LN.
Changements notables dans le code et la documentation
Changements notables cette semaine dans Bitcoin Core, Core Lightning, Eclair, LDK, LND, libsecp256k1, Hardware Wallet Interface (HWI), Rust Bitcoin, BTCPay Server, BDK, Bitcoin Improvement Proposals (BIPs), Lightning BOLTs, et Bitcoin Inquisition.
-
● LND #7564 permet maintenant aux utilisateurs d’un backend qui fournit un accès au mempool de surveiller les transactions non confirmées contenant des pré-images pour les HTLC dans les canaux du nœud. Cela permet au nœud de résoudre les HTLC plus rapidement qu’en attendant que ces transactions soient confirmées.
-
● LND #6903 met à jour le RPC
openchannel
avec une nouvelle optionfundmax
qui allouera tous les fonds du canal vers un nouveau canal, à l’exception de tout montant qui doit être conservé dans la chaîne pour ajouter des frais aux canaux utilisant anchor outputs. -
● LDK #2198 augmente le temps d’attente de LDK avant d’envoyer un message au gossip annonçant qu’un canal est hors service (par exemple, parce que le pair distant n’est pas disponible). Auparavant, LDK annonçait qu’un canal était hors service au bout d’une minute environ. D’autres nœuds LN attendent plus longtemps et une proposition pour la mise à jour du protocole du gossip LN suggère de remplacer les champs d’horodatage par des hauteurs de blocs au lieu de Unix epoch time, ce qui ne permettrait de mettre à jour un message du gossip qu’une fois par bloc (approximativement toutes les 10 minutes en moyenne). Bien que le PR note que l’envoi de mises à jour plus lentes implique des compromis, il met à jour LDK pour qu’il attende environ 10 minutes avant de diffuser un message de désactivation de canal.
-
● Bitcoin Inquisition #23 ajoute une partie du support pour les ancrages éphémères. Elle ne prend pas en charge le relais de transaction v3, dont dépendent les ancrages éphémères pour mettre fin aux attaques par épinglage de transaction.