
Wann trifft die Lieferung ein? Oracles vernetzen das Web3 mit der Außenwelt. (Bild: Shutterstock/Gorodenkoff)
Im Web3 regeln Smart Contracts das, was früher Intermediäre wie Banken, Notare oder Behörden geregelt haben. Sie sind automatisierte digitale Vereinbarungen, die viele verschiedene Anwendungen haben. Wir kennen Smart Contracts heute schon aus dem Defi-Bereich. Aber auch viel mehr Anwendungen in der Industrie sind denkbar. Dafür ist es aber oft erforderlich, auf Informationen außerhalb des Blockchain- oder DLT-Netzwerkes zuzugreifen. Das können Oracle-Dienste erledigen.
Was sind Oracles?
Zugeführte Daten bringen einen Smart Contract in Bewegung und führen dazu, dass die einprogrammierten Governance-Regeln ausgeführt werden. Diese Daten können aus dem Blockchain-Netzwerk selbst stammen oder von außen kommen. Externe Datenquellen heißen auch „Oracles“. Diese Oracle-Dienste sammeln vertragsrelevante Informationen in der „Off-Chain-Welt“ und verifizieren sie, um sie dann an Smart Contracts zu liefern.
Diese Daten von außerhalb des Netzwerkes stammen zum Beispiel von einer Software oder von Hardware-Sensoren. Bei einem Smart Contract innerhalb einer Lieferkette könnte das zum Beispiel die Information sein, dass der Füllstand eines bestimmten Gutes ein bestimmtes niedriges Niveau erreicht hat. Das Oracle meldet diese Information an den Smart Contract, der daraufhin automatisch eine Bestellung des Gutes ausführt, um den Füllstand zu erhöhen. Genauso könnte ein Sensor anzeigen, wann ein Transporter das Warenlager erreicht oder es verlässt und diese Informationen per Oracle an das Netzwerk weitergeben.
Welche Kosten entstehen durch Oracles?
Um dem Smart Contract die externen Daten mitzuteilen, muss der Contract erst aufgerufen werden. Er wartet also nicht auf die Informationen des Oracles. Das kann Transaktionskosten verursachen. Im Ethereum-Netzwerk sind die Kosten für Transaktionen, Gas Fees genannt, momentan sehr hoch, was den häufigen Aufruf von Oracles teuer machen kann.
Welche verschiedenen Arten von Oracles gibt es?
Unterschieden werden kann zum einen zwischen Soft- und Hardware-Oracles. Software-Oracles verarbeiten zum Beispiel Informationen zu Preisänderungen, Wetterdaten, Flugdaten oder sonstigen Onlineservices. Hardware-Oracles speisen im Sinne des Internets der Dinge (IoT) Informationen direkt von Objekten in das Blockchain-Netzwerk ein. Das sind meist Sensoren, wie im genannten Lieferketten-Beispiel.
Zum anderen können Oracles in In- und Outbound unterteilt werden. Inbound Oracles versorgen Smart Contracts mit Informationen, die von der Außenwelt kommen, wohingegen Outbound Oracles in die andere Richtung funktionieren und Daten aus dem Blockchain-Netzwerk an die Außenwelt schicken. Ein Beispiel dafür wäre ein smartes Schloss, dass sich nach einer eingegangenen Zahlung öffnet.
Was sind die Gefahren bei Oracles?
Die Sicherheit in einem Blockchain-Netzwerk beruht auf dem jeweiligen Konsensmechanismus. Durch die gemeinsame Validierung von Transaktionen ist kein gegenseitiges Vertrauen der Teilnehmer:innen notwendig. Die Daten, die aber per Oracles von außen in dieses System eingespeist werden, unterliegen nicht diesem Konsensmechanismus und sind daher anfällig für sogenannte „Man-in-the-middle-Angriffe“. Kryptographische Verfahren können hierfür eine Lösung sein. Aber auch die Nutzung mehrerer, verschiedener Oracle-Dienste kann die Zuverlässigkeit der eingespeisten Daten erhöhen.