¿Qué es el algoritmo de minería X11?

Seguramente habrás escuchado hablar o leído sobre X11, un algoritmo de minería muy particular y no solo por su nombre. La verdad es que el diseño de este algoritmo es completamente distinto a los algoritmos conocidos de otras blockchain. Y es que a diferencia de SHA-256 (el algoritmo de Bitcoin) o Scrypt, X11 no es un algoritmo de minería con una sola función hash. En su lugar, X11 recoge un total de 11 funciones hash distintas que son utilizadas en un orden específico para dar como resultado el hash final de un bloque.

Complicado, ¿no crees? Hasta cierto punto sí, pero no deja de ser una genialidad técnica y criptográfica que ofrece garantías y seguridad mucho mayores.  Pero ¿Cuál fue el origen de X11? ¿Cómo funciona? y ¿Qué proyectos blockchain y de criptomonedas lo usan? Pues bien, todo esto lo sabrás a continuación.

Origen del algoritmo X11

El origen de X11 se remonta a marzo 2014 cuando el desarrollador Evan Duffield, presentó su proyecto de criptomoneda DarkCoin, actualmente conocido como Dash. En su whitepaper, Duffield dejaba claro que su proyecto buscaba superar algunos de los fallos que considera dentro de Bitcoin, en especial, su falta de escalabilidad, mejor privacidad, anonimato de forma nativa y resistencia al ASIC para evitar la centralización de la minería.

La presentación de este proyecto captó la atención de la criptocomunidad, en especial por su capacidad para ofrecer anonimato y por supuesto, su llamativo algoritmo de minería.  Y es que la estructuración de este algoritmo era algo nuevo y nunca visto. Por esa razón, muchos en la comunidad se abocaron a estudiar sus posibilidades. Como resultado todo un nuevo desarrollo surge, entre los que destacan algoritmos como X13 y X17, algoritmos que siguen el mismo esquema de funcionamiento, pero usando más funciones hash para realizar su trabajo.

Entendiendo el funcionamiento de X11

Ahora bien, ¿Cómo funciona un algoritmo de minería como X11? La verdad es que algorítmicamente no es complejo. En primer lugar conozcamos cuales son las funciones hash que usa X11:

  1. BLAKE
  2. BLUE MIDNIGHT WISH (BMW)
  3. Grøstl
  4. JH
  5. Keccak (Un algoritmo cuya variante dio origen a SHA-3)
  6. Skein
  7. Luffa
  8. CubeHash
  9. SHAvite-3
  10. SIMD
  11. ECHO

Estos algoritmos son aplicados en este mismo orden dentro de X11, y el objetivo es que un minero comience la generación de un Block ID o Hash de Bloque, comenzando con el primer hash y terminando con el último. Básicamente lo que hace es generar un primer hash usando BLAKE, teniendo en cuenta la dificultad del sistema de minería y el target. Una vez generado este hash y el trabajo de Prueba de Trabajo (PoW) más pesado, se toma este nuevo hash y se le aplican el resto de funciones hash para que dicho hash cambie. Así cada vez que aplicamos una nueva función hash, se genera un hash distinto y este hash se toma y se le aplica la función siguiente, hasta terminar el ciclo.

Un punto interesante de estas funciones, es que todas fueron creadas pensando en el mayor nivel de seguridad posible. De hecho, todas estas funciones fueron analizadas por el NIST (US National Institute of Standards and Technology) validando la seguridad de las mismas.  Con esto podemos estar seguros que X11 es un algoritmo construido sobre tecnología segura y probada.

Pros y contras del algoritmo

Pros

  1. Un mayor nivel de seguridad en comparación con las funciones hash como SHA-256 o Scrypt. Esto se debe a que no solo se usa una función hash, se usan varias de ellas. Esto permite crear una retroalimentación de seguridad que al final deriva en hash de bloques más seguros y difíciles de duplicar o aplicar ingeniería inversa.
  2. En sencilla de programar. La programación de X11 no supone una mayor complejidad como pudiera suponer la creación de una nueva función hash. En su lugar, se utiliza el trabajo de funciones ya seguras para crear un sistema más seguro.
  3. Es más amigable en términos de potencia de cómputo y consumo energético. X11 es menos exigentes en términos de potencia de cómputo para resolverse con éxito. BLAKE la función inicial es muy rápida y computacionalmente poco costosa en comparación con SHA-256, y de allí la aplicación del resto de funciones mantiene ese mismo nivel de consumo computacional y electrónico.
  4. Es posible reconfigurar el algoritmo para que use otras funciones hash en lugar de las 11 especificadas en un inicio. Incluso se pueden agregar funciones hash adicionales como el caso de X13 o X17, que no son más que variantes de X11 con más funciones hash activas.
  5. Ofrece gran rendimiento de minería en CPU y GPU, ofreciendo un buen nivel de ganancia a quienes minen con este tipo de dispositivos.

Contras

  1. Aunque inicialmente X11 era un algoritmo de minería resistente a ASIC, esto ha quedado atrás. En la actualidad existen varios mineros ASIC en el mercado que pueden ofrecer un alto poder de minería para X11.
  2. Debido a la gran cantidad de funciones hash implícitas en el algoritmo, modificar el mismo para mejorar ciertas funciones, puede resultar complejo para los programadores.

Vulnerabilidades

Pese al uso de varias funciones hash dentro de su estructura, X11 ha sido víctima de algunos problemas de seguridad que resultan llamativos. En 2014, se detectó un pequeño problema de seguridad con el manejo de los nonce dentro del sistema que afectaba a Dash. La comunidad de Dash manejó este problema rápidamente y lograron solucionarlo, demostrando el potencial de auditorías por parte de la propia comunidad.

Otro posible problema está relacionado con la posibilidad de que una función hash de las que conforman X11 pueda ser atacada hasta el punto en que sus hash no sean seguros. Sin embargo, debido a la cascada de hash que realiza X11 (el pasar el hash por varias funciones adicionales) esto no tiene ningún efecto negativo.