Oracolo
Un oracolo può essere definito in molti modi diversi, a seconda del contesto. All'interno del contesto blockchain, un oracolo è fondamentalmente una fonte di dati che viene utilizzata come ponte tra contratti intelligenti e altre fonti esterne.
Più specificamente, un oracolo è un agente che non solo comunica con fonti di dati esterne, ma verifica e autentica anche l'accuratezza dei dati forniti. Pertanto, gli oracoli sono responsabili di fornire informazioni vitali e affidabili agli smart contract, che a loro volta svolgono determinati compiti.
L'importanza degli oracoli si basa sul fatto che i contratti intelligenti blockchain sono in grado di accedere solo ai dati contenuti all'interno della propria rete digitale. Pertanto, gli oracoli sono necessari come strumento di comunicazione che "traduca" eventi del mondo reale (dati non deterministici) in valori digitali che siano riconosciuti dai contratti intelligenti (dati deterministici).
Gli oracoli blockchain possono essere classificati in base al loro caso d'uso. I tipi più comuni sono:
Hardware Oracles: si integra con i sistemi fisici e le tecnologie, fornendo dati del mondo reale per contratti intelligenti. Ad esempio, gli oracoli hardware possono comunicare con i sensori RFID utilizzati in vari settori (automobilistico, farmaceutico, catena di approvvigionamento, ecc.)
Software Oracles: più comunemente usati; recuperare dati online da programmi esterni e API Web, come prezzi di mercato, stato dei voli e dati meteorologici.
Consensus Oracles: sorta di oracoli decentralizzati che raccolgono grandi quantità di dati da un determinato numero di altri oracoli, seguendo metodi specifici per determinare la validità e l'accuratezza dei dati raccolti. Gli oracoli di consenso vengono utilizzati nelle piattaforme dei mercati di previsione, come Augur e Gnosis.
Oracoli in entrata: trasmette dati esterni a contratti intelligenti o oracoli software. Può essere configurato come un insieme di linee guida "se" (ad es. "se un bene raggiunge un determinato prezzo, effettua un ordine di acquisto").
Outbound Oracles: trasmette i dati degli smart contract a sistemi esterni, consentendo agli smart contract di comunicare con fonti non blockchain.
In generale, un oracolo blockchain è costituito da un'origine dati di terze parti che dipende da autorizzazioni esterne per funzionare correttamente, il che significa che di solito sono uno strumento fornito da entità centralizzate. Pertanto, la maggior parte degli oracoli finisce per sacrificare le proprietà decentralizzate degli smart contract.
Il problema dell'oracolo
A seconda dei dati forniti dagli oracoli centralizzati, i contratti intelligenti eseguiranno funzioni diverse, il che significa che gli oracoli hanno un potere immenso sui contratti intelligenti. Questo è noto come il problema Oracle, che sorge come un conflitto di fiducia che oracoli centralizzati di terze parti portano a contratti intelligenti e sistemi blockchain senza fiducia.
Sebbene gli oracoli decentralizzati, come gli oracoli di consenso, possano presentare una possibile soluzione, ci sono ancora molte sfide da superare, poiché le reti di oracoli decentralizzati sono piuttosto difficili da implementare in modo sicuro, funzionale e senza fiducia.