Bitcoin Cash, vraiment ?

86
805

Lancé le 1er août 2017, « Bitcoin Cash » est un « fork » de Bitcoin sans Segwit qui repousse la limite de la taille maximale des blocs à 8 Mo. Nouvel Eldorado pour les uns, feu de paille pour les autres, Bitcoin Cash est très brièvement passé cette nuit devant Ethereum au classement de Coinmarketcap.com et a dépassé la puissance de calcul de Bitcoin, profitant du vide laissé par Segwit2X et du repli soudain du bitcoin, délaissé notamment par tous ceux qui y étaient entrés avec l’espoir d’un « air drop » de tokens gratuits comme celui du 1er août.

Présenté par ses promoteurs comme un Bitcoin « scalable » permettant de réaliser un grand nombre de transactions (y compris de micro-transactions) pour un coût dérisoire, Bitcoin cash n’est cependant, pour ses opposants, qu’un Bitcoin en mode centralisé qui :
1. ne pourra pas bénéficier des possibilités ouvertes par Segwit pour faciliter l’intégration d’améliorations comme les Signatures de Schnorr, TumbleBit (confidentialité), MAST (scripts complexes) ;
2. ne pourra pas adopter des solutions de scalabilité « off-chain » comme le Lightning Network ;
3. ne repose pour l’instant sur aucun écosystème et, quoi qu’on dise, aura peut-être du mal à obtenir le soutien des entreprises dont le chiffre d’affaire dépend directement de la bonne santé de Bitcoin, même quand ces dernières soutenaient Segwit2X ;
4. ne bénéficie pas encore, comme Bitcoin, d’une communauté large et éprouvée de développeurs et de testeurs.
5. est massivement soutenu par les mineurs chinois qui ont trouvé là un nouveau moyen d’affirmer leur influence après l’abandon de Segwit2X.
6. conduira immanquablement, en cas de succès, à une centralisation du système à long terme sans pour autant pouvoir rivaliser, même de loin, avec Visa ou Paypal en nombre de transactions… à moins d’accroître encore la taille des blocs et de réduire encore le nombre d’acteurs.

Pour Emilien Dutang, co-fondateur de Blockchain PartnerBitcoin Cash, a, au contraire, un avenir très prometteur :

« Bitcoin et Bitcoin Cash partagent les mêmes racines et la même histoire, mais là où Bitcoin a décidé d’abandonner le “use case” du paiement pour se concentrer uniquement sur celui du “digital gold”, Bitcoin Cash représente ce que bitcoin voulait être au départ : Un moyen de paiement non censurable ET un “digital gold”. 

Bitcoin cash bénéficie actuellement d’une actualité extrêmement riche : Le problème de son EDA [1] va être corrigé demain, mais surtout de l’abandon de Segwit2x qui se présentait comme un compromis entre les business souhaitant “scaler” un peu et les développeurs souhaitant maintenir une taille de bloc à 1Mo. Ce compromis a échoué de manière unilatérale grâce à une mobilisation extrêmement forte de la communauté, mais aurait été une nouvelle extrêmement mauvaise pour Cash. Tout l’intérêt de Cash réside aujourd’hui dans le fait que Bitcoin “Core” sera de moins en moins fonctionnel, avec des frais de transaction de plus en plus absurdes.

Il semblerait que la dernière tentative de consensus ait montré de manière forte qu’on est pas près d’augmenter la taille des blocs sur Bitcoin Core. Certains pensent que les fees n’ont pas de conséquences. Les fees absurdes ont néanmoins de lourdes implications :
– des business s’en vont, de nouveaux business se créent sur d’autres chaines (en majorité sur ETH) ;
– les marchands de détail qui acceptent le bitcoin vont finir par y renoncer, et Bitcoin va être exclusivement cantonné au transfert de grosses sommes ;
– les “2nd layer solutions” comme omni et counterparty deviennent inutilisables ;
– une horrible expérience utilisateur (frais onéreux, transactions confirmées de manière probabiliste).

En parallèle, l’écosystème “business” de la communauté Bitcoin espérait fortement que 2X passe, car la hausse des frais menace le modèle économique de nombre d’entre eux. On peut donc s’attendre à voir ces business rejoindre Cash petit à petit, à voir les marchands arriver progressivement, etc.

Certains pensent que LN [2] sera prêt très rapidement et solutionnera tous les problèmes : Ce n’est pas mon avis. Je pense qu’il est imprudent de parier tout le futur de la plus grosse crypto-monnaie sur une solution unique, alors qu’augmenter, ne serait ce qu’un peu, ne présente absolument aucun risque. Je pense que LN ne solutionnera rien :
1 – LN n’est pas prêt pour la production. C’est à peine si Segwit est intégré dans la plupart des wallets, alors que Segwit est beaucoup plus simple ! Et rappelez-vous qu’une modification aussi simple que Segwit a pris presque 6 mois de retard dans son développement. De nombreux problèmes restent ouverts sur LN ;
2 – Rien ne garantit que LN sera simple à l’utilisation et bien intégré dans les GUI : Il faut “locker” des fonds à l’avance, monitorer ses channels etc. etc. LN créera sans doute tout une gamme de vecteurs d’attaques contre les utilisateurs qu’on a aujourd’hui du mal à anticiper car il est toujours difficile d’anticiper les conséquences pratiques d’un système théorique ;
3 – LN lui-même nécessitera de nombreuses transactions « on chain » ;
4 – LN ne s’applique pas à tous les cas d’usage.

Segwit nous a été vendu comme “solution de scaling immédiate” par de nombreux interlocuteurs, les services ont eu plus d’un an pour se préparer et aujourd’hui seul 10% des transactions sont sur Segwit, ce qui représente une augmentation de bande passante pour bitcoin de seulement 7%. Comme “solution de scaling immédiate”, c’est clairement un échec.

Enfin je pense, pour des raisons techniques, que faire du full “on-chain” en l’optimisant bien (en prunant les transactions, en utilisant des SPV etc.) se rapproche beaucoup d’un LN (on fait des transactions qu’on ne garde pas dans la blockchain, et on ne distribue pas toutes les transactions à tout le monde) mais en beaucoup plus simple et élégant. Pour toutes ces raisons, je suis extrêmement optimiste à long terme sur Bitcoin Cash.

“Bitcoin legacy” nous force aujourd’hui à nous confronter à la question “Est-ce que quelque chose peut constituer un store of value sans avoir beaucoup d’autre utilité ?” C’est une question à laquelle je n’ai pas de réponse bien qu’elle soit passionnante. Malheureusement il semble que nous allons devoir nous la poser. Je souhaite vraiment de tout cœur me tromper et que LN soit prêt dans deux mois, fonctionne parfaitement et résolve tous les problèmes de Bitcoin. Mais je resterai éternellement sceptique sur les solutions magiques. »

En ce qui concerne le risque de centralisation :

« Pour moi le sujet n’est pas tant la décentralisation que la “résistance à la censure”. Cette résistance vient du fait qu’il est possible de vérifier soi-même les transactions qui nous concernent et leur inclusion dans la chaine, et il suffit d’un vieux téléphone, même complètement obsolète, équipé d’un SPV wallet pour faire ça, même avec des blocs de taille délirante. Il faut juste comprendre qu’il n’est pas nécessaire de posséder l’intégralité de la blockchain pour être capable de vérifier que les transactions nous concernant sont correctes et confirmées. Au final, il suffit de relire Satoshi à l’origine qui avait très bien compris tous ces éléments. Faire tourner 10 000, 100 000, ou même un million de “full nodes” n’apporte rien en ce qui concerne la résistance à la censure. Ceci étant dit, on pourrait tout à fait avoir des “full nodes” avec des blocks de taille délirante aujourd’hui sur des PC à prix modérés. La résistance à la censure n’est pas une propriété “infinie”, on n’est pas deux fois plus résistant en ayant deux fois plus de full nodes. De la même manière qu’un mot de passe de 16 caractères est sécurisé, il n’est pas nécessaire d’aller à 100, ou 1000 caractères pour être davantage sécurisé. »

Notons enfin que, comme l’a précisé Emilien Dutang, Bitcoin Cash est sur le point de modifier son mécanisme d’ajustement de taille des blocs. La difficulté sera réévaluée à chaque bloc en fonction de la quantité de travail effectuée et du temps écoulé dans les 144 blocs précédents.  Le hard fork aura lieu demain : bitcoinabc.org.


[1] Emergency Difficulty Adjustment : mécanisme qui ajuste, sur Bitcoin Cash, la difficulté toutes les 12 heures si l’intervalle entre les blocs est supérieur à 10 minutes. Ce mécanisme a été implémenté pour permettre à la chaine de démarrer et de subsister malgré une faible puissance de calcul. Son revers c’est une émission de blocs très irrégulière.

[2] Lightning Network.