Proof of Toss ist ein neues dezentrales Open-Source-Wettsystem, welches die Wettindustrie modernisieren und verändern soll. Die Plattform ermöglicht es Benutzern, Wetten selber zu erstellen, zu wetten und zu beurteilen. CTO von Proof of Toss, Eugene Pavlenko, hat sich in einem Interview unseren Fragen zur Projekt-Architektur und den technischen Lösungen gestellt.
Können Sie kurz die Proof of Toss Software-Architektur erklären und auf welchen Prinzipien sie beruht?
Während wir über die Softwarearchitektur nachdachten, konzentrierten wir uns auf zwei Hauptpunkte: Speicherung von Informationen in Smart Contracts und einen schnellen Datentransfer. In der endgültigen Implementierung gibt es drei Hauptkomponenten: die Smart Contracts, die Webseite und “Elasticsearch”, die für die Indizierung von Daten verwendet wird und eine schnelle Suche nach verschiedenen Kriterien ermöglicht. Tatsächlich gibt es kein Backend im System, und dies ist ein wichtiges Merkmal. Aufgrund dessen interagiert das Frontend zwangsläufig direkt mit den Smart Contracts und ohne Zwischenschaltung von Servern.
Wie und wofür verwenden Sie Smart Contracts?
Events und Wetten im System werden mit Hilfe von Smart Contracts erstellt. Außerdem werden Smart Contracts für die Speicherung von Ergebnissen, für die Wetten selbst, für Urteile und Einzahlungen verwendet. In der Tat wurde die gesamte Geschäftslogik innerhalb der Smart Contracts implementiert. Die Website stellt eine Schnittstelle dar, die die Smart Contracts aufruft und Daten ausgibt. Die Webseite in Kombination mit der Blockchain-Technologie schafft die Grundlage für die wichtigsten Funktionen, die für das Wetten; wie Dezentralisierung, Transparenz und die Möglichkeit für Auszahlungen in nahezu Echtzeit zu tätigen, benötigt werden.
Für das Projekt verwenden Sie Rootstock (RSK) als Basis für die Smart-Contracts. Rootstock ist noch nicht sehr bekannt. Können Sie uns sagen, was die Plattform ausmacht und warum Sie diese gewählt haben?
Die RSK Smart Contract-Plattform ist eine Sidechain von Bitcoin, skaliert derzeit auf bis zu 100 Transaktionen pro Sekunde und soll zukünftig bis zu 2.000 Transaktionen pro Sekunde verarbeiten können. Die Ethereum Virtual Machine ist in RSK eingebettet, was die Ausführung von Smart Contracts ermöglicht, die in Solidity geschrieben sind. Das RSK MainNet befindet sich aktuell in einem geschlossenen Test. Zur Zeit gibt es keine produktiven Projekte. Proof of Toss wird somit zu den ersten Anwendungen auf Basis dieser Technologie gehören. Heute ist Bitcoins Blockchain die stabilste und sicherste, und das ist einer der Hauptvorteile von Rootstock. Ein anderer ist die Verwendung der einzigartigen Skalierungs-Technologie, die es ermöglicht, die Leistung von Ethereum zu übertreffen.
Eine sehr interessante Funktionalität der Plattform ist die Möglichkeit den Ausgang eines (Wett-) Events selber zu beurteilen. Wie wird dies umgesetzt?
Zu diesem Zweck haben wir einen on-chain Zufallszahlengenerator entwickelt, der gegen Manipulationen von Betrügern und Bergleuten resistent ist. Dieser wählt ein zufälliges Ereignis für den potentiellen Richter aus. Theoretisch könnte es unendlich viele Ereignisse im Wett-Pool geben. Selbst in diesem Fall kann unser Algorithmus ein zufälliges Ereignis auswählen, das für einen bestimmten Richter für eine festgelegte Belohnung (Gas) passt. Ein weiteres potentielles Problem ist, dass die Miner die Blockzeit und anderen Daten manipulieren könnten. Um vor solchen Manipulationen geschützt zu sein, bedurfte es einer nicht ganz trivialen Lösung für den Zufallszahlengenerator. Miner könnten das Ergebnis einer Transaktion in dem nächsten Block vorab sehen. Wenn sie damit nicht zufrieden sind, könnten sie das Senden des Blocks verhindern bzw. den Block überspringen und ein besseres Ergebnis auswählen. Deshalb musste der Zufallszahlengenerator so implementiert werden, dass das Ergebnis des Algorithmus erst sichtbar wird, wenn die Transaktion in dem Block verarbeitet wurde.
Es ist bekannt, dass Wetten und Glücksspiel Betrug anziehen. Wie wird sich das Proof of Toss System davor schützen?
Wir haben ein System für Einzahlungen entwickelt, welches betrügerische Aktivitäten riskant und unrentabel macht. Wenn ein Benutzer zum Beispiel versucht, ein Ereignis zu erstellen, darauf zu wetten und es dann zu bewerten, wäre es äußerst unrentabel: Denn die Einzahlung ist eine Art Versicherung, die bei Betrug einbehalten werden kann.
Außerdem haben wir einen Schutz entwickelt, der vor einer möglichen Manipulation durch Miner schützt. Das Beurteilen (“Judging”) und alle Event-Bedingungen sind in Echtzeit verbunden: 10 Minuten vor Beginn der Veranstaltung müssen alle Wetten getätigt sein. Unser Algorithmus schützt somit vor Möglichkeit der Manipulation durch Miner.