Monero utiliza un sistema de prueba de trabajo (Proof of Work - PoW) llamado RandomX para asegurar su red y crear nuevas monedas. A diferencia de Bitcoin, que emplea una función hash fija (SHA-256) que favorece la creación de hardware especializado (ASICs), Monero busca evitar la centralización minera. RandomX fue diseñado para imitar el uso de un procesador de uso general (CPU) en lugar de un ASIC, haciendo que la minería sea más accesible para usuarios con hardware estándar y dificultando la creación de equipos de minería dedicados.
RandomX funciona ejecutando un programa aleatorio en una máquina virtual (VM) dentro de la CPU. El proceso es complejo e involucra varias etapas: primero, se utiliza Argon2d para crear una caché de 256 MiB a partir de una clave (K) obtenida de un bloque anterior. Esta caché se expande para crear un conjunto de datos de 2 GiB, que se utiliza para forzar el acceso a la memoria RAM. Luego, se inicializa un área de trabajo (scratchpad) de 2 MiB, simulando los niveles de caché de la CPU. A continuación, se genera un programa aleatorio de 256 instrucciones, que incluye operaciones matemáticas enteras y de punto flotante, acceso a memoria y ramificaciones condicionales. Este programa se ejecuta en un bucle de 2048 iteraciones, simulando el comportamiento de un software real.
La clave de RandomX es su naturaleza dinámica. Cada intento de minería utiliza una combinación única de la clave (K) y un bloque candidato (H), lo que significa que el programa aleatorio y el conjunto de datos cambian constantemente. Esto dificulta la optimización del proceso para hardware especializado, ya que el código y los datos a procesar son diferentes en cada iteración. El resultado final es un hash de 256 bits que debe ser menor que un objetivo definido por la red para que el bloque sea válido.
RandomX ha evolucionado desde CryptoNight, su predecesor, para maximizar el uso de las capacidades de la CPU. Aunque es más complejo que un simple hash, su objetivo es mantener la minería descentralizada y accesible, evitando la concentración de poder en manos de quienes controlan el hardware especializado. Una limitación es que, aunque favorece las CPUs, aún puede haber optimizaciones de software que den ventajas a algunos usuarios. Alternativas a RandomX podrían incluir otros algoritmos PoW diseñados para resistir la centralización, pero RandomX actualmente representa el equilibrio más efectivo para Monero.
