Quand la cryptomonnaie anonyme de référence en dit trop sur vous… Le bug Monero (XMR) qui fait désordre
Y a-t-il de quoi paniquer ? – Nombreuses sont les cryptomonnaies qui tentent de préserver l’anonymat de leurs utilisateurs. Monero (XMR), une crypto lancée en 2014, en fait partie. Cependant, il semblerait qu’un bug dans son code mette en danger la vie privée de certains utilisateurs.
Un bug découvert dans Monero (XMR)
Le mardi 27 juillet, les équipes du protocole Monero ont notifié leurs utilisateurs qu’un bug avait été trouvé dans le decoy algorithm, c’est-à-dire l’algorithme en charge d’anonymiser les transactions.
En réalité, le bug a été dévoilé par le développeur Justin Berman. Ce dernier a découvert que si un utilisateur dépensait des fonds, 20 minutes après les avoir reçus (soit 2 blocs plus tard), il y avait de fortes chances que sa transaction ne soit plus confidentielle :
« Si les utilisateurs dépensent des fonds immédiatement après l’heure de verrouillage dans les 2 premiers blocs autorisés par les règles de consensus (~20 minutes après avoir reçu les fonds), il y a une bonne probabilité que la sortie puisse être identifiée comme la véritable dépense. »
En pratique, Monero utilise un algorithme d’anonymat tirant parti des ring signatures. En bref, cette méthode utilise plusieurs leurres à inclure dans la signature, permettant de dissimuler la sortie réelle de la transaction. Cependant, lorsqu’un utilisateur effectue une transaction dans les minutes après avoir reçu les fonds, un bug dans la sélection des leurres enraie le mécanisme et empêche l’anonymisation de la transaction.
« Aujourd’hui, si un utilisateur dépense une sortie directement dans le bloc qu’il déverrouille, et que cette sortie a été créée à l’origine dans un bloc qui contient moins de 100 sorties au total, sa véritable sortie serait clairement identifiable dans l’anneau. »
Publication de J-Berman sur Github
Une solution temporaire avant un vrai correctif sur Monero
Malheureusement, d’après les informations rapportées par les équipes de Monero, le bug est encore présent dans le code du wallet officiel, au moment de la rédaction de ces lignes. Celui-ci devrait être corrigé dans la prochaine mise à jour du wallet, sans qu’aucune date n’ait pour le moment été révélée. Heureusement, la résolution de ce bug ne nécessite pas de modification du protocole lui-même. Il n’y aura donc pas à recourir à un hard fork.
En attendant sa résolution, les équipes de Monero incitent les utilisateurs à attendre 1 h de plus avant de dépenser des fonds fraichement reçus :
« Les utilisateurs peuvent réduire considérablement le risque d’atteinte à leur vie privée en attendant 1 h ou plus avant de dépenser les moneros qu’ils viennent de recevoir, jusqu’à ce qu’un correctif puisse être ajouté dans une future mise à jour du logiciel du portefeuille. »
Un bug pas si répandu ?
Quelques heures après ces révélations et face au mécontentement de la communauté, les équipes de Monero ont clarifié l’impact de ce bug. Ce dernier n’aurait, semblerait-il, qu’un impact relativement limité vis-à-vis du total de transactions réalisées :
« Cela n’affecterait probablement qu’une infime partie des transactions XMR. Le nombre maximal absolu d’anneaux affectés est probablement inférieur à 1% (depuis le bloc 2300000, seulement ~1 % des sorties utilisées dans les anneaux avaient entre 10 et 12 blocs, et un pourcentage d’entre elles était probablement des leurres). »
Heureusement, la Fondation Monero dispose des fonds nécessaires pour financer la correction de ce bug. En effet, en juin dernier, celle-ci avait reçu un don anonyme de 500 000 dollars.