Oracles und Discreet Log Contract (DLC)

Was ist ein Discreet Log Contract (DLC) und wie löst ein dezentrales Netzwerk das Oracle-Problem?


Ein DLC ist eine Weiterentwicklung eines Smart Contracts. Mit Discreet Log Contracts können Verträge auf der Blockchain geschlossen und ausgeführt werden. Das von mehreren Parteien einbezahltes Geld wird beim Eintreten eines vordefinierten Events ausbezahlt. Anwendung finden die DLCs beispielsweise im Bereich von Sportwetten oder auch bei Wetten auf den Ausgang einer Wahl. Beispielsweise konnten auf diesem Weg gewettet werden wer die US-Wahl 2021 gewinnt.

Aufbau eines Discreet Log Contract

Neben den beiden Parteien - Alice und Bob - gibt es eine dritte unabhängige Partei, das Oracle (Orakel). Prinzipiell lösen Oracles das Problem eines vertrauensvollen Mittelsmanns, zugleich sind diese Oracles aber oftmals auch ein Sicherheitsproblem. Da es keine zentrale Instanz in einem dezentralen Netzwerk gibt, wird zwingend eine andere vertrauenswürdige Quelle benötigt welche die Blockchain über den Ausgang eines Ereignisses informiert.


Dieses unter dem Begriff "Oracle-Problem" bekannte Phänomen wird über Spieltheorie gelöst. Durch ökonomische Anreize wird das Orakel gezwungen "ehrlich" zu sein. Beispielsweise werden zehn Orakel für den Ausgang eines Fußballspiels als Quelle herangezogen. Neun der Orakel teilen dem DLC mit, dass Team 1 das Spiel gewonnen hat. Jedoch teilt ein Orakel einen offensichtlich falschen Ausgang der Partie mit. Das "böse" Orakel erhält daher nicht nur keine Belohnung für die geleistete Arbeit, gleichzeitig wird es abgestraft. Diese Strafe könnte eine Absenkung der künftigen Belohnungen - für richtige Mitteilungen - sein oder auch ein generelles Ignorieren des Orakels. Der ökonomische Druck welcher hier erzeugt wird verstärkt sich nochmals im Laufe der Zeit. Je häufiger ein Orakel "korrekte" Ergebnisse liefert, desto vertrauensvoller wird es im Netzwerk. Dieses Vertrauen würde das Orakel durch eine einzige fehlerhafte Mitteilung zu Nichte machen. Daher hat kein Orakel ein Interesse daran falsche Ergebnisse zu liefern.


Beispiel

Alice und Bob sind große Fußballfans und möchten auf die Partie Deutschland gegen Brasilien wetten. Alice tippt auf Deutschland und Bob auf die technisch versierten Südamerikaner. Beide zahlen den identischen Einsatz in den Smart Contract bzw. Discreet Log Contract ein. und teilen der Blockchain auf diesem Weg auch gleich den erwarteten Gewinner mit. Hierbei gibt es keinen Mittelsmann (Wettanbieter oder ähnliches). Der Vertrag findet ausschließlich auf der Blockchain statt und wird direkt zwischen Alice und Bob geschlossen. Die Vertragsdetails sind vom DLC vorab transparent festgelegt und nicht veränderbar. Der Vertrag besteht letztlich aus einer Bedingung (Wer gewinnt das Spiel?) und den beiden signierten Transaktionen. Wenn Bob vergisst seinen Einsatz vor Spielbeginn einzuzahlen, erhält Alice ihren Einsatz zurück und der Vertag ist hinfällig.


Am Ende entzaubern die Deutschen die Brasilianer mit 7:1 und Alice gewinnt die Wette. Der DLC holt sich das Endergebnis nun aus einer Vielzahl an möglichst vertrauensvollen Quellen. Wiedermal sind sich neun Quellen einig und sehen Deutschland als Sieger. Die eine bösartige Quelle verliert ihre Kredibilität und wird beim nächsten Spiel (ohne brasilianische Beteiligung) nicht mehr vom DLC als Quelle befragt. Nun erhält Alice ihre eigene Einzahlung sowie den Einsatz von Bob zurück - abzüglich einer kleinen Gebühr. Die Gebühr wird benötigten für den verwendeten Platz auf der Blockchain sowie als Entschädigung für Dienste der Orakel.

Welche Vorteile bietet diese dezentrale Wette?

Durch die Dezentralität werden die Dienste des Wettanbieters obsolet. Entsprechen sind die Quoten bei dezentralen Wetten höher - größerer Gewinn bei richtigem Tipp - da keine Firma daran verdienen muss. Zusätzlich bleibt der Vertrag der beteiligten Parteien anonym. Nicht einmal die Oracles wissen davon.

 

Weitere Beiträge zu dezentralen Anwendungen:

Decentralized Apps

Wie funktioniert eine dezentrale Exchange?

Wie funktioniert ein Smart Contract?