Scritto dal Team Qubic

Le blockchain sono sistemi potenti per computazione verificabile, ma hanno una limitazione fondamentale. Possono lavorare solo con dati che esistono già on-chain. Se un contratto intelligente ha bisogno di sapere il prezzo attuale del Bitcoin, il risultato di una partita sportiva, o il meteo a Tokyo, non ha modo di scoprirlo da solo.
Le Macchine Oracle risolvono questo problema. Qubic sta introducendo la propria infrastruttura oracle, dando ai contratti intelligenti accesso diretto a informazioni del mondo reale.
Una Macchina Oracle funge da middleware tra i nodi del Qubic Core e le fonti di dati esterne. Gestisce le richieste in uscita dalla blockchain e restituisce dati verificati in una forma di cui la rete può fidarsi.
Pensalo come un sistema a tre strati:
Nodi Qubic Core - dove vivono ed eseguono i contratti intelligenti
Nodo Oracle Machine - il livello middleware che gestisce il routing, la cache e la validazione
Servizi Oracle Esterni - feed di prezzo, API meteorologiche, fornitori di dati sugli eventi
Quando un contratto intelligente ha bisogno di dati esterni, invia una query all'Oracle Machine. L'Oracle Machine controlla la sua cache, inoltra la richiesta al servizio esterno appropriato se necessario e restituisce il risultato alla blockchain in un formato standardizzato.
Questa architettura tiene isolata la complessità esterna dal protocollo principale, consentendo ai contratti intelligenti di accedere in modo affidabile alle informazioni del mondo reale.

Architettura tecnica
Il sistema Oracle Machine utilizza un design modulare con chiara separazione dei compiti:

Moduli core:

Come i dati fluiscono attraverso il sistema
Il ciclo di vita della richiesta segue una sequenza chiara:
Il nodo Qubic Core invia OracleMachineQuery
↓
NodeConnection riceve e valida
↓
RequestHandler controlla la cache
↓
InterfaceClient inoltra al servizio oracle
↓
Il servizio oracle recupera dati (ad es., dall'API di CoinGecko)
↓
Risposta memorizzata nella cache e restituita al nodo Qubic Core come OracleMachineReply
↓
I nodi Qubic Core generano una OracleReplyCommitTransaction per ogni Computor
↓
Il quorum verifica la risposta oracle in base ai commit dei Computors
↓
La risposta oracle verificata viene rivelata sulla catena da una OracleReplyRevealTransaction
Il livello di caching è particolarmente importante. I dati richiesti frequentemente (come i prezzi delle coppie di trading popolari) possono essere serviti istantaneamente dalla cache, riducendo la latenza e il carico delle API esterne. Il sistema basato su TTL garantisce che i dati rimangano freschi ottimizzando le prestazioni.
Tipi di interfaccia oracle
Le Oracle Machines supportano diversi tipi di interfaccia, ognuno con la propria struttura di query e risposta. Il sistema sarà lanciato con L'Interfaccia Prezzo e l'Interfaccia Mock. Ulteriori interfacce oracle saranno aggiunte presto.
Interfaccia Prezzo (Indice 0)
L'interfaccia Prezzo recupera i dati delle coppie di valute da fornitori come CoinGecko.
Struttura della query (Esempio):
Oracle: Identificatore del fornitore (ad es., CoinGecko)
Timestamp: Timestamp della query
Valuta1: Valuta di base (ad es., BTC)
Valuta2: Valuta di quotazione (ad es., USD)
Nota: Questo è un esempio. Potrebbe essere necessario rivederlo e probabilmente verrà aggiunto un requisito di precisione.
Struttura della risposta (Esempio):
Numeratore Prezzo numeratore (sint64)
Denominatore: Denominatore del prezzo (sint64)
Il formato numeratore/denominatore preserva la precisione per i calcoli finanziari senza errori di punto mobile.
Interfaccia Mock (Indice 1)
Utile per test automatici e manuali.
Due modi per richiedere dati
I contratti intelligenti e gli utenti possono interagire con le Oracle Machines in due modalità distinte:
Query una tantum
Invii una richiesta, l'Oracle Machine recupera i dati e ricevi la tua risposta. Questo funziona bene per situazioni in cui hai bisogno di un'informazione specifica, in un momento specifico.
Esempio di caso d'uso: Un contratto di mercato delle previsioni ha bisogno di sapere chi ha vinto la partita di basket di ieri sera per risolvere le scommesse.
Abbonamento
Un contratto intelligente può iscriversi per ricevere aggiornamenti continui da un oracle. Invece di chiedere il prezzo attuale ogni volta, il contratto riceve aggiornamenti automatici a intervalli regolari.
Esempio di caso d'uso: Un protocollo DeFi ha bisogno di feed di prezzo continui per calcolare i rapporti di garanzia e attivare le liquidazioni.
Tracciamento delle richieste
Ogni richiesta oracle riceve un ID di tracciamento unico per la correlazione tra query e risposte. Lo stato della query può essere:

I timeout garantiscono che il sistema continui a muoversi. Se un oracle non risponde entro la finestra definita, la richiesta viene contrassegnata come fallita, anziché aspettare indefinitamente.
Commissioni ed economia

Questa struttura è allineata con la tokenomica di Qubic - dove le commissioni vengono bruciate piuttosto che ridistribuite, creando pressione deflazionistica mentre si incentiva un'operazione efficiente.
Cosa consente questo
Le Oracle Machines aprono categorie di applicazioni che erano precedentemente impossibili da costruire su Qubic. Combinato con le transazioni senza commissioni di Qubic e l'esecuzione ad alta velocità, gli sviluppatori possono ora creare:
Mercati delle previsioni: Risoluzione automatica basata su risultati verificati del mondo reale. I risultati sportivi, gli esiti delle elezioni e gli eventi possono ora risolvere contratti senza intervento manuale.
Protocolli DeFi: Feed di prezzo affidabili abilitano protocolli di prestito, asset sintetici e market maker automatizzati. Le liquidazioni possono attivarsi sulla base di dati di prezzo accurati e tempestivi forniti da fonti come CoinGecko.
Applicazioni assicurative: I contratti assicurativi parametrici possono pagare automaticamente quando si verificano condizioni verificate come eventi meteorologici, ritardi di volo o altre occorrenze misurabili.
Gaming e NFT: I dati del mondo reale possono influenzare le meccaniche di gioco. Gli NFT sportivi potrebbero aggiornarsi in base alle reali prestazioni dei giocatori.
Per ulteriori potenziali applicazioni, vedere i casi d'uso di Qubic.
Creazione di nuovi servizi oracle
Il sistema Oracle Machine è progettato per l'estensibilità. Gli sviluppatori di terze parti possono aggiungere nuovi servizi oracle implementando l'interfaccia BaseOracleService.
Per creare un nuovo servizio oracle:
Definisci le strutture dell'interfaccia nel Qubic Core (formati query/riposta)
Crea un'implementazione del servizio ereditando da BaseOracleService
Implementa fornitori di dati per API esterne
Aggiungi voci di configurazione
Registrati nel sistema di build
Il repository oracle-machine include implementazioni di riferimento e documentazione dettagliata per la creazione di servizi oracle personalizzati.
Questa architettura modulare significa che la gamma di fonti di dati disponibili si espanderà man mano che l'ecosistema cresce - senza richiedere modifiche al protocollo principale.
Come si inseriscono le Oracle Machines nella visione di Qubic
Le Oracle Machines rappresentano un altro passo verso l'obiettivo di Qubic di costruire contratti intelligenti veramente intelligenti. Combinato con il Lavoro Utile di Prova (uPoW) e Aigarth - l'iniziativa di IA decentralizzata di Qubic, gli oracoli danno ai contratti intelligenti la possibilità di osservare e rispondere al mondo reale.
Come descritto nella pagina Chi siamo di Qubic:
"Le Oracle Machines saranno utilizzate per rendere i contratti intelligenti Qubic ancora più intelligenti risolvendo eventi attraverso dati affidabili come i prezzi delle azioni, i punteggi sportivi o le letture dei sensori e molto altro. Inoltre, gli Oracoli daranno ad Aigarth la possibilità di osservare il mondo esterno."
Questo posiziona Qubic in modo unico tra le blockchain di Layer 1; non solo come un livello di regolamento delle transazioni, ma come infrastruttura per applicazioni alimentate da IA che interagiscono con la realtà esterna.
Specifiche delle prestazioni

L'InterfaceClient mantiene connessioni persistenti ai servizi oracle con riconnessione automatica in caso di errore, garantendo affidabilità anche quando i servizi esterni subiscono brevi interruzioni.
*I valori sono solo a scopo di riferimento e previsti in un ambiente di test. I valori effettivi possono differire quando gli oracoli sono attivi.
Iniziare per gli sviluppatori
Gli sviluppatori interessati a costruire con Oracle Machines possono esplorare:
Documentazione Qubic - Guide tecniche complete
Repository Oracle Machine - Codice sorgente e dettagli di implementazione
Guida ai contratti intelligenti - Come funzionano i contratti intelligenti Qubic
Introduzione per sviluppatori - Iniziare con lo sviluppo di Qubic
Kit di sviluppo Qubic - Configura la tua rete di test locale
Qubic CLI - Strumenti da riga di comando per interagire con la rete
Organizzazione GitHub - Tutti i repository open-source
Per assistenza, unisciti alla comunità Discord di Qubic dove gli sviluppatori collaborano attivamente.
Guardando avanti
L'infrastruttura oracle è una tecnologia fondamentale. La maggior parte degli utenti non interagirà mai direttamente con le Oracle Machines. Invece, utilizzeranno applicazioni che si affidano agli oracoli dietro le quinte.
Le Oracle Machines sono attualmente in fase di test finale sulla mainnet di Qubic. Una volta completati i test, l'infrastruttura sarà pronta per gli sviluppatori e le applicazioni per integrarsi.
Rimani aggiornato sugli sviluppi di Qubic attraverso:
Blog di Qubic - Ultime notizie e aggiornamenti tecnici
Twitter/X - Annunci in tempo reale
Telegram & Discord - Discussioni della comunità
Le Oracle Machines stanno arrivando presto. Preparati a costruire qualcosa che conta.
