Gli oracoli vengono in aiuto

Gli oracoli vengono in aiuto

Gli oracoli blockchain risolvono il problema della consegna delle informazioni al blockchain dal mondo esterno. Ma è importante sapere a quali di essi possiamo affidarci.

In abbiamo chiarito il corretto completamento dei programmi che utilizzano il mediastreamer. sul lancio del catalogo Waves Oracles abbiamo scritto sull'importanza degli oracoli per la blockchain.

Le applicazioni decentralizzate non hanno accesso ai dati al di fuori della blockchain. Pertanto, vengono creati piccoli programmi – oracoli – che accedono ai dati necessari del mondo esterno e li scrivono nella blockchain.

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

Oracoli programmati ottengono e elaborano dati da Internet – come temperatura dell'aria, prezzi dei beni, ritardi di treni e aerei. Le informazioni provengono da fonti online, come API, e l'oracolo le estrae e le posiziona nella blockchain. Per sapere come creare un semplice oracolo programmato, leggi qui.

Oracoli hardware monitorano oggetti del mondo reale tramite dispositivi e sensori. Ad esempio, una telecamera, calibrata per il passaggio di una linea, riprende le automobili che entrano in una determinata area. L'oracolo registra il passaggio della linea nella blockchain e, basandosi su questi dati, lo script dell'applicazione decentralizzata può, per esempio, avviare l'emissione di una multa e la detrazione di token dal conto del proprietario dell'automobile.

Oracoli umani utilizzano dati inseriti da un essere umano. Sono considerati i più avanzati a causa della prospettiva indipendente sul risultato dell'evento.

Di recente abbiamo fornito uno strumento che consente di registrare nella blockchain i dati dell'oracolo secondo una specifica prestabilita. Funziona in modo molto semplice: è sufficiente registrare la scheda dell'oracolo, compilando la specifica. Dopo di che è possibile pubblicare le transazioni di dati secondo questa specifica attraverso l'interfaccia di Waves Oracles. Leggi di più sullo strumento in documentazione.

Gli oracoli vengono in aiuto

Strumenti e interfacce standardizzati semplificano la vita sia agli sviluppatori che agli utenti dei servizi sulla blockchain. Il nostro strumento è particolarmente utile per gli oracoli umani e può essere utilizzato, ad esempio, per registrare certificati o diritti d'autore su determinati oggetti.

Ma quando si utilizzano gli oracoli, sorge la questione della fiducia nelle informazioni che ricevono. È affidabile la sorgente? I dati saranno ricevuti in tempo? Inoltre, c'è il rischio che l'oracolo possa ingannare gli utenti, fornendo intenzionalmente informazioni errate per ottenere un proprio vantaggio.

Come esempio consideriamo un oracolo che fornisce informazioni su eventi sportivi per uno scambio di scommesse decentralizzato.

L'evento è il principale incontro del torneo UFC 242, Khabib Nurmagomedov contro Dustin Poirier. Secondo le valutazioni dei bookmaker, Nurmagomedov è il chiaro favorito per il match. La quota per la sua vittoria era di 1,24, il che corrisponde a una probabilità del 76%. La quota per la vittoria di Poirier era di 4,26 (22%), mentre la probabilità di risultato pari era valutata dai bookmaker con una quota di 51,0 (2%).

Gli oracoli vengono in aiuto

Lo script accetta scommesse degli utenti su tutti e tre i possibili risultati, finché non riceve dall'oracolo informazioni sul risultato effettivo del combattimento. Questo è l'unico criterio per la distribuzione delle vincite.

Ora si sa che la vittoria è andata a Nurmagomedov. Tuttavia, immaginiamo che un proprietario disonesto dell'oracolo, pianificando in anticipo un inganno, scommetta sul risultato con la quota più vantaggiosa — il pareggio. Quando il montepremi delle scommesse raggiunge un grande volume, il proprietario dell'oracolo avvia la registrazione nella blockchain di informazioni false su un presunto risultato di pareggio. Lo script dello scambio decentralizzato non ha la possibilità di verificare l'affidabilità dei dati ricevuti e distribuisce solo le vincite in base a queste informazioni.

Se il potenziale guadagno da un inganno di questo tipo è maggiore rispetto alle entrate previste di un oracolo onesto, e nel contempo il rischio di un'azione legale è ridotto, la probabilità di attività disoneste da parte del proprietario dell'oracolo aumenta notevolmente.

Una delle possibili soluzioni al problema è richiedere dati da più oracoli e portare i valori ottenuti a un consenso. Si possono identificare diversi tipi di consenso:

  • tutti gli oracoli hanno fornito informazioni univoche
  • la maggior parte degli oracoli ha fornito informazioni univoche (2 su 3, 3 su 4, ecc.)
  • mediare i dati degli oracoli (sono possibili varianti in cui vengono preliminarmente scartati i valori massimo e minimo)
  • tutti gli oracoli hanno fornito un'unica informazione con una variabilità consentita previamente concordata (ad esempio, i valori delle quotazioni finanziarie da diverse fonti possono differire di 0,00001, e ottenere un'esatta corrispondenza è un compito impossibile)
  • selezionare solo valori unici dai dati ricevuti

Torniamo al nostro exchange decentralizzato delle scommesse. Utilizzando il consenso "3 su 4", un oracolo che ha comunicato un pareggio non potrebbe influenzare l'esecuzione dello script, a condizione che tre altri oracoli forniscano informazioni affidabili.
Ma un utente disonesto potrebbe possedere tre oracoli su quattro, e allora potrebbe garantire la maggioranza decisiva.

Per garantire l'integrità degli oracoli, si potrebbe introdurre un sistema di punteggio o sanzioni per l'affidabilità dei dati. Si potrebbe anche seguire la via del "premio" e offrire ricompense per l'affidabilità. Ma nessuna misura potrà completamente evitare, ad esempio, la manipolazione delle valutazioni o una maggioranza disonesta.

Vale la pena inventare servizi complessi, oppure basterebbe avere uno strumento per il consenso che permetta, come su uno scaffale di supermercato, di scegliere, ad esempio, cinque oracoli che forniscono i dati necessari, impostare il tipo di consenso e ottenere il risultato?

Ad esempio, un'app decentralizzata ha bisogno di dati sulla temperatura in gradi Celsius. Nel catalogo degli oracoli troviamo quattro oracoli che forniscono tali dati, impostiamo il tipo di consenso "valore medio" e facciamo la richiesta.

Supponiamo che gli oracoli abbiano fornito i valori: 18, 17, 19 e 21 gradi. Differenze di tre gradi possono rivelarsi critiche per l'esecuzione dello script. Il servizio elabora il risultato e ottiene una temperatura media di 18,75 gradi. Questo numero sarà ricevuto dallo script dell'app decentralizzata e sarà utilizzato.

Gli oracoli vengono in aiuto

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

In ogni caso, gli oracoli dei dati sono un campo piuttosto nuovo. Si trova in una fase in cui gli stessi utenti possono determinare in quale direzione dovrebbe svilupparsi. Pertanto, vogliamo sentire la vostra opinione. È necessario lo strumento descritto sopra per gli oracoli? Come immaginate il futuro degli oracoli dei dati in generale? Condividete le vostre opinioni nei commenti e nel nostro gruppo ufficiale in Telegram.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS - ProHoster