seguridad hash

¿Qué es un “Hash” y qué función cumple?

Cuando decimos que Blockchain es “inmutable”, nos referimos a que es técnicamente imposible que un usuario pueda modificar su cadena de registros. Esta seguridad es posible gracias al uso de la criptografía, y dentro de este campo, los “hash” resultan ser la pieza clave para su funcionamiento. En pocas palabras, el ecosistema cripto le debe a los hash su seguridad, por lo que conocer su definición te permitirá entender mejor otras temáticas relacionadas.

Función Hash

Si bien “Hash” y “Función Hash” se suelen usar como sinónimos, siendo más precisos, uno realmente es la consecuencia del otro.

La “Función Hash” es un algoritmo matemático que codifica unos datos en una serie de carácteres únicos, es decir, es una función criptográfica. El “Hash”, por su parte, es el resultado obtenido: un código alfanumérico único.

ejemplo de funcion hash

Como habrás intuido, los hash no se inventaron en blockchain ni existe una sola manera de codificar información, de manera que existen muchas “funciones hash”, cada una con su propio nombre distintivo.

Por ejemplo, la función empleada por Bitcoin se denomina SHA-256, la cual genera un código hexadecimal de 64 caracteres. Si aplicamos esa función al nombre “Agente BTC” obtenemos el siguiente hash:

1DE9C2B72278DBD669BAC67FDE1B4DB4CD08A36109F55C6C036F3478CB17EAED

Sin embargo, si le quitamos el espacio y lo intentamos con “AgenteBTC”, obtenemos un hash totalmente distinto:

85AA7DED30544572076013C9ED5027CD1D0018D5553C0A204CC097ACBF41AFAF

Como puedes apreciar, algo clave para las funciones hash es que cualquier variación de los datos modifica por completo el código obtenido. De esta manera, para obtener un determinado hash tienes que conocer de antemano la información que ha sido codificada. 

Lo inverso es prácticamente imposible, es decir, no puedes “descifrar” cuál ha sido la información original a partir de un hash (más que por puro azar). De ahí que las funciones hash sean clasificadas como “de un solo sentido”.

Así mismo, no importa la longitud del texto, así coloques todo el texto de “Don Quijote de la Mancha” o la letra “A”, el resultado siempre será la misma cantidad de carácteres determinados por la función hash.

Otros nombres de funciones hash populares son:

aplicando funcion hash 256 a imagen de un gato
Todo archivo informático puede convertirse en un hash

¿Cómo se aplica esto a blockchain?

De forma resumida: Permite gestionar y almacenar todos los datos de forma segura e invalida cualquier intento de manipulación de los mismos.

Recuerda que lo que caracteriza a blockchain es el empleo de bloques de información, que se van agregando uno tras otro conformando una gran cadena. Estos bloques se añaden luego de ser “minados” por un usuario de la red, confirmando que todos los datos del bloque son verdaderos.

Pues bien, una vez minado el bloque, éste contendrá además toda la información del bloque anterior cifrado en un hash. Y dado que en la información del bloque anterior se encuentra también otro hash con la información de su bloque anterior (y así sucesivamente) lo que terminamos por obtener es que cada nuevo hash contiene, de forma cifrada, toda la información de la cadena blockchain.

Recuerda, no importaba la longitud del texto, el hash siempre lo reducirá a unos dígitos. Y a esto sumemosle el otro punto que compartimos antes: todo cambio, aunque sea mínimo, genera un código completamente nuevo.

Acá llega la parte buena: 

Imaginemos que un hacker consigue ingresar algún bloque y modificar la información de una transacción interna. Pues bien, el hash de ese bloque cambiaría por completo, y en consecuencia, cambiaría el de todos los bloques posteriores a él.

Un evento de esa magnitud, sería inmediatamente notado por todos los nodos de la red y el pobre hacker quedaría invalidado en segundos.

Tal cual un ladrón que ingresa a robar un banco transmitiendo su peripecia a través de televisión nacional. Con la diferencia que ni hace falta que la policía llegue a detenerlo, ya que el propio banco (en este caso, la blockchain) lo expulsaría cual Equipo Rocket.

Así, comprender el funcionamiento de los hash en términos básicos resulta fundamental para comprender lo disruptiva que es blockchain como tecnología, aplicable tanto a criptomonedas como a cualquier campo.

Aún hay mucho más que podría hablarse de esta función, pues tiene una aplicación histórica en muchos campos informáticos. Sin embargo, con lo explicado anteriormente, ya eres capaz de entender este término en su uso más cotidiano.