¿Qué es el hash en criptomonedas? Explicación de SHA-256 y funciones hash criptográficas (2026)

— By Tony Rabbit in Tutorials

¿Qué es el hash en criptomonedas? Explicación de SHA-256 y funciones hash criptográficas (2026)

¿Qué es el hash en cripto? Guía completa de SHA-256, funciones hash criptográficas, el efecto avalancha, cadenas hash y cómo funciona la minería de Bitcoin (2026).

Hashing es el motor silencioso que mantiene unida a toda la industria de la criptografía. Cada vez que se extrae un bloque de Bitcoin, cada vez que firmas una transacción con tu billetera, cada vez que un nodo verifica que la cadena no ha sido manipulada, una función hash criptográfica hace el trabajo pesado. Sin hash, no habría cadena de bloques, ni Bitcoin, ni Ethereum, ni finanzas descentralizadas. Toda la pila se derrumba sin él.

A pesar de estar en todas partes, el hash sigue siendo uno de los conceptos más incomprendidos en criptografía. La gente suele confundirlo con el cifrado, suponer que los hashes se pueden revertir o tratar SHA-256 como magia más que como matemáticas. En realidad, una función hash criptográfica es simplemente un tipo muy específico de operación matemática: toma cualquier entrada y produce una salida de longitud fija que es efectivamente imposible de revertir, predecir o duplicar. Esa simple propiedad es lo que hace que las cadenas de bloques sean inmutables y lo que hace que Prueba de Trabajo posible.

En esta guía, aprenderá exactamente qué es una función hash, las seis propiedades que hacen que una función hash sea criptográficamente segura, por qué Bitcoin eligió SHA-256, cómo Ethereum usa Keccak-256, cómo funciona realmente la minería internamente, por qué las colisiones de hash son astronómicamente improbables y cómo será el futuro del hash en la era poscuántica. Al final, comprenderá la capa matemática que hace que cada moneda, cada billetera y cada contrato inteligente sean confiables.

Visualization of SHA-256 hashing process showing input data being transformed into a fixed-length cryptographic hash output
SHA-256 toma cualquier entrada y produce un hash de longitud fija de 256 bits.

¿Qué es una función hash en inglés sencillo?

Una función hash es un procedimiento matemático que toma una entrada de cualquier tamaño, la ejecuta a través de un algoritmo determinista y produce una salida de un tamaño fijo. Esa salida se denomina hash, resumen, suma de comprobación o huella digital según el contexto. En criptografía normalmente decimos simplemente hash. La entrada puede ser una sola letra, un libro completo, un archivo de película o el genoma de una ballena azul. La salida siempre tiene la misma longitud y, para SHA-256, esa longitud es de 256 bits, generalmente escritos como 64 caracteres hexadecimales.

La forma más sencilla de imaginar una función hash es imaginar una caja negra. Dejas caer algo en un extremo y una cadena de letras y números cae por el otro extremo. Si vuelves a colocar lo mismo, siempre obtendrás el mismo hilo. Si cambia incluso un solo bit de la entrada, obtendrá una cadena completamente diferente. Y, lo que es más importante, si alguien le entrega la cadena de salida, no existe una forma eficiente de descubrir qué se incluyó originalmente. La función es unidireccional. Puede pasar de la entrada a la salida de manera trivial, pero volver de la salida a la entrada es computacionalmente inviable.

Matemáticamente, una función hash es un mapa determinista desde un espacio de entrada infinito (cualquier dato de cualquier longitud) a un espacio de salida finito (un número de 256 bits, que es aproximadamente 10^77 valores posibles para SHA-256). Debido a que el espacio de entrada es infinito y el espacio de salida es finito, en teoría varias entradas deben compartir la misma salida. Estas salidas compartidas se denominan colisiones. Una buena función hash criptográfica hace que sea prácticamente imposible encontrar este tipo de colisiones, aunque en teoría existen.

Hashing no es cifrado. Esta distinción hace tropezar a casi todos los principiantes. El cifrado es bidireccional: se cifra con una clave y se descifra con una clave para recuperar el mensaje original. El hash es unidireccional: no hay clave, no hay descifrado y la entrada original no se puede recuperar del hash. El hash sirve para verificación, toma de huellas digitales y compromiso. El cifrado es para confidencialidad y comunicación secreta. Una cadena de bloques utiliza hash mucho más que cifrado, lo que sorprende a muchos recién llegados que asumen que las criptomonedas tienen que ver con códigos secretos.

Las 6 propiedades de una función hash criptográfica

No todas las funciones hash son adecuadas para criptografía. La función hash utilizada para indexar un diccionario de Python es demasiado débil para asegurar una cadena de bloques de mil millones de dólares. Para ser considerada criptográficamente segura, una función hash debe satisfacer seis propiedades específicas. Si incluso una de estas propiedades falla, se puede explotar todo el modelo de seguridad que depende de ella.

📊
Determinista

La misma entrada siempre produce la misma salida. Hash "hola" hoy, dentro de un año, en Marte, y obtendrás exactamente el mismo valor de 256 bits cada vez.

Rápido de Computar

Calcular el hash de cualquier entrada razonable debe ser económico. Una CPU moderna puede calcular millones de hashes SHA-256 por segundo, lo cual es esencial para la minería y la validación.

🔒
Resistencia previa a la imagen

Dada una salida hash, es computacionalmente inviable encontrar cualquier entrada que produzca ese hash. Esta es la propiedad unidireccional que hace que el hash sea útil para ocultar datos.

🛡
Segunda resistencia a la preimagen

Dada una entrada y su hash, no es factible encontrar una entrada diferente que produzca el mismo hash. Esto protege contra la sustitución de un documento falso por la misma huella digital.

💥
Resistencia a colisiones

No es factible encontrar dos entradas diferentes que produzcan el mismo hash. Más fuerte que la segunda resistencia previa a la imagen, porque aquí el atacante puede elegir ambas entradas libremente.

🌊
Efecto Avalancha

Cambiar un solo bit de la entrada invierte, en promedio, la mitad de los bits de salida. El hash resultante parece no tener ninguna relación con el original, lo que elimina cualquier ataque basado en patrones.

Estas seis propiedades funcionan juntas. La resistencia previa a la imagen y la segunda resistencia previa a la imagen protegen contra atacantes que ya tienen un hash objetivo que quieren igualar. La resistencia a colisiones protege contra atacantes que solo necesitan dos entradas cualesquiera que tengan el mismo valor. El efecto avalancha garantiza que los hashes no filtren información estructural sobre sus entradas, y la propiedad determinista es lo que permite que toda la red se ponga de acuerdo sobre si un bloque es válido.

SHA-256 ha resistido todos los ataques conocidos durante más de veinte años. A pesar de la investigación continua, no se ha encontrado ningún método práctico que rompa cualquiera de estas seis propiedades de SHA-256. Ese historial es la razón principal por la que Bitcoin todavía lo usa y por qué Minería de Bitcoin permanece estructuralmente seguro.

La canalización de hash: entrada, función, salida

Antes de profundizar en algoritmos específicos, es útil imaginarse el proceso que sigue cada función hash. Hay tres etapas y son idénticas ya sea que esté aplicando hash a una transacción, un encabezado de bloque, una contraseña o un archivo de video completo.

ENTRADA
Cualquier dato
Bytes, texto, archivos, bloques
FUNCIÓN HASH
SHA-256
Algoritmo determinista
SALIDA
Hash fijo
256 bits / 64 caracteres hexadecimales
Unidireccional: entrada -> salida es trivial, salida -> entrada es computacionalmente inviable.

La entrada puede ser literalmente cualquier cosa. Las obras completas de Shakespeare, un JPEG de tu perro, el binario de un kernel de Linux o simplemente la palabra "hola". A la función hash no le importa lo que signifique la entrada. Trata la entrada como una secuencia de bytes y ejecuta el mismo algoritmo en cada byte independientemente del contexto.

La función hash en sí es un algoritmo determinista, público y fijo. El NIST ha publicado SHA-256 con todo detalle desde 2001. Cualquiera puede implementarlo en cualquier idioma. El algoritmo procesa la entrada en bloques, los mezcla mediante una serie de rotaciones, adiciones y operaciones bit a bit, y produce el resumen final de 256 bits. No hay secretos en el algoritmo. La seguridad proviene enteramente de las propiedades matemáticas, no de ocultar cómo funciona.

La salida siempre es exactamente de 256 bits, sin importar el tamaño de entrada. Una entrada de un byte produce un hash de 256 bits. Una entrada de un gigabyte produce un hash de 256 bits. Esta propiedad de tamaño fijo es lo que hace que el hash sea tan útil en cadena de bloques Sistemas : puede tomar huellas dactilares de cualquier cosa hasta obtener un identificador compacto y fácil de almacenar.

SHA-256: La función hash que utiliza Bitcoin

SHA-256 significa Algoritmo Hash Seguro de 256 bits. Fue diseñado por la Agencia de Seguridad Nacional de los Estados Unidos (NSA) y publicado por el NIST en 2001 como parte de la familia SHA-2. La familia SHA-2 también incluye SHA-224, SHA-384, SHA-512 y algunas variantes. SHA-256 es el más implementado de la familia y se utiliza en todo, desde certificados TLS y administradores de paquetes de Linux hasta confirmaciones de git y, por supuesto, Bitcoin.

Satoshi Nakamoto eligió SHA-256 para Bitcoin en 2008. En ese momento, ya era un algoritmo bien estudiado, maduro y ampliamente confiable. SHA-256 produce una salida de 256 bits, lo que proporciona un nivel de seguridad de aproximadamente 128 bits contra ataques de colisión. Esa es una seguridad más que suficiente para proteger contra cualquier ataque factible con computadoras clásicas, y posiblemente suficiente para durar las próximas décadas, incluso cuando el hardware mejore.

Dentro de Bitcoin, SHA-256 se utiliza en varios lugares. El encabezado del bloque se aplica mediante hash para producir el block hash, que es el identificador criptográfico de cada bloque. Los ID de transacción son hashes SHA-256. Las direcciones de Bitcoin implican el hash de la clave pública. y el merkle root en el encabezado del bloque se calcula utilizando SHA-256 en cada transacción del bloque. En total, cada segundo se realizan miles de millones de operaciones SHA-256 en la red Bitcoin.

Bitcoin también utiliza una construcción específica llamada doble SHA-256, a menudo escrita como SHA-256d. Esto significa que la entrada se procesa una vez y luego el hash resultante se procesa nuevamente. La razón es en parte histórica y en parte defensiva. El doble hash ofrece una pequeña cantidad de protección contra ataques de extensión de longitud, una clase de ataques que afectan a los hashes de Merkle Damgard de un solo paso como SHA-256. Si bien SHA-256 con una construcción adecuada no es vulnerable en la práctica, Satoshi agregó el doble hash como seguridad con cinturón y tirantes.

Un ejemplo de hash SHA-256 para la cadena "hola" se ve así: 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824. Esa cadena tiene 64 caracteres hexadecimales, lo que codifica 256 bits. Observe que no hay ningún patrón visible, ningún indicio de la entrada y ninguna compresión de "hola" que pueda leer. El resultado parece aleatorio, aunque es completamente determinista.

Bitcoin mining rigs computing billions of SHA-256 hashes per second to secure the blockchain network
El hardware de minería de Bitcoin calcula billones de hashes SHA-256 por segundo.

Cómo el hash impulsa la minería de Bitcoin

La minería es el proceso mediante el cual se agregan nuevos bloques de Bitcoin a la cadena. En el corazón de la minería hay una tarea única y repetitiva: encontrar una entrada que, cuando se aplica hash con SHA-256, produce una salida por debajo de un cierto valor numérico. target. No hay atajos. Los mineros deben abrirse camino a través de la fuerza bruta a través de billones de entradas por segundo, con la esperanza de tropezar con una que produzca un hash lo suficientemente bajo como para contar como válido.

La entrada a la que se le aplica el hash es el encabezado del bloque. Un encabezado de bloque de Bitcoin tiene 80 bytes que contienen el hash del bloque anterior, la raíz merkle de todas las transacciones en el bloque, una marca de tiempo, el objetivo de dificultad actual y un encabezado de 32 bits. nonce. Todo, excepto el nonce, está esencialmente fijo para un bloque determinado. El trabajo del minero es seguir cambiando el nonce, aplicar hash al encabezado de 80 bytes resultante, verificar si la salida cumple con el objetivo y, si no, cambiar el nonce nuevamente. Repetir. Para siempre.

Debido a que SHA-256 tiene el efecto de avalancha, cambiar el nonce en un bit produce un hash completamente diferente. La única forma de saber si un nonce determinado produce un hash válido es calcular el hash. No hay ninguna matemática inteligente que se salte el paso adelante. esto es lo que da Prueba de Trabajo su seguridad: no puedes fingir minería, solo puedes hacerlo de la manera más difícil.

El objetivo controla la dificultad del rompecabezas de minería. Bitcoin ajusta el objetivo cada 2016 bloques (aproximadamente dos semanas) para mantener el tiempo promedio de bloque en diez minutos. Si los mineros encuentran bloques demasiado rápido, el objetivo baja y la dificultad aumenta. Si son demasiado lentos, el objetivo aumenta y la dificultad disminuye. El difficulty es un número amigable para los humanos derivado del objetivo. En 2026, la dificultad de Bitcoin asciende a cientos de billones, y la tasa de hash combinada de la red supera los 500 exahashes por segundo, lo que significa que los mineros intentan colectivamente 5 seguidos de 20 ceros de hashes por segundo.

Todo este proceso se describe en detalle en nuestra guía para criptominería, pero el remate es el siguiente: el hashing es el rompecabezas. Bitcoin no está protegido por la criptografía en el sentido de cifrado, sino por el coste computacional de encontrar un hash SHA-256 con suficientes ceros a la izquierda. Ese costo es lo que hace que un 51% de ataque económicamente prohibitivo en una red saludable.

Cómo se vinculan los bloques: la cadena Hash

La palabra blockchain es literal. Es una cadena de bloques y la cadena se mantiene unida mediante hashes. Cada bloque contiene un campo llamado prev_block_hash, que es el hash SHA-256 del encabezado del bloque anterior. Esta única elección de diseño le da a las cadenas de bloques su famosa inmutabilidad.

Supongamos que un atacante quiere cambiar una transacción en el bloque 800.000. Modificar la transacción cambia la raíz merkle de ese bloque. Cambiar la raíz de merkle cambia el encabezado del bloque. Cambiar el encabezado del bloque cambia el hash del bloque. Pero el bloque 800.001 almacena el hash original del bloque 800.000 en su campo prev_block_hash. Ahora el bloque 800.001 no es válido porque su prev_block_hash ya no coincide con el hash real del bloque modificado 800.000.

Para reparar el bloque 800,001, el atacante debe volver a extraerlo. Pero eso cambia el hash de su bloque, que rompe el bloque 800.002, que rompe el bloque 800.003, y así sucesivamente hasta la punta de la cadena. Para reescribir la historia, el atacante tiene que rehacer todo el trabajo de minería para cada bloque desde el punto modificado en adelante, mientras que la red honesta sigue extrayendo nuevos bloques encima de la cadena original. Mientras la red honesta tenga más hashrate que el atacante, el atacante nunca podrá alcanzarlo.

Esta es la genialidad de la cadena hash. Una cadena de bloques no es inmutable porque alguien la esté protegiendo. Es inmutable porque reescribirlo requeriría rehacer más trabajo SHA-256 del que realiza toda la red honesta en tiempo real. Cuanto más crece la cadena más allá de un bloque, más costoso resulta reescribir ese bloque. Es por eso que las transacciones de Bitcoin se consideran definitivas después de aproximadamente seis confirmaciones, que representan aproximadamente una hora de prueba de trabajo acumulada.

Árboles Merkle y hash de transacciones

Dentro de cada bloque de Bitcoin, las transacciones no se almacenan como una lista plana en el encabezado. Se resumen en un único hash llamado raíz de merkle, calculado utilizando un árbol binario de hashes llamado árbol de Merkle. Esta es una hermosa aplicación de hash que permite que un pequeño valor de 32 bytes se comprometa con miles de transacciones a la vez.

El árbol Merkle se construye aplicando hash a cada transacción, luego aplicando hash a pares de esos hashes juntos, luego aplicando hash a pares de esos hashes principales, y así sucesivamente hasta que quede una única raíz. Si alguna transacción en el bloque cambia, la raíz de merkle cambia. Si la raíz de merkle cambia, el hash del bloque cambia. Entonces, con solo almacenar la raíz de merkle en el encabezado del bloque, te comprometes criptográficamente con cada transacción en el bloque.

El otro gran beneficio de los árboles Merkle son las pruebas eficientes. Para demostrar que una transacción específica está incluida en un bloque, no es necesario descargar todas las transacciones. Solo necesita la transacción en sí más un pequeño conjunto de hashes hermanos a lo largo del camino desde la transacción hasta la raíz. Esto se llama prueba de Merkle y es lo que hace posibles los clientes ligeros. Tenemos un tutorial dedicado sobre Árboles Merkle si desea profundizar más, pero la idea esencial es que el hash le permite comprimir un enorme conjunto de datos en una sola huella digital y al mismo tiempo poder probar partes individuales de esos datos de manera eficiente.

Función Hash de Ethereum: Keccak-256 vs SHA-3

Bitcoin utiliza SHA-256. Ethereum eligió una función hash diferente llamada Keccak-256. La denominación aquí es un poco confusa y confunde a muchos desarrolladores. Keccak fue el algoritmo que ganó la competencia NIST SHA-3 en 2012. Luego, NIST hizo pequeños ajustes al esquema de relleno antes de estandarizarlo como SHA-3 en 2015. Ethereum, sin embargo, se bloqueó en la versión original de Keccak antes de que NIST finalizara SHA-3. Entonces, Keccak-256 de Ethereum es similar a SHA3-256 pero no idéntico, y los dos producen salidas diferentes para la misma entrada.

¿Por qué Ethereum eligió Keccak en lugar de SHA-256? Cuando Ethereum se lanzó en 2015, Keccak era el nuevo estándar recomendado por NIST y considerado la próxima generación de funciones hash criptográficas. Utiliza una estructura interna fundamentalmente diferente llamada construcción de esponja, que está diseñada para ser inmune a los ataques de extensión de longitud y otras debilidades teóricamente posibles contra SHA-2. Si bien SHA-256 se ha mantenido bien en la práctica, Ethereum decidió apostar por el diseño más nuevo.

Keccak-256 se utiliza en todo Ethereum. Calcula direcciones de Ethereum a partir de claves públicas, produce hashes de transacciones, alimenta el árbol Patricia Merkle que almacena el estado de la cuenta y está expuesto dentro de la máquina virtual Ethereum como KECCAK256 código de operación, que los desarrolladores llaman al escribir contratos inteligentes. En Solidity, la función keccak256() se utiliza en todas partes, desde el cálculo del tema del evento hasta la derivación de claves de mapeo.

Si alguna vez aplica hash a una cadena con una calculadora SHA-3 en línea y luego la compara con lo que produce Ethereum, obtendrá resultados diferentes. Asegúrese de estar utilizando una implementación Keccak-256, no SHA3-256. Esta es una fuente constante de errores para los nuevos desarrolladores de Solidity y los integradores de Ethereum.

Hashing para direcciones de billetera

Uno de los usos más críticos para la seguridad del hashing en criptomonedas es la derivación de direcciones de billetera. Cuando genera una nueva billetera, su software produce una clave privada, deriva una clave pública utilizando criptografía de curva elíptica y luego procesa esa clave pública para producir su dirección.

En Bitcoin, el proceso de generación de direcciones se ve así. La clave pública de 65 bytes tiene un hash SHA-256, lo que produce un valor intermedio de 32 bytes. Luego, ese valor se vuelve a aplicar hash con RIPEMD-160, lo que produce un valor de 20 bytes. Se antepone un byte de versión, se añade una suma de comprobación de 4 bytes (derivada de otro SHA-256 doble) y todo está codificado en Base58Check en la cadena familiar que comienza con 1, 3, o bc1 que copias y pegas al recibir Bitcoin.

En Ethereum, el proceso es más sencillo pero conceptualmente igual. La clave pública de 64 bytes tiene un hash con Keccak-256, lo que produce un resumen de 32 bytes. Los últimos 20 bytes de ese resumen se convierten en su dirección de Ethereum, con el prefijo 0x. Entonces, cuando veas una dirección como 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045, estás viendo el hash Keccak-256 truncado de una clave pública.

¿Por qué aplicar hash a la clave pública en lugar de usarla directamente como dirección? Tres razones. En primer lugar, el hash acorta la dirección de 65 bytes a 20 bytes, lo que es mucho más fácil de copiar, pegar y mostrar. En segundo lugar, el hash agrega una capa de protección en caso de que se encuentre una falla futura en la criptografía de curva elíptica: incluso si alguien pudiera derivar una clave privada a partir de una clave pública, aún necesitaría encontrar la clave pública detrás de un hash de 20 bytes, lo cual es en sí mismo un problema difícil. En tercer lugar, el hash desacopla el formato de dirección de la criptografía de clave subyacente, lo que permite que el protocolo intercambie esquemas de firma sin romper la compatibilidad de direcciones.

El efecto avalancha: un ejemplo resuelto

El efecto de avalancha es la propiedad de que al invertir un solo bit de entrada se codifica aproximadamente la mitad de los bits de salida. Para concretar esto, veamos dos mensajes casi idénticos y los hashes SHA-256 que producen. Observe que las entradas difieren exactamente en un carácter, pero las salidas no comparten ningún patrón visible.

ENTRADA 1
The quick brown fox jumps over the lazy dog
SHA-256 SALIDA 1
d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592
ENTRADA 2 (un carácter cambiado)
The quick brown fox jumps over the lazy dog.
SHA-256 SALIDA 2
ef537f25c895bfa782526529a9b63d97aa631564d5d789c2b765448c8635fb6c
Agregar un solo período invirtió aproximadamente 128 de 256 bits. Las salidas parecen completamente ajenas.

Es por eso que no puedes usar hashes parciales como sugerencias. Si alguien le muestra los primeros 10 caracteres de un hash SHA-256, eso esencialmente no le brinda información sobre el resto del hash. Cada bit es independiente. El efecto de avalancha es también la razón por la que los mineros no pueden trabajar de forma incremental: no hay forma de encontrar un nonce "casi bueno" y modificarlo ligeramente. Cada nonce es válido o no válido, y la única forma de saberlo es calcular el hash completo.

Desde una perspectiva de seguridad, el efecto avalancha es lo que hace imposible falsificar datos manteniendo el mismo hash. ¿Quiere cambiar un solo monto en dólares en una transacción sin romper la cadena? No puedes. La nueva transacción tendrá un valor muy diferente, la raíz de merkle cambiará, el hash del bloque cambiará y toda la cadena posterior dejará de ser válida.

Colisiones de hash y por qué son efectivamente imposibles

Una colisión de hash se produce cuando dos entradas diferentes producen la misma salida de hash. Debido a que SHA-256 asigna un espacio de entrada infinito a un espacio de salida finito de 2^256 valores posibles, las colisiones deben existir matemáticamente. La cuestión no es si existen, sino si alguien puede encontrar uno.

El número 2^256 es tan grande que desafía la intuición. es aproximadamente 1.16 x 10^77. El universo observable contiene alrededor 10^80 átomos. Hay un estimado 10^24 estrellas en el universo. Por tanto, un espacio hash de 256 bits es comparable a una fracción no trivial de cada átomo del universo observable.

Gracias a la paradoja del cumpleaños, encontrar cualquier colisión aleatoria en una función hash con una salida de N bits lleva aproximadamente 2^(N/2) operaciones en promedio. Para SHA-256, eso significa aproximadamente 2^128 operaciones. Incluso si cada minero de Bitcoin en la Tierra, que actualmente realiza alrededor de 5 exahashes por segundo combinados, se dedicara a encontrar una colisión SHA-256 en lugar de minar, se necesitarían miles de millones de veces la edad actual del universo para encontrar una.

Para decirlo de manera más dramática: el Sol se quedará sin combustible y se convertirá en una gigante roja en aproximadamente cinco mil millones de años. El universo mismo puede experimentar muerte por calor en 10^100 años. Ambos eventos sucederán mucho antes de que alguien fuerce una colisión SHA-256 con la tecnología actual. Esto es lo que quieren decir los criptógrafos cuando dicen que una propiedad es "computacionalmente inviable". No es imposible en el sentido matemático estricto, simplemente imposible dentro de cualquier escala de tiempo física que podamos imaginar.

SHA-1, el predecesor de SHA-256, sufrió ataques de colisión en 2017, cuando el proyecto SHAttered de Google produjo la primera colisión práctica de SHA-1 después de años de investigación e inversión masiva en computación. SHA-256 tiene un margen de seguridad muchos órdenes de magnitud mayor y no se cree que sea vulnerable a la misma línea de ataque. Mientras no surja ningún avance matemático fundamental, SHA-256 debería permanecer seguro durante décadas.

Comparison of different cryptographic hash functions used in blockchain ecosystems including SHA-256 Keccak-256 and Blake3
Diferentes cadenas de bloques eligen diferentes funciones hash, cada una con sus compensaciones.

SHA-256 frente a Keccak-256 frente a Blake3 frente a RIPEMD-160

SHA-256 no es la única función hash criptográfica utilizada en criptografía. Diferentes cadenas de bloques y protocolos eligen diferentes funciones según la velocidad, los márgenes de seguridad, la compatibilidad del hardware y la filosofía de diseño. Aquí hay una comparación lado a lado de los cuatro más relevantes para los usuarios de criptomonedas.

BITCOIN
SHA-256
Salida: 256 bits
Familia: SHA-2 (Merkle-Damgard)
Año: 2001 (NIST)

Se utiliza en hashing de bloques, minería y direcciones (con RIPEMD-160). El hash de criptografía más probado en batalla. Los ASIC de minería de Bitcoin son específicos de SHA-256.

ETHEREUM
Keccak-256
Salida: 256 bits
Familia: Keccak (esponja)
Año: 2012 (ganó SHA-3)

Se utiliza para direcciones, hashes tx y código de operación EVM. Versión modificada previa al NIST. Diferente de SHA3-256. Resistente a ataques de extensión de longitud.

PROTOCOLOS MODERNOS
Blake3
Salida: variable (256+ bits)
Familia: Blake (árbol Merkle)
Año: 2020

Extremadamente rápido, paralelizable. Utilizado por algunos L2, paquetes acumulativos de ZK y protocolos modernos. A menudo, entre 5 y 10 veces más rápido que SHA-256 en software.

DIRECCIONES BITCOIN
RIPEMD-160
Salida: 160 bits
Familia: RIPEMD
Año: 1996

Se utiliza para reducir los hashes de clave pública de Bitcoin de 256 a 160 bits. Más pequeño, más antiguo, pero aún se considera seguro cuando se combina con SHA-256.

Otras menciones notables incluyen Scrypt, utilizado por Litecoin y Dogecoin para tener más memoria que SHA-256. Equihash, utilizado por Zcash, también tiene poca memoria. Cardano usa Blake2b, el predecesor de Blake3. Monero utiliza RandomX, que está diseñado para ser compatible con CPU y resistente a ASIC. La elección del diseño casi siempre implica un equilibrio entre velocidad, seguridad y equidad del hardware.

Otros casos de uso de criptomonedas para hash

El hashing no es solo para minería y direcciones. Se utiliza de docenas de formas sutiles e importantes en todo el conjunto de criptomonedas. Una vez que empiezas a buscar, encuentras hashes por todas partes.

Contratos con bloqueo de tiempo (HTLC): El mecanismo que impulsa Lightning Network y los intercambios atómicos se basa en revelar la preimagen de un hash. Alice bloquea los fondos con un hash, Bob puede reclamarlos sólo revelando la preimagen. Esto permite que dos partes intercambien activos de forma atómica a través de cadenas sin confiar entre sí.

Pruebas de Merkle: Las billeteras ligeras, los rollups y los puentes entre cadenas utilizan pruebas Merkle para verificar que una transacción se incluyó en un bloque sin descargar el bloque completo. El verificador solo necesita la transacción, algunos hashes hermanos y la raíz merkle. La prueba es pequeña, rápida de verificar y criptográficamente sólida.

Compromisos de contraseña: Cuando un protocolo necesita comprometerse con un valor sin revelarlo, el hashing es la herramienta. Alicia publica sha256(password) en cadena, y luego demuestra que conocía la contraseña al revelarla. Esta es la base de los esquemas de confirmación y revelación utilizados en NFT mints, juegos en cadena y balizas de aleatoriedad descentralizadas.

Direccionamiento de contenido: IPFS utiliza hashes para abordar el contenido. La URL de un archivo en IPFS es literalmente el hash de ese archivo. Si el contenido cambia, la dirección cambia. Esto garantiza que lo que obtenga es lo que se publicó originalmente, sin posibilidad de manipulación silenciosa.

Firmas Digitales: Cuando firma una transacción, no firma la transacción completa directamente. Firmas el hash de la transacción. Esto es más eficiente y evita ciertos ataques matemáticos a los esquemas de firma. Cada firma en cada blockchain es, en el fondo, una firma de un hash.

Carteras deterministas: El estándar BIP32 para derivar múltiples direcciones a partir de una única frase inicial se basa en HMAC-SHA512, un código de autenticación de mensajes basado en hash. Todo el ecosistema jerárquico determinista de billetera se basa en hash iterado.

Pruebas de conocimiento cero: Los sistemas ZK modernos como Plonk y Stark utilizan funciones hash como oráculos aleatorios dentro de sus transformaciones Fiat-Shamir. Hashing convierte los sistemas de prueba interactivos en no interactivos, que es lo que hace que las pruebas ZK en cadena sean prácticas.

Límites y el futuro del Hashing

SHA-256 ha sido un caballo de batalla durante más de dos décadas y no muestra signos de romperse. Pero la criptografía nunca se queda quieta. Tres desarrollos principales están dando forma al futuro del hash en criptografía.

La primera es la pregunta poscuántica. Una computadora cuántica suficientemente grande que ejecute el algoritmo de Grover podría acelerar la búsqueda por fuerza bruta de un hash de N bits a aproximadamente 2^(N/2) operaciones. Para SHA-256, eso reduce el nivel de seguridad de 128 bits a 128 bits contra colisiones y de 256 bits a 128 bits contra ataques previos a la imagen. La seguridad de 128 bits todavía se considera muy sólida, por lo que SHA-256 sigue siendo seguro contra adversarios cuánticos en el futuro previsible, a diferencia de las firmas de curvas elípticas que son mucho más vulnerables.

La mayor preocupación por las criptomonedas no son las funciones hash sino los esquemas de firma. Las firmas ECDSA y Schnorr, de las que dependen tanto Bitcoin como Ethereum, son vulnerables a ataques cuánticos a través del algoritmo de Shor. Muchos protocolos ahora están explorando firmas basadas en celosía y hash para el futuro poscuántico. Las firmas basadas en hash como SPHINCS+ son particularmente interesantes porque dependen únicamente de la seguridad de una función hash subyacente, aprovechando la misma primitiva que ya protege gran parte de las criptomonedas.

El segundo desarrollo es el surgimiento de funciones hash más nuevas y más rápidas. Blake3 en particular es extremadamente rápido, paralelizable y adecuado para hardware multinúcleo moderno. Algunas cadenas nuevas, acumulaciones de ZK y capas de disponibilidad de datos han adoptado Blake3 en lugar de SHA-256 por razones de rendimiento. SHA-256 seguirá siendo dominante en cuanto a compatibilidad con Bitcoin y minería compatible con ASIC, pero otras capas se están diversificando.

El tercer desarrollo es la integración más profunda del hash con la criptografía de conocimiento cero. Las funciones hash compatibles con ZK, como Poseidon y Rescue, están diseñadas específicamente para ser eficientes dentro de los circuitos aritméticos utilizados por los sistemas de prueba ZK. Son más lentos que SHA-256 en software sin formato, pero mucho más rápidos de demostrar sin conocimiento. A medida que crezcan los paquetes acumulativos de ZK y las aplicaciones ZK, se espera ver más cadenas adoptando hashes compatibles con ZK junto con SHA-256 y Keccak-256.

Preguntas frecuentes

¿SHA-256 seguirá siendo seguro en 2026?

Sí. A pesar de más de dos décadas de intenso escrutinio por parte de criptógrafos de todo el mundo, no se ha encontrado ningún ataque práctico contra SHA-256. Los ataques de colisión más conocidos requieren aproximadamente 2^128 operaciones, lo que va mucho más allá de lo que cualquier computadora cuántica clásica o de corto plazo puede lograr. SHA-256 se considera seguro durante al menos las próximas décadas.

¿Cuál es la diferencia entre hash y cifrado?

El hash es unidireccional y produce una salida de longitud fija. No hay ninguna clave ni forma de recuperar la entrada original del hash. El cifrado es bidireccional: cifra un mensaje con una clave y lo descifra más tarde con una clave (o una clave relacionada) para recuperar el original. El hash se utiliza para la toma de huellas dactilares y la verificación. El cifrado se utiliza para la confidencialidad y la comunicación secreta.

¿Se puede revertir un hash?

No para una función hash criptográfica como SHA-256. La propiedad de resistencia previa a la imagen significa que, dada una salida hash, no existe una forma eficiente de encontrar una entrada que la produzca. El único método general es la fuerza bruta, que para SHA-256 requeriría aproximadamente 2^256 operaciones en promedio. Esto es computacionalmente inviable para cualquier computadora clásica.

¿Por qué se usa SHA-256 en Bitcoin?

Cuando Satoshi Nakamoto diseñó Bitcoin en 2008, SHA-256 ya era un estándar maduro y bien estudiado publicado por NIST. Proporcionó una sólida salida de 256 bits sin debilidades conocidas, fue eficiente de implementar en software y luego sería muy eficiente de implementar en hardware ASIC. SHA-256 ha seguido resistiendo cada ataque que se le lanza, validando la elección de Satoshi.

¿Qué es una colisión de hash?

Una colisión de hash ocurre cuando dos entradas diferentes producen la misma salida de hash. Debido a que las funciones hash asignan un espacio de entrada infinito a un espacio de salida finito, las colisiones deben existir matemáticamente. Para SHA-256, se estima que encontrar una colisión requiere alrededor de 2^128 operaciones en promedio, lo que actualmente se considera computacionalmente inviable. Se han demostrado colisiones prácticas con funciones hash más antiguas como MD5 y SHA-1, por lo que ya no se utilizan por motivos de seguridad.

¿Keccak-256 es lo mismo que SHA-3?

No, aunque están muy relacionados. Keccak ganó la competencia NIST SHA-3 en 2012, pero NIST modificó ligeramente el esquema de relleno antes de finalizar SHA-3 en 2015. Ethereum bloqueó la versión original de Keccak antes del ajuste, por lo que Keccak-256 de Ethereum produce una salida diferente a SHA3-256 para la misma entrada. Esta es una fuente común de errores para los desarrolladores de Ethereum.

¿Los hashes son aleatorios?

No, los hashes son completamente deterministas. La misma entrada siempre produce la misma salida. Sin embargo, la salida parece aleatoria en el sentido de que no tiene un patrón visible, y cambiar la entrada aunque sea ligeramente produce una salida aparentemente no relacionada (el efecto avalancha). Esta pseudoaleatoriedad es lo que hace que los hashes sean útiles para tantas aplicaciones criptográficas.

Conclusión

Hashing es la primitiva silenciosa y fundamental que hace posible toda la industria de la criptografía. Cada transacción, cada bloque, cada dirección, cada firma, cada prueba de Merkle depende de una función hash criptográfica que hace su trabajo. SHA-256 protege Bitcoin. Keccak-256 asegura Ethereum. Blake3, RIPEMD-160, Poseidon y otros desempeñan funciones especializadas en todo el ecosistema. Las seis propiedades de una función hash criptográfica (determinismo, velocidad, resistencia a la preimagen, resistencia a la segunda preimagen, resistencia a la colisión y efecto avalancha) son las que dan a las cadenas de bloques su inmutabilidad, lo que hace que la minería sea costosa y lo que hace que las direcciones de billetera sean seguras para compartir.

La buena noticia para los usuarios de criptomonedas es que esta capa de la pila está abrumadoramente probada en batalla. SHA-256 ha resistido más de veinte años de ataques y todavía tiene márgenes de seguridad tan grandes que romperlo requeriría más energía de la que existe en nuestro sistema solar. A medida que la industria evolucione hacia la criptografía poscuántica, pruebas compatibles con ZK y nuevos diseños de alto rendimiento, el hashing seguirá adaptándose. Pero la idea fundamental sigue siendo la misma: una huella digital pequeña, determinista y unidireccional de cualquier dato es la herramienta criptográfica más poderosa jamás inventada para la confianza distribuida.

La próxima vez que veas una larga cadena de hexadecimal que comienza con 0x en un explorador blockchain, sabrás exactamente qué es y por qué es importante. Un hash de 256 bits no es sólo un número. Es la promesa matemática de que los datos que hay detrás no han sido tocados, que la cadena no ha sido reescrita y que el sistema sin confianza que estás utilizando está haciendo exactamente lo que dice hacer.