Ormai è del tutto chiaro che il mondo crypto è, in generale, un ecosistema multichain nel quale è possibile contare più di un centinaio di diverse blockchain pubbliche attive. La crescita non sembra rallentare a breve (recente è l’annuncio del lancio della nuova blockchain Aptos) ed è probabile che ancora più blockchain nasceranno nei prossimi anni con il lancio di blockchain rollup di livello 2. Per molti versi il mondo delle blockchain sta rapidamente iniziando ad assomigliare al mondo fisico, caratterizzato da diverse nazioni ciascuna con la propria economia e governata dalle proprie regole. Tuttavia, gli ecosistemi blockchain rimangono divisi: sono come nazioni isolazioniste, con sistemi di trasporto e accordi commerciali internazionali limitati.
Ad oggi non esiste ancora un protocollo scalabile, decentralizzato e ampiamente integrato in grado di spostare il valore e i dati tra diverse blockchain senza fare affidamento su terze parti “trusted”. Gli utenti, infatti, si affidano principalmente a intermediari centralizzati come sistemi di exchange e custodi per spostare il valore tra blockchain, esponendoli a rischi di custodia (custodial risks) o di sequestro e censura. Allo stesso tempo, una parte della comunità è diventata profondamente consapevole di questa peculiarità tanto da trasformarla in opportunità visto come negli ultimi due anni si è assistito ad un’esplosione di blockchain bridge il cui scopo è quello di unificare (e interconnettere) il dinamico panorama crypto sempre più eterogeneo e frammentato.
Mercato immobiliare, così il PNRR lo spinge alla ripresa: digitale e green
Cross-chain, multichain e bridge, come funzionano
La cross-chain è una tecnologia che migliora la connessione tra blockchain consentendo lo scambio continuo di informazioni tra blockchain. Questo elimina la natura isolata delle blockchain, creando una rete di blockchain connesse. Gli obiettivi primari di questa tecnologia sono promuovere l’interoperabilità tra reti blockchain, scambiare crypto-valute o token e fornire resistenza alla censura. I bridge cross-chain vengono creati per le transazioni cross-chain.
La multichain è una tecnologia che richiede l’esistenza di progetti su almeno due blockchain contemporaneamente. Ciò facilita la comunicazione tra più blockchain. Gli ecosistemi multichain (a volte indicati come catene Layer-0), come Cosmos e Polkadot, sono progettati per mitigare i problemi di sicurezza dei bridge cross-chain.
Le caratteristiche dei bridge
Ad alto livello, si può definire un bridge come un sistema che trasferisce informazioni tra due o più blockchain. In questo contesto, il termine “informazioni” potrebbe riferirsi ad asset, smart contract, prove di transazioni o stato di un’informazione. Esemplificando, se si posseggono dei bitcoin e si vuole spenderli come ether (su Ethereum), è possibile farlo attraverso un bridge. La maggior parte dei bridge sono caratterizzati dalle seguenti componenti:
- Monitoraggio: di solito si tratta di un attore (“oracolo”, “validatore” o “relayer”) che monitora lo stato sulla chain di origine.
- Relaying/trasmissione dei messaggi: a seguito della rivelazione di un evento (di deposito ad esempio), è necessario comunicare tali informazioni dalla chain di origine alla chain di destinazione.
- Consenso: in alcuni protocolli è richiesto il consenso tra gli attori che monitorano la chain di origine per trasmettere tali informazioni alla chain di destinazione.
- Firma: gli attori devono firmare crittograficamente, individualmente o come parte di uno schema di firma, le informazioni inviate alla chain di destinazione.
Una prima categorizzazione comune consiste nel dividere i cross-chain bridge in due tipi: centralizzati (custodial o trusted) e i decentralizzati (non custodial o trustless).
I custodial bridge richiedono agli utenti di fare affidamento ad un’entità centrale per il corretto (e sicuro) funzionamento del sistema. Agli utenti è demandato il compito e la responsabilità di valutare l’affidabilità dell’entità a cui ci si rivolge.
I non custodial bridge operano in modo decentralizzato, basandosi su smart contract per gestire il blocco e il minting delle criptovalute, eliminando così la necessità di fidarsi di un’entità centralizzata. In questo caso, la sicurezza del sistema è strettamente correlata alla qualità del codice degli smart contract che gestiscono l’infrastruttura.
Un’altra caratterizzazione dei bridge può essere fatta in funzione della granularità del campo di applicazione, dove è possibile individuare essenzialmente quattro tipologie, ognuna con propri vantaggi e svantaggi:
- Specifici di un asset: ha l’unico scopo di fornire l’accesso ad un asset specifico da una chain esterna. Gli asset sono spesso asset chiamati “wrapped”[1], ovvero relazionato al valore di un altro asset. Bitcoin è l’asset più comune collegato ad altre blockchain, con sette diversi bridge solo verso Ethereum. Questi bridge sono i più semplici da implementare e godono di una grande liquidità, ma hanno funzionalità limitate e devono essere re-implementati su ciascuna chain di destinazione. Gli esempi includono wBTC o BTCB.
- Specifici di una blockchain: solitamente supporta semplici operazioni di blocco e sblocco dei token sulla chain di origine e la creazione di qualsiasi asset wrapped sulla chain di destinazione. Questi bridge di solito godono di un time-to-market più rapido a causa della loro complessità limitata, ma non sono altrettanto facilmente scalabili per un ecosistema più ampio. Un esempio è il bridge PoS di Polygon, che consente agli utenti di trasferire risorse da Ethereum a Polygon e viceversa, ma è limitato a queste due catene.
- Specifici di un’applicazione: un’applicazione che fornisce l’accesso a due o più blockchain, ma esclusivamente per l’uso all’interno di tale applicazione. L’applicazione stessa beneficia di un codice più snello e invece di avere istanze separate dell’intera applicazione su ciascuna delle blockchain, di solito ha degli “adattatori” modulari più leggeri su ciascuna delle blockchain supportate. Una blockchain che implementa un adattatore ottiene l’accesso a tutti gli altri a cui è connessa, quindi esiste un effetto di rete. Lo svantaggio è che è difficile estendere tale funzionalità ad altre applicazioni (ad esempio dal prestito allo scambio di crypto-asset). Gli esempi includono Compound Chain e Thorchain, che stanno costruendo blockchain separate specificamente per il prestito e lo scambio cross-chain.
- Generalisti: un protocollo specificamente progettato per il trasferimento di informazioni su più blockchain. La progettazione di queste tipologie di bridge gode di un forte effetto di rete a causa della complessità costante O(1): una singola integrazione per un progetto dà accesso all’intero ecosistema mediante il bridge. Lo svantaggio è che alcuni progetti di solito scambiano sicurezza e decentralizzazione per ottenere questo effetto di scalabilità, che potrebbe avere conseguenze indesiderate per l’intero ecosistema.
Criticità dei bridge – Centralizzazione e sicurezza: un caso pratico
Si immagini di avere dei Bitcoin (BTC) e di volerli utilizzare su un’applicazione DeFi (Decentralized Finance) su Ethereum, e si voglia utilizzare un bridge per trasferire i BTC dalla rete Bitcoin alla rete Ethereum. Il bridge prenderà i BTC e creerà dei token wrapped equivalenti (WBTC, BTCB, renBTC, sBTC, iBTC ad esempio) su ETH per l’utilizzo finale. Nessuno dei BTC originari lascia effettivamente la rete Bitcoin, piuttosto la quantità di BTC che si intende utilizzare sulla rete Ethereum è bloccata in uno smart contract che conia dei nuovi (wrapped) BTC in una forma compatibile con la rete Ethereum, di solito come token ERC-20. Questi (wrapped) BTC appena coniati potranno essere utilizzati per operare sull’applicazione DeFi su rete Ethereum. Quando si vuole riconvertire in BTC sulla rete Bitcoin, la quantità rimanente di wrapped BTC viene “bruciata” e un importo uguale di BTC ritorna al portafoglio originario della rete Bitcoin.
Perché è vantaggioso usare i bridge
L’uso del bridge è di indubbio vantaggio in quanto sarebbe più macchinoso (e costoso) realizzare quanto appena illustrato senza l’ausilio di un intermediario (centralizzato o decentralizzato); ciò comporterebbe la necessità di convertire i BTC in ETH su un crypto-exchange, ritirarli dal portafoglio e successivamente depositarlo su un altro crypto-exchange. Alla fine di tutti questi passaggi, si saranno sostenute più commissioni di quanto probabilmente pianificato inizialmente.
Il problema della centralizzazione esiste perché gli utenti devono rinunciare al controllo del proprio (crypto) denaro che desiderano convertire a favore del bridge con cui stanno interagendo. Come detto, i bridge possono essere di tipo custodial (centralizzati o affidabili) o non-custodial (decentralizzati o senza fiducia), la differenza risiede in chi detiene le monete o i token utilizzati per creare nuovi token nella blockchain di destinazione. Difatti, il deposito di asset sui bridge centralizzati e quindi detenuti da un’entità centrale, determina un “single point of failure” che pone in potenziale pericolo le criptovalute degli investitori e lede i princìpi fondanti il web 3.0 sui quali si basa il funzionamento delle blockchain e dei protocolli DeFi.
Al contrario, gli utenti di bridge decentralizzati non devono fare affidamento su un custode centrale quando eseguono scambi di asset cross-chain. Queste risorse sono invece detenute da uno smart contract o da un protocollo decentralizzato, senza mai essere sotto il controllo di una parte centrale. Indubbiamente, i bridge decentralizzati sono più resistenti alla censura poiché nessuna componente può controllare o congelare asset (i cosiddetti custodial risk). Al contrario, i bridge centralizzati hanno la capacità di trattenere asset detenuti da un’entità centrale, come ad esempio in seguito a disposizione giudiziaria di congelamento di fondi crypto. In sintesi, mentre entrambi i tipi di bridge sono dotati di profili di rischio propri (si veda ad esempio l’attacco portato al bridge Wormhole nel febbraio 2022), i bridge decentralizzati sono considerati più sicuri e più resistenti alla censura.
Minacce ai bridge, come essere preparati
A fronte dei numerosi benefici introdotti dai bridge, tra tutti la capacità di migliorare l’interoperabilità e la scalabilità dell’intero ecosistema crypto, essi comunque presentano alcune limitazioni o comunque criticità. Gli aggressori molto spesso sfruttano le vulnerabilità degli smart contract che compongono i bridge sottraendo indebitamente ingenti quantità di criptovalute. Di seguito si riportano, raggruppate per tipologia, le principali tecniche con i quali queste componenti sono attaccate:
- Eventi “fake”: solitamente il deposito su una blockchain è l’evento che innesca il bridge al trasferimento dei fondi sull’altra blockchain. Questo comportamento può essere sfruttato dagli attaccanti mediante la generazione di un falso evento di deposito senza un reale trasferimento di moneta virtuale oppure attraverso il deposito di token senza valore, in modo tale da poter ritirare l’equivalente valore nell’altra estremità del bridge;
- Bug di validazione: i bridge effettuano la validazione delle operazioni di versamento o di prelievo di moneta virtuale prima di effettuare effettivamente qualsiasi trasferimento. Si sono registrati diversi casi in cui la mancanza di un’adeguata validazione della firma ha portato ad hack da milioni di dollari (come nel recente caso dell’attacco subito da Binance Smart Chain al quale sono stati sottratti token per un totale di 576 milioni di dollari).
- Controllo degli accessi effettuato non sufficienti: mancanza di adeguati controlli di validazione su funzioni critiche degli smart contract che realizzano le azioni di modifica del proprietario, trasferimento di fondi e token o di pausa del contratto ad esempio.
- Controllo dei validatori: alcuni bridge utilizzano un insieme di validatori il cui scopo è quello di approvare o meno una transazione, mediante votazione/consenso. Se l’attaccante prende il controllo della maggioranza di tali componenti è possibile approvare trasferimenti di fondi non autorizzati (è il caso dell’attacco alla rete Ronin, dove gli attaccanti hanno preso il controllo di cinque dei nove validatori componenti il bridge, riuscendo a sottrarre 625 milioni di dollari)
- Sicurezza delle credenziali di amministrazione: il furto della chiave dell’admin dello smart contract pone l’intero bridge e i fondi da esso detenuti in grave rischio. Un esempio è stato l’attacco subìto da Harmony, mediante il furto di due chiavi private, con circa 100 milioni di dollari in diverse criptovalute rubate.
Attacchi a blockchain, casi studio
Attualmente esistono più di un centinaio di diverse blockchain utilizzate per gli scopi più disparati e oltre decine di progetti concentrati sulla capacità cross-chain dei bridge, ognuno dei quali con le proprie caratteristiche, grado di maturità, scalabilità e livelli di sicurezza offerti; non sorprende, quindi, nemmeno il numero di attacchi che sono stati perpetrati ai danni di bridge negli ultimi due anni – a causa anche del fatto che in essi si concentra una grande quantità di fondi dovuto all’interscambio tra i diversi ecosistemi – e di cui si riporta solo una breve sintesi degli ultimi maggiori in termini di fondi sottratti, solo nel 2022:
- BSC (Ottobre 2022): Il 7 ottobre 2022, un exploit ha colpito il bridge cross-chain nativo chiamato “BSC Token Hub”; la vulnerabilità sfruttata era un bug nel verificatore del bridge. Sono stati bruciati un totale di 2 milioni di BNB (Binance Coin) e Binance è stata costretta a sospendere temporaneamente la BSC Network per prevenire ulteriori danni. I fondi sottratti da BSC sono stimati essere tra 100 milioni e 110 milioni di dollari;
- Nomad (Agosto 2022): ad Agosto, degli hacker hanno attaccato il bridge Nomad, sfruttando una vulnerabilità dello smart contract incaricato della validazione degli input delle transazioni, rubando circa 200 milioni di dollari;
- Harmony (Giugno 2022): l’Horizon Bridge di Harmony è stato attaccato attraverso il furto di due chiavi private, portando al furto di circa 100 milioni di dollari in diverse criptovalute.
- Ronin (Marzo 2022): l’ormai famoso attacco ha preso di mira la rete Ronin (sidechain basata su Ethereum) nota per il crypto-game Axie Infinity. Gli aggressori hanno rubato criptovalute per un valore totale di circa 624 milioni di dollari. L’attaccante avrebbe utilizzato chiavi private hackerate per forgiare false richieste di prelievi dallo smart contract Ronin in due diverse transazioni.
- Wormhole (Febbraio 2022): Il 2 febbraio 2022, il bridge Wormhole è stato violato per un valore di 320 milioni di dollari. Gli attaccanti hanno sfruttato una vulnerabilità dello smart contract coniando nuovi token.
Sicurezza cross-chain bridge, i consigli pratici per difendersi
La grande mole di attacchi registrati così di frequente e in un lasso di tempo così ravvicinato evidenzia l’enorme criticità in tema di sicurezza che affligge i cross-chain bridge. Nel mondo crypto, qualsiasi applicazione risieda su blockchain, è permanente ed accessibile a chiunque: un qualsiasi bug o vulnerabilità presente nel bridge sarà quasi certamente oggetto di azioni malevole da chi è attratto da un considerevole ammontare di cryptovaluta.
Quello che si auspica nell’immediato per i cross-chain bridge è il raggiungimento di un accettabile livello di sicurezza che, allo scopo di ridurre al minimo il rischio derivanti da attacchi, passi attraverso una maggiore maturità della tecnologia e l’attuazione di una serie di misure da utilizzare durante tutto il ciclo di vita di queste componenti, tra le quali:
- Audit di sicurezza: l’esecuzione di audit di sicurezza degli smart contract può ridurre al minimo il rischio di essere sfruttati. Tali attività, condotti sia con ausilio di tool automatici che con test manuali, consentono di individuare le vulnerabilità presenti nel sistema eseguendo vari casi di test.
- Programmi di “bug bounty”: i progetti possono ospitare il proprio programma bug bounty o integrarsi con piattaforme Bug Bounty come Immunefi, Hackerone o HackenProof, aggiungendo in tal modo un ulteriore livello di sicurezza per i progetti.
- Assicurazioni: un fondo assicurativo aiuterebbe notevolmente ad alleviare i danni in caso di exploit e potrebbe tranquillizzare gli utenti con una copertura finanziaria dei loro investimenti.
Volgendo lo sguardo al futuro, proprio come la componibilità di Ethereum ha consentito agli sviluppatori di impacchettare protocolli insieme e creare nuove applicazioni dinamiche, probabilmente vedremo applicazioni cross-chain simili che emergeranno una volta che l’infrastruttura dei bridge sarà pronta, matura e in grado di sbloccare criptovalute collaterali. È probabile che anche l’interoperabilità tra blockchain si standardizzi attorno a un piccolo numero di protocolli affidabili e ampiamente integrati. L’immaturità delle soluzioni odierne crea un notevole attrito tra utenti e sviluppatori, ma un bridge che sia credibilmente decentralizzato, ampiamente testato dal mercato e ben integrato tra le blockchain Layer 1 potrebbe emergere come la scelta preferita per favorire la liquidità cross-chain semplicemente grazie alla sua prevedibilità e affidabilità. La sfida è, dunque, la comunicazione sicura tra blockchain senza la presenza di una terza parte fidata. La comunicazione cross-chain richiede intrinsecamente compromessi sulla sicurezza, fiducia o flessibilità non necessari nelle interazioni che avvengono all’interno di una singola blockchain. Ciò significa anche che la componibilità tra smart contract di blockchain diverse potrà essere raggiunta solo ricorrendo a trade-off in termini di sicurezza, fiducia o flessibilità di configurazione, non necessari per la componibilità tra smart contract intra-chain.
Cosa dice il fondatore di Ethereum
Proprio sul futuro dei cross-chain bridge è intervenuto esplicitamente Vitalik Buterin, fondatore di Ethereum, spiegando perché il futuro dell’interoperabilità tra blockchain potrebbe non essere cross-chain ma piuttosto multi-chain, riferendosi proprio ai cross-chain bridge e ai loro noti e intrinsechi problemi di sicurezza.
Vitalik sostanzialmente afferma che i cross-chain bridge non rappresentano una soluzione ottimale al problema della comunicazione tra diverse chain in quanto il loro utilizzo aumenta i rischi per la sicurezza nel processo di spostamento di crypto-valute e token tra di esse. In particolare, evidenzia il potenziale rischio che un attacco del 51% può avere su asset non nativi e l’effetto sulla blockchain di cui è nativo l’asset. Vitalik chiarisce come lo stato di una singola blockchain potrebbe anche essere ripristinato in seguito ad un attacco del 51% ma che, viceversa, nel caso di asset condivisi tra due chain si assiste ad un inevitabile aumento dei rischi in quanto un tale attacco portato ad una delle due chain in uno specifico momento potrebbe innescare un effetto a catena non rimediabile.
_
Note
- Un wrapped token (o token wrappato) è un token crypto ancorato al valore di un altro asset. Si chiama wrapped token perché l’asset originale viene messo in un wrapper, ovvero una sorta di cassaforte digitale, che consente di crearne una versione wrapped su un’altra blockchain. ↑