Hashing – Aprende Qué Es y Cómo Funciona la Tecnología

Hashing – Aprende Qué Es y Cómo Funciona la Tecnología

El hashing es la razón del «cripto» en «criptomonedas».

Sin el hashing las criptomonedas serían sólo… monedas.

Hashing es una forma de criptografía, ya que Bitcoin fue la primera moneda digital que recurrió a esta técnica.

Desde su surgimiento, muchas otras criptomonedas fueron lanzadas, utilizando diversas formas de hashing.

En este artículo explicamos por qué el hashing es tan importante para este ecosistema, cómo funciona en el contexto de una blockchain y cuál es el futuro de la criptografía, en un momento en que Google asume haber alcanzado la supremacía cuántica.

1. ¿Qué Son Las Criptomonedas?

Como vimos, el Hashhing está en la base de las criptomonedas.

¿Pero qué es esto?

¡Vamos al 1º ejemplo! En resumen, el hashing es:

c29465b316f83b1947139b8d2b98611d43a1911c

¿Entendiste?

¿No? Tal vez sea mejor explicarlo de una forma en que estés más acostumbrado de ver. Ve este 2º ejemplo:

e20eee533fccbcd6e073b1b10729eb5de013bba26854c00bcddcfe0db2b9edbb

¿Tampoco? Usemos entonces un 3º ejemplo – esta vez en español:

Es el proceso de convertir cualquier información de cualquier tamaño en un código de texto de tamaño fijo, a través de una función matemática.

A través de hashing podes, por ejemplo, transformar un libro entero en un código como los que viste arriba. A ese código se le llama hash.

¿Cómo ocurre esto? El proceso es el siguiente:

hashing
Conversión de información en un valor alfanumérico a través de la función hash.

En verdad, los 3 ejemplos que utilizamos al inicio de este texto son todas representaciones de la misma información.

El primero en SHA1, el segundo en SHA-256 (la función hash utilizada por Bitcoin) y el tercero en español.

Existen otras innúmerables funciones hash que pueden ser utilizadas para transformar cualquier información a un valor hash.

Hashing Funciones criptomonedas
Ejemplos de funciones hash.

La importancia del hashing trasciende, sin embargo, las criptomonedas.

Son innumerables los usos de esta técnica en el mundo real. Desde las telecomunicaciones hasta las passwords, la encriptación es fundamental para asegurar mayor seguridad y confidencialidad de la información.

2. ¿Cómo Funciona el Hashing?

Como vimos, la función hash es el motor de este proceso.

Pero, para que sea viable, la función hash debe ser capaz de garantizar una serie de características.

2.1 Los valores hash deben ser únicos

No pueden existir dos valores hash iguales.

En otras palabras:

Para que una función hash sea viable, debe garantizar que una determinada información tiene correspondencia solamente con un valor hash; y viceversa.

Independientemente de ejecutar la función 1 o 100 veces, el resultado tendrá que ser siempre el mismo.

Si eso no ocurre, existe un problema de colisión.

2.2 Função hash debe ser rápida

Cualquiera que sea el nivel de complejidad de una función informática, esperamos que sea rápida.

Es la aplicación de la popular frase: ¡El tiempo es dinero!»

tiempo es dinero

Vivimos en una sociedad en constante movimiento y en que no hay tiempo que perder. Queremos comunicar sin interrupciones y hacer pagos lo más rápido posible.

Por estos motivos, una función hash debe ser capaz de dar respuestas de forma rápida sin ningún tipo de dificultad, para no perjudicar los tiempos de reacción de los servicios en que es aplicada.

2.3 La seguridad debe ser asegurada

Para que un valor hash sea seguro, no puede ser decodificable.

Es decir:

No puedo obtener la información original a partir del valor hash generado por la función.

Además de eso, si se cambia sólo 1 dígito en la información o en el valor hash, tendremos resultados completamente diferentes.

Veamos un ejemplo:

Información: «Tengo 50 euros para invertir en Bitcoin.»
️️Valor hash: 0a18e37ea05d2aa05d48ed67ffb60d8771b34de4661f3a79b170317d63989b78

Ahora vamos a alterar 1 dígito de la información, principalmente el valor a invertir:

Información: «Tengo 51 euros para invertir en Bitcoin.»
Valor hash: 42c9f84472538c09635211d99b05a1efccd32db36d99d0f3bd409d2c3b2747ef

Esto asegura que es imposible intentar adivinar una información teniendo como base la prueba y el error.

Si quisieras probar otras informaciones, debes saber que estamos utilizando SHA-256 para obtener estos valores hash. Este codificador puede ayudarte a encriptar mensajes.

3. Hashing en la Blockchain y Criptomonedas

La blockchain es formada por una secuencia de bloques que almacenan información encriptada sobre todas las transacciones hechas.

Entre los datos guardados están, por ejemplo:

  • El valor de la transacción;
  • La dirección de la persona a quien se destinó;
  • La hora en la que fue hecha.

Tal como en los ejemplos que vimos anteriormente, toda esa información puede ser transformada en un TXID (Transaction ID), o en español ID de transacción, que es básicamente una llave pública que representa cada intercambio hecho.

Muchos IDs de transacción, con información sobre intercambios, después son transformados en un nuevo hash que representa cada bloque de la blockchain.

Cada vez que un nuevo bloque es creado, ese bloque tendrá información sobre una serie de nuevas transacciones y también el hash del bloque anterior, creando así una nueva hash, única, pero «genéticamente» conectada al bloque anterior.

criptomonedas hashing blockchain

Esto hace que todos los bloques estén ligados entre sí hasta el primero de la cadena, creando una relación de dependencia.

No es posible manipular la información de uno de los bloques sin afectar a toda la cadena. Cualquier intento sería inmediatamente detectado.

Gracias a eso la blockchain puede ser descentralizada, segura y transparente.

O sea:

El hashing está en la base de muchas de las virtudes de la blockchain.

4. SHA-256: La Función Hash de Bitcoin

Como ya vimos, Bitcoin utiliza la función SHA-256.

Esta función es parte del conjunto SHA-2, creado por la NSA (National Security Agency), en español Agencia de Seguridad Nacional, de los Estados Unidos.

SHA significa Secure Hash Algorithm, o en español, Algoritmo de Hash Seguro.

En el caso de Bitcoin, además de servir para la creación de llaves públicas y privadas, esta función es también utilizada para la minería de criptomonedas, el proceso por el cual se distribuyen los BTC por los mineros que sostienen la red.

Bitcoin mineria
Hardware utilizado para minar Bitcoin.

Por ser descentralizada, la blockchain necesita que los mineros la mantengan “viva”, verificando la legitimidad de las transacciones a través de estas funciones.

Ya que, para eso, están cediendo el poder de procesamiento de sus computadores además de los costos de electricidad e internet, los mineros son recompensados con una cantidad de BTC por cada vez que una nueva cantidad de transacciones es almacenada en un nuevo bloque de la blockchain.

Actualmente existen más de 18 millones de BTC en circulación, fruto de la minería hecha a lo largo de más de 10 años, lo que significa que falta distribuir menos de 3 millones de BTC a través de la minería.

Estas son las principales características de Bitcoin y de su proceso de minería:

ParámetroBitcoin
Suministro total21 millones
Tiempo de transacción10 minutos
Costos de transacción~$0.5-$32
Recompensas de minado6,25 monedas por bloque
Algoritmo de minadoSHA-256

5. Supremacía Cuántica de Google: ¿Fin del Hashing a la Vista?

Desde el surgimento de Bitcoin, que promovió el desarrollo de la tecnología blockchain en los más variados sectores, la computación cuántica ha sido señalada como una amenaza a la seguridad de su red.

De hecho, dado que Bitcoin se basa en el cifrado, ¿qué pasaría si alguien pudiera decodificar el algoritmo que usa?

Además de las llaves públicas de Bitcoin, también las llaves privadas (que te dan acceso a la cuenta y que no debes compartir con nadie) son encriptadas en SHA-256.

La primera pregunta es: ¿una persona sería capaz de decodificar este algoritmo?

No. La mayoría de los especialistas concuerda con que serían necesarios ciclos de vida completos para intentar romper este algoritmo y que, aún así, nosería posible.

La segunda pregunta es: ¿puede un computador decodificar el algoritmo?

No… hasta verlo.

El anuncio de Google de que alcanzó la supremacía cuántica puede generar dudas en relación a la seguridad de la blockchain y las criptomonedas, precisamente debido a la encriptación de los datos.

 Procesador Sycamore de Google
Procesador Sycamore de Google.

En realidad, el desarrollo de computadores cuánticos agrega desafíos no sólo a las criptomonedas, sino también a todas las tecnologías que actualmente trabajan con datos encriptados, como las que mencionamos previamente.

¡Hablamos de máquinas que serían capaces de hacer en 200 segundos (poco más de 3 minutos) aquello que un computador, incluso siendo potente, demoraría actualmente 10.000 años haciéndolo!

¿Entonces están las criptomonedas en riesgo?

Tal vez no.

De acuerdo con el CEO de Qtum, la computación cuántica podrá incluso tener impacto en el Bitcoin, pero nada ocurrirá de un momento a otro, ya que Bitcoin eventualmente evolucionará y adoptará otras tecnologías.

“La computación cuántica tendrá impacto en las diversas formas de encriptación, incluyendo a SHA-256, que es utilizada por Bitcoin. Como Bitcoin tiene valor, habrá un mayor incentivo para atacarla. Sin embargo, creo que muchos otros algoritmos de encriptación serán decodificados primero y eso alertará a la comunidad de que es tiempo de hacer cambios. No ocurrirá del día a la noche. Vamos a tener muchas señales.»

Patrick Dai, CEO de Qtum

Para Patrick Dai, los mineros de Bitcoin serán los grandes perjudicados, ya que terminarán con un hardware desactualizado, asumiendo que serán necesarios nuevos equipos para minar un Bitcoin anti-computación-cuántica.

En reacción al anuncio de Google, el fundador de Ethereum, Vitalik Buterin, tampoco pareció muy preocupado, indicando que aún estamos lejos de acceder a este nuevo tipo de tecnología.

En resumen:

Si se concluye que la computación cuántica es una amenaza real al funcionamiento de las criptomonedas, es bastante posible que estas evolucionen en paralelo, para volverse cada vez más seguras.

No es ninguna novedad. Desde que surgieron las primeras criptomonedas, sus proyectos han venido evolucionando, para seguir siendo relevantes y adaptados a la vida real.

6. Conclusión

El hashing está en la base de las criptomonedas como el Bitcoin. Se trata de un algoritmo de encriptación que esta utiliza, tanto al nivel de las llaves públicas y privadas de los usuarios, como en el almacenamiento de datos en la blockchain.

Un algoritmo, o función hash, debe producir valores hash únicos para cada información diferente que le es transmitida. Además de eso, para que sea viable, también debe ser rápido y seguro.

Google está apostando a la computación cuántica, lo que puede poner en riesgo los algoritmos de encriptación, no sólo utilizados por las criptomonedas, sino también por muchos otros servicios tecnológicos.

Con esto, es posible que la computación cuántica se vuelva también un driver para el desarrollo de las criptomonedas, que tendrán que evolucionar a medida que surjan nuevas amenazas a su funcionamiento.

Autor
Abraham Cespedes
Abraham Cespedes

Abraham hizo su primera inversión en Bitcoin en 2016, después de que un amigo le presentó la criptomoneda. Ya estaba acostumbrado a invertir en nuevas Fintechs, pero cuando comenzó a darse cuenta del potencial de las criptomonedas, rápidamente les dedicó parte de su cartera. No comprende a las personas que debaten cuál es la inversión más segura. Para él, la única seguridad es tener una cartera diversificada.

Comentar

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *