Ich frage mich, ob es jemals Spiele gegeben hat, die:
- Peer-to-Peer, ohne dass ein Peer als Host festgelegt wurde
- wettbewerbsfähig (nicht kooperativ, Spieler spielen gegeneinander)
- nachweislich fair (es besteht keine Möglichkeit, dass ein Spieler betrügt)
- Geben Sie keinem Spieler mehr Informationen, als er benötigt (zum Beispiel, um die Geheimnisse anderer Spieler nicht einmal den laufenden Anwendungen preiszugeben).
Ein Beispiel für ein solches Spiel wäre ein Pokerspiel, bei dem jeder Spieler und seine Spiele nur seine eigene Hand kennen, nicht aber die Hände anderer Spieler, ohne sich darauf zu verlassen, dass einer von ihnen der Gastgeber des Spiels ist. Ich weiß, dass es ein paar Spiele gibt, die nachweislich fair sind, aber alles, was ich weiß, existiert in einer Server-Client-Konfiguration.
game-mechanics
peer-to-peer
ThePiachu
quelle
quelle
Antworten:
Ich weiß nicht, ob solche Spiele erstellt wurden, aber sie wurden mit Sicherheit theoretisiert. Zu diesem Thema wurden mehrere Artikel veröffentlicht. Möglicherweise möchten Sie nach Verpflichtungsschemata suchen, in denen erläutert wird, wie zwei unterschiedliche Parteien eine Münze werfen können, während sie physisch weit entfernt sind (siehe auch diesen Artikel von 1981: Münzwurf per Telefon ).
Eine sehr gründliche Abhandlung ist zum Beispiel Cheat-Proof Peer-to-Peer-Sammelkartenspiele :
Auch Cheat-Proof-Playout für zentrales und Peer-to-Peer-Gaming :
quelle
Obwohl ich kein Glücksspiel bin, entwickle ich ein AIR-Spiel, das Ihren Anforderungen entspricht.
Bitte beachten Sie jedoch ...
Ich halte "keine Möglichkeit ... zu betrügen" für eine falsche Aussage. Wenn Sie nicht alle Aspekte (Hardware und Software) kontrollieren, ist Betrug möglich.
Obwohl dies kein Spiel ist, denke ich, dass das Bitcoin- Netzwerk ein hervorragendes Beispiel für das ist, wonach Sie suchen.
Bearbeiten
Ich werde ein wenig auf Ihre Hauptfrage eingehen.
Erstens sehe ich kein Spiel, das "nachweislich faire" Bedingungen erfordert, ohne ein gewisses Maß an Autorität. Von Bestenlisten bis zu Mikrozahlungen gehören zentralisierte Systeme und Autorität zusammen.
Zweitens ist das beste Beispielspiel, an das ich denken kann, die frühen Pokemon-Spiele. Obwohl die Logistik des inneren Netzwerks möglicherweise nicht Peer-to-Peer war, folgt sie demselben Prinzip.
Schließlich sind die mobilen Plattformen speziell für Peer-to-Peer-Spiele geeignet. Ich halte dieses Feld für sehr mangelhaft, deshalb entwickle ich gerade eine Reihe von Peer-to-Peer-Spielen.
quelle
Einige Teile, die je nach Anwendungsfall hilfreich sein könnten:
Wenn Sie von Benutzern gleichzeitig Eingaben erhalten möchten, ohne dass die Möglichkeit besteht, Informationen vorzeitig zu ihrem Vorteil zu nutzen, können Sie das Bereitstellungsschema verwenden.Im Wesentlichen ist dies:
Dies kann für eine Vielzahl von Dingen verwendet werden, einschließlich einer gemeinsam genutzten Zufallszahl (beide stellen eine ganze Zahl über Verpflichtungen bereit und xor sie zusammen nach der Freigabe, um den gemeinsam genutzten Wert zu erhalten.)
Für ein Spiel wie Poker ist dies jedoch unzureichend, da die Karten nur einer Person bekannt sein müssen, während sie weiterhin vom gemeinsamen Kartendeck gezogen werden können. Wikipedia hat einen ziemlich guten Algorithmus zum gemeinsamen Mischen mit einem Schema, bei dem beide Spieler jede Karte einzeln mehrmals verschlüsseln. Dies führt zu einer Situation, in der 2 Schlüssel erforderlich sind, um eine bestimmte Karte zu entschlüsseln, und beide Spieler über 1 verfügen. Der Artikel nennt Leistungsprobleme, aber ich denke nicht, dass AES oder ähnliches in dem für 2-Spieler-Poker erforderlichen Umfang unerschwinglich teuer ist.
Wenn ich einen Algorithmus entwerfen würde, müssten die Spieler zu Beginn des Spiels einen zufälligen Wert berechnen, der als Ausgangswert für alle anderen Operationen verwendet wird, und einen Hash dieses Werts gemeinsam nutzen. Auf diese Weise können sie diesen Wert nach dem Spiel teilen und Sie können überprüfen, ob sie das Protokoll korrekt befolgt haben, und zwar ohne Spielereien.
quelle