Coindaro

Notizie crypto, mercati e guide

Capitalizzazione 2,63 T $ −1,41 % in 24 oreVolume 24 h 61,69 Mld $Dominanza BTC 59,3 %ETH 10,6 %Fear & Greed 26 PauraCrypto 22.751

Oracoli DeFi: push e pull, TWAP, prezzi obsoleti e manipolazioni

Oracoli DeFi a fondo: feed push di Chainlink, pull di Pyth, TWAP di Uniswap, prezzi obsoleti, Mango Markets e i casi del 2026, con i controlli da fare.

Avanzato 31 min di letturaAggiornato Da leggere prima: Stablecoin con rendimento: sUSDS, titoli del Tesoro tokenizzati e regole sugli interessi
Una parabola satellitare, nodi collegati, candele di prezzo e una lente d'ingrandimento
Indice
  1. Cosa fa un mercato di prestiti con un prezzo, e perché il 3% può bastare
  2. Oracoli push: come i feed Chainlink si aggiornano per deviazione o per heartbeat
    1. Nodi, off-chain reporting e una mediana
    2. Deviazione, heartbeat e parametri reali per ETH, BTC e USDC
    3. Feed con limite, a fonte unica e a orari di mercato
  3. Oracoli pull: Pyth, Chainlink Data Streams e RedStone portano il prezzo nella transazione
    1. Pyth dopo l’aggiornamento Core: router, radici di Merkle e un quorum 3 su 5
    2. Chainlink Data Streams: rapporti firmati e un verificatore on-chain
    3. Push o pull: chi sceglie l’aggiornamento decide dove sta il rischio
  4. Oracoli TWAP on-chain: i pool di Uniswap come fonte di prezzo di se stessi
    1. Uniswap v2: un prezzo a inizio blocco sommato nel tempo
    2. Uniswap v3: accumulatori di tick e media geometrica
    3. Quanto costa attaccare un TWAP, e cosa nasconde
  5. Prezzi obsoleti: quanto può essere vecchio il prezzo di un oracolo prima di diventare pericoloso?
    1. Controllare updatedAt e fissare un’età massima
    2. Sequencer dei layer 2: feed di uptime e periodo di tolleranza
    3. Quando un limite minimo o massimo diventa il bug
  6. Manipolare gli oracoli DeFi: da bZx a Mango Markets e al 2026
    1. bZx, febbraio 2020: due attacchi, un solo caso di oracolo
    2. Mango Markets, ottobre 2022: un oracolo onesto che legge un mercato sottile
    3. L’esito giudiziario: condanne annullate il 23 maggio 2025
    4. 2026: mercati sottili, impostazioni sbagliate e aggiornamenti falsificati
  7. Difese che costano meno dell’attacco
  8. Oracoli per fondi tokenizzati e proof of reserve
    1. Il valore patrimoniale netto esce una volta al giorno; la blockchain non chiude mai
    2. Proof of reserve: tre modi per sapere che la copertura esiste
  9. Le regole in Italia: Consob, Banca d’Italia e gli abusi di mercato
  10. Come controllare l’oracolo di un protocollo DeFi prima di depositare

blockchain that runs exactly as written when it is called, holding and moving funds according to its code, without an intermediary able to change the outcome.">smart contract holding reserves of two or more tokens, supplied by users, that a decentralized exchange uses to execute trades automatically at a price set by a formula.">pool diverge, compared with simply holding the same tokens in a wallet. It becomes permanent when the provider withdraws.">Il 15 febbraio 2026, alle 18:01 UTC secondo Decrypt, su Base è stata eseguita una proposta di governance di Moonwell chiamata MIP-X43. Una delle nuove impostazioni di prezzo per cbETH, l’ether in staking incapsulato da Coinbase, prendeva il tasso di cambio grezzo cbETH/ETH e non lo moltiplicava mai per il prezzo ETH/USD. Il mercato dei prestiti ha così valutato cbETH circa 1,12 dollari invece di circa 2.200. I liquidatori hanno rimborsato un dollaro di debito o poco più e sequestrato in tutto 1.096 cbETH, secondo Anthias Labs citata da Decrypt.

Moonwell è rimasto con 1,78 milioni di dollari di debiti inesigibili, secondo The Block, che cita il post-mortem del protocollo. Nessuno ha violato nulla: un contratto si è fidato di un numero. Di questo parlano gli oracoli DeFi: non un tubo neutro di dati, ma una scelta di fiducia con un prezzo, un ritardo e una superficie d’attacco. Ogni architettura risponde a tre domande a modo suo. Chi firma il numero? Quanto può essere vecchio quando un contratto lo usa? E quanto costa a un attaccante spostarlo?

Un breve promemoria. Uno smart contract non può aprire un sito né chiedere una quotazione a un exchange: ogni prezzo che legge deve essere stato scritto sulla blockchain da una transazione, e chi lo scrive entra a far parte della sicurezza del protocollo. ethereum.org chiama questo il problema dell’oracolo: dimostrare che il dato iniettato viene dalla fonte giusta, non è stato alterato ed è arrivato in tempo. La voce del nostro glossario sull’oracolo blockchain dà la definizione; questa lezione la presuppone e passa ai meccanismi.

La lezione segue anche quella sulle stablecoin che rendono. Token come sUSDS, sUSDe e le quote di fondi tokenizzati hanno bisogno di un prezzo, e diversi lo ricavano da un tasso di cambio o da un valore patrimoniale netto e non da un mercato. Per capire dove si colloca lo strato degli oracoli tra portafogli, blockchain, protocolli e interfacce, la nostra mappa dello stack DeFi lo situa.

Cosa fa un mercato di prestiti con un prezzo, e perché il 3% può bastare

I protocolli di prestito sono i maggiori utilizzatori di oracoli. Moltiplicano il prezzo del tuo collaterale per una soglia per decidere quanto puoi prendere in prestito e lo confrontano con il debito per stabilire quando puoi essere liquidato. L’oracolo viene letto a ogni prestito, a ogni prelievo e a ogni chiamata di liquidazione.

Un esempio con numeri tondi di fantasia, non le impostazioni reali di un mercato. Depositi un collaterale da 10.000 dollari in un mercato con soglia di liquidazione dell’80% e prendi in prestito 7.500 dollari. Diventi liquidabile quando il collaterale, visto dall’oracolo, scende sotto 9.375 dollari: un calo del 6,25%. Se l’oracolo sottostima il collaterale del 3% per un’ora, una posizione già a 4% dalla soglia viene liquidata anche se il mercato non si è mosso. Il liquidatore compra il tuo collaterale con uno sconto, e quello sconto è la tua perdita.

L’errore opposto è peggiore per tutti gli altri. Se l’oracolo sovrastima il collaterale, chi prende in prestito può ottenere più di quanto il collaterale valga, sparire e lasciare l’ammanco come debito inesigibile a carico dei depositanti. È lo schema della maggior parte dei casi di manipolazione che seguono.

Esistono quattro famiglie di soluzioni. I feed push scrivono il prezzo sulla blockchain a intervalli (Chainlink Data Feeds è il più noto). Gli oracoli pull firmano i prezzi fuori dalla blockchain e lasciano che sia l’utente a portarli nella transazione (Pyth, Chainlink Data Streams, la modalità pull di RedStone). I TWAP on-chain leggono la storia di un exchange decentralizzato (Uniswap). E sempre più protocolli aggiungono strati interni: formule per i tassi di cambio, tetti e limiti, come il sistema CAPO usato da Aave. Ognuna ha il suo modo di fallire.

Nodi, off-chain reporting e una mediana

Un Data Feed di Chainlink è gestito da un insieme di operatori di nodi indipendenti, ciascuno dei quali raccoglie prezzi da più fonti. Con il protocollo Off-Chain Reporting descritto nella documentazione di Chainlink, i nodi condividono le osservazioni su una rete peer-to-peer, un leader assembla un rapporto, un quorum di nodi lo firma e una sola transazione lo porta sulla blockchain. Il contratto aggregatore verifica le firme ed espone come risposta la mediana delle osservazioni, insieme a un’indicazione temporale e a un numero di round.

La mediana conta. Una minoranza di nodi difettosi o disonesti non riesce a spostarla di molto, e una sola transazione per round fa sì che i costi di gas siano condivisi e non pagati da ogni nodo. Il punto debole sta altrove: i nodi riportano ciò che dicono le loro fonti, quindi un feed per un token scambiato su due mercati poco profondi vale quanto quei due mercati.

Deviazione, heartbeat e parametri reali per ETH, BTC e USDC

Un feed push non scrive a ogni blocco. La documentazione dei Data Feeds di Chainlink indica due inneschi. La soglia di deviazione: i nodi osservano il prezzo fuori dalla blockchain e pubblicano un nuovo round quando si allontana oltre una percentuale fissata dall’ultimo valore on-chain. L’heartbeat: se il prezzo resta dentro quella fascia, un round viene pubblicato comunque dopo un tempo fisso.

Chainlink pubblica le impostazioni di ogni feed nella sua directory dei dati di riferimento. Sulla mainnet di Ethereum, consultati il 28 ottobre 2026, i parametri di tre feed molto usati erano questi:

Feed (mainnet Ethereum)HeartbeatSoglia di deviazioneDecimali
ETH / USD3.600 s (1 ora)0,5%8
BTC / USD3.600 s (1 ora)0,5%8
USDC / USD82.800 s (23 ore)0,25%8 (feed stablecoin con limite)

Va letto da chi valuta il rischio, non da chi scrive codice. A un prezzo di ETH di 3.000 dollari, a titolo di esempio, una soglia dello 0,5% significa che il prezzo on-chain può stare fino a 15 dollari lontano dal mercato prima della scrittura successiva, e in un mercato calmo un’ora di silenzio è normale, non un guasto. Dei 301 feed elencati nello stesso file, l’heartbeat più comune era di 86.400 secondi, un giorno intero. I feed differiscono anche per i decimali: le coppie cripto/USD ne usano 8 e le coppie cripto/ETH 18, ed è per questo che agli integratori si dice di leggere decimals() invece di darlo per scontato.

In un crollo l’innesco per deviazione scatta ripetutamente, quindi il feed tiene il passo, ma ogni scrittura deve comunque aspettare che i nodi si accordino e che la transazione venga inclusa. Su una rete congestionata il ritardo può allungarsi, ed è uno dei motivi per cui i prestatori mettono un cuscinetto tra il limite di prestito e la soglia di liquidazione.

Una clessidra accanto a un rack di server, un fulmine e un ingranaggio
Un feed push scrive un nuovo prezzo quando si muove dello 0,5% o quando scade l'heartbeat di un'ora.

Feed con limite, a fonte unica e a orari di mercato

La guida di Chainlink alla scelta dei feed avverte gli utenti di categorie che si comportano in modo diverso. Un feed stablecoin con limite blocca il prezzo riportato a un massimo prefissato e, nota la documentazione, non ha un limite inferiore: il tetto impedisce a un breve picco sopra 1 dollaro di gonfiare il collaterale, mentre un vero depeg resta visibile. Alcuni feed si basano su una sola fonte di dati, e ogni feed ha una valutazione del rischio di prezzo di mercato, da basso a molto alto.

I feed per gli asset tradizionali aggiungono la dimensione del tempo. La documentazione assegna a ciascuno un attributo di orario di mercato: l’orario standard delle azioni americane va dalle 9:30 alle 16:00, ora di New York, dal lunedì al venerdì; i feed delle azioni tokenizzate che richiedono prezzi continui usano una finestra 24/5 dalle 18:00 ET della domenica alle 17:00 ET del venerdì. Una blockchain lavora il sabato, una borsa no. Fuori orario un feed mostra l’ultimo prezzo, e un protocollo che continua a prestare contro quel dato presta contro un numero che non può muoversi. La stessa guida consiglia interruttori di sicurezza che fermano il protocollo quando i prezzi sono obsoleti, saltano di colpo o si avvicinano al minimo o al massimo di un feed.

Pyth dopo l’aggiornamento Core: router, radici di Merkle e un quorum 3 su 5

Pyth raccoglie prezzi da editori di prima mano, come società di trading e borse. Molti tutorial descrivono ancora una blockchain dedicata, Pythnet, più le firme dei guardiani di Wormhole. Non è più così. La documentazione di Pyth, consultata il 28 ottobre 2026, dice (in inglese): «That blockchain has shut down as part of the Pyth Core upgrade.»

Nel progetto attuale cinque router gestiti in modo indipendente calcolano ciascuno gli aggregati di prezzo, li impacchettano in un albero di Merkle e firmano la radice. Un servizio chiamato Hermes raccoglie le radici firmate e i messaggi di prezzo. Un utente, un keeper o l’interfaccia di un protocollo recupera la radice firmata e la prova di Merkle dei prezzi che gli servono e li invia a un contratto Pyth dentro la propria transazione; il contratto accetta l’aggiornamento quando almeno 3 delle 5 firme dei router risultano valide. Ogni prezzo arriva con un intervallo di confidenza, calcolato dalla dispersione dei dati degli editori, e la pagina delle buone pratiche di Pyth invita gli integratori a usarlo, per esempio sospendendo l’attività quando l’intervallo è largo rispetto al prezzo.

La homepage di Pyth, consultata il 28 ottobre 2026, indicava più di 3.600 feed di prezzo attivi, più di 138 editori di dati e più di 720 consumatori di dati a settembre 2026, cifre che il progetto riporta da sé.

Anche Chainlink ha un prodotto pull. In Data Streams una rete di oracoli decentralizzata firma rapporti e li passa a una rete di aggregazione con più siti in parallelo. Le applicazioni recuperano i rapporti con un’API REST o WebSocket e, quando serve un prezzo on-chain, inviano il rapporto a un contratto Verifier che controlla le firme della rete prima che il prezzo venga usato. Chainlink lo offre come API standard e in una versione abbinata al suo servizio Automation, pensata per limitare il front-running nelle applicazioni di trading. Le pagine consultate non danno cifre di latenza, quindi qui non ne citiamo.

RedStone, un terzo fornitore, offre entrambi i modelli. Il suo confronto descrive una modalità push che scrive i prezzi a intervalli o per deviazione, con gas pagato dall’oracolo o dal protocollo, e una modalità pull che allega pacchetti di dati firmati ai calldata della transazione dell’utente, così che l’utente paga un gas un po’ più alto a meno che il protocollo non lo sovvenzioni.

Push o pull: chi sceglie l’aggiornamento decide dove sta il rischio

«Push» e «pull» indicano chi innesca e paga la scrittura on-chain. Nessuno dei due è più sicuro per natura: spostano il rischio in punti diversi.

Feed pushOracolo pullTWAP on-chain
Chi scrive il prezzoI nodi dell’oracolo, per deviazione o heartbeatQualsiasi utente o keeper, dentro la propria transazioneNessuno: il pool dell’exchange lo registra mentre si scambia
Chi paga il gasLa rete dell’oracolo (costo ripartito su tutti gli utenti)L’utente, o il protocollo se sovvenzionaChi legge il TWAP, più chi scambia nel pool
Età tipica del prezzoFino all’heartbeat nei mercati calmiFresco quanto l’aggiornamento inviatoIn media metà della finestra di media
Principale modo di fallirePrezzo obsoleto o bloccato dal limite, fonti scadentiAggiornamento vecchio o scelto, bug del verificatorePool poco profondo spostato nell’arco della finestra
Esempio realeVenus, maggio 2022 (limite minimo di un feed)Bonzo Lend, luglio 2026 (verificatore)Inverse Finance, aprile 2022

Con il pull, chi invia l’aggiornamento sceglie quando arriva e quale aggiornamento valido arriva. Le buone pratiche di Pyth avvertono che gli avversari possono scegliere quale aggiornamento firmato inviare, quindi i protocolli devono imporre un ordine e un’età massima; altrimenti un prezzo valido ma più vecchio può essere riproposto finché resta dentro la finestra di freschezza.

Il percorso di verifica è l’altro punto debole. L’11 luglio 2026 Bonzo Lend su Hedera ha perso circa 9,05 milioni di dollari (DefiLlama). Secondo il rapporto preliminare di Bonzo, riportato da Cointelegraph e The Block, l’attaccante ha depositato 250 token SAUCE del valore di pochi dollari e ha inviato un aggiornamento di prezzo che ne gonfiava il valore di circa 12 ordini di grandezza; il verificatore on-chain di Supra l’ha accettato benché portasse una firma azzerata. L’attaccante ha poi preso in prestito circa 6,63 milioni di USDC e 34,5 milioni di HBAR incapsulati. Bonzo ha detto che i suoi contratti e la rete Hedera non avevano colpe; Supra ha riconosciuto il difetto e ha messo in produzione una correzione. Un oracolo pull è forte quanto il contratto che ne controlla le firme.

Oracoli TWAP on-chain: i pool di Uniswap come fonte di prezzo di se stessi

Uniswap v2: un prezzo a inizio blocco sommato nel tempo

Un prezzo medio ponderato nel tempo (TWAP) evita del tutto i soggetti esterni: l’exchange registra la propria storia dei prezzi e un protocollo ne fa la media. Uniswap ne ha fatto una funzione con la v2. La sua documentazione sugli oracoli v2 spiega che ogni coppia misura il prezzo all’inizio di ogni blocco, prima di qualunque scambio in quel blocco, quindi il prezzo è stato fissato dall’ultima transazione del blocco precedente. Per falsarlo, un attaccante deve fare un cattivo scambio alla fine di un blocco e sperare di annullarlo nel successivo, mentre gli arbitraggisti cercano di prendersi la differenza.

Da sola questa difesa non proteggerebbe un prestito importante, quindi la v2 somma il prezzo di inizio blocco, ponderato per quanto è durato, a una variabile cumulativa corrente. Un protocollo legge il valore cumulativo all’inizio e alla fine di una finestra e divide la differenza per la durata della finestra: questo è il TWAP. La documentazione dà la regola pratica. Il costo della manipolazione cresce più o meno in proporzione alla liquidità del pool e alla lunghezza della finestra; spostare del 5% un TWAP a un’ora costa grosso modo quanto tenere il prezzo al 5% di distanza in ogni blocco per un’ora, tra arbitraggi e commissioni perduti.

Uniswap v3: accumulatori di tick e media geometrica

Uniswap v3 ha cambiato l’aritmetica. Ogni pool v3 conserva osservazioni di un accumulatore di tick, la somma corrente del tick moltiplicato per il tempo trascorso. L’array parte con una sola casella; chiunque sia disposto a pagare il gas può aumentarne la cardinalità fino a 65.535 caselle, che secondo la documentazione danno circa 9 giorni di storia o più. Un consumatore chiama observe() con il numero di secondi fa che gli interessa, prende due valori dell’accumulatore e divide la differenza per il tempo che li separa. Il risultato è un tick medio, che si converte in prezzo come 1,0001 elevato al tick. Poiché la media è fatta sui tick, il prezzo è una media geometrica e non aritmetica. L’esempio della documentazione: un tick di 100.000 corrisponde a circa 22.015,5 USDC per WETH.

Due avvertenze. Su Arbitrum One possono essere prodotti più blocchi al secondo e le marche temporali vengono dall’orologio del sequencer, quindi le osservazioni sono più granulari. E la versione più recente non ha nulla di integrato: la pagina v3 afferma (in inglese) che «Uniswap v4 does not include built-in oracle functionality.» Un pool v4 può avere un oracolo tramite un hook, ma solo se qualcuno scrive e fa verificare quell’hook.

Quanto costa attaccare un TWAP, e cosa nasconde

È lento per costruzione, ed è insieme la sua protezione e il suo difetto. Un TWAP a 30 minuti riporta la media degli ultimi 30 minuti, quindi in un crollo sopravvaluta il collaterale e le liquidazioni arrivano in ritardo, il che può lasciare debiti inesigibili. Una finestra breve su un pool sottile è economica da spostare. Una finestra lunga su un pool profondo è costosa da spostare ma resta indietro rispetto al mercato. Per questo i grandi prestatori prezzano gli asset principali con i feed e tengono i TWAP per la coda lunga o come controllo di coerenza.

Inverse Finance ha pagato il prezzo di un pool sottile il 2 aprile 2022. DefiLlama registra una perdita di 15,6 milioni di dollari. Nell’analisi di RedStone l’attaccante ha prelevato 901 ETH da Tornado Cash, ha scambiato 500 ETH contro INV nel sottile pool INV-WETH su SushiSwap e ha mantenuto quel prezzo per più di un blocco, così il TWAP di SushiSwap che Inverse usava come unico oracolo per INV lo ha recepito. L’attaccante ha poi preso in prestito ETH, WBTC, DOLA e YFI per circa 15,6 milioni di dollari contro INV gonfiato. RedStone attribuisce la causa a un oracolo unico costruito su un pool a bassa liquidità. Un secondo incidente il 16 giugno 2022 è costato 5,8 milioni di dollari, anch’esso classificato da DefiLlama come manipolazione di prezzo.

La documentazione v2 nomina un’altra condizione: senza arbitraggisti che colmano la differenza, l’attacco classico richiede che l’attaccante produca due blocchi di fila. Quella pagina risale ai tempi della proof of work. Con la proof of stake il proponente di ogni slot è noto poco prima e un validatore può ottenere due slot consecutivi, e il caso Inverse mostra che un attaccante che tiene alto un prezzo attraverso più blocchi, per qualunque via, supera la difesa del prezzo a inizio blocco.

Prezzi obsoleti: quanto può essere vecchio il prezzo di un oracolo prima di diventare pericoloso?

Controllare updatedAt e fissare un’età massima

I feed Chainlink si leggono con latestRoundData(), che restituisce il numero di round, la risposta, il momento in cui il round è iniziato, quello in cui è stato aggiornato (updatedAt) e il round in cui la risposta è stata calcolata. La funzione non rifiuta mai di rispondere: se nessun nodo scrive da sei ore, restituisce il prezzo di sei ore prima. Controllare l’età spetta a chi consuma il dato. Uno schema minimo, scritto per questa lezione e semplificato dalla logica degli esempi di Chainlink, è il seguente:

(uint80 roundId, int256 answer, , uint256 updatedAt, ) = feed.latestRoundData();
require(answer > 0, "bad price");
require(block.timestamp - updatedAt <= MAX_AGE, "stale price");
// MAX_AGE: a little above the feed's heartbeat, e.g. 3,600 s + margin for ETH / USD
uint256 price = uint256(answer); // scale with feed.decimals()

L’età massima giusta dipende dal feed. Se la si fissa sotto l’heartbeat il protocollo si ferma in ogni ora calma; se la si fissa a un giorno per un feed che dovrebbe aggiornarsi ogni ora, un feed guasto passa inosservato per 23 ore. Pyth affronta lo stesso problema nella chiamata stessa: la funzione dell’SDK getPriceNoOlderThan() fa fallire la transazione in Solidity se il prezzo è più vecchio dell’età indicata, e la sua pagina di buone pratiche ricorda agli utenti del servizio a bassa latenza Pyth Pro che i timestamp di Pyth sono in microsecondi mentre block.timestamp è in secondi.

Sequencer dei layer 2: feed di uptime e periodo di tolleranza

Su un rollup di livello 2 di solito un solo sequencer ordina le transazioni. La nostra lezione su layer 1 e layer 2 ne spiega il disegno; il problema dell’oracolo è cosa succede quando quel sequencer si ferma. La documentazione di Chainlink sui sequencer L2 spiega che gli utenti perdono la via abituale per inviare transazioni, mentre gli esperti possono ancora passare dai contratti del layer 1, una strada più lenta e costosa che crea (in inglese) «an unfair advantage» per chi riesce ad aggirare il sequencer. Quando il sequencer riparte, i prezzi possono essersi mossi molto e chi ha preso in prestito non ha avuto modo di aggiungere garanzie.

La risposta di Chainlink è un Sequencer Uptime Feed: la risposta 0 significa che il sequencer è attivo, 1 che è fermo. Il contratto d’esempio della documentazione rifiuta di leggere un prezzo mentre il sequencer è fermo e per un periodo di tolleranza di 3.600 secondi dopo il riavvio, così chi ha preso in prestito può sistemare le posizioni prima che le liquidazioni riprendano. Su Arbitrum lo stato viene aggiornato tramite la casella ritardata del layer 1, quindi il segnale «fermo» viene elaborato prima delle nuove transazioni quando il sequencer riparte; sulle altre reti viene trasmesso dal layer 1. La documentazione elenca feed su Arbitrum, Base, Celo, Mantle, MegaETH, Metis, OP, Scroll, Soneium, X Layer e ZKsync, con un’avvertenza (in inglese): «Chainlink is no longer expanding L2 Sequencer Uptime Feeds to additional networks.» I feed esistenti continuano a funzionare; un protocollo su un rollup più recente deve trovare un altro modo per rilevare le interruzioni.

Quando un limite minimo o massimo diventa il bug

Alcuni dei fallimenti più costosi degli oracoli sono nati da limiti pensati come misure di sicurezza. A maggio 2022, mentre LUNA crollava, il feed Chainlink LUNA/USD usato da Venus Protocol su BNB Chain e da Blizz Finance su Avalanche aveva una risposta minima scritta nel codice di 0,10 dollari. LUNA valeva una frazione di centesimo, ma il feed continuava a restituire il minimo, così chiunque poteva comprare LUNA sul mercato e depositarla come collaterale da 0,10 dollari a token. DefiLlama registra per Venus una perdita di 11,2 milioni di dollari, etichettata «stale oracle price»; REKT ha riportato circa 13,5 milioni di dollari prosciugati da Venus, che ha detto di voler usare il proprio fondo di rischio per coprire l’ammanco, e 8,3 milioni da Blizz, che secondo REKT non ha potuto reagire in tempo a causa del suo timelock. Il feed ha fatto ciò per cui era configurato; gli integratori non avevano verificato cosa succede ai suoi bordi.

Il 10 marzo 2026 un tetto su Aave ha fatto l’opposto. CAPO, il Correlated Asset Price Oracle, limita la velocità con cui può salire il tasso di cambio di un token a rendimento come wstETH, perché un tasso manipolato non possa gonfiare il collaterale. Secondo The Block, che cita il post-mortem di Chaos Labs, risk manager di Aave, un aggiornamento del rapporto di riferimento sui mercati Core e Prime di Aave su Ethereum ha urtato contro la regola per cui il rapporto può aumentare solo del 3% ogni 3 giorni. Il tasso limitato è risultato di circa 1,1939 contro circa 1,228 di mercato, un taglio del 2,85% del tasso di cambio effettivo. Sono stati liquidati circa 10.938 wstETH, intorno a 26 milioni di dollari, su circa 34 conti; i liquidatori terzi hanno guadagnato circa 499 ETH. Aave non ha riportato debiti inesigibili e gli utenti dovevano essere rimborsati con 141,5 ETH recuperati più fino a 345 ETH dalla tesoreria della DAO.

L’errore su cbETH di Moonwell a febbraio, da cui parte questa lezione, appartiene alla stessa famiglia: a fissare il prezzo è stata una configurazione, non un mercato. Da Moonwell la correzione ha richiesto un nuovo voto e un timelock, quindi le liquidazioni sono andate avanti nel frattempo, e da Blizz il timelock ha impedito qualunque reazione rapida. Un prezzo sbagliato è spesso facile da diagnosticare e lento da correggere.

Manipolare gli oracoli DeFi: da bZx a Mango Markets e al 2026

bZx, febbraio 2020: due attacchi, un solo caso di oracolo

Gli attacchi a bZx di febbraio 2020 si citano spesso insieme, ma erano diversi. L’analisi di Quantstamp, pubblicata il 27 febbraio 2020, classificava il primo come un problema di slippage su Uniswap e non come un attacco a un oracolo. Il secondo era un caso di oracolo: l’attaccante ha usato un flash loan per comprare sUSD su mercati DEX sottili finché il prezzo lì è schizzato, e bZx, che prezzava il collaterale su quei prezzi DEX, ha accettato l’sUSD gonfiato come garanzia per un grosso prestito. Quantstamp ha stimato la posizione scoperta in circa 800.000 dollari. La lezione è rimasta: un prezzo spot di un solo pool, letto nella stessa transazione, è un numero che un attaccante può scrivere.

Mango Markets, ottobre 2022: un oracolo onesto che legge un mercato sottile

L’11 ottobre 2022 Avraham Eisenberg ha usato due conti su Mango Markets, una piattaforma di trading su Solana, per prendere i lati opposti di una grande posizione in futures perpetui su MNGO. Secondo l’ordinanza del tribunale descritta più sotto, il prezzo del perpetuo veniva da un oracolo che raccoglieva dati da tre exchange, FTX, AscendEX e Serum, per ricavare il prezzo spot medio di MNGO. Ha comprato MNGO su quei mercati, il prezzo è salito, il lato lungo della sua posizione ha mostrato un enorme guadagno non realizzato e Mango ha contato quel guadagno come collaterale. Ha poi preso in prestito e prelevato dalla piattaforma più di 100 milioni di dollari in cripto. Gli allegati del processo collocano i suoi scambi sul perpetuo intorno alle 18:24 e i prelievi tra le 18:29 e le 18:57 di quel giorno. DefiLlama indica una perdita di 115 milioni di dollari.

Nell’oracolo nulla era rotto. Riportava prezzi reali sui mercati che osservava; quei mercati erano semplicemente così sottili da muoversi con pochi milioni di dollari. Il rapporto che conta è il costo di spostare l’input rispetto a quanto il protocollo permette di prendere in prestito dopo lo spostamento. Mango ha lasciato che un guadagno sulla carta nel proprio token illiquido diventasse capacità di prestito.

L’esito giudiziario: condanne annullate il 23 maggio 2025

Dopo un processo di nove giorni nell’aprile 2024, una giuria ha dichiarato Eisenberg colpevole di frode sulle materie prime, manipolazione delle materie prime e frode telematica. Il 23 maggio 2025 il giudice Arun Subramanian del Distretto Sud di New York ha accolto la sua istanza ai sensi della Rule 29 delle norme federali di procedura penale con un’Opinion and Order (caso 23-cr-10). La conclusione recita, in inglese: «Eisenberg’s convictions on counts one and two are vacated. The Court will enter a judgment of acquittal on count three.»

Le ragioni cambiano da capo a capo d’imputazione, e i riassunti spesso le confondono. I capi uno e due, quelli sulle materie prime, sono stati annullati per competenza territoriale errata (improper venue): l’ordinanza osserva che Eisenberg non è mai stato a New York in relazione allo schema e operava da Porto Rico. Il capo tre, la frode telematica, si è chiuso con l’assoluzione perché l’accusa non aveva dimostrato una falsa dichiarazione; l’ordinanza sottolinea che Mango Markets non aveva allora condizioni d’uso, politiche o regole su manipolazione o prestiti. Con le parole del tribunale (in inglese): «On a platform with no rules, instructions, or prohibitions about borrowing, the government needed more to show that Eisenberg made an implicit misrepresentation».

Non è stato accertato che il movimento di prezzo fosse innocuo. La sentenza ha deciso che quei capi d’imputazione non erano provati davanti a quel tribunale, e una condanna annullata per competenza territoriale non è un verdetto sui fatti. Secondo la stampa il governo ha presentato appello; Coindaro non ha trovato una decisione della Corte d’appello del Secondo Circuito al 28 ottobre 2026. Le cause civili avviate a gennaio 2023 dalla CFTC, che l’ha descritta come il suo primo caso con uno schema «sometimes called ‘oracle manipulation’», e dalla SEC, che ha sostenuto che furono sottratti circa 116 milioni di dollari in cripto-attività, restano accuse; Coindaro non ha trovato una conclusione definitiva di nessuna delle due.

Una figura incappucciata, un martelletto da giudice, una linea in salita e un segnale di pericolo
Mango Markets: un mercato sottile spinto al rialzo, poi due condanne annullate e un'assoluzione nel maggio 2025.

2026: mercati sottili, impostazioni sbagliate e aggiornamenti falsificati

I casi del 2026 mostrano di nuovo gli stessi tre tipi di guasto. A febbraio YieldBlox, un pool costruito sul protocollo di prestito Blend su Stellar, usava l’oracolo Reflector, che Halborn descrive come un oracolo a prezzo medio ponderato per i volumi. Nel racconto di Halborn il mercato USTRY/USDC non aveva scambi da 15 minuti dopo il ritiro del suo unico market maker; l’attaccante ha messo un’offerta di vendita a 501 USDC per USTRY e, da un secondo conto, ha comprato 0,05 USTRY a circa 106,7 USDC. Halborn sostiene che quell’unico scambio abbia portato USTRY a circa 106 dollari contro un valore reale di circa 1,05, e che l’attaccante abbia poi preso in prestito 61,25 milioni di XLM e 1 milione di USDC, l’intera riserva del pool. Halborn ha stimato la perdita in circa 10,2 milioni di dollari, di cui 7,2 milioni congelati dai validatori Tier-1 di Stellar; DefiLlama riporta 10,97 milioni il 22 febbraio. Halborn ha scritto che l’oracolo «worked as designed»; BlockSec l’ha definito un problema di configurazione dell’operatore del pool e non un difetto dei contratti centrali di Blend.

L’elenco degli hack di DefiLlama, consultato il 28 ottobre 2026, etichetta come manipolazione di prezzo anche altre perdite del 2026 sui prestiti. Le etichette sono brevi e talvolta incoerenti (Bonzo, un aggiornamento falsificato, compare come «spot price manipulation»), quindi la tabella sotto riporta separatamente l’etichetta e il meccanismo. Rhea Lend su NEAR, indicato a 18,4 milioni di dollari il 16 aprile 2026, è escluso: le analisi pubblicate non concordano se sia fallita la fonte di prezzo o i controlli del suo trading a margine.

DataProtocollo (rete)Perdita secondo DefiLlamaEtichetta DefiLlamaCosa è andato storto
Feb 2020bZx (Ethereum)non indicatan/dPrezzo spot DEX di sUSD usato come valore del collaterale
2 apr 2022Inverse Finance (Ethereum)15,6 milioni di dollariSpot price manipulationPool INV sottile che alimenta un TWAP
12 mag 2022Venus Protocol (BNB Chain)11,2 milioni di dollariStale oracle priceLimite minimo del feed LUNA a 0,10 dollari
11 ott 2022Mango Markets (Solana)115 milioni di dollariSpot price manipulationMercati MNGO sottili, guadagni sulla carta come collaterale
15 feb 2026Moonwell (Base)1,78 milioni di dollariOracle misconfigurationPrezzo di cbETH senza il fattore ETH/USD
22 feb 2026Pool YieldBlox su Blend (Stellar)10,97 milioni di dollariSpot price manipulationUno scambio in un mercato vuoto ha fissato un VWAP
11 lug 2026Bonzo Lend (Hedera)9,05 milioni di dollariSpot price manipulationIl verificatore ha accettato una firma azzerata
27 ago 2026Moonwell (Base)8,7 milioni di dollariSpot price manipulationCollaterale MAMO poco scambiato gonfiato; token mandati direttamente sul mercato, oltre il suo tetto di offerta (Unchained)

L’incidente CAPO di Aave del 10 marzo 2026 non è nell’elenco, perché ha prodotto liquidazioni ingiustificate e non un furto. Va comunque contato in un bilancio onesto dei guasti degli oracoli.

Difese che costano meno dell’attacco

Non esiste una correzione unica, ma i post-mortem indicano un breve insieme di abitudini. La prima è confrontare ciò che un attaccante deve spendere per spostare un prezzo con ciò che il protocollo gli lascia prendere in prestito dopo lo spostamento. I tetti di prestito e di offerta sui collaterali della coda lunga mantengono questo rapporto sfavorevole: Mango e YieldBlox hanno lasciato che pochi dollari o pochi milioni di acquisti sbloccassero l’intero pool.

La seconda è leggere più fonti e confrontarle tra loro. Un protocollo può confrontare un feed con un TWAP, o un prezzo Pyth con un prezzo Chainlink, e fermarsi quando divergono oltre una certa distanza. L’intervallo di confidenza di Pyth svolge lo stesso compito all’interno di un unico feed.

La terza è limitare cosa può cambiare e quanto in fretta. I tetti in stile CAPO sui tassi di cambio e i feed stablecoin con limite di Chainlink rientrano qui, come gli interruttori sui prezzi obsoleti o estremi. L’incidente di Aave di marzo è l’avvertimento: un limite va monitorato con la stessa attenzione del prezzo che protegge.

La quarta riguarda la governance. Moonwell e Blizz hanno sbattuto contro lo stesso muro: correggere un prezzo sbagliato richiedeva un voto, un timelock o entrambi. Un ruolo di guardiano che possa congelare in fretta un mercato, con limiti a ciò che può fare, è una scelta di progetto con i suoi compromessi; un timelock senza via d’emergenza è anch’esso una scelta. E poiché un oracolo può alimentare molti protocolli insieme, un prezzo sbagliato si propaga lungo gli stessi percorsi dei depositi, lo schema di contagio trattato nella nostra lezione sulla componibilità della DeFi e i money legos.

Oracoli per fondi tokenizzati e proof of reserve

Il valore patrimoniale netto esce una volta al giorno; la blockchain non chiude mai

I fondi del mercato monetario tokenizzati e altri asset del mondo reale pongono una domanda diversa agli oracoli. Il loro prezzo non si scopre in un mercato a ogni secondo: è un valore patrimoniale netto (NAV) calcolato da un amministratore del fondo, di solito una volta per giorno lavorativo. Chainlink raggruppa i feed che trasportano questi numeri sotto SmartData: Proof of Reserve, NAVLink per i valori patrimoniali netti e SmartAUM per gli attivi gestiti.

La distanza tra un numero giornaliero e una blockchain attiva 24 ore su 24 è dove sta il rischio. Se le attività di un fondo perdono valore un venerdì pomeriggio, il NAV on-chain può non rifletterlo fino al giorno lavorativo successivo, mentre i mercati di prestito accettano il token come collaterale per tutto il fine settimana. I vault CDP dietro le stablecoin dipendono allo stesso modo dai prezzi dei collaterali, come ha mostrato la lezione sulle stablecoin CDP. Chi legge dovrebbe chiedersi ogni quanto si aggiorna un feed NAV, chi calcola il numero e cosa fa il protocollo quando smette di muoversi.

Proof of reserve: tre modi per sapere che la copertura esiste

I feed Proof of Reserve riportano quanta copertura detiene un emittente, così che un contratto possa confrontarla con l’offerta di token. La documentazione di Chainlink elenca tre tipi di input: dati di una terza parte come un revisore, dati di un custode e dati autodichiarati dall’emittente. Per il terzo tipo la documentazione è netta (in inglese): «Chainlink Labs is not responsible for the accuracy of self-reported reserves data.» Per le riserve distribuite su più blockchain, l’emittente fornisce spesso l’elenco degli indirizzi da contare, anch’esso autodichiarato.

Una proof of reserve è quindi indipendente quanto il suo input. Un feed che rilancia la cifra dell’emittente sposta la questione della fiducia sull’emittente e rende la cifra visibile on-chain; non revisiona nulla. Alcuni emittenti vanno oltre e collegano il feed al conio, così che non si possano emettere nuovi token se l’offerta supererebbe le riserve dichiarate, il che trasforma un cruscotto in un limite rigido.

Le regole in Italia: Consob, Banca d’Italia e gli abusi di mercato

Per chi legge dall’Italia, il fatto di riferimento resta Mango Markets, e resta aperto. La CFTC ha avviato una causa civile il 9 gennaio 2023, descrivendola come il suo primo caso di quella che viene talvolta chiamata manipolazione degli oracoli; la denuncia della SEC, depositata il 20 gennaio 2023, ipotizzava violazioni delle norme antifrode e contro la manipolazione del mercato del Securities Exchange Act; il Dipartimento di Giustizia ha contestato gli stessi fatti come frode sulle materie prime, manipolazione delle materie prime e frode telematica. L’ordinanza del 23 maggio 2025 ha annullato le due condanne sulle materie prime per competenza territoriale errata e ha disposto l’assoluzione sulla frode telematica perché non era provata alcuna falsa dichiarazione, non perché le operazioni siano state ritenute corrette. Coindaro non ha trovato una decisione d’appello al 28 ottobre 2026.

In Europa il quadro è un altro. Il Titolo VI del regolamento MiCA vieta l’abuso di informazioni privilegiate, la comunicazione illecita di informazioni privilegiate e la manipolazione del mercato per le cripto-attività ammesse alla negoziazione su una piattaforma gestita da un fornitore di servizi per le cripto-attività (CASP), o per le quali è stata chiesta l’ammissione. In Italia le autorità competenti sono la Consob e la Banca d’Italia; per la sorveglianza sugli abusi di mercato il riferimento naturale è la Consob. Il perimetro però lascia fuori molto di ciò che questa lezione racconta. Il considerando 22 di MiCA dice che il regolamento non si applica ai servizi prestati in modo completamente decentralizzato, senza alcun intermediario. Un protocollo di prestito senza gestore e un token mai ammesso su una piattaforma di un CASP possono quindi restare fuori dal Titolo VI, mentre la manipolazione dello stesso token su un exchange autorizzato no. I future perpetui, poi, possono essere strumenti finanziari, ambito della MiFID II e del regolamento sugli abusi di mercato (MAR) e non di MiCA: la qualificazione dipende dal contratto.

In concreto: Coindaro non ha trovato, al 28 ottobre 2026, un provvedimento della Consob né una sentenza italiana su un caso di manipolazione di oracolo DeFi, e non pretende di dire come sarebbe qualificato un caso come Mango Markets davanti a un giudice italiano. Resta il fatto che le piattaforme regolate che quotano gli stessi token sono soggette alle regole sugli abusi di mercato, e che agire su un protocollo senza intermediari non mette al riparo da altre norme, come quelle sulla frode.

Un punto pratico per tutti: se un errore dell’oracolo liquida la tua posizione, di norma non c’è alcun diritto automatico a un risarcimento. Gli utenti di Aave hanno ricevuto un’offerta di rimborso con fondi recuperati e un voto sulla tesoreria della DAO, che è una decisione di governance e non una garanzia. L’effetto fiscale di una liquidazione forzata dipende dalle regole del tuo paese sulla cessione di cripto-attività: in Italia dal 2026 le plusvalenze su cripto-attività sono tassate al 33% secondo l’Agenzia delle Entrate, e il trattamento delle operazioni DeFi non è del tutto chiarito. La nostra guida alla tassazione delle cripto in Italia spiega le regole generali, e il caso concreto va discusso con un commercialista. Per il quadro europeo, la guida a MiCA spiega chi è un CASP e cosa cambia per chi usa la DeFi.

Come controllare l’oracolo di un protocollo DeFi prima di depositare

Leggere un feed non costa nulla e non richiede un portafoglio, perché una chiamata di lettura non è una transazione. Per vedere il feed ETH/USD della tabella qui sopra:

  1. Apri Etherscan e cerca l’indirizzo del proxy ETH/USD indicato nella directory dei feed di Chainlink (sulla mainnet di Ethereum: 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419).
  2. Vai alla scheda Contract, poi Read as Proxy, e chiama latestRoundData.
  3. Dividi la risposta per 10 elevato all’8, i decimali del feed, per ottenere un prezzo in dollari.
  4. Converti updatedAt da tempo Unix a una data e confrontala con l’orologio: per questo feed dovrebbe avere meno di un’ora.
  5. Se preferisci esercitarti su una rete di prova, Chainlink elenca feed anche su Sepolia, dove la stessa lettura funziona senza fondi.

Poi, per il mercato che stai valutando, cerca cinque risposte nella documentazione o nel cruscotto dei rischi:

  • Quale oracolo prezza ciascun collaterale: un feed, un oracolo pull, un TWAP o una formula?
  • Quali sono heartbeat e soglia di deviazione, e il protocollo impone un’età massima?
  • Cosa succede ai bordi: c’è un minimo, un tetto o un limite, e cosa fa il protocollo quando viene raggiunto?
  • Quanto è profondo il mercato dietro il prezzo, rispetto al tetto di prestito di quel collaterale?
  • Chi può cambiare l’oracolo, con quale rapidità, e c’è un timelock o un guardiano d’emergenza?

Un mercato che non sa rispondere a queste domande ti chiede di fidarti di un numero che non puoi ispezionare. La prossima lezione del percorso passa ai token a rendimento, dove la questione del prezzo torna in un’altra forma: il tasso di cambio che dice a un contratto quanto vale un aToken, un cToken o una quota di vault.

Fonti

  1. Documentazione Chainlink: Data Feeds, Off-Chain Reporting, scelta dei feed (in inglese, consultata il 28 ottobre 2026) docs.chain.link
  2. Documentazione Chainlink: L2 Sequencer Uptime Feeds (in inglese) docs.chain.link
  3. Documentazione Chainlink: architettura di Data Streams e SmartData (Proof of Reserve, NAVLink) (in inglese) docs.chain.link
  4. Documentazione Pyth: come funziona Pyth dopo l'aggiornamento Core, e buone pratiche (in inglese) docs.pyth.network
  5. Documentazione Uniswap: oracoli v2 e oracoli di prezzo v3 (in inglese) developers.uniswap.org
  6. United States v. Eisenberg, 23-cr-10 (S.D.N.Y.), Opinion and Order del 23 maggio 2025 (in inglese) nysd.uscourts.gov
  7. CFTC, comunicato 8647-23: la CFTC accusa Avraham Eisenberg (9 gennaio 2023) (in inglese) cftc.gov
  8. Database degli hack di DefiLlama (consultato il 28 ottobre 2026) (in inglese) defillama.com
  9. Halborn: spiegazione dell'hack di YieldBlox (26 febbraio 2026) (in inglese) halborn.com
  10. The Block: il problema dell'oracolo wstETH su Aave (marzo 2026) (in inglese) theblock.co
  11. The Block: Moonwell con 1,8 milioni di dollari di debiti inesigibili dopo una configurazione errata dell'oracolo (febbraio 2026) (in inglese) theblock.co
  12. SEC, comunicato di contenzioso 25623: SEC v. Avraham Eisenberg (gennaio 2023) (in inglese) sec.gov
  13. Decrypt: un errore dell'oracolo lascia Moonwell con 1,8 milioni di dollari di debiti inesigibili (in inglese) decrypt.co
  14. Unchained: Moonwell perde 8,7 milioni di dollari su Base mentre un attaccante aggira il tetto di offerta (agosto 2026) (in inglese) unchainedcrypto.com
  15. Cointelegraph: exploit da 9 milioni di dollari sull'oracolo di Bonzo Lend su Hedera (luglio 2026) (in inglese) cointelegraph.com
  16. BlockSec: incidente YieldBlox DAO su Stellar (in inglese) blocksec.com
  17. RedStone: attacchi agli oracoli n. 1, Inverse Finance (in inglese) redstone.finance
  18. Quantstamp: 10 fatti rapidi sugli hack di bZx (27 febbraio 2020) (in inglese) quantstamp.com
  19. REKT: Venus e Blizz (maggio 2022) (in inglese) rekt.news
Redazione di Coindaro

Chi ha scritto questo articolo

Redazione

Guide, recensioni e glossario verificati sulle fonti primarie

  • Formazione crypto
  • Recensioni exchange
  • Wallet
  • Glossario

La redazione di Coindaro ricerca e scrive ogni articolo, recensione e guida pubblicata su Coindaro. Ogni fatto è verificato su fonti primarie come documenti ufficiali, autorità di regolamentazione e documentazione dei progetti, e ogni pagina cita le sue fonti. Copriamo mercati crypto, tecnologia e regolamentazione per i lettori di Europa e Nord America, in modo indipendente e senza contenuti a pagamento.

Continua a imparare