> ## Documentation Index
> Fetch the complete documentation index at: https://docs.intention.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Oracolo

> Come un prezzo indice viene prodotto dai dati delle sedi di negoziazione, certificato dai validatori e confermato nel blocco che lo consuma.

Intention non usa un comitato di oracoli esterno. **Il set di validatori è l'oracolo.** Ogni validatore produce la propria visione del prezzo di ogni strumento, la firma, e la rete certifica un risultato nello stesso evento di consenso che conferma le transazioni regolate contro quel risultato.

I passi distinti sono due, e rispondono a domande diverse. L'aggregazione chiede *quanto vale questo strumento* e avviene per singolo validatore, fuori dal percorso di consenso. La certificazione chiede *quanto la rete concorda che valesse in questo round* e avviene dentro il consenso.

<div className="dg" data-dg="oracle-path">
  <div className="dg-c" style={{aspectRatio:"720 / 316"}}>
    <svg className="dg-w" viewBox="0 0 720 316" aria-hidden="true">
      <path className="dg-wire" d="M 176.00 90.00 L 176.00 101.60" />

      <path className="dg-head" d="M 176.00 108.00 L 171.60 101.60 L 180.40 101.60 Z" />

      <path className="dg-wire" d="M 176.00 152.00 L 176.00 163.60" />

      <path className="dg-head" d="M 176.00 170.00 L 171.60 163.60 L 180.40 163.60 Z" />

      <path className="dg-wire" d="M 550.00 90.00 L 550.00 101.60" />

      <path className="dg-head" d="M 550.00 108.00 L 545.60 101.60 L 554.40 101.60 Z" />

      <path className="dg-wire" d="M 550.00 152.00 L 550.00 163.60" />

      <path className="dg-head" d="M 550.00 170.00 L 545.60 163.60 L 554.40 163.60 Z" />

      <path className="dg-wire dg--blue" d="M 341.00 130.00 L 384.60 130.00" />

      <path className="dg-head dg--blue" d="M 391.00 130.00 L 384.60 134.40 L 384.60 125.60 Z" />

      <path className="dg-wire dg--green" d="M 550.00 222.00 L 550.00 235.60" />

      <path className="dg-head dg--green" d="M 550.00 242.00 L 545.60 235.60 L 554.40 235.60 Z" />
    </svg>

    <div className="dg-band" style={{left:"0.0000%",top:"8.2278%",width:"48.8889%",height:"62.0253%"}}><span className="dg-cap">Per validatore — fuori dal consenso</span></div>
    <div className="dg-band" style={{left:"52.7778%",top:"8.2278%",width:"47.2222%",height:"62.0253%"}}><span className="dg-cap">Dentro il consenso</span></div>
    <div className="dg-b" style={{left:"2.2222%",top:"15.8228%",width:"44.4444%",height:"11.3924%"}}><span className="dg-t">Sedi di negoziazione</span></div>
    <div className="dg-b dg--sky" style={{left:"2.2222%",top:"35.4430%",width:"44.4444%",height:"11.3924%"}}><span className="dg-t">Sidecar oracolo</span><span className="dg-s">uno per validatore</span></div>
    <div className="dg-b dg--blue" style={{left:"2.2222%",top:"55.0633%",width:"44.4444%",height:"11.3924%"}}><span className="dg-t">Il validatore valida e firma</span></div>
    <div className="dg-b dg--blue" style={{left:"55.0000%",top:"15.8228%",width:"42.7778%",height:"11.3924%"}}><span className="dg-t">Gossip tra validatori</span></div>
    <div className="dg-b dg--green" style={{left:"55.0000%",top:"35.4430%",width:"42.7778%",height:"11.3924%"}}><span className="dg-t">Certificati per epoch e round</span></div>
    <div className="dg-b dg--green" style={{left:"55.0000%",top:"55.0633%",width:"42.7778%",height:"11.3924%"}}><span className="dg-t">Portati nel blocco</span></div>
    <div className="dg-b dg--green dg-left" style={{left:"0.0000%",top:"77.8481%",width:"100.0000%",height:"17.7215%"}}><span className="dg-t">Kernel — prezzo mark · margine · liquidazione · funding</span><span className="dg-s">regola contro i prezzi confermati nello stesso evento di consenso</span></div>
  </div>
</div>

<h2 id="producing-an-index-price">
  Produrre un prezzo indice
</h2>

Ogni validatore esegue il proprio sidecar dell'oracolo, che raccoglie dati da più sedi di negoziazione e li riduce a un prezzo indice per strumento. La riduzione non è una semplice media, e non lo è per scelta: una media si sposta banalmente per colpa di una sola fonte sbagliata.

<div className="dg" data-dg="oracle-aggregate">
  <div className="dg-c" style={{aspectRatio:"720 / 236"}}>
    <svg className="dg-w" viewBox="0 0 720 236" aria-hidden="true">
      <path className="dg-wire" d="M 100.67 84.00 L 114.27 84.00" />

      <path className="dg-head" d="M 120.67 84.00 L 114.27 88.40 L 114.27 79.60 Z" />

      <path className="dg-wire" d="M 225.33 84.00 L 238.93 84.00" />

      <path className="dg-head" d="M 245.33 84.00 L 238.93 88.40 L 238.93 79.60 Z" />

      <path className="dg-wire" d="M 350.00 84.00 L 363.60 84.00" />

      <path className="dg-head" d="M 370.00 84.00 L 363.60 88.40 L 363.60 79.60 Z" />

      <path className="dg-wire" d="M 474.67 84.00 L 488.27 84.00" />

      <path className="dg-head" d="M 494.67 84.00 L 488.27 88.40 L 488.27 79.60 Z" />

      <path className="dg-wire" d="M 599.33 84.00 L 612.93 84.00" />

      <path className="dg-head" d="M 619.33 84.00 L 612.93 88.40 L 612.93 79.60 Z" />
    </svg>

    <div className="dg-b dg--sky" style={{left:"0.0000%",top:"12.7119%",width:"13.4259%",height:"45.7627%"}}><span className="dg-t">Filtro</span><span className="dg-s">valori non finiti e malformati</span></div>
    <div className="dg-b dg--sky" style={{left:"17.3148%",top:"12.7119%",width:"13.4259%",height:"45.7627%"}}><span className="dg-t">Mediana</span><span className="dg-s">tra le fonti</span></div>
    <div className="dg-b dg--sky" style={{left:"34.6296%",top:"12.7119%",width:"13.4259%",height:"45.7627%"}}><span className="dg-t">Clamp</span><span className="dg-s">ogni fonte a mediana ± banda</span></div>
    <div className="dg-b dg--sky" style={{left:"51.9444%",top:"12.7119%",width:"13.4259%",height:"45.7627%"}}><span className="dg-t">Peso</span><span className="dg-s">per spread e stabilità</span></div>
    <div className="dg-b dg--sky" style={{left:"69.2593%",top:"12.7119%",width:"13.4259%",height:"45.7627%"}}><span className="dg-t">Tetto</span><span className="dg-s">per livello della sede</span></div>
    <div className="dg-b dg--green" style={{left:"86.5741%",top:"12.7119%",width:"13.4259%",height:"45.7627%"}}><span className="dg-t">Prezzo indice</span></div>
    <div className="dg-b dg-dashed dg-left" style={{left:"0.0000%",top:"69.4915%",width:"100.0000%",height:"26.2712%"}}><span className="dg-t">Quest'ordine conta</span><span className="dg-s">Il filtro viene per primo: un solo valore infinito che sopravvive fino a una mediana o a una somma pesata contamina tutto ciò che segue. Il clamp, invece di scartare, tiene contate tutte le fonti ma limita quanto ciascuna può tirare.</span></div>
    <div className="dg-free" style={{left:"0.0000%",top:"0.0000%",width:"100.0000%"}}><div className="dg-n">Non una semplice media — basta una fonte sbagliata a spostarla</div></div>
  </div>
</div>

**Filtro.** I valori non finiti e malformati vengono scartati prima che possano toccare qualcosa a valle. Quest'ordine conta: un solo valore infinito che sopravvive fino a una mediana o a una somma pesata contamina l'intero risultato.

**Clamp sulla mediana.** Viene presa una mediana tra le fonti, e ogni fonte viene poi vincolata entro una banda intorno alla mediana. La banda è per strumento, più stretta dove il mercato è più profondo:

| Classe di strumenti     | Banda intorno alla mediana |
| ----------------------- | -------------------------- |
| Cripto major (BTC, ETH) | 1%                         |
| Stablecoin              | 0,5%                       |
| Altri                   | 3%                         |

Una fonte che quota fuori dalla propria banda non viene scartata: viene tirata al bordo della banda. La distinzione conta: scartare permette a un attaccante di ridurre il campione, mentre il clamp tiene contate tutte le fonti ma limita quanto ciascuna può tirare.

**Peso per qualità, poi tetto.** Le fonti vincolate vengono combinate con una media pesata anziché in parti uguali. Il peso cresce con la qualità della quotazione — uno spread più stretto conta di più — e con la stabilità, misurata confrontando il volume recente con una media giornaliera di più lungo periodo, così una sede con un picco di volume anomalo non ne guadagna influenza.

I pesi vengono poi limitati da un tetto per livello della fonte, così nessuna singola sede può dominare il risultato per quanto buone possano sembrare le sue quotazioni:

| Livello           | Tetto al peso |
| ----------------- | ------------- |
| Sedi di livello 1 | 0,45          |
| Sedi di livello 2 | 0,35          |

Gli strumenti quotati in valute incrociate vengono convertiti in una valuta di quotazione comune prima di tutto questo, così la mediana viene presa su numeri confrontabili e non su denominazioni miste.

<Note>
  Ogni costante qui è una decisione di policy, non una costante di natura. Bande di deviazione, assegnazioni di livello e tetti al peso sono configurazione, e sono le leve che vengono tarate quando il comportamento di una sede cambia o viene aggiunta una nuova fonte.
</Note>

<h2 id="certifying-it">
  Certificarlo
</h2>

Il prezzo indice che un sidecar produce è l'opinione di un singolo validatore. È nel consenso che diventa qualcosa contro cui la rete può regolare.

Il validatore preleva il prezzo dal proprio sidecar e **lo valida prima di firmarlo** — compresa la freschezza rispetto a una soglia configurata, così un sidecar in stallo non produce alcun invio invece di produrne uno vecchio. Firma poi i dati di prezzo e diffonde in gossip l'invio firmato agli altri validatori come messaggio della rete di consenso.

I prezzi certificati vengono assemblati per epoch e round e portati nella proposta di blocco. Le firme che confermano le transazioni del blocco confermano quindi anche i prezzi contro cui quelle transazioni sono state regolate: non c'è una transazione dell'oracolo separata, e non c'è alcuna finestra tra la pubblicazione di un prezzo e il suo utilizzo.

**Un validatore non può proporre un blocco senza osservazioni di prezzo valide per il round.** La disponibilità del prezzo è una precondizione della produzione dei blocchi, non un input che l'esecuzione spera di trovare.

<h2 id="index-price-and-mark-price">
  Prezzo indice e prezzo mark
</h2>

Il prezzo certificato è il **prezzo indice**: la visione che la rete ha del mercato esterno. Non è il prezzo a cui le operazioni vengono eseguite.

Il [kernel](/it/protocol/architecture/kernel) ne deriva un **prezzo mark**, smorzato e limitato in modo che una breve dislocazione dell'indice non si propaghi a cascata in liquidazioni. Il prezzo mark è ciò che margine, liquidazione e funding usano davvero. Vedi [Prezzo mark](/it/trading/mark-price) e [Prezzo indice](/it/trading/index-price) per la prospettiva lato trading.

<h2 id="what-this-does-and-does-not-guarantee">
  Che cosa garantisce e che cosa no
</h2>

Garantisce che il prezzo contro cui una transazione è stata regolata sia stato certificato da un quorum di validatori nel round che ha confermato la transazione, e che nessun percorso di esecuzione avrebbe potuto leggerne uno diverso.

Non garantisce che il prezzo fosse giusto. Se le sedi su cui un indice è costruito sono a loro volta sbagliate — per un movimento coordinato su più sedi insieme o per una dislocazione di tutto il mercato — il clamp e la pesatura limitano quanto una singola fonte può spostare il risultato, ma non possono fabbricare informazione che il mercato non aveva.

<Warning>
  Il prezzo è l'input esterno più determinante del sistema di trading. Qui la resistenza alla manipolazione è una questione di grado, non una proprietà binaria. Vedi [Informativa sui rischi](/it/protocol/security/risks) per ciò che resta esposto.
</Warning>

<h2 id="where-to-go-next">
  Dove proseguire
</h2>

<CardGroup cols={2}>
  <Card title="IntentionBFT" href="/it/protocol/architecture/intention-bft">
    Come la certificazione viene legata alle stesse firme che confermano il blocco.
  </Card>

  <Card title="Stanza di compensazione" href="/it/protocol/architecture/clearinghouse">
    Che cosa fanno margine, liquidazione e funding con il prezzo.
  </Card>

  <Card title="Prezzo mark" href="/it/trading/mark-price">
    Come l'indice diventa il numero che muove le posizioni.
  </Card>

  <Card title="Informativa sui rischi" href="/it/protocol/security/risks">
    Dove resta il rischio di prezzo e quanto può costare.
  </Card>
</CardGroup>
