Une mauvaise passe pour Bitcoin Cash
Le hard fork de Bitcoin Cash du 15 novembre dernier s'annonçait difficile : il l'a été. Comme on le décrivait il y a deux semaines, la mise à niveau programmée de Bitcoin Cash avait provoqué une levée de boucliers d'une partie de la communauté, qui s'était mis en tête d'empêcher toute atteinte à l'esprit originel du protocole.
Toute la cryptosphère était curieuse de voir ce qui allait se passer. Une véritable guerre était en effet sur le point d'avoir lieu. Elle opposait Bitcoin ABC qui voulait procéder aux changements prévus par sa feuille de route (ordre canonique des transactions, OP_CHECKDATASIG), et Bitcoin SV qui s'opposait à ces changements et souhaitait soi-disant réhabiliter la « vision de Satoshi ».
Le hard fork a finalement eu lieu au bloc 556 767 un peu après 18:00 UTC. Deux chaînes distinctes ont pris le relais de la chaîne originale et ont pu coexister, non sans difficulté.
La guerre voulue par SV
S'il s'était agi d'un simple fork comme en a connu Bitcoin (BTC) l'année dernière, la situation n'aurait pas été aussi tendue. Mais cette fois-ci, les partisans de Bitcoin SV avaient clairement pour intention de détruire l'autre chaîne, celle de Bitcoin ABC.
Le rejeu des transactions a bien eu lieu. Pendant des jours, toute transaction réalisée sur une chaîne était relayée sur l'autre, à la seule condition qu'elle soit valide sur les deux chaînes. Ces transactions étaient relayées par certains services comme MoneyButton, sous prétexte que la mort de l'une des deux chaînes était inévitable.
En parallèle, un stress test était mené par un groupe d'individus sur la chaîne de SV. Cet amas de transactions s'est répercuté sur la chaîne de ABC. La situation est cependant rapidement revenue à la normale quand les nœuds du réseau de Bitcoin ABC ont commencé à refuser les transactions provenant de ce stress test.
La guerre du hachage a également eu lieu, mais sous les traits d'une guerre froide. Les deux individus à l'origine de la séparation de la chaîne, Craig Wright (nChain) et Calvin Ayre (Coingeek), étaient déterminés à attaquer la chaîne de ABC grâce à leur puissance de calcul majoritaire. Beaucoup pensent qu'ils voulaient miner en secret la chaîne de ABC pour la réorganiser brutalement des dizaines de blocs plus tard.
Cependant, la riposte du camp ABC ne s'est pas faite attendre. Afin de sécuriser la chaîne contre les attaques, les coopératives de minage de Bitcoin.com et de Bitmain (BTC.COM, Antpool) ont dirigé leur puissance de calcul, et une partie de celle de leurs clients, vers le réseau de Bitcoin ABC. Bitcoin.com a pu apporter un taux de hachage de 4 EH/s, ce qui correspond à la puissance de calcul du réseau Bitcoin Cash avant le fork.
Il s'en est donc suivi une compétition de puissance de calcul, les deux parties minant leur chaîne à perte.
Les deux chaînes ont rapidement divergé, non pas en terme de hauteur de bloc, mais en terme de preuve de travail accumulée, véritable critère pour déterminer quelle est la plus longue chaîne. Sur le graphique ci-dessous, on voit que c'est ABC qui l'a emporté haut la main.
Les checkpoints, mesure controversée de ABC
Pour assurer que les mineurs de SV ne perturbent pas la chaîne, Bitcoin ABC a pris des mesures controversées.
La première est l'instauration d'un point de contrôle (checkpoint) au bloc du fork. Celui-ci est considéré par l'implémentation logicielle comme obligatoire : cela veut dire que si quelqu'un essaie de miner une chaîne ne possédant pas ce bloc, celle-ci sera rejetée par les autres nœuds du réseau, peu importe son montant de preuve de travail accumulée.
Cette mesure semble aller à l'encontre de la conception originelle de Bitcoin selon laquelle la plus longue chaîne est la chaîne valide. Cependant, il ne s'agit pas d'une pratique récente : Satoshi Nakamoto lui-même en avait implémenté, Bitcoin Core en contient aussi et Bitcoin ABC en ajoute un à chaque mise à niveau.
Ce point de contrôle a été ajouté très rapidement au code de ABC, ce qui a empêché Coingeek et nChain de réorganiser la chaîne pour annuler le hard fork.
La seconde mesure prise par ABC, bien plus controversée, est la mise en place d'une protection contre la réorganisation profonde, implémentée le 20 novembre. Il s'agit grosso modo de points de contrôles automatiques. Cette protection empêche toute réorganisation de la chaîne de plus de 11 blocs.
Cette mesure a été d'une grande aide pour ré-ouvrir l'accès aux plateformes d'échange comme Coinbase et Kraken. La situation était trop critique pour risquer de subir une attaque des 51 %. Avec cette caractéristique, les transactions sont considérées comme finales par le réseau à partir de 11 confirmations, ce qui assure aux plateformes d'échange une certaine sécurité.
Ce type de mécanisme peut engendrer quelques problèmes. En cas d'une déconnexion entre deux parties du réseau (disons entre la Chine et le reste du monde), on pourrait se retrouver avec deux chaînes valides qui se rejetteraient réciproquement en raison de cette protection contre la réorganisation. De même, une attaque pourrait séparer la chaîne en deux : une chaîne suivant la protection de ABC et une autre suivant la plus longue chaîne, celle de l'attaquant. De plus, cela pose un problème de « subjectivité faible » : un nouveau nœud qui se synchronise avec le réseau peut être trompé par un attaquant en suivant la chaîne la plus longue et pas la chaîne considérée comme valide par le reste du réseau.
Cependant, si une réorganisation aussi profonde devait arriver, cela remettrait en cause la capacité de Bitcoin Cash à être une monnaie universelle : si on peut réécrire la chaîne de blocs aussi profondément, quel en est l'intérêt ? La protection contre la réorganisation sert seulement à procéder à un choix automatique plutôt que manuel en cas de problème.
En réalité, il s'agit plus d'un problème philosophique que technique. Comme les partisans de SV le relèvent, Bitcoin ABC joue à un jeu dangereux en prenant à la hâte des décisions qui altèrent la méthode de consensus.
Une résolution pacifique
Comme on pouvait s'y attendre, nous avons assisté à une guerre froide qui n'a pas fait couler de sang. Aucune attaque n'a eu lieu sur la chaîne de ABC, mise à part un amas massif de transactions provenant de SV.
Cependant, cet épisode a grandement fait chuter le prix du bitcoin cash. En effet, le prix est passé de 422 $ avant le fork, à une valeur cumulée (BCH + BSV) de 284 $ le 28 novembre, soit une baisse de 33 % environ. Il faut toutefois noter que cette baisse s’inscrit dans un contexte de krach général sur le marché des cryptomonnaies qui a commencé le 14 novembre, on doit donc relativiser cette perte de valeur.
Cette guerre s'est soldée par une capitulation du camp SV. Devant la résistance de ABC, Calvin Ayre a annoncé ce lundi 26 novembre que Bitcoin SV abandonnait la lutte pour le nom de Bitcoin Cash et le sigle BCH, et qu'une protection contre le rejeu serait prochainement ajoutée. Il a également assuré vouloir encourager le développement de l'écosystème autour de Bitcoin SV.
La version du protocole soutenue par Bitcoin ABC (et par les autres implémentations logicielles comme Bitcoin Unlimited) conservera donc le nom et le sigle de Bitcoin Cash.
Cette résolution finalise ainsi la séparation des deux adversaires en deux chaînes distinctes. Il semble effectivement que les deux protocoles, Bitcoin Cash et Bitcoin SV, vont perdurer et grandir chacun de leur côté, même s'il subsiste quelques problèmes de part et d'autre comme la façon de faire de Bitcoin ABC et la centralisation évidente du minage de Bitcoin SV.
Comment récupérer vos bitcoins SV ?
Si vous aviez des bitcoins cash (BCH) au moment du fork, vous êtes en possession de ces BCH et de vos BSV à la même adresse. Comme aucune protection contre le rejeu n'est implémentée pour le moment, il est nécessaire de les séparer de manière définitive. Il existe des outils avancés, comme le portefeuille Electron Cash, pour réaliser cette séparation. Electron Cash permet de se connecter aux deux réseaux (BCH et BSV) et des guides existent sur Internet pour réaliser la manipulation. Notez que vous pouvez importer votre clé privée ou votre phrase secrète pour récupérer les fonds d'un autre portefeuille. Eletron Cash permet également d'interagir avec les portefeuilles matériels comme le Ledger Nano S pour récupérer les bitcoins SV.
Le plus simple pour les utilisateurs non confirmés reste néanmoins de passer par un intermédiaire de confiance. Les plateformes d'échange Kraken et CoinEx proposent en effet de séparer vos jetons à votre place. Pour ce faire, il suffit d'envoyer les BCH à l'adresse de dépôt (qui est la même pour BCH et pour BSV). Si la transaction est rejouée sur la chaîne de Bitcoin SV (ce qui arrive généralement), alors la plateforme vous créditera des deux jetons sur votre compte.
Si une plateforme d'échange gardait vos jetons au moment du fork, voyez leurs annonces sur leur site ou sur les réseaux sociaux.
Coinbase a déjà annoncé vouloir autoriser les retraits de BSV dans les semaines à venir.
Bonjour,
Juste une question je possède des BCH et je n'ai jamais procédé à la séparation pour les BSV, il y a t'il un délai pour le faire ou puis-je le laisser ainsi car je suis un holdeur pour du très long terme
Bonjour, il n'y a pas pas de délai non, pas besoin de les bouger. Vous avez également du BCHA depuis le 15 novembre si ça vous intéresse : https://cryptoast.fr/hard-fork-bitcoin-cash-bch/
Au moment de les bouger, la méthode la plus simple sera d'utiliser le portefeuille Electron Cash et ses copies (Electrum SV, Electrum ABC) afin de tout récupérer.