In un mondo ideale, le aziende avrebbero a disposizione uno strumento unico per tutte le loro esigenze tecnologiche. Questo renderebbe le cose più semplici e meno dispendiose in termini di tempo. Ma nel mondo reale è necessario testare diverse soluzioni prima di trovare quella giusta.
Un oracolo è un software che fornisce soluzioni per numerose esigenze aziendali. Tra queste c’è la tecnologia Blockchain. Esistono diversi tipi di oracolo, ognuno con la propria funzione e il proprio utilizzo.
Esso può essere considerato una fonte di informazioni per altre applicazioni. A volte sono chiamati “bridge” (ponti) tra il mondo reale e i protocolli Blockchain perché forniscono dati da fonti esterne in modo affidabile.
In questo articolo esploreremo cos’è un oracolo Blockchain, le sue diverse tipologie, il suo funzionamento e le sue principali applicazioni all’interno dell’ecosistema Blockchain.
Indice
Che cos’è un oracolo Blockchain
Definizione: Un oracolo è un software che fornisce dati agli smart contract. È una fonte di dati esterni su cui una Blockchain può fare affidamento e che può essere utilizzata per attivare o eseguire clausole contrattuali.
Gli oracoli sono essenziali per i sistemi Blockchain nello stesso modo in cui un database è essenziale per un sito web. Fornisce le informazioni di cui il sito web ha bisogno per il proprio funzionamento, come ad esempio il tasso di conversione attuale della valuta del Paese.
Gli oracoli sono utilizzati con la tecnologia Blockchain per facilitare il trasferimento di beni tra diverse parti. Ciò avviene attivando clausole contrattuali basate su dati provenienti dal mondo esterno.
Tipologie di oracoli Blockchain
Esistono 9 tipi diversi di oracoli, ognuno con un proprio scopo e una propria funzione. Sono: gli oracoli hardware, gli oracoli software, gli oracoli inbound, gli oracoli outbound, gli oracoli centralizzati, gli oracoli decentralizzati, gli oracoli umani, gli oracoli specifici di un contratto e i computation oracle.
1. Oracoli hardware
Gli oracoli hardware sono efficaci se applicati ad esempio alla gestione di una filiera e all’IoT. Sono sicuri e a prova di manomissione, ma possono essere costosi. Essi ricevono i dati da un sensore e poi li inviano a una Blockchain tramite una connessione sicura. Esistono molti casi d’uso per gli oracoli hardware.
Un esempio è l’utilizzo di uno scanner di codici a barre per leggere l’etichetta della confezione di un prodotto. Se la società di spedizioni scansiona il codice a barre, può vedere la destinazione e l’origine del prodotto. Questo è utile per la tracciabilità e la rintracciabilità.
Un altro esempio è l’etichetta del proprio bagaglio che contiene un chip che registra i dati del volo e consente alla compagnia aerea di sapere quando il bagaglio è stato preso in consegna da un passeggero.
Quando il bagaglio viene scansionato in aeroporto, l’app della compagnia aerea legge il chip e può tracciare il bagaglio mentre passa attraverso il nastro trasportatore e sale sull’aereo.
2. Oracoli software
Gli oracoli software funzionano utilizzando server API per inviare dati Blockchain ad altre applicazioni. Sono ideali per sistemi semplici e sono meno costosi degli oracoli hardware. Esistono diverse tipologie di oracoli software, tra cui i “web oracle”, gli “API oracle” e gli “smart contract oracle”.
- I web oracle funzionano inviando dati web a una rete Blockchain.
- Gli API oracle inviano dati API a una Blockchain.
- Gli smart contract oracle inviano dati da un’applicazione di terze parti a una Blockchain attraverso la creazione di un contratto tra le due parti.
Ad esempio, è possibile utilizzare un API oracle per estrarre dati azionari e informazioni sulla capitalizzazione di mercato di un’azienda da un’API a una Blockchain. Se si utilizza un Web oracle, si può usare l’API di un sito web per inviare informazioni a una Blockchain. Ad esempio, si possono estrarre i dati dal sito web Coin Market Cap su una Blockchain e renderli disponibili al pubblico.
3. Oracoli inbound
Gli oracoli inbound sono progettati per prelevare i dati da Internet e inviarli alla Blockchain. Questa forma di oracoli viene utilizzata quando l’invio di dati dalla Blockchain non è necessario o quando i dati sono privati. Essi sono utili per estrarre dati da siti web e API.
Ad esempio, è possibile utilizzare un oracolo inbound per ottenere dati da un sito web come Coin Market Cap e visualizzarli su una Blockchain.
Gli oracoli inbound funzionano prelevando i dati da internet e inviandoli a una Blockchain senza che il sito web possa reagire. Il proprietario del sito web non può inviare alcun dato alla Blockchain. Questa soluzione è ideale per le situazioni in cui i dati sono sensibili e devono essere tenuti privati.
4. Oracoli outbound
Gli oracoli outbound svolgono la funzione opposta di quelli inbound, inviando i dati dalla Blockchain alla rete internet. Questo tipo di oracoli viene utilizzato quando è necessario inviare dati privati alla rete internet o quando i dati devono essere inviati ad altre reti Blockchain. Essi sono utili per inviare dati alla rete internet.
Ad esempio, è possibile inviare dati come un indirizzo di spedizione memorizzato nella Blockchain. Utilizzando un oracolo outbound, è possibile inviare informazioni, come i numeri di identificazione, a un sito web. Questo è utile quando si deve confermare la propria identità online.
Gli oracoli outbound funzionano prelevando i dati da una Blockchain e inviandoli alla rete Internet. Ciò significa che la rete Blockchain controlla le informazioni inviate alla rete internet.
5. Oracoli centralizzati
Questi oracoli sono controllati da un’entità centralizzata e sono utili per situazioni in cui la fiducia tra i partecipanti alla rete costituisce un problema. Gli oracoli centralizzati possono essere compromessi e non sono ideali per la maggior parte delle reti Blockchain.
Gli oracoli centralizzati sono controllati da un ente centralizzato. Ciò significa che un’unica entità controlla l’oracolo e può decidere quali dati inviare alla Blockchain. Questo è utile quando c’è una scarsa fiducia tra i partecipanti alla rete.
6. Oracoli decentralizzati
Più parti controllano gli oracoli decentralizzati. Questi oracoli non hanno un’entità centrale di controllo e si affidano ai partecipanti alla rete per trovare un accordo sulle informazioni inviate alla Blockchain.
Ciò significa che un singolo utente non può decidere quali dati inviare alla Blockchain. Sono applicabili in situazioni in cui la fiducia tra i partecipanti costituisce un problema.
7. Oracoli umani
Gli oracoli umani si usano quando si vuole utilizzare un oracolo che si affidi a un input umano. Può trattarsi di un semplice quiz a scelta multipla o di un utente che digita una frase che gli viene data. Un ottimo esempio di oracolo umano è l’uso della crittografia. Questo aiuta a riconoscere la presenza umana e a ridurre la possibilità di frodi in rete.
8. Oracoli specifici di un contratto
Gli oracoli specifici di un contratto sono costruiti specificamente per un determinato contratto. Ciò significa che i dati inviati alla Blockchain sono relativi al contratto. Sono ideali per le situazioni in cui i dati di un evento reale devono essere verificati e non possono essere utilizzati per altri scopi.
Ad esempio, è possibile creare un oracolo che verifichi l’autenticità di un’opera d’arte. Si possono poi inviare i risultati dell’oracolo a una Blockchain. Un acquirente può quindi utilizzare i risultati dell’oracolo per verificare che l’opera d’arte sia autentica.
9. Computation Oracle
I Computation Oracle funzionano utilizzando un servizio di calcolo di terze parti, come AWS di Amazon, e inviando i risultati a una Blockchain. Questo è utile quando è necessario utilizzare servizi costosi o pesanti dal punto di vista computazionale che altrimenti sarebbero impossibili da elaborare sulla Blockchain.
A cosa serve un oracolo Blockchain?
Gli oracoli Blockchain possono essere utilizzati in tanti modi diversi. A partire dal controllo del prezzo di una merce fino alla determinazione della legittimità di un utente online, attraverso la verifica dell’identità. Gli oracoli sono particolarmente importanti per Internet of Things (IoT), dove i dati devono essere verificati e attendibili.
Possono anche consentire interazioni tra catene e altri protocolli Blockchain altrimenti difficili da integrare. Gli oracoli sono utilizzati negli smart contract per eseguire azioni basate su dati provenienti dal mondo esterno. Questi dati possono provenire da fonti diverse e possono essere semplici come il meteo o complessi come una variazione dei prezzi delle azioni.
Essi possono essere utilizzati per determinare il trasferimento di beni tra le parti, per tracciare le materie prime o per verificare informazioni come l’identità di una persona. Possono anche essere utilizzati per consentire interazioni trasversali alla catena che altrimenti sarebbero difficili da integrare.
Problemi collegati alla tecnologia della Blockchain
Scalabilità – In una Blockchain PoW, ogni transazione richiede che l’intera rete risolva un complesso puzzle matematico con lo scopo di verificarla. Questo aumenta le tempistiche delle transazioni man mano che la rete si espande e diventa sempre più congestionata.
Sicurezza – Per evitare che soggetti malintenzionati manomettano la Blockchain, le Blockchain PoW impiegano misure di sicurezza complesse che consumano un’immensa potenza di calcolo. Ciò si traduce in una bassa velocità delle transazioni e in alti costi energetici.
Decentralizzazione – Poiché ogni utente deve risolvere un complesso puzzle matematico, le Blockchain PoW sono altamente centralizzate. Le reti Blockchain PoW sono anche intrinsecamente meno sicure rispetto alle loro controparti PoS.
Immutabilità – Tutte le transazioni sono verificate e approvate dall’intera rete. È praticamente impossibile modificare o rimuovere i dati una volta registrati sulla Blockchain.
Come può un oracolo Blockchain risolvere questi problemi?
Esistono diversi modi per risolvere i problemi sopra descritti. L’implementazione specifica di un oracolo Blockchain dipende dai requisiti applicativi. Per superare i problemi di scalabilità, sicurezza e decentralizzazione, è possibile utilizzare una Blockchain PoS.
Le Blockchain PoS non richiedono agli utenti di risolvere complessi puzzle matematici per verificare le transazioni e sono quindi più veloci ed economiche. Tuttavia, sono meno sicure. Per superare il problema dell’immutabilità, un oracolo può essere implementato come servizio centralizzato o utilizzando una rete di oracoli distribuiti.
Un oracolo centralizzato è più facile da implementare, ma non è coerente con il resto della rete decentralizzata. Una rete di oracoli distribuiti è più complessa da implementare, ma è coerente con il resto della Blockchain.
Qual è il problema dell’oracolo?
Il problema dell’oracolo è dovuto alla mancanza di fiducia tra una Blockchain e il mondo esterno. Il mondo esterno è composto da varie fonti di dati di cui non ci si può fidare completamente perché possono essere alterati o manomessi. D’altra parte, i protocolli Blockchain sono costruiti sulla fiducia e sui dati verificati.
Poiché la Blockchain non può fidarsi dei dati esterni, non può utilizzarli. La Blockchain è costretta a fidarsi dell’oracolo o a utilizzare un sistema di verifica. Il problema dell’oracolo può essere risolto in due modi: il protocollo Blockchain può fidarsi dell’oracolo o verificare i dati provenienti dal mondo esterno.
Fidarsi dell’oracolo non è una buona soluzione a lungo termine perché può portare i cattivi attori ad abusare di questa fiducia fornendo informazioni false.
Come risolvere il problema dell’oracolo?
Ci sono due modi per risolvere il problema dell’oracolo: 1) verificare i dati o, semplicemente, 2) fidarsi dello stesso. La verifica dei dati comporta la presenza di una parte terza fidata che verifichi i dati dall’esterno. Si tratta di una soluzione costosa e difficilmente scalabile.
La fiducia è una soluzione più a breve termine. La Blockchain può verificare la public key dell’oracolo e quindi fidarsi dei dati provenienti da quello specifico oracolo. Anche questa non è una soluzione a lungo termine, perché non c’è garanzia che la public key dell’oracolo non cambi.
Modelli di oracolo
Per determinare l’affidabilità di un oracolo, è importante capire come funzionano gli oracoli. Un oracolo è un server che accoglie i dati provenienti da fonti esterne. I dati possono provenire da qualsiasi fonte, come un sito web, un’API, un post sui social media o un sensore.
L’oracolo memorizza poi questi dati su un database. La Blockchain può quindi interrogare questo database per ricevere i dati appropriati.
Ecco alcuni modelli comuni di oracolo:
Oracolo a lettura Immediata
Un oracolo fornisce alla Blockchain dati che devono essere letti immediatamente. Questi dati possono provenire da un API, dalla lettura di un sensore o da un sito web. La lettura immediata è utile quando la Blockchain deve rispondere a eventi in tempo reale, come il tracciamento di un pacco o il monitoraggio di una chat room online.
Questo può essere utile nella gestione della filiera per monitorare le condizioni meteorologiche o rilevare eventuali pericoli sul percorso.
Oracolo “Publish-Subscribe”
Un oracolo fornisce dati che devono essere pubblicati e sottoscritti. Può trattarsi dei dati di un sito web che devono essere aggiornati a intervalli specifici o del prezzo delle materie prime che deve essere aggiornato quotidianamente. I Publish-Subscribe Oracle sono ideali quando la Blockchain deve avviare azioni basate su eventi futuri.
Oracoli “Request-Response”
Un oracolo fornisce dati che devono essere richiesti dalla Blockchain e ai quali si deve rispondere. Questi dati possono essere una verifica dell’identità, i dati di una chiamata API o i dati di un sensore. I Request-Response oracle sono ideali per convalidare l’identità, ottenere dati di sensori in tempo reale o accedere alle API.
Conclusione
Un oracolo Blockchain è un mezzo che fornisce dati o convalide sul mondo al di fuori di una rete. Questo strumento può fornire risposte affidabili a domande predeterminate. Ad esempio, potrebbe verificare che qualcuno possieda un indirizzo specifico e fornire questa informazione come parte di uno smart contract su una Blockchain.
Se foste inesperti del mondo delle Blockchain, potreste aver ascoltato alcuni termini senza comprenderne appieno il significato. Oracolo è uno di questi termini. Esso è essenzialmente un agente che fornisce accesso alle informazioni del mondo reale. Ha numerose applicazioni, ma è particolarmente utile per i contratti digitali tra dispositivi in una rete fidata.
A presto,
Scaling Parrots