Invio alla community - Autore: Vallery Mou


Cos’è un oracolo blockchain?

Gli oracoli blockchain sono servizi di terze parti che forniscono contratti intelligenti con informazioni esterne. Fungono da ponti tra blockchain e il mondo esterno.

Blockchain e contratti intelligenti non possono accedere ai dati fuori catena (dati al di fuori della rete). Tuttavia, per molti accordi contrattuali, è fondamentale disporre di informazioni rilevanti dal mondo esterno per eseguire l’accordo.

È qui che entrano in gioco gli oracoli blockchain, poiché forniscono un collegamento tra i dati off-chain e on-chain. Gli oracoli sono vitali all’interno dell’ecosistema blockchain perché ampliano l’ambito in cui possono operare i contratti intelligenti. Senza gli oracoli blockchain, i contratti intelligenti avrebbero un utilizzo molto limitato poiché avrebbero accesso solo ai dati all’interno delle loro reti.

È importante notare che un oracolo blockchain non è la fonte dati stessa, ma piuttosto il livello che interroga, verifica e autentica fonti dati esterne e quindi trasmette tali informazioni. I dati trasmessi dagli oracoli si presentano in molte forme: informazioni sui prezzi, il completamento con successo di un pagamento o la temperatura misurata da un sensore.

Per richiamare dati dal mondo esterno è necessario invocare il contratto intelligente e spendere le risorse di rete. Alcuni oracoli hanno anche la capacità non solo di trasmettere informazioni ai contratti intelligenti, ma anche di rimandarle a fonti esterne.

Esistono molti tipi diversi di oracoli: il modo in cui funziona un oracolo blockchain dipende interamente dallo scopo per cui è progettato. Questo articolo esaminerà alcuni di questi progetti.


Esempio di oracolo blockchain

Supponiamo che Alice e Bob scommettano su chi sarà il vincitore delle elezioni presidenziali americane. Alice crede che il candidato repubblicano vincerà, mentre Bob crede che il democratico sarà il vincitore. Concordano i termini della scommessa e bloccano i loro fondi in un contratto intelligente, che rilascerà tutti i fondi al vincitore in base ai risultati delle elezioni.

Poiché il contratto intelligente non può interagire con dati esterni, deve dipendere da un oracolo che gli fornisca le informazioni necessarie – in questo caso, i risultati delle elezioni presidenziali. Al termine delle elezioni, l'oracolo interroga un'API affidabile per scoprire quale candidato ha vinto e trasmette queste informazioni allo smart contract. Il contratto invia quindi i fondi ad Alice o Bob, a seconda del risultato.

Senza l’oracolo che trasmettesse i dati, non ci sarebbe stato modo di regolare questa scommessa in un modo che non potesse essere giocato da uno dei partecipanti.


Quali sono i diversi tipi di oracoli blockchain?

Gli oracoli blockchain possono essere classificati in base a una serie di qualità diverse:

  • Fonte: i dati provengono da software o hardware?

  • Direzione delle informazioni: in entrata o in uscita?

  • Fiducia: è centralizzata o decentralizzata?

Un singolo oracolo può rientrare in più categorie. Ad esempio, un oracolo che ricava informazioni da un sito Web aziendale è un oracolo software in entrata centralizzato.


Oracoli software

Gli oracoli software interagiscono con le fonti di informazione online e le trasmettono alla blockchain. Queste informazioni possono provenire da database online, server, siti Web – essenzialmente, qualsiasi fonte di dati sul Web.

Il fatto che gli oracoli software siano connessi a Internet non solo consente loro di fornire informazioni ai contratti intelligenti, ma anche di trasmettere tali informazioni in tempo reale. Questo li rende uno dei tipi più comuni di oracoli blockchain.

Le informazioni generalmente fornite dagli oracoli software possono includere tassi di cambio, prezzi di asset digitali o informazioni sui voli in tempo reale.


Oracoli hardware

Alcuni contratti intelligenti devono interfacciarsi con il mondo reale. Gli oracoli hardware sono progettati per ottenere informazioni dal mondo fisico e renderle disponibili ai contratti intelligenti. Tali informazioni potrebbero essere trasmesse da sensori elettronici, lettori di codici a barre e altri dispositivi di lettura delle informazioni.

Un oracolo hardware essenzialmente “traduce” gli eventi del mondo reale in valori digitali che possono essere compresi dai contratti intelligenti.

Un esempio di ciò potrebbe essere un sensore che controlla se un camion che trasporta merci è arrivato a una zona di carico. In tal caso, trasmette le informazioni a un contratto intelligente che può quindi eseguire decisioni basate su di esse.

Se desideri saperne di più su un argomento simile, dai un'occhiata a Casi d'uso della Blockchain: catena di fornitura.


Oracoli in entrata e in uscita

Gli oracoli in entrata trasmettono informazioni da fonti esterne ai contratti intelligenti, mentre gli oracoli in uscita inviano informazioni dai contratti intelligenti al mondo esterno.

Un esempio di oracolo in entrata è quello che comunica a un contratto intelligente quale temperatura viene misurata da un sensore. Un esempio di oracolo in uscita può essere considerato con uno smart lock. Se i fondi vengono depositati a un indirizzo, il contratto intelligente invia queste informazioni tramite un oracolo in uscita a un meccanismo che sblocca la serratura intelligente.


Oracoli centralizzati e decentralizzati

Un oracolo centralizzato è controllato da una singola entità ed è l’unico fornitore di informazioni per il contratto intelligente. Utilizzare una sola fonte di informazione può essere rischioso: l’efficacia del contratto dipende interamente dall’entità che controlla l’oracolo. Inoltre, qualsiasi interferenza dannosa da parte di un cattivo attore avrà un impatto diretto sul contratto intelligente. Il problema principale degli oracoli centralizzati è l’esistenza di un singolo punto di errore, che rende i contratti meno resistenti alle vulnerabilità e agli attacchi.

Gli oracoli decentralizzati condividono alcuni degli stessi obiettivi delle blockchain pubbliche: evitare il rischio di controparte. Aumentano l’affidabilità delle informazioni fornite ai contratti intelligenti non facendo affidamento su un’unica fonte di verità. Il contratto intelligente interroga più oracoli per determinare la validità e l’accuratezza dei dati: ecco perché gli oracoli decentralizzati possono anche essere definiti oracoli di consenso.

Alcuni progetti blockchain forniscono servizi Oracle decentralizzati ad altri blockchain. Gli oracoli decentralizzati possono essere utili anche nei mercati di previsione, dove la validità di un determinato risultato può essere verificata dal consenso sociale.

Sebbene gli oracoli decentralizzati mirano a raggiungere l’assenza di fiducia, è importante notare che, proprio come le reti blockchain trustless, gli oracoli decentralizzati non eliminano completamente la fiducia, ma piuttosto la distribuiscono tra molti partecipanti.


Oracoli specifici del contratto

Un oracolo specifico del contratto è progettato per essere utilizzato da un singolo contratto intelligente. Ciò significa che se si vogliono implementare diversi contratti intelligenti, è necessario sviluppare un numero proporzionato di oracoli specifici del contratto.

Questo tipo di oracolo è considerato molto dispendioso in termini di tempo e costoso da mantenere. Le aziende che desiderano estrarre dati da una varietà di fonti potrebbero trovare questo approccio molto poco pratico. D’altro canto, poiché gli oracoli specifici del contratto possono essere progettati da zero per servire un caso d’uso specifico, gli sviluppatori hanno un’elevata flessibilità per adattarli a requisiti specifici.


Oracoli umani

A volte anche individui con conoscenze specializzate in un particolare campo possono fungere da oracoli. Possono ricercare e verificare l'autenticità delle informazioni da varie fonti e tradurre tali informazioni in contratti intelligenti. Poiché gli oracoli umani possono verificare la propria identità utilizzando la crittografia, la possibilità che un truffatore falsifichi la propria identità e fornisca dati corrotti è relativamente bassa.


Il problema dell'Oracolo

Poiché i contratti intelligenti eseguono decisioni sulla base dei dati forniti dagli oracoli, sono fondamentali per un sano ecosistema blockchain. La sfida principale con la progettazione degli oracoli è che se l’oracolo viene compromesso, anche il contratto intelligente che si basa su di esso viene compromesso. Questo viene spesso definito il problema dell’Oracolo.

Poiché gli oracoli non fanno parte del consenso principale della blockchain, purtroppo non fanno parte dei meccanismi di sicurezza che le blockchain pubbliche possono fornire. Il conflitto di fiducia tra oracoli di terze parti e l’esecuzione senza fiducia di contratti intelligenti rimane una questione per lo più irrisolta.

Anche gli attacchi man-in-the-middle possono rappresentare una minaccia, in cui un attore malintenzionato ottiene l’accesso al flusso di dati tra gli oracoli e il contratto e modifica o falsifica i dati.


Pensieri conclusivi

Un meccanismo affidabile che faciliti la comunicazione tra i contratti intelligenti e il mondo esterno è vitale per l’adozione globale delle blockchain. Senza gli oracoli blockchain, i contratti intelligenti dovrebbero fare affidamento solo sulle informazioni già presenti nelle loro reti, il che limiterebbe notevolmente le loro capacità.

Gli oracoli decentralizzati hanno il potenziale per introdurre meccanismi di salvaguardia che potrebbero eliminare molti rischi sistemici dall’ecosistema blockchain. Gli oracoli blockchain rimangono uno degli elementi fondamentali da implementare in modo sicuro, affidabile e trustless affinché l’ecosistema blockchain possa crescere.