What was HashFlare?

Ethash: El Algoritmo Anti-ASIC de Ethereum

21/11/2024

Valoración: 4.38 (16831 votos)

En el corazón del funcionamiento inicial de Ethereum se encontraba un algoritmo de consenso fascinante y deliberadamente complejo: Ethash. Más que un simple mecanismo para validar transacciones, Ethash fue concebido con una misión fundamental: preservar la descentralización de la red. Su principal arma para lograrlo fue un diseño orientado a resistir el hardware de minería especializado conocido como ASICs (Circuitos Integrados de Aplicación Específica). Pero, ¿cómo funcionaba exactamente y qué tan exitoso fue en su propósito? Acompáñanos en este análisis profundo sobre la arquitectura de Ethash y su lucha por un ecosistema minero más justo y accesible.

Is Ethash asic resistant?
Ethash has been designed to resist ASICs. The main method is to increase the load of memory through a large number of random table lookups, and ASICs can no longer use dedicated circuits to accelerate.
Índice de contenido

¿Qué es Ethash y por qué se diseñó para ser diferente?

Ethash es el algoritmo de consenso basado en Proof of Work (Prueba de Trabajo) que Ethereum utilizó desde su creación hasta su transición a Proof of Stake (Prueba de Participación) con "The Merge". Su función, como en cualquier sistema PoW, era permitir que los mineros compitieran para resolver un complejo acertijo criptográfico, añadir el siguiente bloque a la cadena y ser recompensados por ello. Este proceso no solo valida transacciones, sino que también asegura la red.

Sin embargo, los desarrolladores de Ethereum observaron lo que sucedió con Bitcoin. El algoritmo de Bitcoin, SHA-256, es computacionalmente intensivo pero no requiere mucha memoria. Esto lo hizo el candidato perfecto para los ASICs, chips diseñados para hacer una sola cosa de manera extremadamente eficiente. La llegada de los ASICs para Bitcoin provocó una "carrera armamentista", centralizando la minería en manos de unas pocas entidades capaces de diseñar y fabricar este hardware costoso. Para evitar este destino, Ethash fue diseñado con un principio diferente: la dureza de memoria (memory-hardness).

Aunque Ethash utiliza la función de hash Keccak (que fue estandarizada como SHA-3), es crucial entender que Ethash y SHA-3 no son lo mismo. Ethash implementa Keccak de una manera única, subordinando la velocidad de cálculo pura a la capacidad y velocidad de acceso a la memoria.

El DAG: La Gran Muralla de Memoria contra los ASICs

La pieza central de la resistencia de Ethash a los ASICs es un enorme conjunto de datos llamado DAG (Directed Acyclic Graph). Este no es un archivo pequeño; en sus inicios, ya tenía un tamaño de 1 GB. La idea es simple pero efectiva: para resolver el acertijo de un bloque, el hardware de minería debe acceder y leer constantemente porciones aleatorias de este gigantesco archivo.

Así es como funciona el proceso a grandes rasgos:

  • Generación del DAG: El DAG no es estático. Se regenera cada 30,000 bloques, un período conocido como epoch. Con cada nuevo epoch, el DAG crece de tamaño. Este crecimiento constante es una barrera adicional para los ASICs, ya que un chip diseñado con una cantidad fija de memoria podría quedar obsoleto rápidamente.
  • El Proceso de Hashing: Para calcular un único hash, el algoritmo debe realizar 64 lecturas aleatorias del DAG. La dirección de la primera lectura se determina a partir del encabezado del bloque y un valor aleatorio (nonce). Lo ingenioso es que la dirección de cada una de las 63 lecturas posteriores depende directamente del resultado de la lectura anterior. Esta dependencia secuencial crea una latencia inherente, dificultando la paralelización masiva que hace tan potentes a los ASICs.
  • Caché y Dataset: Junto al DAG, Ethash utiliza una caché más pequeña (inicialmente de 16 MB) que también se recalcula en cada epoch. Esta caché ayuda a generar los datos necesarios para el proceso de hashing de manera más eficiente para los mineros "ligeros" o los que verifican bloques sin tener el DAG completo.

El requisito de un acceso rápido y aleatorio a un gran volumen de datos favorecía enormemente a las tarjetas gráficas (GPUs), que están equipadas con memoria de video (VRAM) de alta velocidad, en detrimento de los ASICs, para los cuales integrar grandes cantidades de memoria RAM rápida directamente en el chip es técnica y económicamente muy costoso.

Optimización del Rendimiento: ¿Cómo minaban las GPUs?

Si cada hash depende de 64 pasos secuenciales, ¿cómo lograban las GPUs ser eficientes? La respuesta está en el procesamiento por lotes (batch mode). En lugar de calcular un solo hash de principio a fin, el software de minería trabajaba con un lote completo de posibles soluciones (nonces) a la vez. El proceso se optimizaba de la siguiente manera:

  1. Se realiza la primera ronda de acceso al DAG para todo el lote de nonces. Como estos accesos son independientes entre sí, se pueden realizar en paralelo.
  2. Una vez completada la primera ronda, se inicia la segunda ronda de acceso para todo el lote, utilizando los resultados de la primera.
  3. Este proceso se repite 64 veces hasta que se completan todos los cálculos para el lote completo.

Además, para maximizar el ancho de banda, el DAG se distribuía entre todos los canales de memoria disponibles en el hardware, como los 32 canales HBM (High Bandwidth Memory) en arquitecturas más avanzadas, mejorando aún más la eficiencia del acceso aleatorio.

Tabla Comparativa: Minería GPU vs. ASIC en Ethash

Para ilustrar mejor las diferencias fundamentales que Ethash buscaba explotar, aquí hay una tabla comparativa:

Característica Minería con GPU Minería con ASIC (Teórico en Ethash)
Flexibilidad Alta. Una GPU puede minar diferentes algoritmos y ser utilizada para otros fines (gaming, IA, etc.). Nula. Un ASIC solo puede minar el algoritmo para el que fue diseñado.
Requisito de Memoria Satisfecho por la VRAM de alta velocidad integrada en la tarjeta. El principal obstáculo. Requiere integrar GB de memoria rápida y costosa en el chip, lo que anula su ventaja de costo/eficiencia.
Resistencia a la Obsolescencia Moderada. El crecimiento del DAG eventualmente deja obsoletas a las tarjetas con menos VRAM, pero el proceso es lento. Baja. Un cambio en el algoritmo o el crecimiento del DAG más allá de su capacidad de memoria lo vuelve inútil.
Barrera de Entrada Baja. Las GPUs son hardware de consumo general, ampliamente disponible. Alta. El diseño y la fabricación de ASICs requieren una inversión millonaria y conocimientos muy especializados.

El Veredicto Final: ¿Fue Ethash Realmente a Prueba de ASICs?

Ethash fue un éxito rotundo en su objetivo inicial. Durante años, mantuvo la minería de Ethereum en el dominio de las GPUs, fomentando una red de mineros mucho más distribuida y descentralizada que la de Bitcoin. Sin embargo, la resistencia no es inmunidad. Con el tiempo y los incentivos económicos suficientes, los fabricantes encontraron la manera de desarrollar ASICs para Ethash. Estos dispositivos eran esencialmente chips altamente optimizados con grandes cantidades de memoria dedicada. Aunque nunca alcanzaron el nivel de dominio que se vio en Bitcoin y su desarrollo fue mucho más lento y costoso, finalmente superaron a las GPUs en eficiencia.

La historia de Ethash es un claro ejemplo de la constante batalla entre la descentralización y la especialización en el mundo de las criptomonedas. Su diseño retrasó significativamente la centralización de la minería, dando a Ethereum un tiempo crucial para crecer y madurar como un ecosistema descentralizado antes de su eventual transición a Proof of Stake, que eliminó la minería por completo de la red principal.

Preguntas Frecuentes sobre Ethash

¿Ethash es lo mismo que SHA-3?
No. Ethash utiliza la función criptográfica Keccak, que es la base del estándar SHA-3, pero la implementa dentro de un algoritmo mucho más amplio y complejo que incluye el DAG y la dureza de memoria, haciéndolo muy diferente a una simple aplicación de SHA-3.

¿Por qué el DAG de Ethash crecía con el tiempo?
El crecimiento programado del DAG en cada epoch servía como un mecanismo de obsolescencia planificada para el hardware. Al aumentar constantemente el requisito de memoria, se aseguraba que cualquier ASIC diseñado con una cantidad fija de RAM eventualmente se volviera inútil, desincentivando su desarrollo.

¿Se sigue usando Ethash hoy en día?
En la red principal de Ethereum, no. Desde "The Merge" en septiembre de 2022, Ethereum utiliza Proof of Stake. Sin embargo, algunas bifurcaciones (forks) de Ethereum, como Ethereum Classic, continúan utilizando una versión modificada de Ethash llamada Etchash.

¿Qué significa exactamente que un algoritmo sea "memory-hard"?
Significa que su rendimiento está limitado principalmente por la velocidad y la cantidad de memoria a la que puede acceder, en lugar de por la potencia de procesamiento bruta. El cuello de botella es el acceso a los datos (ancho de banda de memoria), no la velocidad de los cálculos, lo que neutraliza la principal ventaja de los ASICs.

Si quieres conocer otros artículos parecidos a Ethash: El Algoritmo Anti-ASIC de Ethereum puedes visitar la categoría Criptomonedas.

Subir