In questa guida parliamo di oracoli blockchain (o blockchain oracles), alcuni componenti fondamentali per il funzionamento delle applicazioni decentralizzate.
Gli oracoli sono delle entità, che possono essere software e hardware, in grado di permettere l’accesso a fonti dati esterne alla blockchain. Sono il ponte che permette alle applicazioni che girano sulla blockchain di interagire con il mondo esterno.
In questa guida cercheremo di capire il funzionamento di un oracolo e perché è importante per le applicazioni decentralizzate ma anche per la Defi.
Sommario
- 1 Che cos’è un oracolo nella blockchain?
- 2 Blockchain Oracle: riepilogo
- 3 Migliori piattaforme per investire in criptovalute
- 4 Perchè è necessario un Oracolo nella Blockchain?
- 5 Tipologie di oracoli
- 6 Tipologie di Oracoli per struttura
- 7 Tipologie di Oracoli nella blockchain (Blockchain Oracles)
- 8 Oracoli di Input / Output
- 9 Oracoli Cross Chain
- 10 Come funziona un oracolo?
- 11 Esempi di utilizzo degli oracoli decentralizzati
- 12 Oracoli crypto: video
- 13 Oracoli Blockchain: le domande frequenti
- 14 Conclusioni
Che cos’è un oracolo nella blockchain?
Come sappiamo la blockchain è un database o registro distribuito su più nodi (o computer) in rete, in cui vengono archiviate delle transazioni.
Questa ha accesso solo a dati che si trovano all’interno della rete, dunque può avere accesso ad una serie di funzioni “limitate”. Ampliando la quantità di dati a cui può accedere crescono le potenzialità e funzionalità delle applicazioni che la utilizzano. Ed è qui che entrano in gioco gli oracolo.
Un oracolo blockchain è un componente middleware dell’architettura che consente di interfacciarsi con la blockchain per l’invio di dati esterni (off chain). In buona sostanza è in grado di catturare dati da varie fonti dati per poi impacchettarli e fornirli alla blockchain in un formato “comprensibile”.
Gli smart contract sono stati introdotti per estendere la funzionalità di una blockchain ma sono in alcuni casi limitati. Sono dei contratti intelligenti o software che eseguono azioni sulla blockchain, ma hanno bisogno di qualcosa per l’accesso a dati esterni.
Gli oracoli sono molto utili per gli smart contract in quanto costituiscono la base delle applicazioni decentralizzate. Molte Dapps non sarebbero in grado di funzionare senza l’accesso ad alcuni dati, pensiamo banalmente alle quotazioni delle criptovalute.
Un oracolo, quindi, non rappresenta il dato in sé ma funziona da interfaccia in grado di scambiare dati trasmettendo e ricevendo informazioni dagli smart contract.
Ovviamente un oracolo deve essere affidabile e deve essere in grado di fornire informazioni che arrivano da fonti attendibili, altrimenti costituisce un problema per la sicurezza. Un oracolo che viene compromesso, di fatto compromette anche lo smart contract con cui comunica.
Blockchain Oracle: riepilogo
👍 Cosa è | Entità, software e hardware, in grado di permettere l’accesso a fonti dati esterne alla blockchain |
✅ Caratteristiche | Reputazione / Fonti dati esterne / API Software |
💰Utilizzati da | Applicazioni decentralizzate / Gaming / Web3 |
🥇Migliore piattaforma per fare trading su crypto | eToro |
🥇Miglior exchange per comprare crypto | Crypto.com |
Migliori piattaforme per investire in criptovalute
Prima di vedere quelle che sono le caratteristiche principali di un blockchain oracle vi segnaliamo alcune delle piattaforme certificate per investire sulle criptovalute:
Perchè è necessario un Oracolo nella Blockchain?
Abbiamo visto in precedenza che, l’utilizzo di un oracolo, si rende necessario a causa delle limitazioni degli smart contract.
Uno smart contract, infatti, non può interagire con dati e sistemi esistenti al di fuori dell’ambiente (blockchain nativa) in cui vive e opera.
Al di fuori abbiamo un ambiente off-chain ricco di dati. Si parla infatti spesso di dati on-chain ad indicare i dati memorizzati e disponibili su una blockchain.
Ma perché queste limitazioni? Una blockchain è progettata per essere sicura ed inattaccabile dall’esterna dunque è stata creta “volutamente” in modo isolato rispetto al mondo esterno.
Questo costituisce un punto di forza, ma anche il suo principale limite in quanto non può comunicare con i dati off chain del mondo reale.
Per questo motivo è nata la necessità di ampliare lo spettro delle applicazioni possibili in modo da garantire l’interoperabilità. E questa viene ottenuta introducendo un elemento dell’infrastruttura aggiuntiva che fa da tramite, appunto gli oracoli.
Tutte le applicazioni Defi che conosciamo oggi richiedono l’accesso ai dati del mondo reale e dunque usano gli oracoli.
Un oracolo dunque è un elemento architetturale fondamentale e necessario per l’accesso alle risorse off chain. Gli sviluppi di questi anni vanno in una direzione be precisa: integrare i contratti intelligenti e gli oracoli per sviluppare applicazioni (dapps) in grado di fare cose sempre più sofisticate.
Gli esempi di applicazioni di oracoli sono tantissimi. Pensiamo ad esempio alle informazioni del meteo, ai prezzi degli asset finanziari, ai giochi, ai sensori di rilevazione hardware e tanti altri.
E’ fondamentale che l’oracolo fornisca dati attendibili ai contratti intelligenti in modo che il funzionamento sia corretto e l’accordo venga eseguito nel modo giusto.
Tipologie di oracoli
Vediamo allora quali sono le tipologie di oracoli esistenti per poi arrivare a quelli che utilizziamo per le applicazioni decentralizzate.
Oracoli Hardware
Un oracolo hardware, è un entità che è in grado di estrarre dati da dispositivi fisici del mondo reale. Pensiamo ad esempio a tutti i dispositivi di domotica o IOT.
Ad esempio ci sono dispositivi che usiamo ogni giorno come i lettori di codice a barre o i vari sensori di temperatura che usiamo nelle nostre case. Un altro esempio può essere quelle delle catene di imballaggio come gli stabilimenti Amazon in cui probabilmente c’è un dispositivo che scansiona le scatole per segnalare che tutto è stato fatto correttamente.
In base a queste informazioni l’oracolo può decidere di compiere una determinata azione piuttosto che un’altra.
Oracoli Software
L’esempio più diffuso di oracolo è quello dell’oracolo software. Si tratta di un software appunto in grado di estrarre dati da fonti online ed aggregarli, ad esempio da pagine web.
Tra gli esempi abbiamo i dati relativi al meteo, i pressi delle criptovalute, i dati sullo stato patrimoniale di un’azienda quotata in Borsa e via dicendo.
Gli oracoli software sono collegati alla rete Internet e dunque sono in grado di fornire informazioni in tempo reale, cosa che uno smart contract non può fare.
Per questo motivo molte applicazioni decentralizzate, per poter funzionare correttamente, hanno bisogno di questi dati che si aggiornano.
Tipologie di Oracoli per struttura
Possiamo fare ancora una distinzione ulteriore in base alla struttura dell’oracolo. Ovvero ci possono essere oracoli che funzionano in modo centralizzato o decentralizzato.
Vediamo in breve le principali differenze.
Oracolo centralizzato
Un oracolo centralizzato consente di scambiare informazioni che provengono da un’unica entità centrale. Questo comporta un rischio evidente che deriva dal concentrare le informazioni in un unico punto (single point of failure).
Tutto questo avviene perché se l’oracolo dovesse essere hackerato, o andasse offline o avesse qualunque tipo di problema, il resto delle applicazioni non funzionerebbe correttamente. Inoltre basta che questo sia attaccato per diventare completamente inutilizzabile.
Se un oracolo va offline, gli smart contract che lo utilizzano non potranno accedere ai dati necessari per l’esecuzione delle funzioni oppure funzionerà in modo non coerente.
Peggio ancora se le informazioni fornite sono errate a causa di un hacking gli smart contract possono produrre risultati inaspettati. Ricordiamo anche che le transazioni eseguite su blockchain sono immutabili dunque utilizzare un oracolo centralizzato nelle applicazioni decentralizzate comporterebbe rischi troppo elevati per la sicurezza.
Oracolo decentralizzato
Un oracolo decentralizzato, come avrete capito, è distribuito su più nodi e dunque aggrega dati da più fonti di informazione.
In questo caso l’oracolo può essere attaccato in più punti, ma la maggiore decentralizzazione assicura una maggiore integrità dei dati che possono sopperire al mancato funzionamento di parte dei nodi.
Analogamente gli smart contract possono servirsi di più oracoli decentralizzati per raggiungere il consenso sulle informazioni ed i dati che vogliono ottenere. Un po’ come la blockchain che ha bisogno di un consenso “distribuito” per validare le transazioni.
E’ quindi quasi necessario che gli oracoli siano decentralizzati per evitare che i dati possano essere manipolati o imprecisi o che ci siano ritardi nell’approvvigionamento.
Nel corso degli anni sono nate così delle reti di oracoli decentralizzate, che aggregano i dati da più nodi e da più fonti impacchettando poi i risultati finali e rendendoli accessibili dagli smart contract.
E’ quello che fa la rete di Chainlink, la più famosa rete di oracoli decentralizzata usata praticamente da moltissime applicazioni crypto.
Ad esempio Chainlink sfrutta vari livelli di decentralizzazione per eliminare i point of failure e garantire un servizio accurato e di qualità. Ad esempio i suoi servizi sui prezzi derivano da varie fonti di dati e consentono di garantire il corretto funzionamento di molte Dapps. Un errato funzionamento metterebbe a rischio la sicurezza i fondi di milioni di clienti che utilizzano le applicazioni decentralizzate.
Vedremo in un approfondimento ulteriore come Chainlink ottiene questo obiettivo ed il suo funzionamento.
Tipologie di Oracoli nella blockchain (Blockchain Oracles)
Abbiamo visto che nelle applicazioni che usano la blockchain bisogna utilizzare gli oracoli decentralizzati.
Questi possono essere di vario tipo e assolvono numerose funzioni. Gli smart contract hanno bisogno non solo di dati aggregati, ma anche di meccanismi che consentano di raggiungere il consenso e la consegna dei dati. Per questo motivo possiamo avere vari tipi di oracolo nella blockchain, vediamo i principali.
Oracoli di Input / Output
Come dice il nome stesso possiamo avere due tipi di oracolo.
Oracoli di input che si occupano di reperire i dati al di fuori della blockchain (off-chain) e darli in pasto o in input (ingresso) agli smart contract che si occuperanno dell’elaborazione. Esempi tipici sono quegli oracoli che forniscono i prezzi e permettono agli smart contract delle applicazioni Defi di accedere ai dati dei mercati finanziari.
Oracoli di output che invece prendono i dati dagli smart contract ed eseguono azioni al di fuori della blockchain (off chain) in base a quanto ricevono. Classici esempi possono essere dati da inviare ad un circuito di pagamento o la segnalazione a servizi esterni che devono compiere determinate azioni, ad esempio archiviare dati in archivi esterni.
Oracoli Cross Chain
Ci sono poi degli oracoli cross chain che possono comunicare con smart contract e blockchain eterogenee.
Come sappiamo, molte blockchain hanno strutture e protocolli diversi. Non solo. Gli smart contract spesso sono scritti in linguaggi di programmazione diversi e non sono in grado di comunicare tra loro. Ad esempio gli smart contract di Ethereum sono scritti in Solidity, quelli di Solana in Rust.
Un oracolo cross chain è in grado di aggregare informazioni provenienti da fonti diverse, tra cui anche blockchain diverse. Questi consentono l’interoperabilità ovvero permettono la comunicazione e l’utilizzo di dati su un’altra blockchain per compiere una determinata azione.
Ad esempio Chainlink fornisce una rete di oracoli cross chain in grado di funzionare su qualsiasi blockchain o quasi.
Come funziona un oracolo?
Il funzionamento di un oracolo è dunque complesso e si può racchiudere in alcune fasi:
- Raccolta dei dati off-chain fa varie fonti di informazione
- Aggregazione dei dati ed invio sulla blockchain tramite transazioni sicure e firmate
- Consegna dei dati “finiti” ad uno smart contract
Nel momento in cui i dati vengono memorizzati dallo smart contract altri processi o smart contract possono accedere a questi dati tramite le funzioni dell’oracolo. Ad esempio alcuni nodi di Ethereum effettuano queste chiamate alle funzioni dell’oracolo per accedere ai dati.
Poichè i dati possono cambiare frequentemente (ad esempio i prezzi delle quotazioni), l’oracolo viene interrogato frequentemente da uno smart contract on chain che si occupa degli aggiornamenti.
Esempi di utilizzo degli oracoli decentralizzati
Un oracolo è dunque un elemento fondamentale che fa da collegamento tra il mondo reale (off chain) e quello della blockchain. Oggi i servii di un oracolo vengono utilizzati da moltissime applicazioni decentralizzate (Dapps) presenti sul mercato.
Dove vengono impiegati allora gli oracoli decentralizzati? Vediamo le applicazioni più comuni.
Applicazioni Defi (finanza decentralizzata)
Tutte le applicazioni Defi che siamo abituati ad utilizzare richiedono degli oracoli per l’accesso ai dati finanziari.
Protocolli su Ethereum come Uniswap o gli automated market maker (AMM) utilizzano gli oracoli dei prezzi per poter compiere determinate azioni come gestire la liquidità del protocollo o calcolare gli interessi APY delle pool di liquidità.
Le piattaforme di lending & borrowing devono ad esempio verificare se le posizioni degli utenti sono solventi e dunque capire quando queste sono a rischio liquidazione.
Oppure ricordiamo applicazioni che offrono i token sintetici come Syntetix o Mirror Protocol che devono legare il prezzo di un’azione tokenizzata al proprio token interno.
Gaming ed NFT
Ci sono anche altre applicazioni in cui gli oracoli sono utili come le applicazioni di gaming e gli NFT.
Ad esempio piattaforme come OpenSea o marketplace NFT possono far mutare il valore di un NFT in base a condizioni esterne. Oppure una applicazione di gaming (es: Star Atlas) potrebbe voler introdurre dei cambiamenti al valore delle navi in base ai punteggi ottenuti o eventi esterni che dovessero accadere.
Una piattaforma potrebbe ad esempio utilizzare dei token NFT da generare al momento per compiere azioni di gioco in base ad esempio al meteo o a dati esterni.
Insomma possiamo inventare mille situazioni in cui c’è la necessità di accedere a dati off chain, e questo lo può fare solo un oracolo.
Eventi Sportivi
Gli eventi sportivi possono essere un’altra interessante applicazione. Ad esempio delle applicazioni sportive che funzionano su blockchain potrebbero voler accedere ai dati sportivi per attivare funzioni specificiche.
Assicurazioni
Alcuni smart contract che operano in ambito assicurativo hanno bisogno di oracoli di input per verificare alcuni dati in caso di sinistro come ad esempio i dati provenienti dai box, da sensori fisici, dati dal web e via dicendo.
Oppure un oracolo potrebbe fornire agli smart contract un modo per fare i pagamenti dei sinistri magari utilizzando altre blockchain (in modo dunque cross chain).
Insomma le applicazioni sono davvero infinite.
Oracoli crypto: video
Per concludere vi segnaliamo un video sul nostro canale YouTube che spiega come funziona un Oracolo Crypto, perchè è importante per tutti i progetti e applicazioni decentralizzate. Qualche cenno inoltre al funzionamento di Chainlink che rappresenta la più grande rete di oracoli decentralizzata del mondo:
Oracoli Blockchain: le domande frequenti
Un oracolo blockchain è software in grado di permettere l’accesso a fonti dati esterne alla blockchain, in modo dunque off chain.
Gli smart contract sono in grado di eseguire azioni ma girano su blockchain quindi non hanno accesso ai dati esterni. Un oracolo è in grado di inviare queste informazioni (off chain) comunicando con gli smart contract.
Gli oracoli vengono utilizzati in moltissime applicazioni come quelle defi (finanza decentralizata), nel gaming, nelle assicurazioni, negli eventi sportivi, per i dati metereologici ed in tantissime applicazioni.
Conclusioni
In questa guida abbiamo visto come funzionano gli oracoli nella blockchain e perché il loro uso è fondamentale per il funzionamento delle applicazioni decentralizzate.
La rete più importante di oracoli decentralizzata del mondo è fornita da Chainlink, un progetto di cui si parla poco ma che è di vitale importanza per molte applicazioni Defi.
Se volete investire in criptovalute vi ricordiamo sempre di fare le vostre analisi ed utilizzare le piattaforme regolamentate.
Per iniziare è fondamentale partire a fare pratica con le demo. Vi lasciamo con i link ufficiali che sono mediati dal server di WebEconomia in modo da garantire l’accesso sicuro:
- Accedi al conto demo di eToro facendo click qui.
- Apri il tuo conto demo su XTB Broker da qui.
- Accedi al conto di trading demo proposto da AvaTrade qui.
Sono le migliori piattaforme con conti demo illimitati e sopratutto gratuiti per sempre.