ETC: ¿Usa SHA-256 o el polémico Keccak?

30/09/2025

Valoración: 4.44 (4077 votos)

Al sumergirse en los detalles técnicos de las criptomonedas, es común encontrarse con preguntas específicas como: ¿Ethereum Classic utiliza SHA-256? La respuesta corta es no, pero la respuesta completa revela una fascinante historia de desarrollo, controversia y decisiones técnicas que definieron no solo a Ethereum Classic, sino también a su red hermana, Ethereum. La elección del algoritmo de hash de una blockchain es una de sus decisiones de diseño más fundamentales, impactando directamente su seguridad e integridad. En el caso de Ethereum Classic (ETC), el algoritmo utilizado no es SHA-256, sino una variante del algoritmo que se convirtió en el estándar SHA-3, conocida como Keccak-256. Para entender por qué, debemos viajar en el tiempo a un período de gran agitación en el mundo de la criptografía.

Is Ethereum Classic SHA-256?
SHA3 & ETC Therefore, ETH uses a hash function that today is referred to as Keccak-256 instead of SHA3-256. Because Ethereum Classic (ETC) inherited this design decision, it also uses Keccak-256.
Índice de contenido

¿Qué es un Algoritmo de Hash y Por Qué es Crucial?

Antes de profundizar en la historia, es vital entender qué es un algoritmo de hash. Piense en él como una máquina que toma cualquier tipo de dato de entrada (una transacción, un documento, un libro entero) y lo convierte en una cadena de caracteres de longitud fija, llamada "hash". Este proceso es unidireccional; es prácticamente imposible revertir el hash para obtener los datos originales. En el contexto de una blockchain como Ethereum Classic, los algoritmos de hash son la columna vertebral de la seguridad. Se utilizan para:

  • Crear la "huella digital" de cada bloque: El hash de un bloque se calcula a partir de todas las transacciones que contiene, más el hash del bloque anterior. Esto crea una cadena inmutable y segura.
  • Prueba de Trabajo (Proof-of-Work): Los mineros compiten para encontrar un hash que cumpla con ciertos requisitos, un proceso que requiere una inmensa potencia computacional y que asegura la red.
  • Verificar la integridad de los datos: Cualquier cambio, por mínimo que sea, en los datos de entrada producirá un hash completamente diferente, lo que hace que la manipulación de la cadena sea detectable al instante.

La Transición de SHA-2 a SHA-3: Una Búsqueda de Seguridad Futura

La familia de algoritmos SHA (Secure Hash Algorithm) es un estándar en la industria. SHA-2, y específicamente su variante SHA-256, es famoso por ser el algoritmo que utiliza Bitcoin. Sin embargo, hace varios años, a medida que aumentaba la potencia de cálculo y se mejoraban las técnicas de criptoanálisis, surgió la preocupación de que SHA-2 pudiera volverse vulnerable en el futuro, al igual que sus predecesores MD5 y SHA-1. En previsión de este riesgo, el Instituto Nacional de Estándares y Tecnología de EE. UU. (NIST) inició en 2006 un concurso público para encontrar un sucesor: el futuro SHA-3. Después de un riguroso proceso de revisión por pares que duró años, en 2015 se anunció un ganador: un algoritmo llamado Keccak.

El Drama de Keccak, NIST y las Revelaciones de Snowden

Aquí es donde la historia se vuelve compleja. Una vez seleccionado Keccak, el NIST propuso realizar algunos ajustes en sus parámetros internos. Según la institución, estos cambios tenían como objetivo mejorar el rendimiento del algoritmo. Sin embargo, el momento de esta propuesta no podría haber sido peor. Poco antes, en 2013, el excontratista de la NSA, Edward Snowden, había filtrado documentos clasificados que revelaban programas de vigilancia masiva y, lo que es más alarmante para la comunidad criptográfica, sugerían que la NSA podría haber colaborado con el NIST para debilitar intencionadamente un estándar criptográfico anterior (Dual_EC_DRBG).

Esta revelación sembró una profunda desconfianza. La comunidad de seguridad y criptografía reaccionó con ferocidad a los cambios propuestos por el NIST para Keccak. El temor era que, bajo el pretexto de la optimización, se estuviera introduciendo una puerta trasera o una debilidad oculta en el nuevo estándar SHA-3. La presión fue tan intensa que el NIST finalmente dio marcha atrás y estandarizó SHA-3 utilizando los parámetros originales y más seguros de Keccak, aunque fueran ligeramente más lentos.

La Decisión de Ethereum y la Herencia de Ethereum Classic

El desarrollo de Ethereum se estaba llevando a cabo precisamente en medio de este drama. Los desarrolladores de la Fundación Ethereum, enfrentados a la incertidumbre y la desconfianza que rodeaban el proceso de estandarización del NIST, tomaron una decisión pragmática. En lugar de esperar y adoptar la versión final y potencialmente controvertida del estándar, decidieron implementar la versión de Keccak que había ganado el concurso, antes de los ajustes propuestos por el NIST. Esta implementación es lo que hoy conocemos como Keccak-256.

Cuando en 2016 la red Ethereum se dividió a raíz del hackeo de The DAO, la cadena original continuó como Ethereum Classic. Al ser la cadena original, ETC heredó todo el código y el historial de transacciones, incluyendo, por supuesto, la decisión de diseño de utilizar Keccak-256 como su algoritmo de hash. Por lo tanto, Ethereum Classic no usa SHA-256, ni tampoco el estándar oficial SHA3-256, sino la versión pre-estándar de Keccak.

Keccak-256 vs. SHA3-256: ¿Cuál es la Diferencia?

Aunque ambos algoritmos provienen de la misma familia Keccak y son estructuralmente muy similares, no son intercambiables. La diferencia clave radica en los parámetros de "padding" (relleno) y otros detalles sutiles que el NIST especificó en su publicación final (FIPS 202). Esto significa que si se le da la misma entrada a Keccak-256 y a SHA3-256, producirán hashes diferentes. Es crucial destacar que Keccak-256 no se considera inseguro; de hecho, no tiene vulnerabilidades conocidas. La elección fue un producto del contexto histórico y la aversión al riesgo por parte de los desarrolladores de Ethereum.

Tabla Comparativa de Algoritmos

Característica Keccak-256 (Usado en ETC) SHA3-256 (Estándar NIST) SHA-256 (Usado en Bitcoin)
Origen Familia de algoritmos Keccak Versión final estandarizada de Keccak Familia de algoritmos SHA-2
Estandarización Versión previa a la finalización del estándar NIST Estándar FIPS 202 oficial de NIST Estándar FIPS 180-4 de NIST
Uso Principal Ethereum, Ethereum Classic Estándar de seguridad criptográfica general Bitcoin, Litecoin, Bitcoin Cash
Confusión Común Frecuentemente llamado "SHA-3" de forma incorrecta El verdadero y único SHA-3 A menudo confundido con SHA-3
Seguridad Conocida Considerado seguro Considerado seguro Considerado seguro, pero con más antigüedad

La Confusión Persistente y los Esfuerzos por Aclarar

El mayor problema derivado de esta historia no es de seguridad, sino de claridad. Durante años, en muchas librerías de código, documentación técnica e incluso en el lenguaje de contratos inteligentes Solidity, la función Keccak-256 era referida simplemente como `SHA3()`. Esto ha causado una enorme confusión entre los desarrolladores, pudiendo llevar a errores de implementación si alguien, por desconocimiento, utiliza una biblioteca estándar de SHA3-256 esperando que sea compatible con la blockchain de Ethereum Classic. Para abordar esto, se han presentado varias Propuestas de Mejora de Ethereum Classic (ECIPs), similares a las EIPs de Ethereum, con el objetivo de corregir esta nomenclatura en el código y la documentación oficial para reflejar con precisión que el algoritmo utilizado es Keccak-256. Solidity ya ha implementado algunas de estas correcciones, renombrando funciones para evitar la ambigüedad.

Preguntas Frecuentes (FAQ)

¿Ethereum Classic usa SHA-256?

No. Ethereum Classic utiliza Keccak-256. Aunque ambos son algoritmos de hash, son completamente diferentes en su diseño y estructura interna.

¿Es Keccak-256 inseguro en comparación con el SHA-3 oficial?

No. No se conocen vulnerabilidades en Keccak-256. La diferencia con el estándar SHA3-256 es muy sutil y se debe a decisiones tomadas durante un período de controversia en el proceso de estandarización, no a una debilidad inherente.

¿Por qué Ethereum Classic no actualizó a SHA-3 oficial?

Como una blockchain que valora la inmutabilidad, cambiar un algoritmo de hash fundamental no es una tarea trivial y requeriría un hard fork contencioso. La red ha operado de forma segura con Keccak-256 desde su inicio, y no hay un incentivo de seguridad apremiante para realizar un cambio tan drástico.

¿Afecta esto a la seguridad de mis fondos en ETC?

No directamente. La seguridad de la red Ethereum Classic no se ve comprometida por el uso de Keccak-256. El principal riesgo reside en la confusión que puede afectar a los desarrolladores de aplicaciones y herramientas, lo que subraya la importancia de la precisión técnica y el principio de la comunidad cripto: "no confíes, verifica".

Si quieres conocer otros artículos parecidos a ETC: ¿Usa SHA-256 o el polémico Keccak? puedes visitar la categoría Tecnología.

Subir