Me pregunto: ¿se han creado juegos que sean:
- punto a punto sin que un punto sea designado como host
- competitivo (no cooperativo, los jugadores juegan uno contra el otro)
- Probablemente justo (no hay posibilidad de que ningún jugador haga trampa)
- No le dé a ningún jugador más información de la que necesita (por ejemplo, sin revelar los secretos de otros jugadores incluso a las aplicaciones en ejecución)
Un ejemplo de un juego de este tipo sería un juego de póker donde cada jugador y sus juegos solo podrían conocer su propia mano, pero no las manos de otros jugadores sin depender de que ninguno de ellos sea el anfitrión del juego. Sé que hay algunos juegos que son demostrablemente justos, pero todo lo que sé existe en una configuración servidor-cliente.
game-mechanics
peer-to-peer
ThePiachu
fuente
fuente
Respuestas:
No sé si tales juegos han sido creados, pero seguramente han sido teorizados. Se han publicado varios artículos sobre el tema. Es posible que desee investigar esquemas de compromiso que ofrezcan una explicación de cómo dos partes en desacuerdo pueden lanzar una moneda mientras están físicamente distantes (vea también este artículo de 1981: Lanzamiento de monedas por teléfono ).
Un artículo muy completo es, por ejemplo, Cheat-Proof Peer-to-Peer Trading Card Games :
También Playout-Proof Playout para juegos centralizados y entre pares :
fuente
Aunque no es un juego de azar, estoy desarrollando un juego de AIR que está cerca de tus requisitos.
Sin embargo, tenga en cuenta ...
Considero "ninguna posibilidad de ... hacer trampa" una declaración falsa. Si no controlas todos los aspectos (hardware y software), entonces es posible hacer trampa.
Aunque no es un juego, creo que la red Bitcoin es un excelente ejemplo de lo que estás buscando.
Editar
Voy a ampliar un poco su pregunta principal.
Primero, no puedo ver ningún juego que requiera condiciones "demostrablemente justas" sin algún nivel de requisito de autoridad. Desde tablas de clasificación hasta micropagos, los sistemas centralizados y la autoridad van de la mano.
Segundo, el mejor juego de ejemplo en el que puedo pensar es en los primeros juegos de Pokemon. Aunque la logística de la red interna podría no haber sido de igual a igual, sigue el mismo principio.
Finalmente, las plataformas móviles están especialmente adaptadas para juegos entre pares. Considero que este campo es muy deficiente, es por eso que actualmente estoy desarrollando una línea de juegos entre pares.
fuente
Algunas piezas que pueden ayudar, según los casos de uso:
Si necesita obtener información simultánea de los usuarios sin la posibilidad de que uno pueda usar la información para su ventaja prematuramente, puede usar el esquema de compromiso. Básicamente esto es:
Esto se puede usar para una variedad de cosas, incluido un número aleatorio compartido (ambos proporcionan un número entero a través de compromisos y los agrupan después de compartir para obtener el valor compartido).
Sin embargo, eso es insuficiente para un juego como el póker, ya que requiere que las cartas sean conocidas por una sola persona, mientras que se puede seguir sacando del mazo compartido. Wikipedia tiene un algoritmo bastante bueno para la baraja compartida utilizando un esquema en el que ambos jugadores encriptan cada tarjeta individualmente varias veces. Esto establece una situación en la que se requieren 2 claves para descifrar cualquier carta, y ambos jugadores tienen 1. El artículo cita preocupaciones de rendimiento, pero no creo que AES o similar sea prohibitivamente caro en la escala requerida para el póker de 2 jugadores.
Si estuviera diseñando un algoritmo, los jugadores calcularían un valor aleatorio al comienzo del juego para usarlo como semilla para el resto de las operaciones y compartirían un hash de ese valor. De esa manera pueden compartir ese valor después del juego, y puedes verificar que siguieron el protocolo correctamente, sin travesuras.
fuente