Czas czytania: 5 minuty
Ethereum to pierwszy w historii blockchain, który dziedziczy cechy tworzenia dappów, handlu kryptowalutami na blockchainie i tak dalej.
Ma swój język programowania do pisania inteligentnych kontraktów i wdrażania ich na wirtualnej maszynie Ethereum, aby wprowadzić decentralizację podczas wykonywania czynności.
Inteligentne kontrakty wykonują predefiniowane linie kodów i spełniają zamierzone zadanie. Ale co, jeśli chcemy, aby inteligentne kontrakty działały w oparciu o wyniki wydarzeń w czasie rzeczywistym?
Aby to osiągnąć, musimy zrozumieć koncepcję wyroczni blockchain, dzięki którym inteligentne kontrakty mogą otrzymywać dane wejściowe ze świata rzeczywistego.
Czym jest wyrocznia w krypto i jak stworzyć wyrocznię w kontrakcie Ethereum Smart? Omówimy to szczegółowo w następnym rozdziale.
Kluczowe tematy bloga
- Co to jest wyrocznia kryptowalut i jak działają wyrocznie
- Różne rodzaje wyroczni
- Przepływ danych z wyroczni do inteligentnych kontraktów Ethereum
- Jak kodować wyrocznie Ethereum
- Problemy z kryptograficzną wyrocznią
Co to jest wyrocznia i dlaczego jest potrzebna?
Wyrocznie to podmioty, które działają jak pomost łączący blockchain z systemami zewnętrznymi. Innymi słowy, wyrocznie dostarczają dane o zdarzeniach poza łańcuchem do inteligentnego kontraktu, aby wykonać akcję na podstawie danych wejściowych.
Na przykład w przypadku zakładów bukmacherskich użytkownicy mogą obstawiać graczy, którzy ich zdaniem wygrają mecz. W oparciu o wydarzenia w czasie rzeczywistym, nagrody są przydzielane użytkownikom, którzy postawią na zwycięzcę.
Wyrocznie Blockchain pomagają uzupełniać dane o zwycięzcy w inteligentnych kontraktach. Przepływ danych w Oracle jest dwukierunkowy i może być używany do tłumaczenia dowolnych danych w czasie rzeczywistym, od raportów pogodowych, przez stan giełdowy, po inteligentne kontrakty.
Każdy węzeł w blockchain Ethereum posiada informacje o transakcjach, które powinny być jednolite. Dlatego pobieranie danych z interfejsów API może powodować rozbieżności. W przeciwieństwie do tego Oracle ładuje dane na łańcuchu bloków, które niezmiennie pojawiają się takie same na wszystkich węzłach.
Jak uzyskać dostęp do danych z Oracle?
Inteligentne kontrakty wykorzystują cykl żądania i odpowiedzi, aby uzyskać informacje z węzła Oracle. Wyrocznia zaimplementowana za pomocą HTTP GET otrzyma żądanie z inteligentnego kontraktu, a funkcja wywołania zwrotnego może pobrać żądane dane z wyroczni.
W ten sposób dane są zbierane przez inteligentny kontrakt z wyroczni. Każda wyrocznia jest skonfigurowana tak, aby dostarczać określonych informacji i możesz skorzystać z usług innych firm, aby uzyskać dane, których szukasz.
Oto niektóre z usług wyroczni
- Ogniwo łańcucha
- Udowodnione
- witnet
- Paralink i tak dalej.
Klasyfikacja wyroczni
Wyrocznie są podzielone na różne typy w zależności od pobierania, walidacji i przesyłania danych.
Wyrocznie wejściowe: Najbardziej rozpoznawalny typ, w którym dane są pobierane poza łańcuchem z wydarzeń w czasie rzeczywistym. Na przykład Kanały cenowe dotyczące akcji są pozyskiwane poza łańcuchem, aby uruchomić działanie na inteligentnych kontraktach w oparciu o warunki rynku finansowego.
Wyrocznie wyjściowe: Odwrotny werset wyroczni wejściowych, w których inteligentne kontrakty prowokują wyrocznię do wykonania działania. Na przykład Wysyłaj sygnały do dostawcy pamięci masowej, aby przechowywać dane lub inicjować sieci bankowe w celu dokonywania płatności.
Wyrocznie krzyżowe: Wyrocznie międzyłańcuchowe ułatwiają zarówno odczytywanie, jak i zapisywanie danych w różnych łańcuchach bloków. Umożliwia również wyzwalanie zdarzeń w jednym blockchainie i sprawianie, że działają na innym.
Wyrocznie z obsługą obliczeń: Wyrocznie z obsługą obliczeń wykorzystują obliczenia poza łańcuchem do świadczenia usług. Zwłaszcza, gdy łańcuch nie jest niezawodny ze względu na ograniczenia techniczne lub finansowe, stosuje się ten rodzaj wyroczni.
Pobieranie danych z Oracle
Krok 1: Inteligentny kontrakt wysyła zapytanie do wyroczni.
Krok 2: Zapytanie kierowane jest do nośnika danych, który wyszukuje dane ze źródła danych
Krok 3: Dane pochodzą ze źródła i są przekazywane do wyroczni.
Krok 4: Oracle wysyła odpowiedź do inteligentnego kontraktu zgodnie z żądaniem.
Tworzenie inteligentnego kontraktu Oracle In Ethereum – struktura kodu
Dowiemy się, jak działa Oracle przy ustalaniu aktualnej ceny Bitcoina w USD, korzystając z usługi Oracle o nazwie Provable.
pragma solidity >= 0.5.0 < 0.6.0; //Declaring the Solidity version import "github.com/provable-things/ethereum-api/provableAPI.sol"; //Importing latest version of provable API contract BitcoinPrice is usingProvable { //Contract named BitcoinPrice, UsingProvable refers to the API uint public bitcoinPriceUSD; //bitcoinPriceUSD is the variable created to store the price, Provable query event that makes a constructor event LogNewBitcoinPrice(string price); event LogNewProvableQuery(string description); constructor() public { update(); } // callback function to call the smart contract after the output is received and transfers the result from callback function to the variable assigned function __callback( bytes32 _myid, string memory _result ) public { require(msg.sender == provable_cbAddress()); emit LogNewBitcoinPrice(_result); BitcoinPriceUSD = parseInt(_result, 2); // Let's save it as cents... } //passing output string and API string to fetch bitcoin price to our constructor function update() public payable { emit LogNewProvableQuery("Provable query was sent, standing by for the answer..."); provable_query("URL", "xml("https://min-api.cryptocompare.com/data/generateAvg?fsym=BTC&tsym=USD&e=Kraken" ); } }
Problemy z Oracle
Problemy z Oracle są zasadniczo konfliktem między nieufnymi inteligentnymi kontraktami a zaufanymi wyroczniami stron trzecich, biorąc pod uwagę bezpieczeństwo i autentyczność danych od stron trzecich.
Inteligentne kontrakty polegają na wyroczniach przy podejmowaniu decyzji dotyczących ich realizacji, dając im ogromną władzę nad ich funkcjonowaniem. W rzeczywistości zdecentralizowany charakter inteligentnych kontraktów jest kwestionowany.
Jednak usługi Oracle, takie jak ChainLink i Oraclize, działają jako zdecentralizowane rozwiązania, które czerpią dane w oparciu o nowatorskie i uwierzytelnione metody. W ten sposób dane uzyskane są za pomocą środków zdecentralizowanych.
Wnioski
Łączność łańcucha bloków ze światem rzeczywistym jest akceptowalnie istotna dla skoku w kierunku zdecentralizowanego świata. Oracle oferuje rozwiązanie zapewniające niezawodny interfejs inteligentnych kontraktów z danymi w czasie rzeczywistym.
Jednak, aby zapewnić zrównoważony rozwój, usługi Oracle dokonują postępów, aby zapewnić bezpieczeństwo i poprawność danych uzyskanych poza łańcuchem.
Chcesz być bardziej związany z Bezpieczeństwo Web3?
Obserwuj QuillAudyty dla wielu takich aktualnych wpisów o Web3.
Post Jak zbudować własną Oracle za pomocą inteligentnych kontraktów Ethereum? pojawiła się najpierw na Blog.
- Coinsmart. Najlepsza w Europie giełda bitcoinów i kryptowalut.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. DARMOWY DOSTĘP.
- CryptoJastrząb. Radar Altcoin. Bezpłatna wersja próbna.
- Źródło: https://blog.quillhash.com/2022/07/01/how-to-build-your-own-oracle-using-ethereum-smart-contracts/
- "
- a
- O nas
- dostęp
- Osiągać
- nabyć
- działać
- Działania
- zajęcia
- postępy
- Wszystkie kategorie
- Inne
- odpowiedź
- api
- Pszczoła
- pojawił się
- Aktywa
- przydzielony
- uwierzytelniony
- autentyczność
- Bank
- Zakłady
- pomiędzy
- Bitcoin
- Cena Bitcoin
- Blokować
- blockchain
- blockchains
- BRIDGE
- przynieść
- budować
- wezwanie
- Ogniwo łańcucha
- kod
- obliczenia
- pojęcie
- Warunki
- konflikt
- Podłączanie
- Łączność
- umowa
- umowy
- mógłby
- Stwórz
- stworzony
- Tworzenie
- Łańcuch krzyżowy
- Crypto
- krypto-aktywa
- CryptoCompare
- Aktualny
- DApps
- dane
- decentralizacja
- Decyzje
- W zależności
- opis
- detal
- określaniu
- różne
- dyskutować
- Wyświetlacz
- dystrybuowane
- każdy
- podmioty
- szczególnie
- ethereum
- Ethereum blockchain
- wydarzenie
- wydarzenia
- przykład
- egzekucja
- nakarmiony
- budżetowy
- Rynek finansowy
- i terminów, a
- pływ
- następujący
- Naprzód
- od
- funkcjonować
- funkcjonowanie
- zasadniczo
- GitHub
- Dający
- pomoc
- W jaki sposób
- How To
- HTTPS
- wdrożenia
- realizowane
- W innych
- Informacja
- wkład
- Interfejs
- IT
- język
- firmy
- linie
- Popatrz
- maszyna
- zrobiony
- robić
- WYKONUJE
- Dokonywanie
- rynek
- Mecz
- Materia
- znaczy
- Pamięć
- metody
- jeszcze
- większość
- Natura
- sieci
- węzły
- uzyskane
- oferuje
- Na łańcuchu
- wyrocznia
- Inne
- własny
- płatności
- wykonywania
- gracze
- możliwy
- power
- Cena
- problemy
- Programowanie
- zapewniać
- dostawca
- publiczny
- pytanie
- Czytający
- Prawdziwy świat
- w czasie rzeczywistym
- dane w czasie rzeczywistym
- otrzymać
- Odebrane
- uznane
- odnosi
- w sprawie
- rzetelny
- Raporty
- zażądać
- odpowiedź
- Efekt
- Nagrody
- taki sam
- Zapisz
- bezpieczeństwo
- usługa
- Usługi
- znaczący
- mądry
- inteligentna umowa
- Inteligentne kontrakty
- So
- SOL
- solidność
- rozwiązanie
- Rozwiązania
- kilka
- specyficzny
- Rynek
- pobyt
- stany magazynowe
- Giełda Papierów Wartościowych
- Akcje
- przechowywanie
- sklep
- Przechowuj dane
- Zrównoważony rozwój
- systemy
- Techniczny
- Połączenia
- Źródło
- w związku z tym
- osoby trzecie
- innych firm
- Przez
- czas
- tematy
- Handel
- handlowanie kryptowalutami
- transakcje
- Przesyłanie
- transfery
- zaufany
- typy
- zrozumieć
- USD
- posługiwać się
- Użytkownicy
- różnorodny
- wersja
- Wirtualny
- Maszyna wirtualna
- Web3
- Co
- KIM
- wygrać
- słowa
- Praca
- działa
- świat
- pisanie
- Twój