Bitcoin Core : sortie de la mise à jour 0.17

Alors que la précédente mise à jour de Bitcoin Core (0.16.3) était en bonne partie sortie pour corriger une faille dans le code source de Bitcoin, ce patch 0.17 est issu d’un long travail de développement, amenant quelques nouveautés et améliorations.

L’équipe de Bitcoin Core a annoncé la nouvelle version du logiciel (0.17) via un message Twitter officiel :

La liste complète des changements apportés est disponible ici (en anglais), et nous allons résumer les points les plus notables.

Amélioration de la sélection des « morceaux » de bitcoins

Les bitcoins d’un wallet sont stockés sous forme de « morceaux » séparés, car les coins proviennent généralement de transactions et d’adresses différentes à chaque paiement; chacun de ces morceaux pouvant être d’une quantité différente de bitcoins.

À ce sujet, Bitcoin Core 0.17.0 introduit l’algorithme « Branch and Bound », conçu par l’ingénieur BitGo Mark Erhardt.

Il offre deux améliorations concrètes : premièrement, les frais pour chaque « fragment » sont calculés avant que celui-ci ne fasse partie d’une transaction, afin d’éviter que de nouveaux « fragments » ne soient ajoutés ultérieurement ; deuxièmement, l’algorithme essaie de faire correspondre différents « morceaux » afin qu’ils totalisent le montant exact nécessaire, évitant ainsi si possible le besoin d’une « adresse pour rendre la monnaie » (où la « monnaie » restante est envoyée).

En outre, cet algorithme de sélection des coins inclut dans Bitcoin Core 0.17.0 une amélioration facultative de la confidentialité, en permettant aux utilisateurs d’accorder la priorité à l’ajout de morceaux liés à la même adresse dans une transaction, et de laisser les autres fragments en dehors de la transaction, si possible.

Création et utilisation facilitées de nouveaux wallets

Jusqu’à présent, de nouveaux wallets ne pouvaient être créés ou chargés qu’au démarrage du nœud, et ce n’était pas disponible pour les utilisateurs dans le GUI (interface graphique) du wallet Bitcoin Core.

Ces deux limitations sont maintenant résolues, Bitcoin Core 0.17.0 permettant aux utilisateurs de créer/charger de nouveaux wallets à tout moment, et offre cette fonctionnalité dans l’interface graphique.

Mise à niveau de portefeuilles non HD à HD

Les versions de Bitcoin Core antérieures à 0.13.0 imposaient toujours aux utilisateurs de sauvegarder toutes leurs clés privées. Mais les versions suivantes de Bitcoin Core ont proposé de créer des wallets « Hierarchical Deterministic » (HD). Les utilisateurs de wallets HD n’ont besoin que de stocker une phrase source (une liste de mots) en tant que sauvegarde.

Jusqu’ici, les utilisateurs ne pouvaient pas convertir leurs anciens wallets en HD à cause d’une incompatibilité, mais elle a maintenant été surmontée et, avec Bitcoin Core 0.17.0, les utilisateurs peuvent désormais passer au format HD.

Bitcoin-Art-revolution

Des wallets entièrement en mode « Watch Only »

Les wallets Bitcoin stockent généralement des clés privées, qui permettent de dépenser ses bitcoins. Mais Bitcoin Core prend également en charge les adresses « Watch Only » dont les clés privées ne sont pas stockées dans le wallet, ce qui permet aux utilisateurs d’accepter facilement les paiements et de suivre leurs fonds, tout en stockant leurs clés privées hors ligne, par exemple.

Bitcoin Core 0.17.0 va encore plus loin dans ce concept et permet aux utilisateurs de créer des wallets « Watch Only » dans lesquels chaque adresse est une adresse « Watch Only ». À titre d’exemple concret, il sera plus facile d’utiliser Bitcoin Core pour garder une trace des fonds dans un hardware wallet ou sur un paper wallet, sous la forme d’une seed HD.

Des transactions Bitcoin partiellement signées (PSBT)

Bien que de nombreuses transactions soient simples (un utilisateur en paie un autre), Bitcoin autorise également des transactions plus complexes. Celles-ci incluent, par exemple, les transactions multi-signatures, dans lesquelles plusieurs utilisateurs doivent signer l’envoi de fonds, ainsi que les transactions CoinJoin renforçant la confidentialité, dans lesquelles différents utilisateurs fusionnent leurs transactions indépendantes en une seule transaction importante.

Pour faciliter ces types de transactions, Bitcoin Core 0.17.0 introduit le BIP 174 pour les transactions Bitcoin partiellement signées (PSBT), conçu par Andrew Chow.

Cela permet aux utilisateurs de Bitcoin Core de signer partiellement une transaction, mais ajoute également des métadonnées à une transaction partiellement signée. Ces métadonnées peuvent être utilisées par quelqu’un d’autre pour finaliser la transaction.

« Pruning » (élagage) de la taille de stockage de la blockchain

Stoker toutes les transactions Bitcoin ayant eu lieu représente actuellement plus de 180 Go de stockage pour la blockchain, dont la taille augmente chaque jour. Les nouveaux utilisateurs de Bitcoin Core devaient télécharger et valider toutes ces données.

Grâce à une astuce appelée « blockchain pruning » (élagage de la chaîne de blocs, traduit littéralement), ces nouveaux utilisateurs ne devront plus nécessairement stocker cette importante masse de données.

Dans ce mode « élagage », les nœuds oublieront automatiquement les anciennes données de transaction et ne conserveront que ce qui est nécessaire pour fonctionner en toute sécurité, et c’est désormais possible depuis l’interface graphique du wallet.

De nombreuses autres améliorations des performances, corrections de bugs, et autres changements de l’interface graphique ont également été faites, vous pouvez les consulter ici si vous le souhaitez.

[es_tradingview symbol= »bitfinex:btcusd » interval= »W » height= »400″ colors= »Light »]

Sources : BitcoinMagazine ; Lists.LinuxFoundation ; Twitter || Image from Shutterstock

Rémy R.

Issu d’une formation universitaire en Sciences, je m’intéresse aux blockchains et à Bitcoin depuis 2013 et en ai même miné à l’époque. La bulle qui s'en est suivie m'en a détourné, mais je m'y suis replongé depuis 2017 et les étudie depuis avec passion.