Cosa sono gli oracoli blockchain e come funzionano?
Fondamenti
Gli oracoli blockchain agiscono da intermediari tra le blockchain e il mondo esterno fornendo agli smart contract informazioni esterne a cui non possono accedere da soli. Questa funzione è fondamentale per molti accordi contrattuali che richiedono informazioni da fonti off-chain per essere eseguiti.
Gli oracoli svolgono un ruolo vitale nell'ecosistema blockchain perché ampliano l'ambito in cui gli smart contract possono operare oltre la loro rete. Senza oracoli, gli smart contract avrebbero funzionalità limitate e potrebbero accedere solo ai dati all'interno della loro rete.
È importante notare che gli oracoli blockchain non sono essi stessi fonti di dati, ma piuttosto livelli che autenticano, verificano e interrogano fonti di dati esterne prima di trasmettere le informazioni. I dati inviati dagli oracoli possono assumere molte forme, come informazioni sui prezzi, la conferma di un pagamento o misure provenienti da sensori.
Per recuperare dati off-chain, lo smart contract deve essere invocato e devono essere utilizzate risorse di rete. Alcuni oracoli sono in grado non solo di trasferire informazioni agli smart contract, ma anche di inviarle nuovamente a sorgenti esterne.
Esempi di oracoli blockchain
Supponiamo che Emily e David scommettano su chi sarà il vincitore delle elezioni presidenziali USA. Emily crede che il candidato repubblicano vincerà, mentre David crede che sarà il candidato democratico. Concordano i termini della scommessa e bloccano i loro fondi in uno smart contract, che rilascerà tutti i fondi al vincitore in base ai risultati delle elezioni.
Poiché 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. Dopo la conclusione delle elezioni, l'oracolo interroga un'API affidabile per stabilire quale candidato ha vinto e inoltra queste informazioni allo smart contract. Il contratto quindi invia i fondi a Emily o a David, a seconda dell'esito.
Senza l'oracolo che inoltra i dati, non ci sarebbe modo di risolvere questa scommessa in modo che non potesse essere manipolata da uno dei partecipanti.
Quali tipi di oracoli blockchain esistono?
Gli oracoli blockchain hanno varie classificazioni a seconda delle loro caratteristiche. Un oracolo può appartenere a più categorie. Per esempio, un oracolo che recupera dati dal sito web di un'azienda è un oracolo software centralizzato in entrata.
Fonte: i dati provengono da software o hardware?
- Gli oracoli software sono un tipo fondamentale di oracolo blockchain che recupera dati da fonti online e li trasmette alla blockchain. Possono ottenere informazioni da un'ampia gamma di sorgenti su Internet, come database, siti web e server. Poiché gli oracoli software sono connessi a Internet, possono trasmettere informazioni in tempo reale, rendendoli una scelta popolare per gli smart contract. Gli oracoli software possono fornire una vasta gamma di informazioni, incluse tariffe di cambio, prezzi degli asset digitali o informazioni sui voli in tempo reale.
- Gli oracoli hardware vengono utilizzati per ottenere informazioni da dispositivi fisici e trasmetterle alla blockchain, permettendo agli smart contract di collegarsi al mondo reale. Questi oracoli interpretano eventi del mondo reale tramite sensori, scanner di codici a barre e altri dispositivi di lettura dei dati e li convertono in valori digitali comprensibili per gli smart contract. Ad esempio, un oracolo hardware può rilevare se un camion che trasporta merci è arrivato a un punto di carico, comunicandolo poi a uno smart contract. In base a tali informazioni, il contratto può prendere le azioni corrispondenti.
Direzione: l'informazione è in entrata o in uscita?
Gli oracoli possono essere classificati come in entrata o in uscita, a seconda della direzione del flusso di informazioni.
- Gli oracoli in entrata trasmettono informazioni da fonti esterne agli smart contract.
- Gli oracoli in uscita inviano informazioni dagli smart contract al mondo esterno.
Un esempio di oracolo in entrata è un sensore che misura la temperatura e inoltra i dati a uno smart contract. Al contrario, un oracolo in uscita può essere rappresentato da una serratura intelligente che si sblocca quando fondi vengono depositati su un indirizzo, con lo smart contract che invia questa informazione tramite un oracolo in uscita al meccanismo che apre la serratura.
Fiducia: è centralizzato o decentralizzato?
- Gli oracoli centralizzati sono controllati da un'unica entità e possono comportare rischi a causa di un singolo punto di fallimento. Interferenze dannose da parte di attori malintenzionati possono influenzare lo smart contract, e l'efficacia del contratto dipende interamente dall'entità di controllo.
- Gli oracoli decentralizzati mirano a evitare il rischio di controparte non affidandosi a un'unica fonte di verità. Utilizzano più oracoli per aumentare l'affidabilità delle informazioni e possono essere definiti oracoli di consenso. Alcuni progetti blockchain forniscono servizi di oracoli decentralizzati ad altre blockchain, e possono essere utili nei mercati predittivi dove il consenso sociale può verificare la validità dei risultati.
Sebbene gli oracoli decentralizzati mirino a raggiungere l'assenza di fiducia (trustlessness), non eliminano la fiducia ma la distribuiscono tra molti partecipanti, analogamente alle reti blockchain senza fiducia.
Altri tipi di oracoli
- Oracoli specifici per contratto
- Un oracolo specifico per contratto è progettato per essere utilizzato da un unico smart contract. Ciò può comportare la necessità di sviluppare diversi oracoli quando si distribuiscono più smart contract. Sebbene questo approccio offra flessibilità per casi d'uso personalizzati, è anche costoso e dispendioso in termini di tempo da mantenere. Le aziende che richiedono dati da varie fonti potrebbero trovarlo poco pratico.
- Oracoli umani
- Individui con conoscenze specializzate in un determinato settore possono anche fungere da oracoli. Possono indagare e convalidare l'affidabilità delle informazioni da diverse fonti e trasformare quei dati in smart contract. Poiché gli oracoli umani possono utilizzare la crittografia per verificare la propria identità, il rischio che un individuo fraudolento si spaccia per oracolo e fornisca dati corrotti è relativamente basso.
Un problema importante da conoscere sugli oracoli
Garantire l'accuratezza dei dati utilizzati negli smart contract è un ruolo vitale svolto dagli oracoli. Tuttavia, l'integrità di uno smart contract è a rischio se l'oracolo viene compromesso. Gli oracoli non fanno parte del consenso della blockchain, il che li rende vulnerabili ad attacchi. Il conflitto tra oracoli di terze parti e l'esecuzione trustless degli smart contract è una questione complessa ancora irrisolta. Attori malintenzionati possono anche condurre attacchi man-in-the-middle, che consistono nell'intercettare i dati trasmessi tra gli oracoli e il contratto e nell'alterarli o falsificarli.
Conclusione
Affinché le blockchain raggiungano un'adozione diffusa, è necessario un metodo affidabile perché gli smart contract possano interagire con informazioni esterne. Qui entrano in gioco gli oracoli blockchain, poiché consentono una comunicazione sicura tra la blockchain e le fonti di dati esterne. Senza oracoli, gli smart contract sarebbero limitati a usare solo informazioni interne, riducendo drasticamente le loro capacità.
Gli oracoli decentralizzati possono fornire importanti salvaguardie per ridurre i rischi nell'ecosistema blockchain. La loro implementazione in modo sicuro e affidabile è essenziale per la crescita continua dell'ecosistema blockchain. In generale, gli oracoli blockchain sono un componente critico necessario per l'adozione e l'uso più ampio della tecnologia blockchain.