Gli oracoli vengono in soccorso

Gli oracoli vengono in soccorso

Gli oracoli della blockchain risolvono il problema di fornire informazioni dal mondo esterno alla blockchain. Ma è importante per noi sapere di quali possiamo fidarci.

В Articolo sul lancio del catalogo Oracoli delle onde abbiamo scritto dell'importanza degli oracoli per la blockchain.

Le applicazioni decentralizzate non hanno accesso ai dati al di fuori della blockchain. Vengono quindi creati piccoli programmi - oracoli - che accedono ai dati necessari dal mondo esterno e li registrano sulla blockchain.

In base al tipo di fonte dati, gli oracoli possono essere suddivisi in tre categorie: software, hardware e umani.

Oracoli software ricevere ed elaborare dati da Internet, come temperatura dell'aria, prezzi delle materie prime, ritardi di treni e aerei. Le informazioni provengono da fonti online come le API e l'oracolo le estrae e le inserisce nella blockchain. Leggi come creare un semplice oracolo software qui.

Oracoli hardware tracciare oggetti nel mondo reale utilizzando dispositivi e sensori. Ad esempio, una videocamera calibrata per attraversare una linea registra le auto che entrano in una determinata area. L’oracolo registra il superamento di una linea nella blockchain e, sulla base di questi dati, lo script dell’applicazione decentralizzata può, ad esempio, avviare l’emissione di una multa e l’addebito di gettoni sul conto del proprietario dell’auto.

Oracoli umani utilizzare i dati immessi dagli esseri umani. Sono considerati i più progressisti a causa della loro visione indipendente dell'esito dell'evento.

Recentemente abbiamo fornito uno strumento che consente di scrivere i dati Oracle sulla blockchain secondo una determinata specifica. Il funzionamento è estremamente semplice: basta registrarsi carta oracolarecompilando la specifica. Le transazioni di dati possono quindi essere pubblicate secondo questa specifica attraverso l'interfaccia Waves Oracles. Maggiori informazioni sullo strumento su la nostra documentazione.

Gli oracoli vengono in soccorso

Tali strumenti e interfacce standardizzati semplificano la vita sia agli sviluppatori che agli utenti dei servizi blockchain. Il nostro strumento è utile specificamente per gli oracoli umani e può essere utilizzato, ad esempio, per registrare certificati o diritti d'autore per qualsiasi oggetto.

Ma quando si utilizzano gli oracoli, sorge la questione della fiducia nelle informazioni ricevute da essi. La fonte è affidabile? I dati verranno ricevuti in tempo? Inoltre esiste il rischio che l'oracolo inganni gli utenti fornendo deliberatamente informazioni errate a proprio vantaggio.

Ad esempio, considera un oracolo che fornisce informazioni sugli eventi sportivi per uno scambio di scommesse decentralizzato.

L'evento è l'incontro principale del torneo UFC 242, Khabib Nurmagomedov contro Dustin Poirier. Secondo i bookmaker, Nurmagomedov è il chiaro favorito dell'incontro. Potresti scommettere sulla sua vittoria con una quota di 1,24, che corrisponde ad una probabilità del 76%. Le probabilità per la vittoria di Poirier erano 4,26 (22%) e le probabilità di pareggio erano stimate dai bookmaker a 51,0 (2%).

Gli oracoli vengono in soccorso

Lo script accetta le scommesse dell'utente su tutti e tre i possibili risultati finché non riceve informazioni dall'oracolo sul risultato effettivo della battaglia. Questo è l'unico criterio per la distribuzione delle vincite.

Ora è noto che Nurmagomedov ha vinto. Immaginiamo però che il proprietario senza scrupoli dell'oracolo, pianificando in anticipo l'inganno, abbia scommesso sul risultato con la quota più favorevole: un pareggio. Quando la banca delle scommesse ha raggiunto un volume elevato, il proprietario dell'oracolo inizia a registrare nella blockchain informazioni false sul presunto pareggio della battaglia. Lo script di scambio decentralizzato non ha la capacità di ricontrollare l'accuratezza dei dati ricevuti e distribuisce le vincite solo in base a questi dati.

Se il potenziale profitto derivante da questo tipo di inganno è superiore alle entrate previste di un oracolo onesto e il rischio di andare in tribunale è basso, la probabilità di azioni disoneste da parte del proprietario dell'oracolo aumenta in modo significativo.

Una possibile soluzione al problema è richiedere dati a diversi oracoli e portare ad un consenso i valori risultanti. Esistono diversi tipi di consenso:

  • tutti gli oracoli fornivano le stesse informazioni
  • la maggior parte degli oracoli forniva le stesse informazioni (2 su 3, 3 su 4, ecc.)
  • portando i dati Oracle al valore medio (sono possibili opzioni in cui i valori massimo e minimo vengono prima scartati)
  • tutti gli oracoli fornivano informazioni uniformi con una tolleranza prestabilita (ad esempio, le quotazioni finanziarie di diverse fonti possono differire di 0,00001 e ottenere una corrispondenza esatta è un compito impossibile)
  • seleziona solo valori univoci dai dati ricevuti

Torniamo al nostro scambio di scommesse decentralizzato. Utilizzando un consenso “3 su 4”, un oracolo che segnala un pareggio non sarebbe in grado di influenzare l’esecuzione dello script, a condizione che gli altri tre oracoli forniscano informazioni affidabili.
Ma un utente senza scrupoli può possedere tre dei quattro oracoli e quindi sarà in grado di fornire una maggioranza decisiva.

Combattendo per l'integrità degli oracoli, puoi introdurre una valutazione per loro o un sistema di multe per dati inaffidabili. Puoi anche seguire la strada della “carota” e offrire una ricompensa per l’autenticità. Ma nessuna misura eviterà completamente, ad esempio, il rating sull’inflazione o una maggioranza ingiusta.

Allora vale la pena inventare servizi complessi, oppure basterà avere uno strumento di consenso che permetta, come sullo scaffale di un supermercato, di selezionare, ad esempio, cinque oracoli che forniscano i dati necessari, stabiliscano il tipo di consenso e ottengano il risultato?

Ad esempio, un'applicazione decentralizzata necessita di dati sulla temperatura in gradi Celsius. Nel catalogo degli oracoli troviamo quattro oracoli che forniscono tali dati, impostano il tipo di consenso su “medio” e fanno una richiesta.

Supponiamo che gli oracoli diano i seguenti valori: 18, 17, 19 e 21 gradi. Una differenza di tre gradi può essere piuttosto critica per l'esecuzione dello script. Il servizio elabora il risultato e riceve un valore di temperatura media di 18.75 gradi. Lo script dell'applicazione decentralizzata riceverà questo numero e funzionerà con esso.

Gli oracoli vengono in soccorso

In definitiva, la decisione spetta al consumatore: se fidarsi di un oracolo e utilizzare i suoi dati, oppure costruire un consenso tra diversi oracoli scelti a loro discrezione.

In ogni caso, gli oracoli dei dati sono un campo abbastanza nuovo. È nella fase in cui gli utenti stessi possono determinare in quale direzione dovrebbe svilupparsi. Ecco perché vogliamo sentire la tua opinione. Lo strumento di cui sopra è necessario per gli oracoli? Come vedi il futuro degli oracoli dei dati in generale? Condividi la tua opinione nei commenti e nel nostro gruppo ufficiale in Telegram.

Fonte: habr.com

Aggiungi un commento