Gli oracoli blockchain agiscono da intermediari tra le blockchain e il mondo esterno fornendo agli smart contract informazioni esterne a cui non possono accedere da soli. Questa funzione è fondamentale per molti accordi contrattuali che richiedono informazioni da fonti off-chain per essere eseguiti.
Gli oracoli svolgono un ruolo vitale nell'ecosistema blockchain perché ampliano l'ambito in cui gli smart contract possono operare oltre la loro rete. Senza oracoli, gli smart contract avrebbero funzionalità limitate e potrebbero accedere solo ai dati all'interno della loro rete.
È importante notare che gli oracoli blockchain non sono essi stessi fonti di dati, ma piuttosto livelli che autenticano, verificano e interrogano fonti di dati esterne prima di trasmettere le informazioni. I dati inviati dagli oracoli possono assumere molte forme, come informazioni sui prezzi, la conferma di un pagamento o misure provenienti da sensori.
Per recuperare dati off-chain, lo smart contract deve essere invocato e devono essere utilizzate risorse di rete. Alcuni oracoli sono in grado non solo di trasferire informazioni agli smart contract, ma anche di inviarle nuovamente a sorgenti esterne.
Supponiamo che Emily e David scommettano su chi sarà il vincitore delle elezioni presidenziali USA. Emily crede che il candidato repubblicano vincerà, mentre David crede che sarà il candidato democratico. Concordano i termini della scommessa e bloccano i loro fondi in uno smart contract, che rilascerà tutti i fondi al vincitore in base ai risultati delle elezioni.
Poiché lo smart contract non può interagire con dati esterni, deve dipendere da un oracolo che gli fornisca le informazioni necessarie – in questo caso, i risultati delle elezioni. Dopo la conclusione delle elezioni, l'oracolo interroga un'API affidabile per stabilire quale candidato ha vinto e inoltra queste informazioni allo smart contract. Il contratto quindi invia i fondi a Emily o a David, a seconda dell'esito.
Senza l'oracolo che inoltra i dati, non ci sarebbe modo di risolvere questa scommessa in modo che non potesse essere manipolata da uno dei partecipanti.
Gli oracoli blockchain hanno varie classificazioni a seconda delle loro caratteristiche. Un oracolo può appartenere a più categorie. Per esempio, un oracolo che recupera dati dal sito web di un'azienda è un oracolo software centralizzato in entrata.
Gli oracoli possono essere classificati come in entrata o in uscita, a seconda della direzione del flusso di informazioni.
Un esempio di oracolo in entrata è un sensore che misura la temperatura e inoltra i dati a uno smart contract. Al contrario, un oracolo in uscita può essere rappresentato da una serratura intelligente che si sblocca quando fondi vengono depositati su un indirizzo, con lo smart contract che invia questa informazione tramite un oracolo in uscita al meccanismo che apre la serratura.
Sebbene gli oracoli decentralizzati mirino a raggiungere l'assenza di fiducia (trustlessness), non eliminano la fiducia ma la distribuiscono tra molti partecipanti, analogamente alle reti blockchain senza fiducia.
Garantire l'accuratezza dei dati utilizzati negli smart contract è un ruolo vitale svolto dagli oracoli. Tuttavia, l'integrità di uno smart contract è a rischio se l'oracolo viene compromesso. Gli oracoli non fanno parte del consenso della blockchain, il che li rende vulnerabili ad attacchi. Il conflitto tra oracoli di terze parti e l'esecuzione trustless degli smart contract è una questione complessa ancora irrisolta. Attori malintenzionati possono anche condurre attacchi man-in-the-middle, che consistono nell'intercettare i dati trasmessi tra gli oracoli e il contratto e nell'alterarli o falsificarli.
Affinché le blockchain raggiungano un'adozione diffusa, è necessario un metodo affidabile perché gli smart contract possano interagire con informazioni esterne. Qui entrano in gioco gli oracoli blockchain, poiché consentono una comunicazione sicura tra la blockchain e le fonti di dati esterne. Senza oracoli, gli smart contract sarebbero limitati a usare solo informazioni interne, riducendo drasticamente le loro capacità.
Gli oracoli decentralizzati possono fornire importanti salvaguardie per ridurre i rischi nell'ecosistema blockchain. La loro implementazione in modo sicuro e affidabile è essenziale per la crescita continua dell'ecosistema blockchain. In generale, gli oracoli blockchain sono un componente critico necessario per l'adozione e l'uso più ampio della tecnologia blockchain.