In parole semplici — Un oracle blockchain è un ponte per le informazioni. Fornisce a uno smart contract un prezzo, un tasso, un risultato o un altro dato che la blockchain non può conoscere direttamente.
Un oracle non predice necessariamente il futuro. Il suo compito è produrre un dato utilizzabile dal contratto secondo regole definite. Senza questa infrastruttura, un protocollo di prestito non potrebbe conoscere il valore esterno del collaterale e un derivato non avrebbe il riferimento necessario per calcolare il regolamento.
Dal dato esterno allo smart contract
Il processo comprende più passaggi: ottenere l'informazione da una o più fonti, controllarla o aggregarla, firmare o trasmettere il risultato e pubblicarlo sulla blockchain. Il contratto consumatore legge poi il valore e decide se eseguire una liquidazione, consentire un prestito o regolare una posizione.
Gli oracle differiscono per fonti, architettura e modello di fiducia. Possono avere un singolo operatore o una rete di nodi; possono aggiornare un feed a intervalli, su richiesta oppure quando il dato supera una soglia di variazione. Esistono anche oracle che usano dati già on-chain, per esempio il prezzo osservato in una liquidity pool. “Decentralizzato” descrive la distribuzione di alcune funzioni, non garantisce da solo un dato corretto.
Freschezza, liquidità e manipolazione
Un valore autentico ma vecchio può essere inadatto quanto un valore falso. Il contratto deve conoscere l'istante dell'ultimo aggiornamento e decidere cosa fare se il feed è in ritardo. Anche una media su più osservazioni riduce alcune distorsioni ma non rende il sistema immune alla manipolazione.
L'attaccante può colpire l'oracle oppure il mercato dal quale l'oracle legge. Se un protocollo usa il prezzo spot di una pool poco liquida, un'operazione temporanea può alterare il riferimento e attivare liquidazioni o prestiti a condizioni errate. Capitale preso con un flash loan può rendere questa sequenza eseguibile nella stessa transazione, senza implicare che ogni flash loan sia un attacco.
Come leggere la dipendenza dal feed
Per valutare un protocollo occorre identificare fonte del prezzo, metodo di aggregazione, frequenza o soglia di aggiornamento, controlli di deviazione e comportamento in caso di dato mancante. Vanno inoltre verificati gli account che possono sostituire il feed, modificare i parametri o sospendere il contratto.
Un fallback può mantenere il servizio durante un guasto, ma aggiunge un'altra dipendenza. La domanda utile non è quindi soltanto “quale oracle usa?”, bensì quali dati, controlli e poteri amministrativi collegano il feed alla decisione finanziaria.
Fonti
- Ethereum.org — Oracles — Definisce gli oracle, i modelli di fonte e fiducia e il flusso dei dati off-chain verso gli smart contract.
- BIS Bulletin 76 — The oracle problem and the future of DeFi — Esamina dipendenza, manipolazione e compromesso tra efficienza e decentralizzazione degli oracle DeFi.
Collegamenti
Bridge blockchain · Rischio smart contract · Flash loan · Finanza decentralizzata (DeFi)