Cover photo

Blockchain Vs Cheater

Verfolgt man aktuelle Twitter Diskussionen, stehen viele GamerInnen der NFT Technologie bzw. Blockchains im Allgemeinen, sehr ablehnend gegenüber (mehr dazu ggf. in einem eigenen Artikel). Eine Einstellung die ich nicht unbedingt nachvollziehen kann, könnte diese Technologie doch für viele grundlegende Verbesserungen innerhalb von Games eingesetzt werden. Eine mögliche Anwendung: verbesserte Anti-Cheat Maßnahmen!

Seit es Spiele gibt, gibt es auch Cheats für diese. Nutzte man bei den alten Konsolen wie dem NES oder dem SNES noch Adapter wie den Game Genie, der Speicherbereiche während dem Spielen manipulierte und so für unendliche Munition oder Extra-Leben sorgte, so existiert heute vor allem für Online Games, ein regelrechter Markt für Cheats. Kompetitive Games mit ihren Ranglisten verlocken mit vermeintlich schnellem Ruhm: In Bruchteilen einer Sekunde klebt das Fadenkreuz auf dem gegnerischen Avatar und ohne dass der Gegner reagieren kann beißt das gesamtes Team ins Gras. Der Spielspaß gleich null (inwiefern der Cheater hierbei allerdings Spaß empfindet erschließt sich mir ebenfalls nicht).

Die Gegenmaßnahmen der Spielehersteller sind vielfältig und enden oftmals in einem Katz und Mausspiel zwischen den Spieleherstellern und den Cheat-ProgrammiererInnen. Die Hersteller werben inzwischen sogar mit Abo Modellen und Funktionsgarantie.

https://www.polygon.com/22868456/activision-call-of-duty-cheat-lawsuit#:~:text=The%20Call%20of%20Duty%3A%20Warzone,first%20spotted%20the%20lawsuit%20Tuesday.

Eine gerne angewendete Maßnahmen ist das installieren von Anti-Cheat-Software auf den Rechnern der SpielerInnen. Dabei handelt es sich oft um sogenannte Kernel Treiber die im höchsten Ring des Betriebssystems laufen. Sie sollen überwachen ob Fremdsoftware z.B. via Manipulation des Speichers, auf einen laufenden Spiel-Prozess einwirkt. Um das Versteckspiel des Cheat Programms auszutricksen ähneln diese Programme in ihrer Funktionsweise einem Hardware Treiber und haben so Zugriff auf weitreichende und sehr tiefgehende Betriebssystemfunktionen. Um sich im System zu verwurzeln wenden die Hersteller Techniken an die an das Verhalten von Trojanern erinnern. Viele Sicherheitsmaßnahmen des Betriebssystems sind dabei außer Kraft gesetzt. Dem Benutzer bleibt nichts anders übrig als dem Spielehersteller zu vertrauen, dass er eine gute Code Qualität liefert und kein Schindluder mit dem Rechner der Benutzer anstellt. Leider zeigt die Geschichte, dass dieses Vertrauen oft ungerechtfertigt ist: nicht selten sind Instabilitäten oder entstehende Sicherheitslücken die Folge.

https://www.blackhat.com/docs/eu-14/materials/eu-14-StJohn-Next-Level-Cheating-And-Leveling-Up-Mitigations-wp.pdf

Community Moderation

Counterstrike: Global Offensive (CS:GO) besitzt jedoch ein etwas anderes, interessantes Konzept: wird ein Spieler oft genug gemeldet, wird das aufgezeichnete Online Match einem Tribunal vorgelegt. Beim Tribunal handelt es sich um mehrere CS:GO SpielerInnen die einen gewissen Rang erreicht haben. Sie schauen sich das Match im Replay an und stimmen dann mit “Ja, hat gehackt” oder “Nein, hat nicht gehackt” ab. Kommen sie zu einem eindeutigen Ergebnis wird eine Bestrafung gegen den betreffenden Spieler ausgesprochen. Das kann dann unter anderem ein Bann aus dem Spiel sein. Nun sind viele Spiele heutzutage aber Free2Play Spiele und die gebannt Person legt sich schnell eine neue E-Mail Adresse an um einfach unter einem neuem Namen wieder einzusteigen.

Anti-Cheat durch Blockchain?

Mit der Blockchain ergeben such nun völlig neue Ansätze. Eine mögliche Maßnahme wäre es eine Art Pfand in einem Smart Contract zu hinterlegen. Bevor das Spiel gestartet werden kann, wird mittels einer Signatur die Pfandhinterlegung überprüft und erst dann der Login in das Spiel erlaubt. Aufgrund der Vertrauenslosigkeit einer Blockchain könnte dieser Pfand sogar Spiele- und Herstellerübergreifend über verschiedene Launcher hinweg genutzt werden.

Sollte nun während einer Partie ein möglicher CheaterIn auftauchen, könnte einer der MitspielerInnen nach dem Zahlen einer Gebühr (die jedoch geringer als das initiale Pfand ausfällt) einen Report Prozess starten. Dies hilft dabei Reports die nur aus “Frust” entstehen zu vermeiden und nur ernsthafte Reports in das System einzuspeisen.

Spieler die im Spiel eine gewisse Reputation aufweisen, und sich freiwillig als Tribunal Mitglied zur Verfügung gestellt haben, würde dann zeitig das Replay des Matches vorgelegt bekommen. Auch sie müssten ebenfalls einen kleinen Geldbetrag vor dem Review-Vorgang hinterlegen. Dieser durch die Juroren hinterlegte Geldbetrag müsste geringfügig größer sein, als was sie durch die Verurteilung des potentiellen Cheaters verdienen könnten. Das dient dazu wissentlich den Gemeldeten als Cheater abzustempeln um sich einen Vorteil zu verschaffen. Die Juroren werden zufällig aus dem Gesamtpool ausgewählt und sollten in ihrer Identität gegenseitig nicht offen gelegt werden. Das verhindert ein Absprechen vor der Urteilsfindung.

Die Juroren dürfen nach dem Review des Matches verdeckt unter den drei möglichen Ergebnissen wählen:

  • Hat gecheatet

  • Hat nicht gecheatet

  • Unentschlossen

Nach einer festgelegten Zeitspanne wird die Abstimmung aufgedeckt und das Ergebnis präsentiert: Stimmt die Mehrheit für Cheater, wird das Pfand des Cheaters, sowie die Gebühr der Juroren die für “Nicht Cheater” gestimmt haben eingezogen und auf die anderen Juroren und die ehemaligen Mitspieler des Online Matches (als Entschädigung) aufgeteilt. Das Einziehen der Juroren-Gebühr bei einer Falschaussage verhindert, dass Juroren einfach immer auf “hat gecheatet” tippen um sich selbst einen monetären Vorteil zu verschaffen.

Wird der vermeintliche Cheater mehrheitlich als “hat nicht gecheatet” eingestuft, wird stattdessen die Gebühr des Reporters (und der Juroren die für “hat gecheatet” gestimmt haben) eingezogen und als Aufwandsentschädigung an die restlichen Juroren verteilt. Diese Gebühr ist natürlich geringer als bei einer Verurteilung und daher haben die Juroren potentiell eher ein Interesse daran einen Cheater zu identifizieren (hier müsste man genau nachrechnen wie man die Gebührenverteilung balanciert um keine Tendenz in eine der beiden Richtungen zu entwickeln).

Bei einem Unentschieden oder einer Mehrheit die für “Unentschlossen” gestimmt hat werden alle Gebühren zurückerstattet. Wer mit “Unentschlossen” abstimmt, wenn zum Beispiel durch das Replay kein eindeutiges Cheaten identifiziert werden kann wird, dessen Gebühr wird nie eingezogen. Diese Regelung hat mehrere Vorteile: ein einmalig gezahlter Pfand ist nicht für immer weg und der Spieler kann den Pfand auch wieder auslösen, sollte er das Geld anderweitig benötigen (verliert dann aber natürlich die Möglichkeit das Spiel zu spielen. Dafür muss er erneut Pfand hinterlegen). Spieler die durch einen Cheater in ihrem Spielspaß geschädigt wurden, haben eine Chance eine kleine monetäre Entschädigung zu erhalten und das ernsthafte Abstimmen der Tribunal JurorInnen wird gefördert.

Ausblick

Man kann sogar weiter gehen und durch das erfolgreiche Abstimmverhalten eine Art Community Token ausgeben. Damit könnten die Teilnehmer des Reporting Systems über die Änderung gewisser Protokoll Parameter selbst abstimmen und so selbstständig zur Protokoll Pflege beitragen. Erfolgreiche Juroren hätten dabei ein höheres Stimmgewicht.

Natürlich würde auch eine Pfandhinterlegung nicht alle Spieler vom Cheaten abhalten. Letztlich kaufen auch heute schon SpielerInnen einfach einen Titel erneut wenn sie permanent gebannt wurden. Um dieses Verhalten abzuschwächen könnte man optional im Matchmaking des Spieles die Menge des hinterlegten Pfandes berücksichtigen. Dabei würden dann Spieler primär gematcht werden, die eine ähnliche Mengen hinterlegt haben. Das bringt Spieler zusammen die Wert auf ein ähnliches Sicherheitsniveau legen und reduziert die Wahrscheinlichkeit dass jemand mit geringem Pfandniveau einen Verlust in kauf nimmt.

Projekte wie Cartesi, mit denen Berechnungen einer Virtuellen Maschine auf der Blockchain verifizierbar gemacht werden, könnten ebenfalls dazu beitragen Betrüger automatisch zu enttarnen. Das ist jedoch Thema eines eigenen Artikels.

https://cartesi.io/