fair playengineeringprovably fair
Serverautoritativ heißt, dass der Server die einzige Kopie der Partie hält, die zählt. Ihr Gerät schickt den Zug, den Sie spielen wollen, der Server prüft ihn gegen seine eigenen Würfel und seine eigenen Regeln, und erst dann ändert sich das Brett. Eine veränderte App kann behaupten, was sie will: die Wahrheit lebt an einem Ort, den sie nicht erreicht.
Backgammon verdient diese Disziplin. Es ist ein Würfelspiel mit einer Leiter und einem Pot, was bedeutet, dass es zwei Wege gibt zu betrügen: die eigenen Züge fälschen oder die Würfe biegen. Ein fairer Server muss beide Türen schließen. Die zweite Tür schließt uns ein, und dazu kommen wir.
Was heißt serverautoritativ konkret?
Jede laufende Orion-Partie existiert an genau einem Ort: auf unserem Server. Das Brett auf Ihrem Telefon ist ein Fenster, nicht das Spiel. Wenn Sie einen Stein ziehen, bewegt die App ihn nicht. Sie schickt eine kleine Nachricht, die sagt: das will ich spielen. Der Server spielt diese Absicht gegen sein eigenes Brett nach, mit seiner eigenen Regel-Engine, mit den Würfeln, die er für diesen Zug geworfen hat. Legale Züge bringen die Partie voran, und beide Spieler erhalten dieselbe neue Stellung. Illegale Züge haben nie stattgefunden.
Das ist ein Server für alle. Die iOS-App ist natives SwiftUI, die Android-App natives Jetpack Compose, und beide sind Fenster auf dasselbe Backend und denselben Spielerpool. Anderes Glas, dieselbe Wahrheit.
Warum werden Spiele betrogen, die dem Client vertrauen?
Weil das Gerät Ihres Gegners Ihrem Gegner gehört. Alles, was darauf läuft, lässt sich ändern. Ein gepatchter Client kann Züge senden, die nie legal waren. Ein Speichereditor kann eine Zahl an Ort und Stelle überschreiben, und der Bildschirm zeigt die Lüge getreulich an. Nichts davon ist exotisch. Die Werkzeuge sind kostenlos, dokumentiert und älter als Smartphones.
Ein Spiel, das dem Client vertraut, bittet jeden Spieler zu versprechen, nicht unter die Haube zu schauen. Manche schauen. Also haben wir die Meinung des Clients bedeutungslos gemacht. In Orion hat die App genau drei Aufgaben:
- Zeichnen: das Brett, die Steine, den Doppelwürfel, die Uhr.
- Anfragen: den Server bitten, einen Zug zu spielen, ein Doppel anzubieten, aufzugeben.
- Empfangen: die Stellung anzeigen, die der Server für echt erklärt.
Würfeln, Legalität beurteilen und eine einzelne Münze bewegen stehen nicht auf dieser Liste. Nichts, was über einen Ausgang entscheidet, entsteht auf einem Gerät.
Was passiert, wenn ich einen Zug spiele?
Sie spielen.. Ihre App sendet die Absicht: dieser Stein, diese Punkte. Nichts auf Ihrem Gerät verändert das echte Brett.
Der Server spielt ihn nach.. Unsere Regel-Engine führt den Zug gegen das Brett des Servers und die Würfel des Servers aus. Ist er legal, geht die Partie weiter. Ist er es nicht, wird er an der Quelle abgelehnt, egal welche App ihn geschickt hat.
Beide Seiten bekommen dieselbe Wahrheit.. Die neue Stellung geht an beide Spieler. Bricht Ihre Verbindung ab, hält die Wiederverbindungsfrist der Zuguhr Ihren Platz, und Sie kehren an das Brett zurück, wie es wirklich ist, nicht wie Ihr Telefon es zuletzt in Erinnerung hatte.
Einsätze folgen derselben Regel. Beginnt eine Partie mit Buy-in, hinterlegt der Server beide Antes treuhänderisch. Der Pot lebt in einem einzigen Kontobuch, auf dem Server, und dort wird er am Ende der Partie abgerechnet. Kein Client wird je gefragt, was er zu gewinnen glaubt. Münzen und Edelsteine sind virtuell, ohne realen Gegenwert und ohne Auszahlung, und wir führen dieses Kontobuch trotzdem, als enthielte es etwas Kostbares, denn das tut es: Ihr Vertrauen in den Punktestand.
Was hindert den Server selbst am Betrügen?
Das ist die richtige Frage, und die meisten Spiele hoffen, dass Sie sie nie stellen. Ein Server, der im Geheimen würfelt, könnte für den Begünstigten freundlich würfeln, und Sie würden es nie sehen. Jeder Wurf sieht plausibel aus. Das tun Würfel nun einmal.
Also haben wir uns diese Macht selbst genommen. Bevor eine Partie beginnt, erzeugt der Server einen geheimen Seed und veröffentlicht eine SHA-256-Verpflichtung darauf. Jeder Wurf wird dann aus diesem Seed mit HMAC-SHA256 abgeleitet, ein Wurf nach dem anderen, der Reihe nach. Endet die Partie, legt der Server den Seed offen. Jeder kann prüfen, dass der Seed zu der vor dem ersten Wurf gemachten Verpflichtung passt und dass jeder Wurf der Partie daraus folgt. Im kryptografischen Sinn standen Ihre Würfel fest, bevor einer der Spieler einen Stein berührte. Wir könnten Wurf zwölf nicht biegen, ohne das bei Wurf null veröffentlichte Versprechen zu brechen.
Sie müssen uns bei nichts davon beim Wort nehmen. Der Prüfer unter orion.arthea.ai/verify rechnet die ganze Kette in Ihrem Browser nach, mit Web Crypto, auf Ihrem Rechner, aus dem öffentlichen Protokoll der Partie. Kein Konto nötig. Keine App nötig.
Wie greifen die beiden Hälften ineinander?
Serverautorität und Commit-Reveal-Würfel sind zwei Hälften eines Entwurfs, und jede deckt den blinden Fleck der anderen ab. Ein Server, der Züge validiert, aber im Geheimen würfelt, verlangt Vertrauen in das Haus. Verpflichtete Würfel auf einem vertrauensseligen Server verlangen Vertrauen in die App jedes Fremden. Zusammen schließen sie den Kreis. Der Client kann keinen Zug fälschen, weil der Server jeden Zug an der Quelle nachspielt. Der Server kann keinen Wurf manipulieren, weil jeder Wurf an eine vor der Partie veröffentlichte Verpflichtung gekettet ist. Niemand am Tisch, auch nicht die Leute, die ihn gebaut haben, hält ungeprüfte Macht über den Ausgang.
Der Client kann keinen Zug fälschen. Der Server kann keinen Wurf fälschen. Alles andere ist Dekoration.
Die Tür unter orion.arthea.ai/go trägt die Links zu App Store und Google Play und zeigt immer, was gerade verfügbar ist. Der Prüfer kam zuerst, mit Absicht: der Beweis der Fairness sollte existieren, bevor der erste echte Pot je gespielt wird.