Gli oracoli blockchain sono delle funzionalità create da terze parti per fornire ai contratti intelligenti informazioni esterne. Servono come ponti tra le blockchain e il mondo esterno
Le blockchain e gli smart contract non possono accedere ai dati fuori dalla catena (dati che sono al di fuori della rete). Nonostante questo vincolo, per molti accordi contrattuali, è fondamentale avere informazioni rilevanti dal mondo esterno per mantenere l'accordo pattuito.
Per questo motivo diventano essenziali gli oracoli della blockchain, in quanto garantiscono un collegamento tra i dati off-chain e on-chain. Gli oracoli sono vitali nell'ecosistema blockchain perché ampliano l'ambito in cui gli smart contract possono operare. Senza gli oracoli della blockchain, i contratti intelligenti avrebbero un uso molto limitato in quanto avrebbero accesso solo ai dati all'interno delle loro reti.
È importante sapere che un oracolo blockchain non è la fonte di dati in sé, ma è il sistema che interroga, verifica e autentica le fonti di dati esterne e poi trasmette le informazioni. I dati trasmessi dagli oracoli arrivano in molte forme - informazioni sui prezzi, il completamento di un pagamento, o la temperatura misurata da un sensore.
Alcune tipologie di oracoli non hanno solo la funzione di trasmettere informazioni agli smart contract, ma anche la capacità di rimandarle a fonti esterne.
La modalità in cui un oracolo blockchain opera dipende interamente da ciò per cui è stato progettato.
Gli oracoli blockchain possono essere classificati in base a diverse qualità:
Fonte - i dati provengono dal software o dall'hardware?
Direzione delle informazioni - è in entrata o in uscita?
Fiducia - è centralizzato o decentralizzato?
Un singolo oracolo può rientrare in più categorie. Per esempio, un oracolo che ricava informazioni da un sito web aziendale è un oracolo software centralizzato in entrata.
Un "oracolo" invia dati dal mondo esterno, per esempio la temperatura giornaliera o il numero di voti ricevuti da un candidato politico ecc ecc, ad una blockchain. Questo meccanismo permette agli smart contracts di utilizzare i dati per prendere una decisione se distribuire denaro e a chi.
Un esempio potrebbe essere un'assicurazione che paga solo se vengono soddisfatte alcune condizioni: alla fine di una stagione, un oracolo meteorologico potrebbe informare lo smart contract che ha piovuto solo 10 giorni o meno in questa stagione. Invia quindi questa informazione direttamente allo smart contract per pagare il contadino in quanto il raccolto non ha prodotto i risultati prefissati. Al contrario, se la stagione ha avuto abbastanza pioggia, l'oracolo meteorologico informerà lo smart contract e l'agricoltore non sarà pagato. Senza l'oracolo che trasmette i dati, non ci sarebbe stato modo di regolare l'accordo.
Gli oracoli sono fondamentali per aiutare le aziende che hanno l'intenzione di operare nel mondo delle criptovalute, consentono di comunicare con le persone esterne alla blockchain, permettendo a queste di entrare a farne parte. Ecco quindi che bisogna necessariamente considerare questi servizi come il vero e proprio motore che permette alla blockchain di funzionare in maniera corretta, quindi fare in modo che il risultato possa essere realmente perfetto.
Molte applicazioni Ethereum usano gli oracoli. Il mercato delle previsioni Augur, per esempio, permette ai partecipanti di scommettere su ciò che accadrà in futuro. Per esempio, i partecipanti avrebbero potuto scommettere "sì" o "no" sulla domanda: ""Ronaldo sarà il capocannoniere del campionato del 2020/2021?" Augur userebbe i dati degli oracoli per capire se Ronaldo ha vinto o meno, risolvendo così la scommessa.
Chainlink invece fa degli oracoli una parte centrale delle loro piattaforme, e hanno esplorato vari modi per rendere gli oracoli resistenti alle false informazioni.
Quali sono i problemi con gli oracoli?
Una volta programmato il contratto intelligente è completamente controllato dalla blockchain; nessuna entità ha bisogno di fiducia per eseguire le regole, e nessun intermediario può impedire che la transazione abbia luogo, assumendo che le condizioni del contratto intelligente siano soddisfatte. Il contratto fa semplicemente ciò che è programmato per fare.
Tuttavia, un oracolo è un feed di dati gestito da un'entità; nell'esempio di cui sopra, è un oracolo meteorologico. Blockchains come per esempio quella di Ethereum sono stati creati per allontanarsi da terze parti, eppure un oracolo lo è.
Fidarsi di una fonte di dati può portare a problemi. Il produttore del servizio che fornisce i dati di un oracolo, potrebbe, per esempio, pubblicare dati non corretti al fine di influenzare gli smart contracts per favorire il proprietario del feed dei dati. In alternativa, qualcuno potrebbe violare il feed di dati per influenzare i dati a proprio favore.
I contratti intelligenti che non dipendono dagli oracoli non hanno questo problema.
Detto questo, i ricercatori stanno esplorando vari modi per mitigare questo problema e creare oracoli che sono più decentralizzati o altrimenti protetti contro i cattivi attori. Una di queste aree di ricerca è per i computer oracolo di utilizzare Trusted Execution Environments (TEE), aree speciali di hardware con sicurezza extra, che li rende difficili da manomettere.
Un sistema ben consolidato che aiuta la comunicazione tra gli smart contract e il mondo esterno è fondamentale per l'adozione globale delle blockchain.
Senza gli oracoli delle blockchain, gli smart contracts dovrebbero fare affidamento solo sulle informazioni già all'interno delle loro reti, il che limiterebbe notevolmente le loro capacità.
Gli oracoli decentralizzati hanno tutte le carte in regola per introdurre meccanismi di affidabilità che potrebbero eliminare molti rischi presenti nell'ecosistema blockchain. Gli oracoli blockchain rimangono uno dei blocchi critici da implementare in modo sicuro, affidabile e senza fiducia per la crescita dell'ecosistema blockchain.