Condividi questo articolo

Coinbase e ZenGo si scontrano sugli standard dei codici QR che potrebbero bloccare i token ERC-20

Gli utenti che devono utilizzare i codici QR dovrebbero verificare i dettagli della transazione prima di confermarla definitivamente, per risparmiare denaro e grattacapi.

Piccoli problemi, aggravati dalla mancanza di coordinamento degli sviluppatori, possono avere un impatto enorme sulla sicurezza delle monete degli utenti Cripto .

La storia continua sotto
Non perderti un'altra storia.Iscriviti alla Newsletter The Protocol oggi. Vedi Tutte le Newsletter

Un esempio concreto:

Mercoledì, il capo della sicurezza diZenGo, un fornitore di portafogli Criptovaluta , twittatoricerche che dimostrano che i problemi con i codici QR generati dall'app di Coinbase.com hanno portato alcuni utenti a inviare fondi all'indirizzo del contratto anziché all'indirizzo del portafoglio previsto all'interno dell'app. Questo errore blocca di fatto i fondi, senza possibilità di annullare la transazione.

Il problema del codice QR identificato da ZenGo si basa su un problema di retrocompatibilità traERC-67(il formato URL QR originale standard) e il più recenteEIP-681standard. Coinbase utilizza EIP-681, creando problemi di compatibilità tra questo e altri wallet che utilizzano lo standard precedente.

"I codici QR sono un formato molto problematico per il dominio Criptovaluta ", ha affermato Tal Be'ery, co-fondatore e ricercatore di sicurezza presso ZenGo. "Dato che i codici QR non sono leggibili dagli esseri umani, è difficile per gli utenti rilevare gli errori, introdotti da malizia o per errore. A causa dell'irreversibilità della Criptovaluta, gli errori sono solitamente fatali."

Detto questo, i codici QR possono essere complessivamente più affidabili e meno soggetti a errori rispetto a un Human che copia e incolla l'indirizzo di un portafoglio.

Questo problema ha interessato alcuniutenti negli ultimi otto mesie, secondo Be'ery, è probabile che esista da più tempo. Erasegnalato pubblicamenteanche a dicembre 2020.

Gli standard dei codici QR EIP ed ERC

ZenGo ha scoperto il problema come parte del suo processo di garanzia della qualità. Be'ery ha detto che il team stava testando il modulo di decodifica QR di ZenGo alimentandolo con codici QR, generati da una varietà di wallet, e ha notato che l'app ZenGo non gestisce i QR dell'app Coinbase per i token ERC-20, come Tether o DAI.

I token ERC-20 possono essere usati in genere per rappresentare oggetti, dare diritti di voto, pagare commissioni di transazione, fare crowdfunding e incorporare nuove funzionalità in un token. ERC-20 è attualmente lo standard di token ERC più popolare su Ethereum.

Continua a leggere: Che cos'è lo standard ERC-20 per i token Ethereum ?

Una volta decodificati i codici QR secondo il vecchio standard URL dei codici QR utilizzato da ZenGo, l'URL appare nel campo indirizzo sotto il codice QR come, essenzialmente, "Ethereum:<indirizzo>" seguito da alcuni parametri facoltativi.

Nel formato più recente, supportato dall'app di Coinbase, l'URL decodificato appare sotto il codice QR come "ERC-20 Ethereum:<indirizzo contratto>/transfer?address=<indirizzo destinatario>".

Ciò significa che se gli sviluppatori non prestano attenzione all'implementazione, un algoritmo potrebbe decidere di prendere solo il primo parametro come indirizzo rilevante a cui inviare e ignorare tutti gli altri, secondo Be'ery.

"Quando questo algoritmo 'ingenuo' viene applicato al formato più recente, ciò farà sì che l'utente del portafoglio invii erroneamente fondi al contratto ERC-20 stesso e non al destinatario previsto, con conseguente perdita di denaro", ha affermato Be'ery.

Be'ery ha twittato un esempio tratto dall'app di Coinbase, in cui il primo indirizzo è l'indirizzo del contratto anziché l'indirizzo del portafoglio.

La documentazione dello standard EIP-681 <a href="https://eips.ethereum.org/EIPS/eip-681%23backwards-compatibility">Ethereum</a> riconosce questo problema, affermando sostanzialmente che è retrocompatibile con i pagamenti ETH ma non con quelli ERC-20.

Continua a leggere: Siamo andati a caccia di truffe Cripto negli App Store di Google e Apple. Ecco cosa abbiamo trovato

"Uno standard terribile"

Coinbase non ha fornito il commento richiesto al momento della stampa, ma Pete Kim, responsabile dell'ingegneria del portafoglio Coinbase, ha risposto al tweet di Be'ery.

Be'ery ha affermato che sebbene Coinbase non sia "sbagliata" perché segue uno standard, il team di ZenGo ritiene che si tratti di un classico caso di "È meglio essere intelligenti che avere ragione".

"Quando si implementa una funzionalità cross-wallet come i codici QR che possono essere creati da ONE portafoglio e utilizzati da un altro, è meglio utilizzare un atteggiamento di 'minimo comune denominatore'", ha affermato Be'ery.

"In particolare, ZenGo crea codici QR che codificano l'indirizzo in un formato raw (lo fa anche Trust Wallet) che specifica solo l'indirizzo e nient'altro. È basilare e quindi lascia meno spazio a errori e incompatibilità."

Kim doposi è corretto, sottolineando che il nuovo standard veniva utilizzato nell'app di vendita al dettaglio di Coinbase, ovvero nella loro app di scambio, anziché in Coinbase Wallet, che è un'app di portafoglio non detentiva.

Kim ha continuato dicendo che si trattava di un bug in ZenGo perché non supportava lo standard EIP-681, notando che altri portafogli come Trust, Exodus,Cripto.come Metamask supportano tutti correttamente EIP-681.

Scegliere l'indirizzo giusto

Nel frattempo, come regola generale, Be'ery ha affermato che gli utenti che devono usare i codici QR dovrebbero verificare i dettagli della transazione prima di confermare definitivamente la transazione. Ad esempio, cercare un indirizzo suEteri scansionatiti dirà se l'indirizzo è un indirizzo di contratto o un indirizzo di portafoglio. Sfortunatamente, verificare quali standard supporta il tuo portafoglio preferito è piuttosto difficile.

Tutto questo può sembrare arduo per i nuovi arrivati ​​nello spazio che non hanno familiarità con i contorni delle Cripto, e può esserlo. Tuttavia, è qualcosa che potrebbe far risparmiare loro un bel BIT' di soldi e grattacapi a lungo termine.

"Ecco perché in ZenGo arricchiamo i nostri codici QR con alcuni indicatori visivi sul tipo di moneta/gettone e anche sull'indirizzo stesso per un facile confronto e verifica", ha affermato Be'ery.

"La cosa più importante con la lettura dei codici QR è non confondersi con i diversi formati e standard, ed è meglio fallire in caso di un formato non supportato (come facciamo noi) e non provare a "indovinare" e mettere a rischio i fondi dei nostri clienti. Potremmo decidere in futuro di supportare anche questo formato, e poi sceglieremo l'indirizzo "giusto", così nessun fondo [andrà perso]."

Correzione: giovedì 3 marzo 2021, 16:00 UTC:La versione originale di questo articolo affermava che il problema riguardava il Coinbase Wallet. È stato modificato per affermare che il problema riguarda gli indirizzi wallet all'interno dell'app Coinbase.com.

Sono stati aggiunti ulteriori commenti di Pete Kim di Coinbase Wallet.

Benjamin Powers

Powers è un reporter tecnologico presso Grid. In precedenza, è stato reporter Privacy presso CoinDesk , dove si è concentrato su dati e Privacy finanziaria, sicurezza delle informazioni e identità digitale. Il suo lavoro è stato presentato sul Wall Street Journal, Daily Beast, Rolling Stone e New Republic, tra gli altri. Possiede Bitcoin.

Benjamin Powers