Oracoli: come le blockchain scoprono cosa succede all'esterno

·4 min di lettura·Di SSP Editorial Team
Copertina SSP Academy: gli oracoli blockchain spiegati

Oracoli: come le blockchain scoprono cosa succede all'esterno

Uno smart contract può verificare alla perfezione saldi, firme e il proprio stato. Quello che non può fare è cercare informazioni. Non ha idea di quanto costi ETH in dollari, di chi abbia vinto una partita o se ieri abbia piovuto a Madrid. Le blockchain sono sigillate di proposito: ogni nodo deve arrivare allo stesso risultato partendo dagli stessi dati, e il mondo esterno non offre questa garanzia.

Eppure i protocolli di prestito hanno bisogno di prezzi, le stablecoin di tassi di cambio e i contratti assicurativi di eventi del mondo reale. Il ponte tra la catena sigillata e il mondo esterno si chiama oracolo, ed è una delle parti più attaccate della finanza decentralizzata.

Cosa fa un oracolo

Un oracolo è qualsiasi meccanismo che porta dati esterni sulla catena, dove i contratti possono leggerli. In genere:

  1. Uno o più fornitori di dati raccolgono informazioni, ad esempio il prezzo ETH/USD da molti exchange.
  2. Le firmano e le inviano a un contratto oracolo sulla catena, a intervalli regolari o quando il valore cambia abbastanza.
  3. Altri contratti leggono l'ultimo valore da quel contratto oracolo e agiscono di conseguenza.

Il contratto si fida completamente dell'oracolo. Se l'oracolo dice che ETH vale 10 $, un protocollo di prestito che lo legge tratterà ETH come se valesse 10 $, e liquiderà o presterà di conseguenza.

Il problema dell'oracolo

Questa è la difficoltà centrale: un protocollo può essere scritto alla perfezione ed essere comunque affidabile solo quanto i suoi dati. Decentralizzare il contratto serve a poco se un'unica fonte gli fornisce i prezzi.

I progetti di oracoli cercano di ridurre questa dipendenza in modi diversi:

  • Più segnalatori indipendenti le cui risposte vengono aggregate, così che una singola fonte errata o compromessa non possa spostare il risultato.
  • Molte fonti di dati sottostanti, così che un singolo exchange manipolato non distorca il prezzo.
  • Medie di prezzo on-chain calcolate nel tempo dagli exchange decentralizzati, più difficili da spostare a lungo.
  • Penalità economiche per i segnalatori che inviano dati errati.

Come vengono sfruttati gli oracoli

Molte delle maggiori perdite nella DeFi non sono state bug dei contratti nel senso consueto, ma fallimenti degli oracoli:

  • Manipolazione del prezzo spot. Un protocollo legge il prezzo attuale da un unico piccolo pool di scambio. Un attaccante prende in prestito una grossa somma in una sola transazione, spinge il prezzo di quel pool, prende in prestito o liquida sulla base del prezzo falso e poi annulla lo scambio, tutto prima che la transazione finisca. I prestiti flash rendono possibile tutto questo senza alcun capitale proprio.
  • Mercati sottili. Un token scambiato soprattutto in un piccolo pool costa poco da spostare, e qualsiasi protocollo che lo accetti come collaterale eredita questa debolezza.
  • Dati obsoleti. Un oracolo che smette di aggiornarsi in un mercato veloce può permettere di prendere in prestito sulla base di prezzi che non esistono più.
  • Segnalatori o chiavi di amministrazione compromessi in grado di cambiare la provenienza dei dati dell'oracolo.

Lo stesso ragionamento vale per i bridge: un sistema è sicuro solo quanto il componente che gli dice cosa è successo altrove.

Perché ti riguarda

Non interagisci direttamente con gli oracoli, ma in molti protocolli sono loro a decidere cosa succede al tuo denaro:

  • Prestiti: il valore del tuo collaterale, e se verrai liquidato, proviene da un oracolo.
  • Stablecoin: diversi progetti dipendono da feed di prezzo per restare sul loro obiettivo.
  • Derivati e asset sintetici: i prezzi di regolamento provengono dagli oracoli.

Prima di usare un protocollo con denaro reale, vale la pena sapere: da dove prende i prezzi? È un feed consolidato e multi-fonte o un singolo pool? Cosa succede se il feed smette di aggiornarsi? Un protocollo che non sa rispondere chiaramente a queste domande ti sta chiedendo di correre un rischio che non puoi vedere.

Gli oracoli e SSP

SSP di per sé non dipende dagli oracoli per proteggere i tuoi fondi. Le tue monete si trovano in un vault multisig 2 di 2, e spostarle dipende solo dalle firme dei tuoi due dispositivi, non da un prezzo esterno.

I prezzi che vedi in SSP, il valore del tuo portafoglio nella valuta scelta, servono solo per la visualizzazione. Non influiscono su ciò che fa una transazione né sulla sua validità.

Gli oracoli diventano una tua preoccupazione quando porti fondi nei protocolli DeFi tramite WalletConnect. Lì SSP ti mostra cosa stai firmando e richiede l'approvazione di entrambi i dispositivi, ma non può valutare se il feed di prezzo del protocollo sia solido. Questa verifica spetta a te, e verificare i contratti e chi li controlla ne fa parte.

Il riepilogo onesto

Le blockchain non possono vedere al di fuori di sé stesse, quindi gli oracoli vi portano i dati, e ogni contratto che si basa su quei dati eredita le debolezze dell'oracolo. Molti grandi exploit DeFi hanno manipolato un feed di prezzo invece di violare il codice.

Quando usi un protocollo che dipende dai prezzi, chiediti da dove arrivano. Gli oracoli ben aggregati e multi-fonte sono molto più difficili da ingannare di un singolo pool, e un codice «decentralizzato» con un unico punto di dati non è così decentralizzato come sembra.

Condividi questo articolo

Articoli correlati