Wie baut man sein eigenes Oracle mit Ethereum Smart Contracts? PlatoBlockchain-Datenintelligenz. Vertikale Suche. Ai.

Wie baut man sein eigenes Oracle mit Ethereum Smart Contracts?

Lesezeit: 5 Minuten

Ethereum ist die allererste Blockchain, die die Qualitäten der Erstellung von Dapps, des Handels mit Krypto-Assets auf der Blockchain und so weiter erbt.

Es hat seine Programmiersprache, um intelligente Verträge zu schreiben und sie auf der virtuellen Maschine von Ethereum zu implementieren, um die Dezentralisierung bei der Durchführung von Aktivitäten zu fördern. 

Smart Contracts führen die vordefinierten Codezeilen aus und erfüllen die beabsichtigte Aufgabe. Aber was ist, wenn wir die intelligenten Verträge auf der Grundlage der Ergebnisse des Echtzeitgeschehens funktionieren lassen wollen?

Um dies zu erreichen, müssen wir das Konzept der Blockchain-Orakel verstehen, durch die intelligente Verträge Eingaben aus der realen Welt erhalten können. 

Was ist ein Orakel in Krypto und wie erstellt man ein Orakel im Ethereum Smart Contract? Darauf werden wir im folgenden Abschnitt ausführlich eingehen. 

Hauptthemen des Blogs

  • Was ist ein Krypto-Orakel und wie funktionieren Orakel?
  • Verschiedene Arten von Orakeln
  • Der Datenfluss von Orakeln zu Ethereum Smart Contracts
  • Wie man Ethereum-Orakel codiert
  • Probleme mit Krypto-Orakel

Was ist ein Orakel und warum wird es benötigt?

Orakel sind Entitäten, die als Brücke fungieren, die die Blockchain mit externen Systemen verbindet. Mit anderen Worten, Orakel stellen dem Smart Contract die Off-Chain-Ereignisdaten bereit, um eine Aktion basierend auf der Eingabe auszuführen.

Beispielsweise dürfen Benutzer bei Wettereignissen auf die Spieler wetten, von denen sie glauben, dass sie das Spiel gewinnen werden. Basierend auf dem Echtzeitgeschehen werden Belohnungen an die Benutzer verteilt, die auf den Gewinner setzen. 

Blockchain-Orakel helfen dabei, Daten über den Gewinner zu den Smart Contracts zu ergänzen. Der Datenfluss auf Oracle ist bidirektional und kann verwendet werden, um beliebige Echtzeitdaten von Wetterberichten über den Börsenstatus bis hin zu Smart Contracts zu übersetzen. 

Jeder Knoten in der Ethereum-Blockchain besitzt Informationen über die Transaktionen, die einheitlich sein sollten. Daher kann das Abrufen von Daten von APIs zu Diskrepanzen führen. Im Gegensatz dazu lädt Oracle die Daten auf die Blockchain, die auf allen Knoten unveränderlich gleich erscheinen.

Blockchain Orakel
Blockchain Orakel

Wie greife ich auf Daten von Oracle zu?

Smart Contracts verwenden den Request-and-Response-Zyklus, um Informationen vom Orakelknoten zu erhalten. Das mit einem HTTP GET implementierte Orakel erhält die Anfrage vom Smart Contract und die Callback-Funktion kann die angeforderten Daten vom Orakel abrufen. 

Auf diese Weise werden Daten durch den Smart Contract vom Orakel gesammelt. Jedes Orakel ist so konfiguriert, dass es bestimmte Informationen bereitstellt, und Sie können Dienste von Drittanbietern in Anspruch nehmen, um die gesuchten Daten zu erhalten. 

Hier sind einige der Orakeldienste

  • Kettenglied
  • Nachweisbar
  • Witnet
  • Paralinks und so weiter.

Klassifikation der Orakel

Orakel werden je nach Abruf, Validierung und Übertragung der Daten in verschiedene Typen eingeteilt. 

Eingabeorakel: Der am weitesten verbreitete Typ, bei dem die Daten außerhalb der Kette von den Echtzeitereignissen abgerufen werden. Zum Bsp. Preis-Feeds für Aktien werden von Off-Chain bezogen, um Maßnahmen zu Smart Contracts basierend auf den Finanzmarktbedingungen auszulösen.

Orakel ausgeben: Der umgekehrte Fall von Eingabeorakeln, bei denen die Smart Contracts das Orakel dazu bringen, die Aktion auszuführen. Zum Bsp. Senden Sie Signale an den Speicheranbieter, um die Daten zu speichern, oder initiieren Sie Banknetzwerke, um Zahlungen vorzunehmen.

Kettenübergreifende Orakel: Kettenübergreifende Orakel erleichtern sowohl das Lesen als auch das Schreiben von Daten auf verschiedenen Blockchains. Es ermöglicht auch, Ereignisse in einer Blockchain auszulösen und auf einer anderen wirksam zu machen. 

Rechenfähige Orakel: Rechenfähige Orakel nutzen Off-Chain-Berechnungen, um Dienste bereitzustellen. Besonders wenn On-Chain aufgrund technischer oder finanzieller Einschränkungen nicht zuverlässig ist, wird diese Art von Orakel verwendet.

Datenabruf von Oracles

Schritt 1: Der Smart Contract sendet eine Anfrage an das Orakel.

Schritt 2: Die Anfrage wird an den Datenträger gerichtet, der die Daten aus der Datenquelle sucht

Schritt 3: Daten werden von der Quelle abgeleitet und dem Orakel zugeführt.

Schritt 4: Oracle sendet die Antwort wie angefordert an den Smart Contract. 

Erstellen von Oracle in Ethereum Smart Contract – Codestruktur

Wir werden herausfinden, wie Oracle bei der Bestimmung des aktuellen Preises von Bitcoin in USD mithilfe eines Oracle-Dienstes namens Provable funktioniert. 

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-Probleme

Oracle-Probleme sind im Wesentlichen der Konflikt zwischen vertrauenswürdigen Smart Contracts und vertrauenswürdigen Orakeln von Drittanbietern, wenn man die Sicherheit und Authentizität von Daten von Drittanbietern berücksichtigt.

Intelligente Verträge verlassen sich auf Orakel, um Entscheidungen über ihre Ausführung zu treffen, was ihnen immense Macht über ihre Funktionsweise verleiht. Tatsächlich wird der dezentrale Charakter von Smart Contracts in Frage gestellt. 

Orakeldienste wie ChainLink und Oraclize funktionieren jedoch als dezentrale Lösungen, die Daten auf der Grundlage neuartiger und authentifizierter Methoden ableiten. Die erhaltenen Daten werden also dezentralisiert.  

Zusammenfassung

Die Konnektivität der Blockchain mit der realen Welt ist für einen Sprung nach vorne in die dezentralisierte Welt von akzeptabler Bedeutung. Oracles bieten die Lösung für eine zuverlässige Schnittstelle von Smart Contracts mit Echtzeitdaten. 

Um jedoch Nachhaltigkeit zu fördern, werden von Oracle-Diensten Fortschritte gemacht, um die Sicherheit und Korrektheit der Off-Chain erhaltenen Daten zu gewährleisten. 

Relevanter bleiben möchten Web3-Sicherheit?

Folgen Sie uns QuillAudits für viele solcher aktuellen Artikel über Web3.

23 Views

Die Post Wie baut man sein eigenes Oracle mit Ethereum Smart Contracts? erschien zuerst auf Blog.quillhash.

Zeitstempel:

Mehr von Quillhash