Au sujet de Bitmain

27
597

Ceci est une analyse du contenu de la page publiée par Coinhouse à la fin du mois d’août 2018 (la date exacte de parution n’est pas précisée sur la page) :

L’attaque à 51% et le pouvoir limité de Bitmain

[Il se peut que la page soit modifiée par la suite, mon texte discute la version de cette page trouvée le 21-8-2018.]

Le pouvoir pris par la firme chinoise Bitmain sur le réseau Bitcoin inquiète. La preuve : Coinhouse a ressenti la nécessité d’expliquer que Bitmain, un des plus gros acteurs du minage dans le monde (voir wikipedia), ne voulait et ne pouvait rien faire qui nuise au réseau Bitcoin.

Malheureusement, il est possible de discuter et contester plusieurs des arguments utilisés. Nous faisons cela sous la forme d’une série de remarques.

Remarque sur la définition d’une attaque à 51%

« Une attaque à 51% représente la possibilité pour une entité qui dispose de la majorité de la puissance de minage (aussi appelée hashrate) totale d’une cryptomonnaie, de pouvoir annuler des transactions qui ont eu lieu dans les heures précédentes, ainsi que de créer de nouvelles transactions depuis des adresses contrôlées par cette entité. « 

La fin de la phrase est pour le moins étrange : pourquoi préciser « créer de nouvelles transactions depuis des adresses contrôlées par cette entité » puisque tout le monde peut créer de nouvelles transactions même sans disposer de puissance de minage !?

Pour être exact il faudrait remplacer « d’une cryptomonnaie » par « d’une cryptomonnaie utilisant les preuves de travail».

La définition donnée des attaques 51% oublie la possibilité de créer des pages vides, de mener des doubles dépenses (cependant évoquée plus loin par Coinhouse) et de créer d’autres perturbations du réseau en exploitant cette puissance.

Remarque à propos de « toutes les transactions en attente »

« Le premier qui réussit à trouver cette solution valide toutes les transactions en attente sur le réseau et récolte une récompense de 12,5 bitcoins. »

C’est faux : un mineur gagnant valide les transactions qu’il veut bien, dans la limite d’ailleurs de l’espace disponible sur une page. Il peut s’il le veut ne valider aucune transaction ; cela s’est produit, voir ici ou ici.

Remarque sur « Bitmain n’a aucun intérêt à lancer une attaque à 51% »

Oui, c’est vrai et je suis d’accord avec l’analyse que ce n’est pas l’intérêt direct bien compris d’un détenteur de plus de 50% d’utiliser cette puissance pour un profit immédiat. Mener des doubles dépenses ne serait sans doute que peu rentable en regard du coût de l’attaque. Il y a cependant deux précisions à formuler concernant cette absence d’intérêt.

– a – Une banque quelconque, et même un tiers de confiance sur quelque sujet que ce soit n’a pas intérêt à perdre la confiance de ses utilisateurs et c’est d’ailleurs pourquoi les tiers de confiance (notaires, banques, etc.) fonctionnent le plus souvent assez bien et comme on attend. Cependant, si la nouveauté du Bitcoin, des cryptomonnaies et des blockchains finalement conduit à ce que la confiance repose sur le fait qu’ « un acteur dominant n’a pas intérêt à… », alors ce n’était pas la peine d’inventer tout ça. D’ailleurs si c’est ça, l’acteur en question est devenu un tiers de confiance. Je trouve absurde d’utiliser l’argument « n’a aucun intérêt à… ». La réalité est que Bitcoin repose sur la confiance qu’on accorde à quelques puissants mineurs et que Bitcoin n’est pas du tout décentralisé aujourd’hui. Ce n’est pas ce que voulait Nakamoto. Que le réseau Bitcoin soit dominé par un petit nombre de mineurs est un échec grave du protocole de Nakamoto tel que le réseau Bitcoin d’aujourd’hui le fait fonctionner.

– b – Le plus gros problème avec l’argument « n’a aucun intérêt à… » vient pourtant d’autre chose. Il vient de ce que Bitmain et plusieurs autres gros mineurs sont chinois. On sait que la Chine n’est pas vraiment une démocratie, et il est donc parfaitement envisageable que les autorités chinoises, exercent leur pouvoir de contrainte illimité pour faire que ces plus de 50% de puissance de minage en Chine servent un projet qui arrange le pouvoir chinois, cela même si ce projet est contraire aux intérêts immédiats des mineurs concernés. Les autorités chinoises pourraient vouloir par exemple bousculer le réseau Bitcoin, et même faire perdre toute confiance en ce réseau, parce qu’elles ne veulent pas qu’une monnaie comme le Bitcoin existe. Cela se nomme une attaque Goldfinger.

C’est un sujet qui n’est pas considéré sans importance et récemment encore les spécialistes ont travaillé à le comprendre, voir par exemple ici.

Aujourd’hui cette attaque peut être menée quand elles les veulent par les autorités chinoises. Le risque d’une attaque 51% n’est pas seulement les doubles dépenses, mais la déstabilisation du réseau par l’utilisation de cette puissance de calcul pour perturber de manière répétée son fonctionnement.

Notons qu’on peut aussi imaginer que les autorités chinoises se réjouissent du pouvoir qu’elles ont sur le Bitcoin et qu’elles ne souhaitent pas du tout le faire tomber. Mais alors cela signifie que le Bitcoin est une monnaie nationale chinoise ; doit-on s’en réjouir ?

L’argument de la visibilité

« pour que l’attaque réussisse, il faut que les machines minent, mais que personne ne voie les nouveaux blocs. Cela impliquerait donc que Bitmain fasse disparaître du jour au lendemain plus de la moitié de la puissance de calcul totale du réseau Bitcoin, sur trois plateformes différentes, et qu’il continue à miner en secret jusqu’à la réalisation de l’attaque. Autrement dit, ce serait extrêmement visible, et l’intégralité de la communauté saurait immédiatement qu’une attaque serait en préparation. »

D’abord le minage égoïste (« selfish mining ») qui consiste effectivement à miner secrètement de manière prolongée donc à retirer du réseau la puissance utilisée pour ce minage cachée n’est pas la seule façon d’utiliser la puissance dont on dispose pour déstabiliser le réseau. On peut simplement publier des pages vides ce qui réduit la capacité du réseau à faire passer des transactions de moitié ou plus (puisqu’on pourra publier plus d’une page sur deux). On peut aussi ne miner en secret que pour effacer une seule page (la dernière). On peut alors publier deux pages vides d’un coup ce qui réduit la puissance du réseau à faire passer des transactions des deux tiers. D’autres stratégies d’utilisation de ces 50% ou plus de la puissance peuvent être imaginées qui perturberont le réseau, l’empêcheront de fonctionner et feront perdre toute confiance en lui.

Remarquons que quand on ne mine pas en secret de manière prolongée le réseau ne s’en aperçoit pas vraiment car il est informé qu’il y a moins de puissance par la durée nécessaire au minage d’une page, or cette durée varie naturellement, et donc il n’y a pas à s’étonner instantanément qu’une page particulière demande 20 minutes ou un peu plus.

Notons aussi que le retrait de la puissance dont on dispose pour mener une attaque par minage secret sur une longue durée peut être mené discrètement, par exemple en retirant 5% un jour, puis 5% quelques jours plus tard, etc. Est-ce que vraiment on s’inquièterait de cela si la mise en réserve de puissance est faite sur plusieurs semaines, voire plusieurs mois ? On considèrerait que certains mineurs ont renoncé car ce n’était plus rentables pour eux. La puissance retirée pourrait d’ailleurs être utilisée pour miner d’autres cryptomonnaies à base de SHA256. La sécurité du réseau est liée à la puissance de minage, celui qui la détient peut l’employer de manière discrète et sournoise pour faire dysfonctionner le réseau et personne ne pourra l’en empêcher.

De manière assez amusante comme si l’argument de la visibilité associée à la réaction du réseau risquait de ne pas convaincre tout le monde, le rédacteur du texte ajoute :

« De plus, il serait totalement illogique pour une entité comme Bitmain, dont le business a généré 2.5 milliards de dollars en 2017 et déjà plus de 10 milliards de dollars de profit en 2018, avec des investissements en infrastructure colossaux, de s’attaquer au réseau qui le fait vivre, avec pour conséquence directe de tuer son business. »

C’est revenir à l’argument du tiers de confiance qui ne va pas casser sa source de profit. C’est un argument dont j’ai dit plus haut qu’il oublie que l’État chinois peut voir un intérêt supérieur pour la Chine à casser le Bitcoin et qu’il dispose des moyens d’imposer son point de vue car la Chine est un pays où le pouvoir politique fait ce qu’il veut. De toutes les façons si c’est pour faire reposer la confiance en Bitcoin sur l’idée que ceux qui peuvent le casser ne le feront pas car ce n’est pas leur intérêt, autant utiliser un tiers de confiance unique comme une banque émettrice.

L’argument du réseau jeune et de la robustesse à 99% évoqué par Buterin

C’est bien sympathique et je pense moi que justement ce sont les preuves de travail qui sont problématiques : elles dépensent inutilement de l’énergie et ont conduit à la concentration du pouvoir du réseau entre les mains d’un petit nombre d’acteurs. Il faut changer les preuves de travail, ce que Bitcoin (et même Ethereum semble-t-il ; on attend toujours qu’il passe au POS) ne semblent pas capables de faire.

Notons aussi que si pour se protéger le réseau compte sur la réaction de certains acteurs du réseau qui doivent être prêts à réagir dès qu’il se passe quelque chose de louche, alors la solution existe, c’est le DPOS. Les arguments pour défendre le POW ont souvent été qu’un réseau qui l’utilise se défend tout seul sans qu’aucune gouvernance ou surveillance ait à s’exercer ; si maintenant on nous explique qu’il faut pour protéger un réseau POW qu’il y ait une sorte de veille prête à réagir à chaque instant et mise en place on ne sait pas trop par qui et comment, c’est qu’on est revenu en arrière. Je pense qu’effectivement un bon algorithme de consensus devra compter plus ou moins sur une veille collective et qu’il faut donc qu’elle soit acceptée, et qu’elle soit clairement et proprement organisée : ce n’est pas le cas pour le Bitcoin, et en revanche c’est l’idée même de DPOS, ou des blockchains à validateurs soigneusement désignés comme celle de Ripple tant détesté par les extrémistes Bitcoin alors que Ripple est bien mieux « décentralisé » que Bitcoin entre les mains des autorités chinoises.

 


A propos de l’auteur

Jean-Paul Delahaye est mathématicien – il a passé un doctorat d’Etat en mathématiques sur la théorie des transformations de suites – et informaticien – il est professeur à l’université de Lille 1 et chercheur au Centre de Recherche en Informatique, Signal et Automatique de Lille du CNRS et membre du Algorithmic Nature Group. Ses travaux actuels portent sur les jeux computationnels, la théorie algorithmique de l’information, la définition du hasard et sa perception. Depuis 1992, il tient la rubrique Logique et calcul (un article de 6 pages chaque mois) dans la revue Pour la science. Il a également écrit de nombreux articles consacrés à Bitcoin et publiés sur son blog.