Hogyan építsünk fel saját Oracle-t az Ethereum intelligens szerződések segítségével? PlatoBlockchain adatintelligencia. Függőleges keresés. Ai.

Hogyan építsünk fel saját Oracle-t az Ethereum intelligens szerződések segítségével?

Olvasási idő: 5 jegyzőkönyv

Az Ethereum az első olyan blokklánc, amely örökölte a dapp-ok létrehozásának, a kriptoeszközökkel való kereskedésnek a blokkláncon és így tovább.

A programozási nyelvvel rendelkezik az intelligens szerződések írásához és az Ethereum virtuális gépen való megvalósításához, hogy decentralizálja a tevékenységek végrehajtását. 

Az intelligens szerződések végrehajtják az előre meghatározott kódsorokat, és teljesítik a kívánt feladatot. De mi van akkor, ha az intelligens szerződéseket a valós idejű történések eredményei alapján akarjuk működésbe hozni?

Ennek eléréséhez meg kell értenünk a blokklánc orákulum fogalmát, amelyen keresztül az intelligens szerződések bemeneteket kaphatnak a való világból. 

Mi az az orákulum a kripto-ban, és hogyan hozhatunk létre orákuumot az Ethereum Smart szerződésben? Ezt a következő részben részletesen tárgyaljuk. 

A blog legfontosabb témái

  • Mi az a kripto-orákulum, és hogyan működnek az orákulumok
  • Különböző típusú orákulumok
  • Az adatáramlás az orákulumoktól az Ethereum intelligens szerződésekig
  • Hogyan kódoljunk Ethereum oracle-eket
  • Problémák a kriptoorakulummal

Mi az Oracle, és miért van szükség rá?

Orákulák olyan entitások, amelyek a blokkláncot külső rendszerekkel összekötő hídként működnek. Más szavakkal, az orákulumok a láncon kívüli események adatait biztosítják az intelligens szerződésnek, hogy a bemeneten alapuló műveletet hajtsanak végre.

Például fogadási eseményeken a felhasználók fogadhatnak azokra a játékosokra, akikről azt hiszik, hogy megnyerik a mérkőzést. A valós idejű események alapján jutalmakat osztanak ki a nyertesre fogadó felhasználók között. 

A Blockchain orákulumok segítenek az intelligens szerződések nyertesével kapcsolatos adatok kiegészítésében. Az Oracle adatfolyama kétirányú, és felhasználható bármilyen valós idejű adat lefordítására az időjárás-jelentésekből a tőzsdei állapoton át az intelligens szerződésekké. 

Az Ethereum blokklánc minden csomópontja rendelkezik információkkal a tranzakciókról, amelyeknek egységesnek kell lenniük. Ezért az adatok API-kból való lekérése eltéréseket eredményezhet. Ezzel szemben az Oracle betölti az adatokat a blokkláncra, ami változatlanul ugyanúgy jelenik meg az összes csomóponton.

Blockchain Oracle
Blockchain Oracle

Hogyan lehet hozzáférni az adatokhoz az Oracle-ből?

Az intelligens szerződések a kérés és válasz ciklust használják arra, hogy információkat szerezzenek az oracle csomóponttól. A HTTP GET-tel megvalósított orákulum megkapja a kérést az intelligens szerződéstől, a visszahívási funkció pedig lekérheti a kért adatokat az orákulumtól. 

Ily módon az intelligens szerződés gyűjti az adatokat az orákulumtól. Minden orákulum úgy van beállítva, hogy meghatározott információkat biztosítson, és harmadik féltől származó szolgáltatásokat is igénybe vehet a keresett adatok beszerzéséhez. 

Íme néhány oracle szolgáltatás

  • Láncszem
  • Bizonyítható
  • witnet
  • Paralink és így tovább.

Az orákuszok osztályozása

Az Oracle-eket az adatok lekérésétől, érvényesítésétől és átvitelétől függően különböző típusokba sorolják. 

Bemeneti orákuszok: A legszélesebb körben elismert típus, ahol az adatokat a valós idejű eseményekből a láncon kívül töltik le. Pl. A részvények árára vonatkozó betáplálást a láncon kívülről szerzik be, hogy a pénzügyi piaci feltételeken alapuló intelligens szerződésekkel kapcsolatos intézkedéseket indítsanak el.

Kimeneti orákumok: A bemeneti orákulumok fordítottja, ahol az intelligens szerződések a művelet végrehajtására késztetik az orákulumot. Pl. Küldjön jeleket a tárhelyszolgáltatónak az adatok tárolására, vagy kezdeményezzen banki hálózatokat fizetések teljesítéséhez.

Keresztláncú orákumok: A cross-chain orákuszok megkönnyítik az adatok olvasását és írását a különböző blokkláncokon. Azt is lehetővé teszi, hogy eseményeket indítsanak el az egyik blokkláncban, és működőképessé tegyék őket egy másik blokkláncon. 

Számításképes orákuszok: A számításra alkalmas orákuszok a láncon kívüli számításokat használják a szolgáltatások nyújtásához. Különösen akkor, ha az on-chain nem megbízható technikai vagy pénzügyi korlátok miatt, ezt a típusú orákulumot használják.

Adatlekérés az Oracle-ből

1. lépés: Az intelligens szerződés lekérdezést küld az orákulumnak.

2. lépés: A lekérdezést az adathordozóra irányítjuk, amely az adatforrásból keresi az adatokat

3. lépés: Az adatok a forrásból származnak, és az orákulumhoz kerülnek.

4. lépés: Az Oracle a kérésnek megfelelően elküldi a választ az intelligens szerződésre. 

Oracle létrehozása az Ethereum intelligens szerződésben – kódstruktúra

Megtudjuk, hogyan működik az oracle a Bitcoin aktuális USD-árának meghatározásában a Provable nevű oracle szolgáltatás segítségével. 

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 problémák

Az Oracle-problémák alapvetően a megbízhatatlan intelligens szerződések és a megbízható harmadik féltől származó orákumok közötti konfliktusból állnak, figyelembe véve a harmadik felektől származó adatok biztonságát és hitelességét.

Az intelligens szerződések az orákulumokra támaszkodnak a végrehajtásukkal kapcsolatos döntések meghozatalában, így hatalmas hatalmat adnak nekik működésük felett. Valójában az intelligens szerződések decentralizált jellege megkérdőjeleződik. 

Az Oracle szolgáltatások, például a ChainLink és az Oraclize azonban decentralizált megoldásként működnek, amelyek új és hitelesített módszerek alapján származtatják az adatokat. Így a kapott adatok decentralizált eszközökön keresztül származnak.  

Következtetés

A blokklánc összekapcsolhatósága a valós világgal elfogadhatóan jelentős a decentralizált világ felé történő előrelépéshez. Az Oracles megoldást kínál az intelligens szerződések megbízható interfészére valós idejű adatokkal. 

A fenntarthatóság előmozdítása érdekében azonban az oracle-szolgáltatások előrelépéseket tesznek a láncon kívül szerzett adatok biztonságának és helyességének megteremtése érdekében. 

Szeretne relevánsabb maradni Web3 biztonság?

Kövesse QuillAudits sok ilyen naprakész íráshoz a Web3-ról.

23 Nézetek

A poszt Hogyan építsünk fel saját Oracle-t az Ethereum intelligens szerződések segítségével? jelent meg először Blog.quillhash.

Időbélyeg:

Még több Quillhash