¿Se puede usar la criptografía para comparar y verificar las respuestas de los servidores web que no son de confianza? [cerrado]

-1

En los juegos de cartas como el póquer, es fundamental que los jugadores no conozcan las manos de los otros jugadores hasta que muestren simultáneamente sus cartas para ver quién ganó.

¿Existe una técnica criptográfica para lograr un resultado similar en Internet que no requiera una infraestructura confiable y se pueda lograr de manera distribuida?

Estoy especialmente interesado en los aspectos de sincronización de este desafío.

    
pregunta bmiller59 04.12.2016 - 20:53
fuente

2 respuestas

2

Sí: una cadena de bloques encriptada. La clave de descifrado se envía al final de la mano.

No estoy seguro de cuánto más expandir esto sin explicar cómo funciona blockchain (pero veo que ya estás familiarizado con el concepto).

    
respondido por el schroeder 04.12.2016 - 22:40
fuente
1
  

¿Existe una técnica criptográfica para lograr un resultado similar en Internet que no requiera una infraestructura confiable y se pueda lograr de manera distribuida?

Tipo de. Consideremos una variante de póquer en la que cada jugador recibe cartas de un mazo de cartas separado. Por lo tanto, ningún jugador puede tener cartas duplicadas, pero las cartas pueden estar duplicadas en todas las manos.

También asumimos que todos tienen un par de llaves RSA, y las claves públicas ya se han compartido.

Entonces, el protocolo procede así:

  • todos generan dos valores aleatorios A y B.
  • todos firman A y B (por separado) y envían / recolectan estas firmas separadas de A y B a / de todos los demás.
  • todos revelan A y recopilan valores de A de todos los demás. si alguna firma no coincide, es una repetición.
  • todos calculan A ', la suma de todos los valores A.
  • todos se dan una mano basándose en usar A '+ B como semilla.
  • (ahora nadie se conoce la mano del otro porque no conoce el valor B de otros jugadores. además, nadie ha podido manipular su mano repartida porque no sabían cuál sería el valor A 'final después de elegir B)
  • todos hacen negocios de póquer, firmando sus movimientos y cualquier información pública revelada según lo exigen las reglas de nuestro póquer modificado.
  • al final, todos comparten los valores B, que permiten verificar si alguien hizo trampa en algún paso dado.
  • cualquiera que haya hecho trampa automáticamente pierde contra quien no haya hecho trampa antes de hacerlo.

Por lo tanto, de alguna manera permitimos el engaño, pero lo adaptamos a las reglas del juego de una manera que evite que un tramposo aislado vea alguna vez una ventaja al hacerlo. Si el juego se convierte en cero en caso de que se detecte una trampa, los jugadores podrían hacer trampa cuando crean que están perdiendo una posición.

La parte difícil de todo esto es hacer cumplir los pagos de las partes perdidas.

    
respondido por el DepressedDaniel 04.12.2016 - 21:24
fuente

Lea otras preguntas en las etiquetas