Contenuti
- Cos'è un oracolo blockchain?
- Esempio di oracolo blockchain
- Quali sono i diversi tipi di oracoli blockchain?
- Il Problema dell'Oracolo
- In chiusura
Cos'è un oracolo blockchain?
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.
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.
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.
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.
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.
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
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à.