- Retour au menu
- Retour au menuTarifs
- Retour au menuRecherche
- Retour au menuConsensus
- Retour au menu
- Retour au menu
- Retour au menu
- Retour au menuWebinaires et Événements
Coinbase et ZenGo se disputent sur les normes de codes QR qui pourraient bloquer les jetons ERC-20
Les utilisateurs qui doivent utiliser des codes QR doivent vérifier les détails de la transaction avant de confirmer définitivement la transaction pour économiser de l'argent et des maux de tête.
De petits problèmes, aggravés par un manque de coordination des développeurs, peuvent avoir un impact énorme sur la sécurité des pièces des utilisateurs de Crypto monnaies.
Exemple concret :
Mercredi, le chef de la sécurité deZenGo, un fournisseur de portefeuille de Cryptomonnaie , tweetéDes recherches ont montré que des problèmes avec les codes QR générés par l'application Coinbase.com avaient conduit certains utilisateurs à envoyer des fonds à l'adresse du contrat plutôt qu'à l'adresse du portefeuille prévu dans l'application. Cette erreur a pour effet de bloquer les fonds, sans possibilité d'annuler la transaction.
Le problème de code QR identifié par ZenGo est basé sur un problème de compatibilité descendante entreERC-67(la norme de format d'URL QR d'origine) et la plus récenteEIP-681standard. Coinbase utilise EIP-681, ce qui crée des problèmes de compatibilité entre lui et d'autres portefeuilles utilisant l'ancienne norme.
« Les codes QR sont un format très problématique pour le secteur des Cryptomonnaie », a déclaré Tal Be'ery, cofondateur et chercheur en sécurité chez ZenGo. « Comme les codes QR ne sont pas lisibles par l'homme, il est difficile pour les utilisateurs de détecter les erreurs, qu'elles soient introduites par malice ou par erreur. En raison de l'irréversibilité des Cryptomonnaie, les erreurs sont généralement fatales.
Cela étant dit, les codes QR peuvent être plus fiables et moins sujets aux erreurs dans l’ensemble qu’un Human copiant et collant une adresse de portefeuille.
Ce problème a affecté certainsutilisateurs au cours des huit derniers moiset, selon Be’ery, existe probablement depuis plus longtemps. C’étaitrapporté publiquementen décembre 2020 également.
Les normes de codes QR EIP et ERC
ZenGo a découvert le problème dans le cadre de son processus d'assurance qualité. Be'ery a indiqué que l'équipe testait le module de décodage QR de ZenGo en lui fournissant des codes QR générés par divers portefeuilles. Elle a constaté que l'application ZenGo ne gère pas les QR de l'application Coinbase pour les jetons ERC-20, tels que Tether ou DAI.
Les jetons ERC-20 peuvent généralement être utilisés pour représenter des objets, accorder des droits de vote, payer des frais de transaction, financer des projets participatifs et intégrer de nouvelles fonctionnalités à un jeton. ERC-20 est actuellement la norme de jeton ERC la plus populaire sur Ethereum.
Sur le même sujet : Qu'est-ce que la norme de jeton Ethereum ERC-20 ?
Une fois les codes QR décodés selon l'ancienne norme d'URL de code QR utilisée par ZenGo, l'URL apparaît dans le champ d'adresse sous le code QR comme, essentiellement, «Ethereum:<adresse> » suivi de quelques paramètres facultatifs.
Dans le nouveau format, pris en charge par l'application Coinbase, l'URL décodée apparaît sous le code QR sous la forme « ERC-20 Ethereum:<adresse du contrat>/transfert?adresse=<adresse du destinataire> ».
Cela signifie que si les développeurs ne font pas attention à leur implémentation, un algorithme peut décider de simplement prendre le premier paramètre comme adresse pertinente à laquelle envoyer et d'ignorer tous les autres, selon Be'ery.
« Lorsque cet algorithme « naïf » est appliqué au nouveau format, il amènera l'utilisateur du portefeuille à envoyer par erreur des fonds au contrat ERC-20 lui-même et non au destinataire prévu, ce qui entraînera une perte d'argent », a déclaré Be'ery.
Be'ery a tweeté un exemple de l'application Coinbase, la première adresse étant l'adresse du contrat plutôt que l'adresse du portefeuille.
La documentation de la norme EIP-681 <a href="https://eips.ethereum.org/EIPS/eip-681%23backwards-compatibility">Ethereum</a> reconnaît ce problème, indiquant essentiellement qu'elle est rétrocompatible pour les ETH mais pas pour les paiements ERC-20.
Sur le même sujet : Nous avons déniché des arnaques aux Crypto sur les App Stores de Google et d'Apple. Voici ce que nous avons découvert.
« Un niveau terrible »
Coinbase n'a pas fourni le commentaire demandé au moment de la mise sous presse, mais Pete Kim, responsable de l'ingénierie du portefeuille Coinbase, a répondu au tweet de Be'ery.
Technically, Coinbase Wallet is doing the right thing here (using the EIP-681 standard), and ZenGo is not supporting it correctly. However, I do agree that EIP-681 is a terrible standard because it's not backwards compatible. https://t.co/XmwFxTeWjg
— Pete Kim (@petejkim) March 23, 2021
Be'ery a déclaré que même si Coinbase n'a pas « tort » parce qu'il suit une certaine norme, l'équipe de ZenGo estime qu'il s'agit d'un cas classique de « Il vaut mieux être intelligent que d'avoir raison ».
« Lors de la mise en œuvre d'une fonctionnalité inter-portefeuilles telle que des codes QR qui peuvent être créés par un portefeuille et consommés par un autre, il est préférable d'utiliser une attitude de « plus petit dénominateur commun » », a déclaré Be'ery.
Concrètement, ZenGo crée des codes QR qui encodent l'adresse dans un format brut (Trust Wallet le fait aussi), qui ne précise que l'adresse et rien d'autre. C'est simple et laisse donc moins de place aux erreurs et aux incompatibilités.
Kim plus tards'est corrigé, notant que la nouvelle norme était utilisée sur l'application de vente au détail de Coinbase, ou leur application d'échange, plutôt que sur Coinbase Wallet, qui est une application de portefeuille non dépositaire.
Kim a poursuivi en disant qu'il s'agissait d'un bug dans ZenGo pour ne pas prendre en charge la norme EIP-681, notant que d'autres portefeuilles comme Trust, Exodus,Crypto.comet Metamask prennent tous en charge correctement EIP-681.
Choisir la bonne adresse
En attendant, Be’ery a indiqué qu’en règle générale, les utilisateurs qui doivent utiliser des codes QR doivent vérifier les détails de la transaction avant de la confirmer définitivement. Par exemple, rechercher une adresse surEtherscanvous dira si l'adresse est une adresse de contrat ou une adresse de portefeuille. Malheureusement, vérifier les normes prises en charge par votre portefeuille préféré est assez difficile.
Tout cela peut paraître ardu pour les nouveaux venus dans le secteur qui ne connaissent pas les contours des Crypto, et c'est peut-être le cas. Cependant, cela peut leur faire économiser BIT d'argent et leur éviter bien des soucis à long terme.
« C'est pourquoi chez ZenGo, nous augmentons nos codes QR avec des indicateurs visuels sur le type de pièce/jeton et également l'adresse elle-même pour une comparaison et une vérification faciles », a déclaré Be'ery.
Le plus important avec la lecture des codes QR est de ne pas se laisser tromper par les différents formats et normes. Il est préférable d'éviter tout échec en cas de format non pris en charge (comme c'est notre cas) et de ne pas tenter de deviner et de compromettre les fonds de nos clients. Nous pourrions décider à l'avenir de prendre également en charge ce format, et nous choisirons alors la bonne adresse, afin d'éviter toute perte de fonds.
Correction : jeudi 3 mars 2021, 16h00 UTC :La version originale de cet article indiquait que le problème provenait du portefeuille Coinbase. Il a été modifié pour indiquer que le problème se situe au niveau des adresses de portefeuille de l'application Coinbase.com.
Des commentaires supplémentaires de Pete Kim de Coinbase Wallet ont été ajoutés.
Benjamin Powers
Powers est journaliste spécialisé dans les technologies chez Grid. Auparavant, il était journaliste Politique de confidentialité chez CoinDesk , où il se concentrait sur la Politique de confidentialité des données et des finances, la sécurité de l'information et l'identité numérique. Ses travaux ont été publiés dans le Wall Street Journal, le Daily Beast, Rolling Stone et le New Republic, entre autres. Il possède des Bitcoin.
