Overview

Il lancio di "BRC-20" sulla blockchain di Bitcoin ha generato un notevole entusiasmo tra gli utenti. BRC-20 è un protocollo token ispirato, almeno per il nome, a ERC-20 di Ethereum, che consente agli individui di creare i propri token. Questo standard, introdotto a Marzo, utilizza la controversa tecnica di iscrizione degli ordinali sviluppata solo a Gennaio. Precedentemente limitata ai soli bitcoin, la blockchain ora ospita varie monete come $ORDI, $PEPE e $MEME.

Tuttavia, l'introduzione di questi nuovi token non è stata del tutto priva di problemi. Mentre gli sviluppatori correvano per rilasciare wallet compatibili con questi nuovi token, il wallet UniSat ha affermato di essere il primo a supportarli. Sfortunatamente, poco dopo il suo lancio, gli sviluppatori hanno scoperto una vulnerabilità nell'estensione di Chrome, rendendola inaccessibile. Successivamente hanno rivelato che questa vulnerabilità ha esposto il portafoglio ad attacchi di tipo double spending (doppia spesa).

L'attacco è stato notato dal team del progetto, che ha poi segnalato il problema anche su Twitter.


UniSat Marketplace colpito da un attacco double spending

Il marketplace UniSat recentemente lanciato è stato colpito di una serie di attacchi. Questi attacchi hanno sfruttato una vulnerabilità all'interno del codice della piattaforma, consentendo agli attori malintenzionati di spendere più volte gli stessi token. È preoccupante che tali attacchi si siano verificati poco dopo l'introduzione del mercato.

Sulla base di una prima analisi condotta dal team dell'estensione, sono state interessate circa 70 transazioni su un totale di 383.


Attacco double spending

La doppia spesa si riferisce a un tipo di manipolazione in cui l'autore spende più volte la stessa criptovaluta. Il superamento di questa vulnerabilità è alla base stessa del concetto di criptovaluta, senza la resistenza al double spending non avremmo proprio nulla in mano.

Cominciamo dalle basi. C’è qualcosa di “debole” nel protocollo BR20

Il protocollo/standard BRC20 è solo indirettamente collegato a Bitcoin. Mentre gli ERC20 seguono il meccanismo di consenso di Ethereum, nel caso del BRC20 non funziona allo stesso modo. Il protocollo Bitcoin non è consapevole di ciò che accade nello standard BRC20 e interpreta il trasferimento come una transazione normale.

In altre parole i miner non guardano dentro le transazioni BRC20, per loro sono solo “rumore” dentro un blocco Bitcoin valido.

In teoria, la transazione potrebbe essere accettata sulla blockchain di Bitcoin ma respinta sullo standard BRC20, magari perché non rispetta gli standard BRC20. Ad esempio, se qualcuno cerca di inviare 130 token ma ne possiede solo 110, Bitcoin considererà la transazione come valida, ma secondo lo standard BRC20 sarà considerata non valida poiché non è possibile inviare 130 token se se ne possiedono solo 110.

Il problema grosso come una casa è che mentre le regole di spesa dei bitcoin sono forti e inattaccabili perché basate su una enorme potenza di calcolo della proof of work nel caso di BRC20 chi controlla che le regole di trasferimento del token siano rispettate? In teoria gli stessi wallet che spediscono e ricevono i token, ma senza il contributo dei miner questi controlli rischiano di risultare abbastanza effimeri.

Come si orchestra un attacco double spending?

Ecco un esempio semplificato per illustrare un attacco a doppia spesa:

  • L'aggressore avvia una transazione per l'acquisto di un prodotto o servizio su un mercato online utilizzando una certa quantità di criptovaluta.

  • Contemporaneamente, l'attaccante crea un'altra transazione utilizzando gli stessi fondi per inviarli a un altro indirizzo di portafoglio sotto il suo controllo.

  • L'aggressore tenta di trasmettere rapidamente entrambe le transazioni alla rete, sperando che almeno una di esse venga confermata prima che la rete riconosca la doppia spesa.

In caso di successo, l'attaccante avrà effettivamente speso due volte la stessa criptovaluta, approfittando del ritardo nella conferma della transazione e sfruttando eventuali vulnerabilità nel meccanismo di consenso del sistema.

Lo sviluppatore di BRC20 aveva avvisato: non è sicuro!!

Domo è lo pseudonimo dello sviluppatore dello standard BRC20. Questo sconosciuto aveva avvisato del fatto che andasse trattato con cautela, nel sito “ufficiale” si legge:

It by no means should be considered THE standard for fungibility on bitcoin with ordinals, as I believe there are almost certainly better design choices and optimization improvements to be made. Consequently, this is an extremely dynamic experiment, and I strongly discourage any financial decisions to be made on the basis of it's design.

UniSat raccoglie i cocci

In risposta alla vulnerabilità, gli sviluppatori di UniSat Marketplace hanno agito rapidamente disabilitando prontamente il portafoglio e riconoscendo pubblicamente il problema tramite Twitter. Hanno assicurato agli utenti che stavano lavorando attivamente per risolvere il problema e hanno sottolineato il loro impegno a dare priorità alla sicurezza dei fondi degli utenti.


Conclusione:

Il Marketplace UniSat ha corso troppo nell’affidarsi ad uno standard non sufficientemente testato e che manca a mio avviso proprio delle basi per diventare affidabile. Ma su questo potrei anche sbagliarmi ed in futuro la definizione di standard token non “regolati” dal protocollo di consenso della rete in Layer 1 potrebbe anche trovare un livello di sicurezza accettabile. Onestamente sono dubbioso, ma mai dire mai. Questo incidente sottolinea l'importanza di eseguire test e audit completi del codice prima di rilasciarlo al pubblico. Sarebbe interessante fare un confronto non solo tra BRC20 ed ERC20, ma anche con gli altri standard token della blockchain Bitcoin quali RGB.

Vale la pena ricordare che la nostra community, SCT ITALIA, ha come obiettivo quello di aumentare la competenza e consapevolezza intorno alle problematiche di sicurezza legate alla blockchain che ahime, hanno fornito tanti esempi di come non ci si dovrebbe buttare a capofitto per usare l’ultima trovata ed essere a tutti i costi i first-mover. Per ora è consigliabile che gli utenti prestino attenzione quando utilizzano UniSat Marketplace fino a quando la questione non sarà completamente chiarita.