Technology In Depth

Blockchain: cosa sono gli oracoli e perché saranno sempre più importanti

Perché la blockchain possa dialogare con i dati di altre applicazioni diventano sempre più importanti gli oracoli, ossia quella parte di infrastruttura che permette alle Dapp di accedere ai dati off-chain

Pubblicato il 28 Nov 2023

Immagine di Net Vector su Shutterstock

Dopo il consolidamento dell’infrastruttura di Bitcoin, l’introduzione di Ethereum ha aggiunto alla gestione delle transazioni la possibilità di eseguire codice software. Grazie agli smart contract, la blockchain è diventata in grado di processare non solo operazioni finanziarie, ma anche logiche ad eventi. Gli smart contract, però, soffrivano inizialmente di un limite: erano in grado di accedere solo a dati che risiedevano sulla blockchain su cui erano eseguiti, e questo riduceva il loro potenziale impiego nell’iterazione con le altre applicazioni web.

Il problema dei dati esterni

All’inizio gli smart contract potevano gestire solo dati residenti nel proprio ecosistema. La difficoltà nasceva quando uno smart contract aveva bisogno di valutare un’informazione non presente su blockchain, fosse essa finanziaria o di altra natura. Per esempio, una applicazione di scommesse poteva avere bisogno di accedere al risultato di una partita di calcio, oppure un sistema di trading doveva conoscere la quotazione di un asset (per esempio, l’oro) per decidere una strategia di ribilanciamento del portafoglio. Lo sviluppo su blockchain si scontrò con questo limite bloccante, fino a che l’introduzione degli oracoli non rese possibile l’impiego di smart contract ibridi.

Cosa sono gli oracoli su blockchain

Gli oracoli sono entità che collegano le blockchain a sistemi esterni, consentendo così la lettura di dati provenienti dal mondo cloud e l’esecuzione di smart contract in grado di valutare queste informazioni. Questi tipi di smart contract, in grado di accedere anche a dati off-chain, vengono definiti ibridi.

Gli oracoli si comportano come delle vere e proprie API (Application Programming Interface) che gli smart contract possono interrogare per accedere ai dati off-chain. In questo modo uno smart contract può conoscere qualsiasi tipo di informazione (dalla quotazione di un’azione al tempo previsto per domani) e impiegarla nelle sue logiche computazionali. Gli smart contract possono anche avere esigenza di processare informazioni derivanti da device IoT, come ad esempio la temperatura rilevata da un sensore. In questi casi si parla di oracoli hardware, che sono in grado di leggere i dati direttamente dati dai circuiti a basso livello dei device.

Il problema della sicurezza negli oracoli

L’impiego degli oracoli creò alcuni dubbi per via delle implicazioni a livello di privacy e sicurezza. L’oracolo, infatti, essendo una controparte gestita da un terzo, sembrava violare quel presupposto di decentralizzazione del dato su cui si basa la blockchain, ossia il fatto che ogni informazione debba essere condivisa e verificata da tutti i nodi di una stessa rete.

I principali fornitori di oracoli, come ad esempio Chain Link, si sforzarono allora di sviluppare versioni decentralizzate dei loro software, in modo da rendere condivisa la convalida del dato proveniente da una fonte esterna ed attingere per una stessa tipologia di dato a più sorgenti.

Design pattern degli oracoli

Esistono diverse tipologie di oracoli, che si distinguono principalmente in base al design pattern con cui sono state implementate. Gli eventi fondamentali che reggono la logica di un oracolo sono tre: raccogliere i dati dalla sorgente off-chain, trasferire i dati con un messaggio firmato, e renderli fruibili incapsulandoli nel messaggio dello smart contract.

I pattern di design di un oracolo si distinguono in base a due fattori: la frequenza dell’estrazione dei dati e la direzione di flusso dei dati. Le diverse implementazioni hanno dato origine a diversi pattern, come ad esempio “Immediate-Read”, “Inbound Oracle” e molti altri, che vengono scelti in fase di progettazione dell’architettura a seconda delle priorità richieste: ad esempio, un pattern potrebbe favorire una maggiore scalabilità dei nodi, oppure la velocità di esecuzione.

Scenari di impiego degli oracoli

Utilizzati inizialmente solo come vettori di quotazioni per il trading, gli oracoli hanno poi spalancato interessanti scenari applicativi grazie alla loro capacità di agire come ponte tra il mondo cloud e la blockchain. Dal punto di vista di un’applicazione web tradizionale, il valore aggiunto offerto da un oracolo è la sua capacità di trasferire il dato da un ambiente volatile, in cui l’informazione può essere manipolata senza controllo, a un ambiente validato, in cui è possibile eseguire uno snapshot dell’informazione ed essere certi che il suo stato in un preciso momento non possa essere alterato.

Prendiamo per esempio la cartella medica di un paziente, che riepiloga tutte le informazioni sul suo stato di salute e sugli interventi medici subiti. Stiamo parlando di un insieme di dati sensibili che, fino a quando risiede su un server cloud, rimane soggetto a una tracciabilità e a una privacy limitata e alla possibilità di manipolazioni non trasparenti.

Trasferendo queste informazioni su blockchain, invece, diventa possibile garantire al paziente la tracciabilità di tutte le modifiche o dargli la certezza che il contenuto della scheda clinica a una certa data sia in maniera indubitabile quello salvato.

Gli oracoli sono anche uno dei principali attori della rivoluzione RWA (Real World Asset): la possibilità di acquisire dati dal “mondo reale” ha permesso di gestire asset mobiliari e immobiliari sotto forma di token, e trasferire nel codice degli smart contract le logiche relative alle implicazioni finanziarie e legali. Gli oracoli sono studiati perciò con estremo interesse anche dagli sviluppatori cloud e web tradizionali a causa delle loro potenziali applicazioni in ambito medico, scientifico, legale, finanziario e di tutela della proprietà intellettuale.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4