Kuinka rakentaa oma Oracle käyttämällä Ethereumin älykkäitä sopimuksia? PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Kuinka rakentaa oma Oracle käyttämällä Ethereumin älykkäitä sopimuksia?

Lukeaika: 5 pöytäkirja

Ethereum on ensimmäinen lohkoketju, joka on perinyt dappien luomisen, kryptoresurssien kaupankäynnin lohkoketjussa ja niin edelleen.

Sillä on ohjelmointikielensä älykkäiden sopimusten kirjoittamiseen ja niiden toteuttamiseen Ethereum-virtuaalikoneessa toimintojen hajauttamiseksi. 

Älykkäät sopimukset suorittavat ennalta määritellyt koodirivit ja täyttävät aiotun tehtävän. Mutta entä jos haluamme saada älykkäät sopimukset toimimaan reaaliaikaisen tapahtuman tulosten perusteella?

Tämän saavuttamiseksi meidän on ymmärrettävä käsite blockchain-oraakkeleista, joiden kautta älykkäät sopimukset voivat vastaanottaa syötteitä todellisesta maailmasta. 

Mikä on krypto-oraakkeli ja kuinka oraakkeli luodaan Ethereum Smart -sopimuksessa? Keskustelemme tästä yksityiskohtaisesti seuraavassa osiossa. 

Blogin tärkeimmät aiheet

  • Mikä on kryptooraakkeli ja miten oraakkelit toimivat
  • Erilaisia ​​oraakkeleita
  • Tietovirta oraakkeleista Ethereumin älykkäisiin sopimuksiin
  • Kuinka koodata Ethereum Oracles
  • Ongelmia kryptooraakkelin kanssa

Mikä on oraakkeli ja miksi sitä tarvitaan?

oraakkelilauseita ovat kokonaisuuksia, jotka toimivat siltana yhdistäen lohkoketjun ulkoisiin järjestelmiin. Toisin sanoen oraakkelit toimittavat ketjun ulkopuolisten tapahtumien tiedot älykkäälle sopimukselle suorittamaan toiminto syötteen perusteella.

Esimerkiksi vedonlyöntitapahtumissa käyttäjät voivat lyödä vetoa pelaajista, joiden he uskovat voittavan ottelun. Reaaliaikaisen tapahtuman perusteella palkinnot jaetaan käyttäjille, jotka lyövät vetoa voittajasta. 

Blockchain-oraakkelit auttavat täydentämään voittajatietoja älykkäisiin sopimuksiin. Oracle-tietovirta on kaksisuuntaista, ja sitä voidaan käyttää minkä tahansa reaaliaikaisen tiedon muuntamiseen säätiedotuksista osakemarkkinoiden tilaan älykkäiksi sopimuksiksi. 

Jokaisella Ethereum-lohkoketjun solmulla on tiedot tapahtumista, joiden pitäisi olla yhtenäisiä. Siksi tietojen hakeminen sovellusliittymistä voi aiheuttaa ristiriitoja. Sitä vastoin Oracle lataa tiedot lohkoketjuun, joka näyttää muuttumattomasti samalta kaikissa solmuissa.

Blockchain Oracle
Blockchain Oracle

Kuinka päästä Oraclen tietoihin?

Älykkäät sopimukset käyttävät pyyntö- ja vastaussykliä tiedon saamiseksi oraakkelisolmusta. HTTP GET:llä toteutettu oraakkeli vastaanottaa pyynnön älysopimuksesta ja takaisinsoittotoiminto voi hakea pyydetyt tiedot oraakkelista. 

Tällä tavalla älykäs sopimus kerää tietoja oraakkelilta. Jokainen oraakkeli on määritetty tarjoamaan tiettyjä tietoja, ja voit hankkia etsimäsi tiedot kolmannen osapuolen palveluista. 

Tässä on joitain oraakkelipalveluita

  • chainlink
  • todistettavissa oleva
  • witnet
  • Paralink ja niin edelleen.

Oraakkelien luokitus

Oraakkelit luokitellaan useisiin tyyppeihin tietojen hakemisen, vahvistamisen ja siirron mukaan. 

Syöte oraakkelit: Tunnetuin tyyppi, jossa tiedot haetaan ketjun ulkopuolelta reaaliaikaisista tapahtumista. esim. Osakkeiden hintasyötteet saadaan ketjun ulkopuolelta, jotta voidaan käynnistää toimia rahoitusmarkkinoiden olosuhteisiin perustuvissa älykkäissä sopimuksissa.

Oraakkelit: Syöteoraakkelien käänteiskohta, jossa älykkäät sopimukset provosoivat oraakkelin suorittamaan toiminnon. esim. Lähetä signaaleja tallennuspalvelun tarjoajalle tietojen tallentamiseksi tai käynnistä pankkiverkko maksujen suorittamista varten.

Cross-chain oraakkelit: Cross-chain oraakkelit helpottavat sekä tietojen lukemista että kirjoittamista eri lohkoketjuihin. Sen avulla on myös mahdollista laukaista tapahtumia yhdessä lohkoketjussa ja saada ne toimiviksi toisessa. 

Laskentakäyttöiset oraakkelit: Laskentakäyttöiset oraakkelit käyttävät ketjun ulkopuolista laskentaa palveluiden tuottamiseen. Varsinkin kun on-chain ei ole luotettava teknisten tai taloudellisten rajoitteiden vuoksi, käytetään tämän tyyppistä oraakkelia.

Tietojen hakeminen Oraclesista

Vaihe 1: Älykäs sopimus lähettää kyselyn oraakkelille.

Vaihe 2: Kysely ohjataan tietovälineelle, joka hakee tiedot tietolähteestä

Vaihe 3: Tiedot johdetaan lähteestä ja syötetään oraakkelille.

Vaihe 4: Oracle lähettää vastauksen älykkääseen sopimukseen pyydettäessä. 

Oraclen luominen Ethereumissa Smart Contract – koodirakenne

Selvitämme, kuinka oraakkeli toimii määritettäessä Bitcoinin nykyistä hintaa USD:ssä käyttämällä Oracle-palvelua nimeltä 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-ongelmat

Oracle-ongelmat ovat pohjimmiltaan ristiriita luotettavien älykkäiden sopimusten ja luotettujen kolmannen osapuolen oraakkelien välillä, kun otetaan huomioon kolmansien osapuolien tietojen turvallisuus ja aitous.

Älykkäät sopimukset luottavat oraakkeleihin niiden toteuttamista koskevien päätösten tekemisessä, mikä antaa heille valtavan vallan toimivuuteensa. Itse asiassa älykkäiden sopimusten hajautettu luonne asetetaan kyseenalaiseksi. 

Oracle-palvelut, kuten ChainLink ja Oraclize, toimivat kuitenkin hajautetuina ratkaisuina, jotka saavat tietoa uusien ja todennettujen menetelmien perusteella. Siten saadut tiedot ovat hajautettuja keinoja.  

Yhteenveto

Lohkoketjun liitettävyys todelliseen maailmaan on hyväksyttävän merkittävä harppaukselle kohti hajautettua maailmaa. Oracles tarjoaa ratkaisun älykkäiden sopimusten luotettavaan käyttöliittymään reaaliaikaisten tietojen kanssa. 

Kestävyyden tuomiseksi esiin oraakkelipalvelut tekevät kuitenkin edistysaskeleita ketjun ulkopuolelta saatujen tietojen turvallisuuden ja oikeellisuuden lisäämiseksi. 

Haluatko pysyä relevantimpana Web3 suojaus?

seurata QuillAudits monille sellaisille ajantasaisille Web3:a koskeville kirjoituksille.

23 Näyttökerrat

Viesti Kuinka rakentaa oma Oracle käyttämällä Ethereumin älykkäitä sopimuksia? ilmestyi ensin Blog.quillhash.

Aikaleima:

Lisää aiheesta Quillhash