Gli Oracoli Blockchain Spiegati
Home
Articoli
Gli Oracoli Blockchain Spiegati

Gli Oracoli Blockchain Spiegati

Intermedio
Pubblicato Jan 22, 2020Aggiornato Nov 28, 2023
7m
Articolo della Comunità - Autore: Vallery Mou


Contenuti


Cos'è un oracolo blockchain?

Gli oracoli blockchain sono servizi di terze parti che forniscono informazioni esterne a smart contract. Fungono da ponti tra le blockchain e il mondo esterno.
Le blockchain e gli smart contract non possono accedere a dati off-chain (dati che si trovano al di fuori del network). Tuttavia, per molti accordi contrattuali, è di vitale importanza avere informazioni rilevanti dal mondo esterno per eseguire l'accordo.

E' qui che entrano in gioco gli oracoli blockchain, in quanto offrono un collegamento tra i dati off-chain e on-chain. Gli oracoli sono fondamentali all'interno dell'ecosistema blockchain in quanto ampliano la portata in cui gli smart contract possono operare. Senza gli oracoli blockchain, gli smart contract avrebbero un uso molto limitato, dato che potrebbero accedere solo a dati all'interno dei loro network. 

E' importante sottolineare che un oracolo blockchain non è la fonte di dati stessa, ma piuttosto il livello che richiede, verifica e autentica le fonti di dati esterni per poi trasmettere le informazioni. I dati trasmessi dagli oracoli assumono molte forme – informazioni sul prezzo, il completamento con successo di un pagamento, o la temperatura misurata da un sensore. 

Per richiedere dati dal mondo esterno, lo smart contract deve essere richiamato e devono essere spese risorse del network. Alcuni oracoli hanno l'abilità di non solo trasmettere informazioni agli smart contract, ma anche di rimandarle alle fonti esterne.

Esistono molti tipi diversi di oracoli – il modo in cui un oracolo blockchain opera dipende interamente da ciò per cui è progettato. Questo articolo esaminerà alcuni di questi design.


Esempio di oracolo blockchain

Supponiamo che Alice e Bob facciano una socmmessa su chi vincerà le elezioni presidenziali negli USA. Alice crede che il candidato Republican vincerà, mentre Bob crede che il candidato Democrat sarà il vincitore. Concordano i termini della scommessa e bloccano i loro fondi in uno smart contract, che rilascerà i fondi al vincitore in base ai risultati delle elezioni.

Dato che 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 presidenziali. Una volta concluse le elezioni, l'oracolo comunica con un API fidato per scoprire quale candidato ha vinto e trasmette questa informazione allo smart contract. Il contratto invia quindi i fondi a Alice o Bob, a seconda dell'esito.

Senza l'oracolo che comunica i dati, non ci sarebbe un modo per risolvere la scommessa in un modo che non possa essere raggirato da uno dei partecipanti. 


Quali sono i diversi tipi di oracoli blockchain?

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

  • Fonte – i dati provengono da software o hardware?
  • Direzione delle informazioni – sono in entrata o in uscita?
  • Fiducia – è centralizzato o decentralizzato?

Un singolo oracolo può rientrare in più categorie. Per esempio, un oracolo che fornisce informazioni dal sito di un'azienda è un oracolo software centralizzato in entrata.


Oracoli software

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

Il fatto che l'oracolo software sia connesso a Internet non solo gli permette di fornire informazioni agli smart contract, ma anche di trasmetterle in tempo reale. Questa caratteristica li rende uno dei tipi più comuni di oracolo blockchain. 

Le informazioni tipicamente fornite da oracoli software possono includere tassi di cambio, prezzi di asset digitali o informazioni su voli in tempo reale.


Oracoli hardware

Alcuni smart contract devono interagire con il mondo reale. Gli oracoli hardware sono progettati per ottenere informazioni dal mondo fisico e metterle a disposizione degli smart contract. Queste informazioni possono essere trasmesse da sensori elettronici, scanner di codici a barre e altri dispositivi per la lettura di informazioni.

Essenzialmente, un oracolo hardware “traduce” eventi nel mondo reale in valori digitali che possono essere compresi da smart contract.

Un esempio di questo scenario potrebbe essere un sensore che controlla se un camion che trasporta merci è arrivato a una piattaforma di carico. In caso affermativo, trasmette l'informazione a uno smart contract che può eseguire decisioni in base a questa.

Se vuoi saperne di più sull'argomento, ti consigliamo il nostro articolo Casi d'Uso della Blockchain: Catena di Fornitura.


Oracoli in entrata e in uscita

Gli oracoli in entrata trasmettono informazioni da fonti esterne a smart contract, mentre gli oracoli in uscita inviano informazioni da smart contract al mondo esterno. 

Un esempio di oracolo in entrata è un oracolo che comunica la temperatura misurata da un sensore a uno smart contract. Un esempio di oracolo in uscita è un meccanismo smart lock. Se vengono depositati fondi su un indirizzo, lo smart contract invia questa informazione attraverso un oracolo in uscita verso un meccanismo che sblocca lo smart lock.


Oracoli centralizzati e decentralizzati

Un oracolo centralizzato è controllato da un'unica entità ed è l'unico fornitore di informazioni per uno smart contract. Usare una sola fonte di informazioni può essere rischioso – l'efficacia del contratto dipende interamente sull'entità che controlla l'oracolo. Inoltre, qualsiasi interferenza dannosa da un malintenzionato avrà un impatto diretto sullo smart contract. Il problema fondamentale degli oracoli centralizzati è l'esistenza di un singolo punto di errore, che rende i contratti meno resistenti a vulnerabilità e attacchi.

Gli oracoli decentralizzati condividono alcuni obiettivi delle blockchain pubbliche – evitare il rishcio di controparte. Aumentano l'affidabilità delle informazioni fornite agli smart contract basandosi su più fonti di verità. Lo smart contract comunica con diversi oracoli per determinare la validità e l'accuratezza dei dati – per questo motivo gli oracoli decentralizzati vengono anche chiamati oracoli di consenso.

Alcuni progetti blockchain forniscono servizi di oracolo decentralizzato ad altre blockchain. Gli oracoli decentralizzati possono anche essere utili nei mercati di previsione, in cui la validità di un determinato esito può essere verificata dal consenso sociale.

Anche se gli oracoli decentralizzati mirano a raggiungere la trustlessness, è importante sottolineare che proprio come i network blockchain trustless, gli oracoli decentralizzati non eliminano completamente la fiducia, ma la distribuiscono tra diversi partecipanti.


Oracoli specifici per contratto

Un oracolo specifico per contratto è progettato per essere utilizzato da un singolo smart contract. Questo significa che se si vuole implementare diversi smart contract, sarà necessario sviluppare un numero proporzionato di oracoli specifici per contratto.

Questo tipo di oracolo è considerato molto dispendioso da mantenere, sia in termini di tempo che di risorse. Le compagnie che vogliono estrarre dati da una varietà di fonti potrebbero trovare questo approccio poco pratico. D'altro canto, dato che gli oracoli specifici per contratto possono essere progettati da zero per sservire un caso d'uso specifico, gli sviluppatori hanno un'alta flessibilità per adattarli ai requisiti specifici.


Oracoli umani

A volte anche individui con conoscenze specialistiche in un determinato campo possono agire da oracoli. Possono ricercare e verificare l'autenticità di informazioni da varie fonti e tradurre tali informazioni per gli smart contract. Dato che gli oracoli umani possono verificare la propria identità usando la crittografia, la possibilità che un truffatore assuma la loro identità e fornisca dati compromessi è relativamente bassa.


Il Problema dell'Oracolo

Dato che gli smart contract eseguono decisioni basate su dati forniti dagli oracoli, questi ultimi sono fondamentali per un ecosistema blockchain sano. La sfida centrale nella progettazione di oracoli è il fatto che se un oracolo viene compromesso, anche lo smart contract che si basa su di esso è compromesso. Questo viene spesso chiamato Il Problema dell'Oracolo. 

Poiché gli oracoli non fanno parte del consenso principale della blockchain, non rientrano purtroppo nei meccanismi di sicurezza che le blockchain pubbliche possono fornire. Il conflitto di fiducia tra oracoli di terze parti e l'esecuzione trustless di smart contract rimane un problema per lo più irrisolto.

Anche gli attacchi man-in-the-middle possono essere una minaccia, in cui un malintenzionato ottiene l'accesso al flusso di dati tra gli oracoli e lo smart contract e modifica o falsifica i dati. 


In chiusura

Un meccanismo affidabile che facilita la comunicazione tra smart contract e il mondo esterno è vitale per l'adozione globale delle blockchain- Senza oracoli blockchain, gli smart contract potrebbero fare affidamento solo sulle informazioni già all'interno dei loro network, cosa che limiterebbe notevolmente le loro capacità.

Gli oracoli decentralizzati hanno il potenziale di introdurre meccanismi di salvaguardia che potrebbero eliminare molti rischi sistematici dall'ecosistema blockchain. Gli oracoli blockchain rimangono uno degli elementi fondamentali da implementare in modo sicuro, affidabile e trustless per consentire all'ecosistema blockchain di crescere.