Capitolo 1 di 9
Perché un oracolo
Uno smart contract è un piccolo programma che vive sulla blockchain. Ha una regola d'oro: tutti i computer della rete devono ottenere lo stesso risultato ogni volta che lo eseguono. Se un contratto potesse chiedere a un sito «quanto costa la benzina adesso?», due computer che chiedono a pochi secondi di distanza potrebbero ricevere due risposte diverse, e la rete non sarebbe più d'accordo su niente.
Per questo un contratto non può leggere internet. Conosce solo ciò che è già scritto sulla blockchain.
Un oracolo è quindi una persona o un programma che porta un dato dal mondo esterno e lo scrive sulla blockchain. Da quel momento qualsiasi contratto può leggerlo, e tutti vedono lo stesso numero. Il punto delicato è la fiducia: chi scrive il dato decide cosa il contratto «crede». Per questo nel nostro progetto un solo indirizzo autorizzato può scrivere, e ogni scrittura lascia una traccia pubblica.
Esistono anche oracoli decentralizzati, in cui molti nodi indipendenti confermano il dato. Qui usiamo un oracolo semplice e visibile, perfetto per imparare.
Prova tu
Apri la pagina dei documenti Chainlink sull'argomento (link sotto) e trova con parole tue la risposta a: «perché serve un oracolo?». Poi scrivi su un foglio tre dati del mondo reale che un contratto potrebbe voler conoscere.
Cosa hai imparato
- Un contratto non può leggere internet perché tutta la rete deve ottenere lo stesso risultato.
- Un oracolo porta un dato esterno sulla blockchain, dove tutti lo leggono uguale.
- Chi scrive il dato è un punto di fiducia: per questo va limitato e reso visibile.