Napisane przez Zespół Qubic

Blockchainy są potężnymi systemami do weryfikowalnego obliczenia, ale mają fundamentalne ograniczenie. Mogą działać tylko na danych, które już istnieją w blockchainie. Jeśli inteligentny kontrakt potrzebuje znać aktualną cenę Bitcoina, wynik meczu sportowego lub pogodę w Tokio, nie ma sposobu, aby dowiedzieć się o tym samodzielnie.
Maszyny Oracle rozwiązują ten problem. Qubic wprowadza swoją rodzimą infrastrukturę oracle, dając inteligentnym kontraktom bezpośredni dostęp do informacji ze świata rzeczywistego.
Maszyna Oracle działa jako pośrednik między węzłami Qubic Core a zewnętrznymi źródłami danych. Obsługuje żądania opuszczające blockchain i dostarcza zweryfikowane dane z powrotem w formie, której sieć może zaufać.
Pomyśl o tym jako o systemie o trzech warstwach:
Węzły Qubic Core - miejsce, gdzie żyją i wykonują się inteligentne kontrakty
Węzeł Oracle Machine - warstwa pośrednia, która obsługuje routowanie, pamięć podręczną i walidację
Zewnętrzne usługi oracle - źródła danych o cenach, API pogodowe, dostawcy danych o wydarzeniach
Gdy inteligentny kontrakt potrzebuje danych zewnętrznych, wysyła zapytanie do Oracle Machine. Oracle Machine sprawdza swoją pamięć podręczną, przekazuje żądanie do odpowiedniej zewnętrznej usługi, jeśli to konieczne, i zwraca wynik na blockchain w ustandaryzowanym formacie.
Ta architektura utrzymuje zewnętrzną złożoność izolowaną od podstawowego protokołu, umożliwiając jednocześnie inteligentnym kontraktom niezawodne uzyskiwanie informacji ze świata rzeczywistego.

Architektura techniczna
System Oracle Machine wykorzystuje modułowy projekt z wyraźnym rozdzieleniem zadań:

Moduły rdzeniowe:

Jak dane przepływają przez system
Cykl życia żądania przebiega w jasnej sekwencji:
Węzeł Qubic Core wysyła OracleMachineQuery
↓
NodeConnection otrzymuje i waliduje
↓
RequestHandler sprawdza pamięć podręczną
↓
InterfaceClient przekazuje do usługi oracle
↓
Usługa oracle pobiera dane (np. z API CoinGecko)
↓
Odpowiedź z pamięci podręcznej i zwrócona do węzła Qubic Core jako OracleMachineReply
↓
Węzły Qubic Core generują jedną OracleReplyCommitTransaction na Computor
↓
Quorum weryfikuje odpowiedź oracle na podstawie commitów Computorów
↓
Zweryfikowana odpowiedź oracle jest ujawniana w łańcuchu przez OracleReplyRevealTransaction
Warstwa pamięci podręcznej jest szczególnie ważna. Często żądane dane (jak ceny popularnych par handlowych) mogą być natychmiast serwowane z pamięci podręcznej, co zmniejsza opóźnienia i obciążenie zewnętrznych interfejsów API. System oparty na TTL zapewnia, że dane pozostają świeże, jednocześnie optymalizując wydajność.
Typy interfejsów oracle
Oracle Machines wspierają różne typy interfejsów, z których każdy ma swoją własną strukturę zapytania i odpowiedzi. System uruchomi się z interfejsem cenowym i mock. Wkrótce zostaną dodane kolejne interfejsy oracle.
Interfejs cenowy (Indeks 0)
Interfejs cenowy pobiera dane o parach walutowych od dostawców takich jak CoinGecko.
Struktura zapytania (Przykład):
Oracle: Identyfikator dostawcy (np. CoinGecko)
Znacznik czasowy: Znacznik czasu zapytania
Waluta1: Waluta podstawowa (np. BTC)
Waluta2: Waluta kwotowa (np. USD)
Uwaga: To jest przykład. Może być konieczne jego poprawienie, a wymaganie precyzji prawdopodobnie zostanie dodane.
Struktura odpowiedzi (Przykład):
Licznik Mianownik ceny (sint64)
Mianownik: Mianownik ceny (sint64)
Format licznik/mianownik zachowuje precyzję w obliczeniach finansowych bez błędów zmiennoprzecinkowych.
Interfejs mock (Indeks 1)
Przydatne do testowania automatycznego i ręcznego.
Dwa sposoby na żądanie danych
Inteligentne kontrakty i użytkownicy mogą wchodzić w interakcje z Oracle Machines w dwóch różnych trybach:
Jednorazowe zapytanie
Składasz żądanie, Oracle Machine pobiera dane, a ty otrzymujesz swoją odpowiedź. Działa to dobrze w sytuacjach, w których potrzebujesz konkretnego kawałka informacji, w konkretnym momencie.
Przykładowy przypadek użycia: Umowa na rynek prognoz potrzebuje wiedzieć, kto wygrał wczorajszy mecz koszykówki, aby rozstrzygnąć zakłady.
Subskrypcja
Inteligentny kontrakt może subskrybować otrzymywanie bieżących aktualizacji z oracle. Zamiast prosić o aktualną cenę za każdym razem, kontrakt otrzymuje automatyczne aktualizacje w regularnych odstępach czasu.
Przykładowy przypadek użycia: Protokół DeFi potrzebuje ciągłych danych o cenach, aby obliczać współczynniki zabezpieczenia i wyzwalać likwidacje.
Śledzenie żądania
Każde żądanie oracle otrzymuje unikalny identyfikator śledzenia dla korelacji między zapytaniami a odpowiedziami. Status zapytania może być:

Czas oczekiwania zapewnia, że system wciąż działa. Jeśli oracle nie odpowiada w określonym oknie, żądanie jest oznaczane jako nieudane, zamiast czekać w nieskończoność.
Opłaty i ekonomia

Ta struktura jest zgodna z tokenomiką Qubic - gdzie opłaty są palone, a nie redystrybucjonowane, tworząc presję deflacyjną, jednocześnie zachęcając do efektywnej operacji.
Co to umożliwia
Oracle Machines otwierają kategorie aplikacji, które wcześniej były niemożliwe do zbudowania na Qubic. Połączone z transakcjami Qubic bez opłat i szybką egzekucją, deweloperzy mogą teraz tworzyć:
Rynki prognoz: Automatyczne rozwiązywanie na podstawie zweryfikowanych wyników z rzeczywistości. Wyniki sportowe, wyniki wyborów i wystąpienia wydarzeń mogą teraz rozstrzygać umowy bez interwencji ręcznej.
Protokół DeFi: Niezawodne źródła danych o cenach umożliwiają protokołom pożyczkowym, syntetycznym aktywom i zautomatyzowanym producentom rynkowym. Likwidacje mogą być wyzwalane na podstawie dokładnych, aktualnych danych o cenach od dostawców takich jak CoinGecko.
Aplikacje ubezpieczeniowe: Umowy ubezpieczenia parametrycznego mogą wypłacać automatycznie, gdy zweryfikowane warunki są spełnione, takie jak wydarzenia pogodowe, opóźnienia lotów lub inne mierzalne wystąpienia.
Gry i NFT: Dane z rzeczywistości mogą wpływać na mechanikę w grze. NFT sportowe mogłyby aktualizować się na podstawie rzeczywistej wydajności graczy.
Aby uzyskać więcej potencjalnych zastosowań, zobacz Przypadki użycia Qubic.
Budowanie nowych usług oracle
System Oracle Machine jest zaprojektowany z myślą o rozszerzalności. Zewnętrzni deweloperzy mogą dodawać nowe usługi oracle, implementując interfejs BaseOracleService.
Aby utworzyć nową usługę oracle:
Zdefiniuj struktury interfejsów w Qubic Core (formaty zapytania/odpowiedzi)
Utwórz implementację usługi dziedziczącą z BaseOracleService
Zaimplementuj dostawców danych dla zewnętrznych interfejsów API
Dodaj wpisy konfiguracyjne
Zarejestruj w systemie budowy
Repozytorium oracle-machine zawiera referencyjne implementacje i szczegółową dokumentację do budowy niestandardowych usług oracle.
Ta modułowa architektura oznacza, że zakres dostępnych źródeł danych będzie się rozszerzał wraz z rozwojem ekosystemu - bez konieczności wprowadzania zmian w podstawowym protokole.
Jak Oracle Machines pasują do wizji Qubic
Oracle Machines reprezentują kolejny krok w kierunku celu Qubic, jakim jest budowanie naprawdę inteligentnych inteligentnych kontraktów. Połączone z Użytecznym Dowodem Pracy (uPoW) i Aigarth - zdecentralizowaną inicjatywą AI Qubic, oracles dają inteligentnym kontraktom możliwość obserwacji i reagowania na rzeczywistość.
Jak opisano na stronie O Qubic:
"Oracle Machines będą używane do uczynienia inteligentnych kontraktów Qubic jeszcze mądrzejszymi, rozwiązując wydarzenia poprzez wiarygodne dane, takie jak ceny akcji, wyniki sportowe lub odczyty czujników i wiele więcej. Oracles również dadzą Aigarth możliwość obserwacji zewnętrznego świata."
To pozycjonuje Qubic w unikalny sposób wśród blockchainów warstwy 1; nie tylko jako warstwa rozliczeniowa transakcji, ale jako infrastruktura dla aplikacji opartych na AI, które wchodzą w interakcje z zewnętrzną rzeczywistością.
Specyfikacje wydajności

InterfaceClient utrzymuje stałe połączenia z usługami oracle z automatycznym ponownym połączeniem w przypadku awarii, zapewniając niezawodność nawet w przypadku krótkich przerw w działaniu usług zewnętrznych.
*Wartości są tylko do celów informacyjnych i przewidywane w środowisku testowym. Rzeczywiste wartości mogą się różnić, gdy oracles są aktywne.
Jak zacząć dla deweloperów
Deweloperzy zainteresowani budowaniem z Oracle Machines mogą zbadać:
Dokumentacja Qubic - Kompleksowe przewodniki techniczne
Repozytorium Oracle Machine - kod źródłowy i szczegóły implementacji
Przewodnik po inteligentnych kontraktach - Jak działają inteligentne kontrakty Qubic
Wprowadzenie dla deweloperów - Rozpoczęcie pracy z rozwojem Qubic
Zestaw dewelopera Qubic - Skonfiguruj lokalny testnet
Qubic CLI - Narzędzia wiersza poleceń do interakcji z siecią
Organizacja GitHub - Wszystkie repozytoria open-source
Aby uzyskać wsparcie, dołącz do społeczności Qubic na Discordzie, gdzie deweloperzy aktywnie współpracują.
Patrząc w przyszłość
Infrastruktura oracle jest technologią fundamentalną. Większość użytkowników nigdy nie będzie się bezpośrednio kontaktować z Oracle Machines. Zamiast tego będą korzystać z aplikacji, które polegają na oracle w tle.
Oracle Machines są obecnie w końcowych testach na głównym łańcuchu Qubic. Po zakończeniu testów infrastruktura będzie gotowa do integracji dla deweloperów i aplikacji.
Bądź na bieżąco z rozwojem Qubic poprzez:
Blog Qubic - Najnowsze wiadomości i aktualizacje techniczne
Twitter/X - Ogłoszenia w czasie rzeczywistym
Telegram & Discord - Dyskusje w społeczności
Oracle Machines nadchodzą wkrótce. Przygotuj się, aby stworzyć coś, co ma znaczenie.
