Angepasstes Orakel für den Zugriff auf und das Vornehmen von Änderungen an Daten in einem Cloud-Dienst

Obwohl es einige Literatur gibt, die die Möglichkeiten von Oracles erwähnt, Smart Contracts in einer Blockchain mit externen Daten zu versorgen, bin ich ein Neuling und habe mich gefragt, ob es eine erfolgreiche Implementierung davon gibt.

Mir sind Dienste wie Oraclize und Reality Keys bekannt , die Daten von der „Außenwelt“ liefern.

Was ist der am weitesten entwickelte und dokumentierte Dienst für Orakel?

In welchen Projekten werden diese Orakel verwendet?

Es gibt eine Liste von Dapps, die mit Oraclize und Ethereum entwickelt wurden. Aber wie genau wird hier ein Orakel eingesetzt?

Stellen Sie sich ein Szenario vor, in dem ein Smart Contract aus einer privaten Ethereum-Blockchain Daten in einen Cloud-Dienst lesen/schreiben muss. Kann ich dafür mein eigenes Orakel entwerfen? Wenn ja, wo erhalte ich diesbezüglich weitere Informationen?

Blockchain-Dienste werden verwendet, um vertrauenslose Peer-to-Peer-Transaktionen und eine sichere verteilte Speicherung dieser Transaktionen zu erreichen. Wird das Konzept der Orakel dem nicht widersprechen, weil wir einer einzigen Quelle für unsere Informationen „vertrauen“? Oder gibt es eine Möglichkeit, Orakel auf einem konsensbasierten System zu implementieren?

Bitte geben Sie alle nützlichen Quellen an, um Orakel besser zu verstehen. Danke im Voraus.

Antworten (2)

Marco von Oraclize hier :)

Ich denke, dieser Blogbeitragvon Thomas Bertani ist eine gute Einführung in das, was Orakel sind und was sie können. Kurz zusammengefasst ist ein Oracle ein Drittanbieter, der anbietet, Daten abzurufen, die Sie benötigen und die Sie nicht selbst erhalten können. Genau dafür wird Oraclize im Ethereum-Ökosystem eingesetzt. Intelligente Verträge sind blind für die Außenwelt und oft müssen Daten in sie hineingeworfen werden, damit sie etwas Nützliches tun. Wir erbringen diesen Service und sind gleichzeitig in der Lage, einen kryptografischen Beweis unserer Ehrlichkeit zu erbringen, dh Ihnen unveränderte Daten aus der Datenquelle zur Verfügung zu stellen. Obwohl es keine perfekte Lösung ist, ist TlsNotary ein erster Schritt in die richtige Richtung, um das Vertrauen in den Oracle-Dienst zu entfernen und es zu viel größeren Akteuren zu verlagern, wie in diesem Fall Amazon, das die Notarisierungsserver betreibt, und zu den Datenquellen selbst.

Wie Edgar erwähnte, wird die Möglichkeit, direkt aus Ethereum Smart Contracts heraus einen kryptografischen Beweis für die Ehrlichkeit von Oracle zu verifizieren, bevor diese Daten akzeptiert werden, ein großer Schritt nach vorne für Oracle-Dienste sein. Es ist ein Feature, das vor Ende des Jahres mit der nächsten Ethereum-Hard-Fork kommen sollte. Bei Oraclize arbeiten wir jetzt daran, unsere kryptografischen Beweise über TLSNotary und andere softwarebasierte Ansätze hinaus zu erweitern, und wir werden in den kommenden Monaten hardwarebasierte Lösungen verwenden. Mit zunehmendem Wert und Nutzen von Verträgen wird es immer wichtiger, extrem robuste und angriffsresistente Oracle-Services bereitzustellen.

Um Ihre anderen Fragen zu beantworten, können Sie sehen, wie unsere Dienste in der von Ihnen erwähnten dApp-Liste verwendet werden, indem Sie deren Smart-Contract-Code in unserem GitHub-Repository überprüfen . Die grundlegende Mechanik besteht darin, dass wir eine Verbindung zu den APIs dieser Dienste herstellen und die Rückrufmethode _callback verwenden , um die Daten an den Vertrag zurückzusenden, der sie anfordert.

Oraclize arbeitet auch mit privaten Blockchains. Bei Interesse sollten Sie sich direkt mit uns in Verbindung setzen und wir können eine Integration besprechen. Wenn Sie stattdessen Ihre eigene einfache Ad-hoc-Oracle-Lösung erstellen möchten, finden Sie hier zunächst einige Open-Source- Ressourcen .

Edmund Edgar von Reality Keys hier. Ein gutes Beispiel für die Verwendung von Reality Keys ist EtherOpt , eine dezentrale Optionsbörse. Sie können ihren Quellcode hier sehen .

Sie haben Recht, dass die Verwendung eines Orakels grundsätzlich eine Art Vertrauen in das Orakel erfordert, und die Vermeidung dieser Art von Vertrauen ist einer der Hauptgründe, überhaupt Blockchains zu verwenden.

Dies impliziert die Standard-Schwachstelle „Vertrauenswürdige Dritte sind Sicherheitslücken“: Wenn Reality Keys gehackt oder erfolgreich bestochen wird, werden die falschen Personen von EtherOpt bezahlt. Die Geschichte der vertrauenswürdigen Parteien in der Kryptowährung ist, dass unsere vertrauenswürdigen Dritten oft gehackt werden (oder „gehackt“, es ist schwer zu sagen), also ist dies kein rein akademisches Anliegen.

Die offensichtliche Abhilfe besteht darin, mehrere Orakel zu kombinieren, da es weniger wahrscheinlich ist, dass alle gleichzeitig kompromittiert werden. Dies ist sehr wertvoll und reduziert das Risiko erheblich, wenn auch nicht ganz so stark, wie es klingen mag, da das Orakelrisiko etwas korreliert ist; Wenn es beispielsweise in einem Kernstück einer kostenlosen Infrastruktur wie SSH einen ernsthaften Zero-Day gibt, erhöht sich die Wahrscheinlichkeit, dass sowohl Thomas als auch wir gleichzeitig gehackt werden. Auch wenn eines Ihrer Orakel kompromittiert ist, erhöht dies den Wert eines erfolgreichen Angriffs auf die verbleibenden.

Ein interessanter Ansatz, an dem Thomas gearbeitet hat, besteht darin, die TLS-Beglaubigung zu verwenden, um kryptografisch zu beweisen, dass die von ihm gemeldeten Daten von der HTTPS-Site veröffentlicht wurden, von der er sie erhalten hat. IMHO ist dies derzeit eher Entwickler-pr0n als tatsächliche Sicherheit, da Verträge den Beweis nicht wirklich überprüfen können. Sie müssen sich also nur davon überzeugen, dass er kompromittiert wurde, aber da Oracle-Daten im Allgemeinen öffentlich sind und jemand im Allgemeinen daran beteiligt ist jedes Ergebnis und ein Anreiz, blauen Mord zu schreien, wenn sie ausgeraubt werden, das löst ein Problem, das wir nie wirklich hatten, ohne das zu lösen, das wir haben: Wenn er gehackt wird, verlieren Sie Ihr Geld.

Interessanter wird es, wenn Ethereum einen Hard Fork durchführt, der es Verträgen ermöglicht, die Beweise direkt zu verifizieren; Aber auch da bewegen Sie das Orakel wirklich: Sie müssen mir oder Thomas nicht vertrauen, dass sie die richtigen Daten liefern, aber Sie müssen dem ursprünglichen Datenlieferanten vertrauen, dass er die richtigen Daten liefert. Der Vorteil gegenüber dem Vertrauen zu mir oder Thomas besteht darin, dass der Feed-Anbieter möglicherweise ein größeres Unternehmen mit einer zu schützenden Marke ist. Es gibt jedoch immer noch ernsthafte Risiken, insbesondere wenn der Datenanbieter nicht wirklich beabsichtigt, sie so zu verwenden, wie wir sie verwenden. In diesem Fall kann er sie möglicherweise nicht angemessen sichern oder einfach die API-Schlüssel aus Ihrem Vertrag reißen muss auf ihren Feed zugreifen ...

Angenommen, ich verwende eine einzelne Quelle (die mir gehört und von mir verwaltet wird), um Daten zu lesen und sie über ein Orakel an Smart Contracts weiterzugeben. Kann ich auch Daten in diese Quelle schreiben, basierend auf den Ergebnissen von Smart Contracts (über dasselbe Orakel)?