Kako zgraditi svoj Oracle z uporabo pametnih pogodb Ethereum? Podatkovna inteligenca PlatoBlockchain. Navpično iskanje. Ai.

Kako zgraditi svoj Oracle z uporabo pametnih pogodb Ethereum?

Čas branja: 5 min

Ethereum je prva veriga blokov v zgodovini, ki je podedovala lastnosti ustvarjanja dapps, trgovanja s kripto sredstvi v verigi blokov itd.

Ima svoj programski jezik za pisanje pametnih pogodb in njihovo izvajanje na virtualnem stroju Ethereum, da vnese decentralizacijo v izvajanje dejavnosti. 

Pametne pogodbe izvajajo vnaprej določene vrstice kod in izpolnjujejo predvideno nalogo. Kaj pa, če želimo, da pametne pogodbe delujejo na podlagi rezultatov dogajanja v realnem času?

Da bi to dosegli, moramo razumeti koncept blockchain orakljev, prek katerih lahko pametne pogodbe prejemajo vnose iz resničnega sveta. 

Kaj je orakelj v kripto in kako ustvariti orakelj v pogodbi Ethereum Smart? O tem bomo podrobno razpravljali v naslednjem razdelku. 

Ključne teme bloga

  • Kaj je kripto orakelj in kako orakelj deluje
  • Različne vrste orakljev
  • Pretok podatkov od Oracles do pametnih pogodb Ethereum
  • Kako kodirati oraklje Ethereum
  • Težave s kripto oraklom

Kaj je orakelj in zakaj je potreben?

Orakle so entitete, ki delujejo kot most, ki povezuje blockchain z zunanjimi sistemi. Z drugimi besedami, orakli zagotavljajo podatke o dogodkih izven verige pametni pogodbi za izvedbo dejanja na podlagi vnosa.

Na primer, pri stavnih dogodkih lahko uporabniki stavijo na igralce, za katere menijo, da bodo zmagali na tekmi. Na podlagi dogajanja v realnem času se uporabnikom, ki stavijo na zmagovalca, razdelijo nagrade. 

Blockchain oraklji pomagajo dopolniti podatke o zmagovalcu v pametnih pogodbah. Pretok podatkov na Oracle je dvosmeren in se lahko uporablja za prevajanje vseh podatkov v realnem času iz vremenskih poročil v stanje na borzi v pametne pogodbe. 

Vsako vozlišče v verigi blokov Ethereum ima informacije o transakcijah, ki bi morale biti enotne. Zato lahko pridobivanje podatkov iz API-jev povzroči neskladja. V nasprotju s tem Oracle naloži podatke v verigo blokov, ki so nespremenljivo enaki na vseh vozliščih.

Blockchain Oracles
Blockchain Oracles

Kako dostopati do podatkov iz Oracla?

Pametne pogodbe uporabljajo cikel zahteve in odgovora za pridobivanje informacij iz Oracle vozlišča. Oracle, implementiran s HTTP GET, bo prejel zahtevo iz pametne pogodbe, funkcija povratnega klica pa lahko pridobi zahtevane podatke iz oracle. 

Na ta način se podatki zbirajo s pametno pogodbo iz Oracle. Vsak orakelj je konfiguriran za zagotavljanje določenih informacij in za pridobitev podatkov, ki jih iščete, lahko poiščete storitve tretjih oseb. 

Tukaj je nekaj storitev Oracle

  • chainlink
  • Dokazljivo
  • witnet
  • Paralink in tako naprej.

Klasifikacija Oraklov

Orakli so razvrščeni v različne vrste, odvisno od pridobivanja, potrjevanja in prenosa podatkov. 

Vnosni oraklji: Najbolj splošno priznana vrsta, pri kateri se podatki pridobivajo izven verige iz dogajanja v realnem času. Na primer Cenovni viri delnic se pridobivajo izven verige, da se sprožijo ukrepi za pametne pogodbe na podlagi pogojev na finančnem trgu.

Izhodni oraklji: Nasprotno od orakljev za vnos, kjer pametne pogodbe izzovejo orakelj, da izvede dejanje. Na primer Pošljite signale ponudniku pomnilnika za shranjevanje podatkov ali sprožite bančna omrežja za izvajanje plačil.

Medverižni oraklji: Medverižni oraklji olajšajo tako branje kot pisanje podatkov v različnih verigah blokov. Prav tako omogoča sprožitev dogodkov v eni verigi blokov in njihovo delovanje v drugi. 

Orakli, ki podpirajo računalništvo: Orakli, ki podpirajo računalništvo, za zagotavljanje storitev uporabljajo računalništvo zunaj verige. Zlasti kadar veriga ni zanesljiva zaradi tehničnih ali finančnih omejitev, se uporablja ta vrsta oraklja.

Pridobivanje podatkov iz Oracles

1. korak: pametna pogodba pošlje poizvedbo oraklju.

2. korak: Poizvedba je usmerjena k nosilcu podatkov, ki išče podatke iz vira podatkov

3. korak: Podatki izhajajo iz vira in se posredujejo oraklju.

4. korak: Oracle pošlje odgovor na pametno pogodbo, kot je zahtevano. 

Ustvarjanje pametne pogodbe Oracle v Ethereumu – struktura kode

Ugotovili bomo, kako Oracle deluje pri določanju trenutne cene Bitcoina v USD s storitvijo Oracle, imenovano 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" ); } } 

Oracle Težave

Težave z Oracle so v bistvu konflikt med nezaupljivimi pametnimi pogodbami in zaupanja vrednimi oraklji tretjih oseb, ob upoštevanju varnosti in pristnosti podatkov tretjih oseb.

Pametne pogodbe se zanašajo na oraklje za sprejemanje odločitev glede njihovega izvajanja, kar jim daje izjemno moč nad njihovim delovanjem. Pravzaprav je decentralizirana narava pametnih pogodb postavljena pod vprašaj. 

Vendar storitve Oracle, kot sta ChainLink in Oraclize, delujejo kot decentralizirane rešitve, ki pridobivajo podatke na podlagi novih in preverjenih metod. Tako so podatki pridobljeni z decentraliziranimi sredstvi.  

zaključek

Povezljivost verige blokov z realnim svetom je sprejemljivo pomembna za preskok v smeri decentraliziranega sveta. Oracles ponuja rešitev za zanesljiv vmesnik pametnih pogodb s podatki v realnem času. 

Da bi zagotovili trajnost, so storitve Oracle napredovale, da bi zagotovile varnost in pravilnost podatkov, pridobljenih zunaj verige. 

Želite ostati bolj relevantni za Varnost Web3?

Sledite QuillAudits za številne tako posodobljene zapise o Web3.

23 Ogledov

Pošta Kako zgraditi svoj Oracle z uporabo pametnih pogodb Ethereum? pojavil prvi na Blog.quillhash.

Časovni žig:

Več od Quillhash