Nous écrivons ce post pour mettre en lumière l’incompétence et la malhonnêteté intellectuelle des deux pseudos-chercheurs Peter Rizun et Gun Sirer. Nous rendons compte ici de leur article intitulé « Selfish Mining Re-examined » récemment accepté pour publication dans la conférence Financial Cryptography 2020. L’article est disponible sur le site de la conférence.
Un article de simulations sans code public
Écrire un rapport complet sur l’article n’est pas pas notre but. Il serait de toute manière compliqué à établir car l’article n’est qu’une suite de commentaires sans démonstration, parfois incorrectes ou malhonnêtes à la suite de simulations impossibles à reproduire étant donné que le code informatique n’a pas été rendu public. Il n’y a en tout cas aucune référence en ce sens dans l’article. Disons tout de suite qu’une famille de ces simulations est très certainement fausse (voir plus bas). Est-ce la coutume dans les conférences d’informatique de publier des articles de simulations sans rendre le code public ? En soi, cela nous semble déjà constituer un sérieux problème mais il y a pire. L’article comporte à la fois des réelles contre-vérités scientifiques mais aussi des jugements erronés et dégradants qui n’ont absolument rien à faire dans un article scientifique. Commençons par relever ces derniers.
Des propos malhonnêtes
Il y a tout d’abord cette phrase en introduction visant à discréditer des contributions scientifiques (page 2).
Ever since its introduction, the selfish mining paper has attracted a cult of denialism [8,16,35]. Leaving aside claims that stem from an inaccurate model of how the Bitcoin protocol and pooling work [12]…
L’air de rien, l’article renvoie à plusieurs références comme s’il était entendu par tous que les articles cités niait la réalité du minage égoïste. C’est totalement faux. Regardons de plus près certaines de ces références [8], [12] et [16]. Tout d’abord, [8] renvoie à On Subversive Miner Strategies and Block Withholding Attack in Bitcoin Digital Currency, un article de Lear Bahack et Nicolas Courtois. Pour information, Lear Bahack est l’un des premiers à avoir mis en évidence l’existence de stratégies déviantes performantes dans le réseau Bitcoin, en décembre 2013, juste quelques semaines après l’article d’Eyal et Sirer. Comme cela arrive souvent en science, cette année-là, deux articles sont sortis quasiment simultanément sur le même sujet. Celui d’Eyal et Sirer, étant paru le premier, il a fini par s’imposer. Mais comment et de quel droit peut-on laisser croire aux lecteurs que l’inventeur d’une stratégie, en réalité nie son existence ? La stratégie de minage égoïste s’appelle pourtant « st1 » dans le premier article de Bahack en 2013. Il s’agit d’une insulte qui lui est faite, visant à nier son indéniable contribution à Bitcoin dans le but probable de s’approprier toute la gloire de la découverte. Par ailleurs, l’article de Bahack et Courtois [8] rédigé et rendu public en 2014 ne nie pas du tout la réalité du minage égoïste. Ils soulignent au contraire que la stratégie a été confirmée par des simulations. On lit en effet page 7 : « it was confirmed by computer simulations ».
La référence [16] renvoie à un article de blog d’Edward Felten, un informaticien américain célèbre, co-auteur d’un cours en ligne et d’un livre à succès d’introduction au Bitcoin. Lui non plus, ne nie pas les résultats d’Eyal et Sirer. Par contre, il lui semble aussi difficile d’imaginer un groupe cohérent de mineurs égoïstes. Il n’y a là encore aucun déni de la réalité du minage égoïste. Essentiellement, ce que remet en cause Felten, ce n’est pas l’article sur le minage égoïste de Sirer et Eyal, c’est l’affirmation péremptoire « Bitcoin is broken » formulée par Gun Sirer sur son blog. D’où sa réponse et le titre de l’article de blog « Bitcoin is not so broken after all ».
Enfin, dans l’article [16] que nous avons écrit, On Profitability of Selfish Mining, loin de nier la réalité de l’efficacité de la stratégie, nous retrouvons au contraire les résultats d’Eyal et Sirer en utilisant une autre approche basée sur des mathématiques de Poisson, suivant en cela l’approche originel de Satoshi dans son papier fondateur. L’article cherche en plus à comprendre la source de l’attaque et propose une modification raisonnable du protocole Bitcoin qui rend inopérantes des attaques de rétention de blocs comme le minage égoïste. Nous montrons que l’attaque exploite en réalité un beugue dans l’algorithme d’ajustement de difficulté de Bitcoin qui ignore la production de blocs orphelins et, en présence d’un attaquant, sous-estime la réelle puissance de hachage déployée sur le réseau. Cette stratégie, perdante sur le court terme finit par être gagnante après un ajustement de difficulté et après avoir récupéré tout l’argent gaspillé pour faire baisser la difficulté. Nous ne nions donc pas du tout la réalité du minage égoïste ni son effet. Au contraire, nous l’étudions, nous retrouvons la formule d’Eyal-Sirer pour le taux de hachage apparent de la stratégie et nous proposons un regard nouveau sur cette stratégie. Nous démontrons en particulier que la stratégie ne peut être efficace que sur le long terme. Nous faire passer pour des révisionistes est intellectuellement totalement malhonnête.
Voici un autre exemple de propos malhonnête nous mettant en cause (page 5).
Since its expected revenue per unit time is greater than if it were mining honestly (14.40 blocks per day), intermittent selfish mining is profitable for attack durations significantly shorter than the 70 days computed in [16].
Le calcul que nous avons mené dans [16] ne concerne absolument pas la stratégie « Intermittent Selfish Mining » (ISM) considéré par les auteurs. Ces derniers mélangent volontairement nos calculs (rigoureusement exacts) concernant le temps mis avant que la stratégie de minage égoïste devienne rentable [16] et leurs simulations concernant la stratégie ISM. Ce sont deux stratégies différentes et ISM n’a pas été étudié dans [16]. L’affirmation ci-dessus est donc totalement malhonnête. Elle fait suite à des attaques répétées sur les réseaux sociaux dont nous avons été victimes à plusieurs reprises. Rizun et Sirer ne cessent de discréditer nos travaux en disant qu’ils sont faux sans jamais pointer l’erreur que nous aurions commise. Nous nous limitons à donner deux exemples parmi d’autres.
A travers ce tweet, on nous reproche un compte-rendu de notre article dans un journal pour bitcoiners. Est-il besoin de préciser que nous ne connaissions pas l’auteur de l’article avant de le découvrir dans le magazine btcmanager.com et que nous n’avons jamais été en contact avec lui ni hier, ni même aujourd’hui ?
Bien évidemment, ni Sirer ni personne n’a donné l’« erreur » qui n’existe pas. Notons que son co-auteur Ittay Eyal a pourtant scandaleusement « liké » son tweet. Il n’est pas le seul à « liker » des tweets scandaleux. Inutile d’en établir une liste. Ce n’est pas le propos ici. Mais il semble qu’une partie importante de la communauté académique semble préférer le copinage à la vérité.
Autre exemple. Ici aussi, Rizun affirme que notre calcul est faux sans en apporter la preuve et laisse entendre sournoisement que cela est bien connu de tous !
Mais ce n’est hélas pas tout. L’affirmation de Rizun &al reportée plus haut est aussi fausse comme nous allons le voir.
Des contre-vérités scientifiques
Tout d’abord, repartons du début. L’article de Rizun & al met en avant une stratégie appelée « Intermittent Selfish Mining ». Personnellement, nous avons découvert cette stratégie pour la première fois par un tweet de Vitalik Buterin mystérieusement effacé par son auteur. Pourquoi l’a-t-il effacé ? Nous l’ignorons. Il s’agit en vérité d’une réponse de Vitalik Buterin à un tweet, ce qui complique la possibilité de retrouver sa trace. Nous connaissons des moyens de retrouver des tweets effacés mais pas des réponses effacées à des tweets. Si certains connaissent des méthodes pour cela, qu’ils se manifestent.
Ne reste plus aujourd’hui sur Twitter qu’une réponse apportée par l’un de nous. Cela dit, le fait que Vitalik Buterin ait effacé sa réponse n’est au fond pas très important. La stratégie proposée est naturelle et il est très probable que d’autres avant lui en aient eu l’idée dans des forums sur internet. Quoiqu’il en soit, le point est que Rizun & al se contentent de remercier Vitalik Buterin et laissent croire aux lecteurs qu’ils sont les inventeurs de cette stratégie, ce qui est faux.
Venons-en maintenant à la stratégie elle-même et à son étude. La stratégie est faite de répétitions de cycles. Chaque cycle est composée de deux phases. Dans la première phase, le mineur mine de manière égoïste et dans la deuxième, il mine honnêtement. Le but de la première phase est de faire tomber la difficulté tout en continuant à engranger des récompenses de blocs, puis de profiter au maximum dans une deuxième phase d’une difficulté réduite pour valider plus simplement des blocs et ainsi doper son revenu. Il n’est pas surprenant de constater comme le font les auteurs que la stratégie est rentable pour des taux de hachage de l’attaquant assez important (sans qu’il ne dépasse 50%). Ci-dessous, nous calculons explicitement le taux de hachage apparent long-terme de la stratégie, un calcul qui a manifestement échappé aux auteurs puisqu’ils ne font que des simulations. Nous y reviendrons. Mais le problème n’est pas là. Il concerne le temps mis avant que la stratégie ne devienne rentable.
Rizun & al affirme que la stratégie ISM devient rentable bien plus tôt qu’on ne pourrait l’imaginer, à partir seulement d’un instant qui vient en moyenne avant un deuxième ajustement de difficulté. Les auteurs mettent bien en évidence ce fait dont ils semblent fiers. Il est affirmé avec force à plusieurs reprises, notamment à la fin de leur introduction et dans leur conclusion.
Malheureusement, cette affirmation est fausse ou tout au mieux, cela ne correspond absolument pas à la notion habituelle communément admise de rentabilité. L’immense majorité des gens considère en effet qu’une stratégie est rentable à partir d’un instant donné si le PnL (revenu net de la stratégie i.e., différence entre revenue et coûts) reste toujours positif à partir de cet instant. Autrement dit, si à partir de cet instant, « c’est tout bénéf » comme on dit. Dans le cas du minage où les coûts par unité de temps sont indépendants de la stratégie, ce qui compte est le revenu engrangé par le mineur déviant auquel on retranche le revenu qu’il aurait gagné en minant honnêtement. C’est cette quantité qui permet de dire quand une stratégie déviante devient rentable. Et il s’avère que la stratégie ISM est effectivement rentable un peu avant le deuxième ajustement de difficulté. Mais ce n’est que temporaire et rapidement après, elle ne l’est plus. Puis elle le redevient, puis est de nouveau perdante, etc. Avec q=0.1 et γ=0.9, ce n’est qu’après plus de 13 ajustements de difficultés en moyenne que la stratégie devient définitivement rentable. Par comparaison, la stratégie de minage égoïste classique met juste cinq ajustements de difficulté avant d’être définitivement rentable. Voir les calculs détaillés ici. Il est aisé de comprendre cela intuitivement. Pour la stratégie de minage égoïste, le paramètre de difficulté se stabilise après seulement un premier ajustement de difficulté. Au début, le mineur égoïste souffre pour faire baisser la difficulté mais une fois fait, elle n’augmente plus. Il n’a plus alors qu’à récupérer l’argent perdu au début de la stratégie lorsque le mineur minait à perte pour faire tomber la difficulté. Tandis que pour la stratégie ISM, le mineur profite pleinement d’une difficulté réduite en minant honnêtement dans une deuxième phase. Cependant, à l’issue de cette seconde phase, le paramètre de difficulté augmente de nouveau, redevient égale à son niveau normal d’avant le début de l’attaque et le mineur ISM, tel Sysiphe va devoir souffrir de nouveau pour le faire baisser. Au final, la stratégie alterne phase où le mineur est gagnant et phase où il est perdant. Puis, à moment donné, la stratégie devient définitivement rentable. Nous avons représenté ci-dessous (Figure 1) le gain net moyen du mineur déviant en fonction de la progression de la blockchain officielle.

Par comparaison, le gain net moyen du mineur SM en fonction de la progression de la blockchain officielle est représenté ci-dessous (Figure 2).

Par ailleurs, dans leur introduction, Rizun & al affirment sans en apporter la moindre preuve que le calcul de cinq ajustements de difficulté avant que la stratégie de minage égoïste ne devienne rentable pour q=0.1 et γ=0.9 est faux.
Grunspan & Perez-Marco [16] formalized such a time-based revenue model for selfish mining and calculated that an attacker with 10% of the network hash rate and with a
parameter of 0.9 must maintain the attack for 10 weeks. Their calculation is incorrect because they fail to account for the profit earned by the attacker in the difficulty period following the attack. Their revenue calculation stops one difficulty period too early, when selfish mining ends.
Nous avons une nouvelle fois vérifié notre calcul et contrairement à ce qui est avancé sans preuve ci-dessus, il est tout à fait correct. Il est faux de dire que nous ne prenons pas en compte les profits de l’attaquant réalisé une fois la difficulté diminuée et il est faux de dire que notre calcul s’arrête une période trop tôt. Nous le reproduisons ici une nouvelle fois. Il se trouve déjà ici (Section 6 page 14) et nous l’avons aussi reproduit ici (Exemple 3.8 page 11). Le voici de nouveau.
Avant ajustement de difficulté, l’attaquant a miné en moyenne blocs pendant un temps égale à
où q’ est le taux de hachage apparent calculé dans l’article d’Eyal et Sirer (q’=
avec leur notation),
, δ est le paramètre d’ajustement de la difficulté et
=10 minutes. S’il avait miné honnêtement durant tout ce temps, il aurait miné en moyenne
blocs. D’où une perte à l’issue de cette période de
blocs. D’autre part, après ajustement de difficulté, les blocs officiels parviennent en moyenne tous les
et donc pendant une durée de minage t, l’attaquant gagne les récompenses contenues dans
blocs alors que s’il minait honnêtement, il gagnerait simplement les récompenses contenues dans
blocs. D’où un gain de
blocs en moyenne. Au final, après avoir miné jusqu’à faire tomber la difficulté puis ensuite pendant une durée supplémentaire de minage t, le gain net moyen de l’attaquant est
avec . En prenant γ=0.9 et q=0.1, le calcul montre que
. Donc, la stratégie SM n’est rentable qu’après 5 ajustements de difficulté, ce qui correspond à un peu plus de 10 semaines de minage. Le calcul est donc bien exact contrairement à ce qui est affirmé sans preuve par Rizun & al. Des simulateurs de minage égoïste disponibles en ligne confirment évidemment ces calculs. On pourra se reporter par exemple à ce site réalisé par un étudiant de l’Université de Padoue. Son code est naturellement public comme il se doit et toutes ses simulations sont en accord avec les résultats théoriques qu’on peut obtenir par ailleurs.
Taux de hachage apparent ISM
L’un des clous de l’article de Rizun & al est la constatation par simulations que la stratégie ISM est une stratégie déviante plus profitable que la stratégie honnête dès lors que l’attaquant dispose d’environ 37% de puissance de hachage relative. Nous avons donné dans un nouvel article deux démonstrations très simples de ce fait en donnant en même temps une formule fermée pour le taux de hachage apparent q » de la stratégie (nous laissons la notation q’ pour le taux de hachage apparent long-terme de la strratégie SM) qui est explicitement
Ci-dessous une démonstration élémentaire.
Si l’on note δ>1 le paramètre d’ajustement de difficulté après une première phase de minage ISM i.e., une phase de blocs officiels où le mineur mine entièrement de façon égoïste, alors au bout de cette période dont la durée est
(avec
minutes), le mineur a miné
blocs. Considérons maintenant la deuxième phase. Durant celle-ci, les blocs arrivent tous les
. Donc, la durée de la deuxième phase est
. Au bout de celle-ci, l’attaquant a miné en moyenne
blocs car il emploie alors une stratégie honnête. Par suite, au bout d’un cycle d’attaque, l’attaquant a miné en moyenne
blocs et a mis pour cela
. D’où un taux de hachage apparent long-terme donné par
On obtient alors la première formule annoncée plus haut pour en remplaçant q’ par sa valeur. La solution de l’équation
pour γ=0 donne bien un seuil égale à
, soit environ 37% comme annoncé par Rizun & al. Comment les auteurs qui se permettent de donner des leçons aux autres chercheurs ont-ils pu passer à côté d’une formule aussi simple à trouver ? La seule « difficulté » (c’est le cas de le dire) est le calcul de δ, paramètre d’ajustement de difficulté. Or, avec les notations de l’article d’Eyal et Sirer, on a simplement
. Et on ne voit pas comment on peut faire l’impasse de cette formule lorsqu’on écrit avec justesse
comme c’est fait dans l’article Majority is not enough. Comment Sirer peut-il passer à côté de ce fait dans un article qui précisément tourne autour du paramètre d’ajustement de difficulté ? L’explication la plus rationnelle est qu’il l’ignorait, ce qui nous conduit à émettre de sérieux doutes sur sa réelle contribution à son article co-écrit avec Ittay Eyal.
Une famille de simulations probablement fausse
Le fait qu’Ethereum prend désormais en compte la production de certains blocs orphelins (oncles) dans son algorithme d’ajustement de la difficulté n’est pas une chose forcément très connue du plus grand nombre. L’algorithme choisi est intéressant et pourrait servir de modèle pour Bitcoin. Il rend Ethereum beaucoup moins vulnérable au minage égoïste qu’au début de son existence malgré un protocole toujours dangereux qui encourage les attaques sur le réseau en rémunérant les oncles. Pour cette raison et au contraire de Bitcoin, une attaque de rétention de blocs sur Ethereum sera toujours payante, qu’elle réussisse ou non. Les principales références sur ce sujet se trouvent ici, ici et ici. Cependant, vu les simulations concernant le minage égoïste dans Ethereum et les commentaires qui les accompagnent dans l’article de Rizun & al, tout porte à croire que les auteurs n’ont pas simulé Ethereum dans sa version actuelle avec un ajustement de difficulté complexe qui prend en compte la production d’oncles et intervient à chaque bloc. Il est impossible d’en dire plus et d’être catégorique car une nouvelle fois, le code n’est pas public.
Conclusion
L’article de Rizun & al est un papier de simulations pures qui ne rend pas public son code. Il présente des contre-vérités et des propos malhonnêtes qui n’ont pas leur place dans un article scientifique sérieux. Il témoigne d’une méconnaissance de la notion de rentabilité. Les simulations concernant Ethereum sont probablement fausses. Le taux de hachage apparent long-terme de la stratégie ISM observé par simulations peut s’obtenir en formule fermée par des techniques élémentaires.
Nous avons été directement mis en cause dans un article pseudo-scientifique. Mais nous ne sommes pas dupes. Il y a des enjeux financiers qui dépassent nos petites personnes. Les deux auteurs, Gun Sirer et Peter Rizun sont chacuns engagés dans des projets de cryptomonnaies alternatives et ont tous les deux des intérêts à discréditer Bitcoin et à faire croire qu’il est beaucoup plus vulnérable qu’il n’y paraît dans le but de vendre leur camelote. Contrairement à nous et à beaucoup d’autres scientifiques, ils sont directement partie prenante d’entreprises privées qui gèrent des millions de dollars. Ils ont réussi à monnayer leur crédibilité scientifique et il est important pour eux de continuer à se faire passer pour des experts des cryptomonnaies qu’ils ne sont pas. Mais au fond, de telles attaques mesquines ne sont qu’au mieux des pitreries. Plus on attaque Bitcoin, plus il se renforce.
S’il souhaite aller plus loin, le lecteur trouvera un traitement rigoureux des problèmes soulevés dans ce billet dans un nouvel article de recherche que nous venons d’écrire.
Cyril Grunspan & Ricardo Pérez-Marco