- Tomar el hash del último bloque generado
- Al realizar una apuesta cada jugador mete un número o cadena aleatorio, que se toma en cuenta para el calculo
pero claro, yo podría despues de recoger todas las apuestas, poner una más y hacer que salga el resultado que me de la real gana.
Es que son apuestas p2p, usuario contra usuario
En este escenario el block hash no te aporta nada. Luego, si lo estoy entendiendo bien, no es p2p como tal pues está centralizado en tu web.
Habría que hacerlo en varias rondas, primero todos los usuarios enviando un hash del valor aleatorio (generado en lado de cliente con JS) y, cuando ya se conocen todos los hashes, envían el valor original para que luego en el servidor se validen y combinen todos, y se genera el número de marras.
Ejemplo:
- Usuario 1 envía el hash 7d990ec5dc5fb372001a6745a03ac1dcd778f0f4fcdb6d91dd101c3024e33fa3.
- Usuario 2 envía el hash 6a808995f1b43b5e0ca8fedb04d3c4b6decc11e720ed0008ecc8113d8722675a.
- Usuario 3, potencialmente tú, envía el hash 86cb2b211a4c42e4694bc42b7d0b8b448fb108c6aa34bcc349ebaac7d81ec2af.
- En este punto, con todos los hashes conocidos, pasamos a la siguiente ronda:
- Usuario 1 envía sf8989dsf.
- Usuario 2 envía drg8d9fg9.
- Usuario 3 envía dgih8d9gd. No puedes falsificarlo.
- El servidor comprueba que el hash de cada valor coincide con el enviado previamente.
- El servidor combina los valores (por ejemplo, con una simple concatenación, "sf8989dsfdrg8d9fg9dgih8d9gd") y genera un número aleatorio a partir del resultado (por ejemplo, con tomando los primeros bits de un hash de la concatenación, "8c18bd55b8aba67be1087bf84319d0ac4def7934ef21faa484a99920de938268" → "8c18" → 35864).
- Al final el servidor lo publica todo.
Si algún usuario se las arregla para editar el javascript en memoria y hacer que en la segunda ronda no envíe el valor en claro, conseguirá hacer un DoS sobre esa partida en particular (evitando que la partida avance, pues está esperando por él) por lo que debes implementar un timeout.
jeje te lo has currado eh, gracias !! así si valdría