En la cadena de bloques, los hashes están prácticamente por todas partes: los ID de las transacciones son hashes, los bloques se enlazan mediante hashes y la minería de Bitcoin consiste en calcular hashes sin parar. ¿Qué es exactamente un hash y por qué es tan importante? Este artículo lo explica con la menor cantidad posible de tecnicismos.
La minería de $BTC consiste, en realidad, en calcular hashes SHA-256 repetidamente hasta encontrar un resultado que cumpla los requisitos de dificultad. Actualmente: 71,194.11 (24 h: -3.9%).
■ ¿Qué es un hash?
Una función hash puede convertir datos de cualquier longitud en una cadena de salida de longitud fija. Esta cadena se llama valor hash o resumen. Por ejemplo, la salida de SHA-256 siempre tiene 256 bits y, escrita en hexadecimal, consta de 64 caracteres.
Puedes entender el hash como la «huella digital» de los datos: los mismos datos siempre producen la misma huella; basta con cambiar un solo carácter para que la huella sea completamente distinta.
■ Cómo es una buena función hash
Primero, es unidireccional: es prácticamente imposible reconstruir los datos originales a partir del hash. Segundo, es resistente a colisiones: es prácticamente imposible encontrar dos datos distintos que produzcan el mismo hash. Tercero, el resultado es impredecible: no puedes saber cuál será la salida sin calcularlo realmente.
Ten en cuenta que el hash no es cifrado. Los datos cifrados se pueden recuperar con una clave; el hash es unidireccional y no permite reconstruir el contenido original.
■ Dónde se usa el hash en la cadena de bloques
Bitcoin usa SHA-256 para calcular los hashes de los bloques y los ID de las transacciones, y lo aplica dos veces seguidas. Para generar direcciones habituales P2PKH y P2WPKH, primero aplica SHA-256 a la clave pública y luego RIPEMD-160 (las direcciones Taproot usan directamente la clave pública). Ethereum usa Keccak-256; sus direcciones se obtienen de los últimos 20 bytes del hash Keccak-256 de la clave pública.
La cabecera de cada bloque contiene el hash del bloque anterior. Si se modifica cualquier bloque histórico, su hash cambia y todos los bloques posteriores dejan de coincidir. Esta es una de las claves que hacen que la cadena de bloques sea difícil de alterar. La minería de Bitcoin consiste en probar continuamente distintas entradas hasta encontrar un hash que cumpla los requisitos de dificultad.
■ Para qué sirve a los usuarios comunes
Para consultar una transferencia, busca su hash de transacción en un explorador de bloques: es mucho más fiable que una captura de pantalla. Después de descargar una aplicación de monedero, compara su suma de verificación SHA-256 con la publicada oficialmente para confirmar que el instalador no ha sido alterado.
■ En pocas palabras
Quédate con esta idea: el hash es la huella digital de los datos; se puede compartir y comparar, pero no permite reconstruirlos. Puedes mostrarle a cualquiera el hash de una transacción, pero nunca debes revelar tu clave privada ni tu frase semilla. Está bien ser prudente: sobrevivir importa mucho más que ganar mucho en una sola ocasión.
Si hay algo que no haya mencionado, hablemos en los comentarios.