La trampa de Math.random()
Math.random() es un generador de números pseudoaleatorios. Toma una semilla y produce una secuencia que parece aleatoria pero es totalmente determinista. Si conoces la semilla, puedes predecir cada número que sigue. En una blockchain pública, eso es un defecto fatal. Los mineros o validadores podrían ver la semilla, o incluso influir en ella, y manipular el sistema.
También está el problema de la verificabilidad. Con Math.random(), no hay forma de que los usuarios demuestren que el resultado fue realmente aleatorio. Tendrías que confiar en el desarrollador del contrato. En una red descentralizada, esa confianza es difícil de conseguir.
Cómo Ethereum genera aleatoriedad
En cambio, Ethereum utiliza métodos criptográficos para producir aleatoriedad. Estos métodos están diseñados para que el resultado sea verificable por cualquier persona. Eso significa que un usuario puede comprobar que la aleatoriedad no fue manipul




