IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Des développeurs envoient l'équivalent de 36 millions de dollars dans le mauvais portefeuille suite à une faute de frappe
Les jetons JUNO avaient été confisqués à une baleine

Le , par Stéphane le calme

223PARTAGES

4  0 
Un vote communautaire a décrété qu'environ 3 millions de jetons Juno, d'une valeur d'environ 36 millions de dollars, seraient confisqués à un investisseur qui aurait acquis les jetons par des moyens malveillants. Les fonds devaient être envoyés à un portefeuille contrôlé par les détenteurs de jetons Juno, qui pouvaient voter sur la façon dont ils seraient dépensés. Mais un développeur a copié et collé par inadvertance la mauvaise adresse de portefeuille, ce qui a entraîné l'envoi de 36 millions de dollars de cryptomonnaie à une adresse inaccessible.

Dans une décision aux implications lourdes pour la gouvernance décentralisée, la communauté de la blockchain Juno a officiellement voté pour confisquer des millions de dollars de jetons du portefeuille d'un seul utilisateur.

Une proposition de gouvernance qui a suscité une pluralité de votes de la communauté Juno qui devait décider s'il fallait vider le portefeuille de l'utilisateur ou non.

Le détenteur de JUNO en question (qui est une « baleine » en raison de sa quantité massive de jetons) a été accusé de les avoir acquis de manière illégitime. Ce détenteur, qui s'est révélé être un ressortissant japonais de 24 ans nommé Takumi Asano, a déclaré que les fonds appartenaient à une communauté d'individus qui investissent avec lui.

La proposition Juno 20, qui a été adoptée avec un soutien écrasant de la communauté la semaine dernière, a révoqué les jetons de Takumi Asano, un investisseur japonais accusé d'avoir trompé le Juno airdrop à hauteur de 120 millions de dollars en février. C'était le premier exemple majeur à ce jour d'une communauté de blockchain votant pour modifier le solde symbolique d'un seul utilisateur accusé d'agir de manière malveillante. Un airdrop est une distribution « gratuite » de tokens. Cette distribution est généralement réalisée par les créateurs de la monnaie en question. Alors que certains créateurs de cryptomonnaies privilégient les ICO, d'autres utilisent les airdops ou une combinaison des deux pour distribuer les jetons de leur monnaie.

Selon le vote de la communauté, Asano a géré un service d'échange qui aurait dû rendre ses portefeuilles inéligibles pour le soi-disant « stakedrop » Juno, qui a donné des jetons JUNO aux stakers sur la blockchain Cosmos Hub. Pour mémoire, le staking est le fait d'immobiliser ses cryptomonnaies dans un smart contract (contrat intelligent) de façon à participer aux opérations qui se déroulent sur une blockchain. Le staking est similaire au minage dans le sens où ils récompensent les utilisateurs qui participent à la sécurisation d'un réseau décentralisé.

Asano a déclaré qu'il allait poursuivre en justice les validateurs de Juno si ses fonds étaient rejetés plutôt que d'aller à ses supposés « investisseurs ».

Après un délai de quelques jours, le vote de la semaine dernière était censé exécuter automatiquement le code déplaçant les fonds obtenus illégalement selon la communauté JUNO – d’une valeur actuelle d’environ 36 millions de dollars – du portefeuille d’Asano vers une adresse « Unity » contrôlée par la communauté Juno.

Les choses ne se sont pas déroulées comme prévu.

Lorsque le code a été exécuté mercredi, une erreur de programmation a fini par déplacer 3 millions de jetons JUNO révoqués vers une adresse erronée sur la blockchain à laquelle personne - ni Asano ni la communauté Juno - n'a accès.

Andrea Di Michele, membre de l'équipe de développeurs fondateurs « Core-1 » de Juno qui s'appelle « Dimi », a déclaré que le transfert falsifié était le résultat d'une erreur de copier-coller : « Lorsque j'ai donné aux développeurs [de la Proposition 20] l'adresse du contrat intelligent [Unity], j'ai collé l'adresse du contrat intelligent et juste en dessous, j'ai mis le hachage de la transaction. Mais je n'ai pas écrit "le hachage de la transaction est ceci", j'ai juste mis le hachage de la transaction », a expliqué Dimi.

Selon Dimi, les développeurs ont accidentellement copié le hachage de la transaction – qui ressemblait à l'adresse du portefeuille – plutôt que l'adresse elle-même. En conséquence, les fonds saisis ont fini par se déplacer vers une crevasse de la blockchain Juno à laquelle personne n'a accès.

Ce qui est encore plus douloureux c'est que, selon Di Michele, aucun des validateurs de réseau n'a détecté l'erreur. Les blockchains nécessitent des « validateurs » pour vérifier chaque transaction, encodée en « blocs », afin qu'ils puissent être ajoutés à la chaîne. Cette transaction comptait 125 validateurs, a expliqué Di Michele, mais aucun n'a été vérifié. « C'est un signal d'alarme pour les validateurs », a-t-il déclaré.


Qui est en faute ?

Les validateurs qui déploient des nœuds pour exécuter des blockchains de preuve de participation comme Juno sont théoriquement responsables de la diligence raisonnable concernant les mises à niveau en chaîne comme celle fournie avec la proposition 20. C'est cette communauté désintermédiée de validateurs - pas un développeur spécifique - qui est responsable de l'émission des blocs, de la sécurisation du réseau et du traitement des mises à jour de manière « décentralisée ».

Sur les plus de 120 validateurs de Juno, aucun n'a semblé remarquer que l'adresse Unity avait été collée de manière incorrecte.

Daniel Hwang, responsable des protocoles chez stakefish, l'un des validateurs de Juno, a résumé ses réflexions dans un message : « Nous avons tout foutu en l'air ».

Plutôt que les développeurs qui ont collé la mauvaise adresse dans le code de la proposition 20, Hwang a déclaré que les événements de cette semaine étaient « plus la faute des validateurs » qui ont finalement exécuté ce code.

« Les développeurs peuvent se tromper… mais en fin de compte, il devrait y avoir des hypothèses de confiance sur lesquelles on ne peut pas compter », a déclaré Hwang. « Les validateurs devraient avoir fait preuve de diligence raisonnable pour vérifier réellement le code que nous exécutons et utilisons ».

L'équipe principale de développeurs de Juno et la communauté ont toujours l'intention de transférer les fonds d'Asano dans le contrat Unity contrôlé par la communauté. Désormais, le plan est de déplacer les fonds vers l'adresse Unity via une mise à niveau déjà prévue de la blockchain. Au lieu de simplement apporter des améliorations au code, cette mise à niveau réécrira désormais le grand livre de Juno afin que les fonds bloqués soient réaffectés à Unity.

Une proposition de gouvernance formulée de manière vague pour donner le feu vert à la mise à niveau, la proposition 21, comprend des lignes indiquant que la mise à niveau « Finalise le transfert de fonds de la proposition Unity » et « transfère les fonds d'une adresse d'espace réservé au contrat intelligent Unity ». La proposition 21 semble sur la bonne voie pour être adoptée, et il est difficile d'imaginer que les validateurs, les développeurs et Asano ne revérifieront pas le code cette fois-ci.


Conclusion

Juno est une blockchain qui cherche à concurrencer Ethereum en étant plus évolutive et efficace (comprendre : moins chère et moins dommageable pour l'environnement). Il s'agit d'une blockchain Proof-of-Stake, qui est plus efficace que le mécanisme de consensus Proof-of-Work utilisé par Bitcoin et Ethereum. Les systèmes PoS vérifient les transactions en faisant voter les détenteurs de jetons pour les approuver, alors que les systèmes PoW reposent sur la résolution de problèmes de cryptographie exigeants en termes de calcul - c'est pourquoi ces systèmes consomment beaucoup plus de puissance.

L'infrastructure de la blockchain est principalement conçue pour améliorer la décentralisation, par exemple en permettant à un réseau de personnes du monde entier de traiter les paiements au lieu d'institutions centralisées comme les banques. L'inconvénient de la décentralisation est qu'aucune entité ne peut inverser instantanément des erreurs humaines...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

Une erreur dans cette actualité ? Signalez-nous-la !