Skip to content
Tutte le guide sulle opzioni
Riferimenti di prezzo DeFi8 min di lettura

Come gli oracoli DeFi aggregano e pubblicano i prezzi

Scopri come vengono aggregate le osservazioni, quando heartbeat e deviazione attivano aggiornamenti, come verificare unità e anzianità e cosa non garantiscono i controlli L2.

In questa guidaL’oracolo pubblica un riferimento, non un prezzo eseguibile

Breve sintesi

Un oracolo di prezzo porta un riferimento esterno in uno smart contract. In un comune modello push, più osservazioni offchain confluiscono in un report firmato, pubblicato onchain e letto dal protocollo. Deviazione e heartbeat influenzano il momento dell’aggiornamento; il consumatore deve verificare anche decimali, unità di quotazione, `updatedAt` e, su alcune L2, lo stato del sequencer. Questi controlli riducono rischi specifici ma non dimostrano che il prezzo sia vero, abbastanza recente per ogni uso o sicuro per tutte le transazioni.

L’oracolo pubblica un riferimento, non un prezzo eseguibile

L’oracolo collega informazioni esterne alla blockchain con il codice eseguito onchain. Un protocollo di prestito può leggere un feed per valutare le garanzie; un contratto derivato può usare un riferimento per il regolamento o un limite di rischio. Il contratto legge il dato pubblicato sulla chain, ma non consulta da solo tutti i book esterni per scegliere il prezzo equo.

“Prezzo” può indicare una coppia asset/valuta di quotazione, un tasso di rimborso del protocollo o un’altra misura. Non coincide automaticamente con il prezzo ottenibile vendendo una posizione grande. La guida a impatto e slippage degli swap DEX e il confronto tra mark price e ultimo scambio illustrano altre differenze. Questa guida tratta i comuni feed push EVM, non una regola universale DeFi.

Come le osservazioni diventano una risposta onchain

Nel modello Offchain Reporting di Chainlink, i nodi oracle si scambiano osservazioni offchain e concordano un report. Un quorum lo firma; un transmitter lo invia in una transazione; l’aggregator verifica le firme ed espone risposta, ID del round e timestamp. La documentazione Offchain Reporting descrive la mediana delle osservazioni resa disponibile da quel disegno.

Il consumer di solito non ripete tutta l’aggregazione: chiama latestRoundData() sull’indirizzo proxy del feed. L’aggregator dietro al proxy può cambiare. Controlla la rete e il feed esatti nella guida EVM e nella API reference. Più nodi non implicano fonti indipendenti; possono dipendere dagli stessi exchange o provider.

Scena senza testo: le osservazioni di mercato attraversano una rete di nodi fino a un feed di prezzo e poi un varco di controllo verso una cassaforte di garanzie.
Le osservazioni vengono aggregate prima della lettura del feed; freschezza del prezzo e stato del sequencer sono controlli distinti.

Heartbeat e deviazione regolano i trigger di pubblicazione

Molti feed push combinano soglia di deviazione e heartbeat. Una variazione percentuale definita dal valore pubblicato in precedenza può attivare un nuovo report; l’heartbeat può richiedere un aggiornamento dopo un intervallo anche senza un grande movimento. La directory Data Feeds corrente e la pagina degli indirizzi riportano parametri per asset, rete e feed.

Sono trigger specifici del feed, non la promessa di aggiornare ogni N secondi. Una variazione piccola può non superare la soglia e il report richiesto deve ancora essere raccolto, trasmesso e incluso in un blocco. L’heartbeat quindi non garantisce un orario d’arrivo esatto né impedisce che il dato diventi obsoleto. Il protocollo deve fissare una propria età massima adatta alla velocità dell’asset e all’uso.

Interpretare answer, decimali e unità di quotazione

latestRoundData() restituisce ID round, answer, startedAt, updatedAt e answeredInRound; la API reference indica che l’ultimo campo è deprecato. answer è un intero in formato fixed-point, non necessariamente un importo in dollari leggibile. Leggi decimals() e la descrizione del feed selezionato. Se un feed BTC/USD ipotetico restituisce 6,725,000,000,000 con 8 decimali, vale 67.250 dollari per BTC.

I decimali del feed non sono quelli del token. Una quantità ERC-20 può avere 18 decimali mentre la risposta prezzo ne ha 8; scala ogni valore secondo la sua unità prima di moltiplicare. BTC/USD significa dollari per bitcoin; USD/BTC inverte l’unità. Per derivare una coppia, scala entrambi i feed e dividi nell’ordine giusto; l’esempio di denominazione ricava BTC/EUR da BTC/USD ed EUR/USD.

Il controllo di obsolescenza è una regola applicativa

updatedAt indica quando è stato aggiornato il round più recente. Il consumer può confrontarlo con il timestamp del blocco corrente e rifiutare valori più vecchi dell’età massima definita dall’applicazione. In base al feed può verificare anche un orario non nullo, un answer positivo per un asset dal prezzo positivo e limiti ragionevoli. Un limite troppo stretto può rifiutare un movimento legittimo.

Immagina un mercato di prestiti ipotetico che accetta quattro unità di garanzia con fattore del 75%. L’ultimo answer è 200,000,000,000 con 8 decimali, cioè $2.000 per unità; il limite di prestito è 4 × $2.000 × 75% = $6.000. Se il mercato scende a $1.820, il calo è del 9%. Con ipotesi di deviazione al 10% e heartbeat a 60 minuti, potrebbe non essere ancora stato richiesto un nuovo report; al prezzo più basso il limite è $5.460.

Se l’applicazione rifiuta prezzi più vecchi di cinque minuti e il round ha venti minuti, può bloccare nuovi prestiti invece di usare $2.000. Il controllo non aggiorna il feed: cambia le operazioni ammesse quando il dato supera l’età consentita. Prestito, prelievo, liquidazione e rimborso possono avere risposte diverse, perché bloccare tutto può creare danni. Numeri e trigger sono ipotetici, non parametri attuali o raccomandazioni.

Il controllo del sequencer L2 riguarda un’altra interruzione

Su molte L2 gli utenti inviano transazioni tramite un sequencer. Durante un guasto o il ripristino, le transazioni possono ritardare, l’uso normale interrompersi e ordini in attesa eseguirsi dopo un cambiamento di mercato. Una risposta di prezzo apparentemente recente non prova che il percorso di esecuzione fosse disponibile o che tutti potessero agire insieme.

Chainlink documenta un feed separato di uptime del sequencer L2: answer == 0 significa attivo e answer == 1 fermo. startedAt registra il cambio di stato; l’esempio consumer lo verifica e attende un periodo di grazia definito dall’applicazione dopo il ripristino prima di leggere il prezzo. Controlla rete e indirizzo nella guida L2 Sequencer Uptime Feeds. La grazia non garantisce prezzo aggiornato o completamento delle transazioni in coda.

Questi controlli non garantiscono un esito corretto o equo

Quorum, mediana, deviazione, heartbeat, limite d’età e stato del sequencer rispondono a domande circoscritte. Non garantiscono liquidità, identità esatta dell’asset, indipendenza dei provider o prezzo eseguibile per una certa quantità. Un timestamp recente può accompagnare un dato sbagliato o manipolato; un dato vecchio può restare vicino al mercato in una fase tranquilla.

Nessun trigger elimina salti di prezzo, congestione o bug in scala, coppia, freschezza e liquidazione. Le indicazioni per selezionare Data Feeds di qualità raccomandano di valutare liquidità e dipendenze e gestire dati obsoleti, ritardati, mancanti o inattesi. Restano rischi di contratto, governance, bridge, garanzia e liquidazione. Il prezzo oracle di una stablecoin non garantisce il rimborso alla pari; leggi la guida al depeg.

Segui l’intero percorso del prezzo prima di fidarti

Identifica chain, proxy del feed, coppia asset, valuta di quotazione, decimali di answer e indirizzo del contratto. Verifica che la descrizione corrisponda all’asset e non copiare indirizzi da un’altra rete. Se serve, esamina modello delle fonti e cronologia degli aggiornamenti. Chainlink segnala che gli aggregator possono differire tra reti: controlla codice e configurazione.

Poi ricostruisci come il contratto usa la risposta: conversione delle unità, controllo updatedAt, età massima e comportamento con valori non validi. Su L2 verifica feed uptime, orario di ripristino, grazia e transazioni ritardate. Valuta sul contratto reale i casi di feed obsoleto e di guasto/ripresa. Per distinguere i campi prezzo, consulta mark price e ultimo scambio.

Domande frequenti

Q1Heartbeat significa che il prezzo non è mai più vecchio di quell’intervallo?

No. È un trigger temporale nel disegno del feed, non una garanzia di pubblicazione e inclusione in blocco a un istante esatto né di corrispondenza con il mercato live. Controlla updatedAt e definisci una policy di freschezza adeguata.

Q2Un feed oracle mediano può essere comunque errato?

Sì. La mediana può attenuare alcuni outlier, ma non corregge un problema di fonte condivisa, un mercato poco liquido, una coppia sbagliata o un errore nel codice consumer.

Q3Il feed uptime del sequencer L2 equivale al controllo del prezzo obsoleto?

No. Il feed uptime riporta stato e orario del cambio; il controllo di freschezza confronta updatedAt del prezzo con l’ora corrente. L’applicazione può aver bisogno di entrambi e di un periodo di grazia.

Fonti e approfondimenti

Segnala un problema

Prepareremo un’e-mail con il link a questo articolo. Mark riceverà la segnalazione solo dopo l’invio

Controllo rapido

Hai finito la guida? Verifica ciò che hai capito con 3 domande

Domanda 1 / 3

Domanda 01

Un feed BTC/USD restituisce `6,725,000,000,000` con 8 decimali. Qual è il prezzo scalato?

Scegli una risposta per vedere la spiegazione

Glossario delle opzioni

Esecuzione swap DEXSwap DEX: impatto sul prezzo, slippage, output minimo e rischio MEVScopri come la profondità del pool determina l’impatto previsto, come l’output minimo limita uno swap in attesa e perché una tolleranza ampia può consentire un’esecuzione peggiore.Tre prezzi, tre funzioni diverseMark price e ultimo prezzo nelle crypto: perché la liquidazione può divergereConfronta prezzo indice, mark price e ultimo prezzo negoziato nei perpetual crypto. Scopri quale riferimento può attivare la liquidazione o uno stop e perché differisce dal grafico.Meccanismi delle stablecoinPerché le stablecoin perdono il peg: rimborsi, riserve e rischi per chi le detieneScopri la differenza tra il valore obiettivo di una stablecoin e il suo prezzo di mercato, cosa comporta l’accesso al rimborso e come i rischi legati a riserve, liquidità, custodia e reti possono ampliare uno scostamento dal peg.Meccanica delle opzioniCos'è l'assegnazione di un'opzione?Comprendi come l'assegnazione trasformi una call o put short in un'obbligazione sul titolo, quando può avvenire e come preparare contante e azioniUn numero di contratti consentito non equivale a un budget di rischioLimiti di posizione e limiti di esercizio delle opzioni a confrontoScopri in che modo i limiti di posizione delle opzioni quotate differiscono dai limiti di esercizio, perché contano l'aggregazione sullo stesso lato e la reportistica e perché margin o buying power non indicano se una quantità è consentita