Crypto Week

Sortie de Bitcoin Core 23.0 : Quoi de neuf ?

Une nouvelle version du client logiciel Bitcoin original lancé par Satoshi Nakamoto a été publiée aujourd’hui.

Bitcoin Core 23.0 a été travaillé par 132 développeurs pendant environ sept mois pour apporter des améliorations tangibles au portefeuille de Bitcoin Core, à la communication et au réseau peer-to-peer, à l’estimation des frais et bien plus encore.

Cet article explore quelques-uns des principaux changements.

Mises à jour du portefeuille

Prise en charge de la racine pivotante

Bitcoin Core permet désormais à l’utilisateur de choisir le nouveau type d’adresse Taproot lors de la création d’un nouveau portefeuille. Même si ce n’est pas la valeur par défaut, comme de nombreux portefeuilles de l’écosystème ne peuvent pas encore envoyer à une adresse Taproot, l’utilisateur a la possibilité de créer des adresses de réception Taproot dans des portefeuilles nouvellement créés.

L’adresse Taproot créée par le portefeuille Bitcoin Core pour recevoir des bitcoins est une adresse simple à signature unique. Par conséquent, les utilisateurs n’économiseront pas automatiquement BTC en frais par rapport aux adresses à signature unique Bech32 classiques, car des économies plus importantes proviennent du portage de conditions de dépenses et de configurations d’adresses plus complexes dans le schéma Taproot.

En ajoutant un support natif pour les adresses Taproot, Bitcoin Core fait un pas dans la direction d’une adoption plus large de Taproot. Au fur et à mesure que de plus en plus d’utilisateurs optent pour les fonctionnalités de la nouvelle mise à niveau, ses avantages peuvent mieux se diffuser dans la base d’utilisateurs.

Les portefeuilles de descripteurs sont désormais la valeur par défaut

Les portefeuilles Bitcoin Core utilisent désormais par défaut descripteurs une fois créé, un changement important qui promet un meilleur processus de sauvegarde et de récupération des fonds bitcoin.

Depuis l’avènement des portefeuilles déterministes hiérarchiques (HD), un portefeuille Bitcoin utilise généralement les graines de récupération (généralement 12 ou 24 mots) pour générer une clé privée principale. Le portefeuille utilise ensuite cette clé privée principale pour générer une clé publique principale, qui peut être exploitée pour générer un nombre presque infini d’adresses de réception via des chemins de dérivation, qui, comme son nom l’indique, guident le portefeuille vers le chemin qu’il doit suivre pour dériver correctement une adresse.

La récupération de fonds dans un portefeuille Bitcoin dépend donc généralement de ce chemin de dérivation, car la plupart des applications utilisent aujourd’hui par défaut les portefeuilles HD. (L’utilisation de différents chemins de dérivation par les portefeuilles est la raison pour laquelle il est courant de voir un utilisateur tenter de récupérer des fonds dans un deuxième portefeuille trouver un solde de zéro.)

Cependant, les portefeuilles de descripteurs permettent à l’utilisateur de récupérer beaucoup plus facilement les fonds en indiquant explicitement le chemin de dérivation dans le descripteur. L’utilisateur est ainsi soulagé d’avoir à se soucier du chemin de dérivation utilisé par son portefeuille – une grande amélioration de l’expérience utilisateur (UX).

Les fautes de frappe sur les adresses Bech32 peuvent maintenant être repérées

Les adresses Bech32, le format dans lequel l’adresse commence par « bc1 », ont une propriété intéressante qui permet de repérer d’éventuelles fautes de frappe. Cependant, il a fallu attendre Bitcoin Core 23.0 pour que l’utilisateur puisse en bénéficier.

Bitcoin Core alertera désormais l’utilisateur sur jusqu’à deux erreurs dans une adresse Bech32. L’outil n’est actuellement disponible que sur la ligne de commande, via le RPC « validateaddress », bien qu’il soit prévu de l’intégrer dans l’interface utilisateur graphique (GUI) à l’avenir. Si plus de deux erreurs sont commises par l’utilisateur lors de la saisie de l’adresse, l’outil de recherche de fautes de frappe ne peut garantir le succès.

La limite d’erreurs que l’outil s’engage à trouver est importante car tenter de trouver un grand nombre de fautes de frappe peut entraîner un comportement indésirable. Si l’utilisateur tapait une adresse avec plusieurs lettres erronées, même si l’outil pouvait toutes les repérer, il pourrait finir par suggérer une adresse totalement différente de celle à laquelle l’utilisateur avait l’intention d’envoyer en premier lieu – un résultat bien pire.

Congeler des pièces

Un utilisateur de Bitcoin Core a la possibilité de choisir les pièces, ou les sorties de transaction non dépensées (UTXO), à utiliser dans une transaction depuis des années maintenant. Mais cette fonction de contrôle des pièces nécessitait une sélection manuelle des UTXO à utiliser à chaque fois – un processus fastidieux et fatigant qui est très sujet aux erreurs.

Désormais, Bitcoin Core permet à l’utilisateur de « geler » indéfiniment un UTXO. Le processus de gel est toujours manuel, mais l’utilisateur n’a besoin de le faire qu’une seule fois et peut alors être assuré que la pièce qu’il a gelée ne sera pas automatiquement dépensée par Bitcoin Core jusqu’à ce que l’utilisateur débloque cette pièce.

Il est important de sélectionner avec soin les UTXO à utiliser pour financer une transaction afin d’éviter de lier de manière indésirable des adresses ayant des objectifs contradictoires. Par exemple, un utilisateur peut ne pas vouloir rejoindre les UTXO qu’il a obtenus via des méthodes de connaissance du client (KYC) avec des pièces non KYC. S’ils le faisaient, tout observateur de la blockchain serait en mesure de déduire que cet utilisateur, qu’il pourrait connaître en raison des informations KYC fournies, possède également l’adresse non KYC et ses pièces, ce qui porte atteinte à la vie privée des utilisateurs.

Modifications apportées aux communications P2P

Préférence du port 8333 supprimée

D’une manière générale, les ordinateurs ont besoin de deux informations vitales pour communiquer entre eux sur Internet : une adresse IP et un numéro de port. Alors que l’adresse IP sert d’identifiant pour un ordinateur dans un réseau, aidant à déterminer son emplacement, le numéro de port aide à informer sur le type de communication en cours sur Internet, car chaque protocole de communication utilise généralement par défaut un numéro de port spécifique. Par conséquent, les ports permettent à un ordinateur d’exécuter plusieurs types de trafic en même temps tout en les différenciant facilement. Par exemple, le protocole HTTP du Web utilise par défaut le port 80, tandis que son homologue plus sécurisé HTTPS s’exécute généralement sur le port 443, et le protocole SMTP du courrier électronique exploite le port 25.

Avec Bitcoin, ce n’est pas différent. Historiquement, au démarrage de Bitcoin Core, les ordinateurs s’exécutaient par défaut sur le port 8333 et recherchaient des pairs utilisant ce même port.

Bien que les ports facilitent la communication entre les ordinateurs sur Internet, ils permettent également aux fournisseurs de services Internet (FAI) de surveiller plus facilement le trafic, car il est facile de supposer quel type de communication est effectué. Dans une configuration contradictoire, un FAI pourrait filtrer et bloquer certains trafics en fonction du port de destination. Bien qu’il ne s’agisse pas du mécanisme de censure le plus efficace disponible pour les FAI, c’est le plus simple, et un protocole attaqué devrait changer son port de communication par défaut pour contourner la censure ou la limitation.

En supprimant la préférence du port 8333, Bitcoin Core atténue désormais le chemin le plus simple dont disposent les FAI pour filtrer ou bloquer le trafic Bitcoin. De plus, les nœuds qui ne s’exécutent pas sur le port 8333 auront désormais moins de friction pour obtenir des connexions entrantes à partir d’autres nœuds, car le réseau ne donne plus la priorité à ce port.

Prise en charge du réseau CJDNS

Bitcoin Core 23.0 protège également les utilisateurs des FAI adverses en ajoutant la prise en charge de CJDNS, une alternative sécurisée au protocole Internet standard (IP).

CJDNS exploite la cryptographie à clé publique pour implémenter une version cryptée d’IPv6 – la version la plus récente d’IP. En fournissant un chiffrement de bout en bout de manière native, CJDNS améliore IPv6 et IPv4 (la version IP précédente qui est encore largement utilisée) avec une sécurité et une confidentialité accrues car il protège les nœuds qui l’utilisent de l’analyse et du filtrage du trafic.

Cet ajout apporte de nouvelles options aux utilisateurs souhaitant protéger leur trafic des regards indiscrets ou accroître la sécurité de leur configuration Bitcoin. Alors que Tor et I2P existent comme alternatives à Clearnet IP, CJDNS sert d’option complémentaire qui peut améliorer la robustesse du réseau Bitcoin et de ses nœuds.

Meilleures estimations des frais

L’outil d’estimation des frais intégré de Bitcoin Core vient de devenir un peu plus complet.

Selon un article de blog de John Newbery sur le sujet, l’estimation des frais de Bitcoin Core « enregistre et rapporte simplement des statistiques significatives sur les événements passés, et utilise ces données pour donner à l’utilisateur une estimation raisonnable du montant des frais qu’il doit attacher pour avoir leur transaction incluse dans N blocs », avec N étant le nombre de blocs que l’utilisateur est prêt à attendre pour que sa transaction soit confirmée.

L’algorithme calculant ces estimations prenait en compte toutes les transactions sur le mempool, la « zone d’attente » de Bitcoin pour les transactions qui n’ont pas encore été incluses dans un bloc. Cependant, depuis l’introduction des transactions de remplacement par frais (RBF), qui permettent à l’utilisateur d’augmenter efficacement les frais que sa transaction promet aux mineurs dans le but d’obtenir une confirmation plus rapide, Bitcoin Core n’a pas pris en compte le nouveau type de transaction. lors de l’estimation des frais par doute que la fonctionnalité serait largement adoptée par les utilisateurs et les mineurs.

Désormais, avec Bitcoin Core 23.0, les transactions RBF sont prises en compte dans les estimations de frais de Bitcoin Core, fournissant une estimation plus précise aux utilisateurs qui utilisent le logiciel pour envoyer des transactions.

Prise en charge des points de trace et de l’espace utilisateur, traçage défini statiquement

Bitcoin Core inclut désormais des points de trace expérimentaux dans ses binaires de version pour Linux avec un espace utilisateur, un traçage défini statiquement (USDT).

L’USDT permet aux utilisateurs d’obtenir des informations détaillées de leur nœud qui peuvent être utilisées pour la révision, le débogage et la surveillance. La fonctionnalité permet de suivre les statistiques personnalisées à granularité fine et de surveiller les événements de nœuds internes autrement cachés tout en ayant peu ou pas d’impact sur les performances lorsqu’elles ne sont pas utilisées.

Un exemple où cela est utile est de repérer et probablement de prévenir les attaques. Un chercheur en sécurité pourrait configurer plusieurs nœuds et suivre les messages reçus des pairs pour éventuellement identifier les attaques à l’avance.

Merci à Aaron van Wirdum pour les informations et les commentaires.

Pour plus de détails et d’autres modifications, consultez le Bitcoin Core 23.0 notes de version. Pour télécharger Bitcoin Core 23.0, naviguez ici. Les détails sur Bitcoin Core 23.0 sont également expliqués en audio dans le Podcast Bitcoin expliqué épisode 56.

Source bitcoinmagazine.com

Quitter la version mobile