¿Por qué los hashes de bloque no son una fuente confiable de aleatoriedad?

Acabo de ver esta respuesta que me informó que los hashes de bloque no eran una fuente confiable de aleatoriedad. ¿En qué situación los hashes de bloque no son una forma confiable de obtener aleatoriedad?

Respuestas (2)

Los hashes de bloque no son una fuente confiable de aleatoriedad en situaciones en las que el minero que ha extraído un bloque a esa altura, o un minero posterior con la opción de minar encima de ese bloque, tiene un incentivo para tratar de alterar el resultado. Por ejemplo, si está haciendo una lotería, un minero puede hacer una apuesta, extraer el bloque cuyo hash lo asentará y tirarlo si el bloque le hace perder la apuesta.

El minero puede descartar un bloque que de otro modo habría transmitido o ignorar un bloque sobre el que de otro modo habría minado. Hacer estas cosas tiene un costo para el minero; Descartar un bloque significa que pierde la recompensa del bloque y las tarifas que de otro modo habría obtenido, y no minar encima de un bloque válido aumenta las posibilidades de que su próximo bloque quede huérfano. En el primer caso, la pérdida es aproximadamente equivalente a la recompensa y las tarifas del bloque perdido, aunque puede ser más complicado si también combina otras estrategias como Selfish Mining, en la que podría retener un bloque por otros motivos.

Dado que el costo para el minero de jugar un hash de bloque es significativo, a menudo es lo suficientemente seguro para usarlo en contratos de bajo valor; El minero podría jugarlo si quisiera, pero jugarlo le costaría más de lo que podría ganar.

Para resumir este hilo:

Usando un blockhash, marca de tiempo u otro valor definido por el minero. Tenga en cuenta que el minero tiene la opción de publicar un bloque o no, por lo que posiblemente podría tener una oportunidad de obtener el premio por bloque que extrae.

En otras palabras, un minero puede optar por publicar solo un bloque que sabe que la semilla de dicho blockhash le daría el resultado que desea.