Uso de la Función Hash en el Blockchain para la Seguridad de las Criptomonedas
Autor: Junior Mota, Centro de Seguridad Informática y Certificación Electrónica (CESICE)-FIIIDT.
Introducción
Cuando se habla de criptomonedas, uno de los temas más importantes es ¿qué tan alto es el nivel de seguridad que tienen ante potenciales atacantes?, para eso la seguridad de las criptomonedas se le confía al blockchain, que hasta el día de hoy no se ha visto ningún ataque efectivo a las grandes criptomonedas del mundo y por eso actualmente se usan cada día más las criptomonedas en muchas transacciones a nivel mundial, porque se ha demostrado que es un activo en el que se puede confiar y que no se perderá.
¿Qué es un Hash?
El hash es una función criptográfica que se aplica a cualquier grupo de datos, esto con el objetivo de que se genere un hash aleatorio y de un tamaño fijo, que nunca va a variar para ese grupo de datos a los cuales fue asignado.
La única manera de conseguir un hash igual es utilizando los mismos datos que se dieron la primera vez, este hash se verá reflejada como una cadena de datos escrita de forma hexadecimal, que vendrían representando todos los datos de entrada de forma resumida.
Uso de la Función Hash en las Criptomonedas
El hash tiene muchos usos dentro del mundo de las criptomonedas y las más importantes son:
- Minería de las Criptomonedas: las cadenas de bloques, son el área donde trabajan los mineros y ellos almacenan toda la información en Hash.
- Seguridad en las Transacciones: todas las transacciones que se realizan con criptomonedas se encriptan a través de los Hash.
- Generación de Claves: el Hash es quien se encarga de generar la clave pública y privada de cada monedero de criptomonedas.
Características de las Funciones Hash
Las funciones hash tienen muchas características, pero las más importantes que se pueden mencionar son:
- Son fáciles de calcular: los algoritmos generados por una función hash no requieren de una gran capacidad de cálculo para que se puedan ejecutar y esto no le reduce en nada su nivel de eficiencia.
- Es comprensible: no importa la cantidad de datos que se quiera convertir, ya que esta siempre será una cadena de tamaño fijo. Si se usa el SHA-256, siempre la cadena tendrá 64 carácteres.
- Resistencia débil y fuerte a colisiones: gracias a esto es imposible calcular un hash, esto quiere decir que es imposible encontrar otro hash igual. Esto también es conocido como segunda imagen y pre-imagen.
- Son irreversibles: una de las cosas que le da más seguridad a las funciones hash, es que no es posible tomar un hash y obtener los datos que le dieron origen al mismo.
Nivel de Seguridad de las Funciones Hash
Actualmente las funciones hash que se utilizan garantizan un muy elevado nivel de seguridad. Estas funciones vienen siendo RIPEMD-160 y SHA-256, que tienen una nivel de complejidad tan alto que se garantiza por completo la seguridad.
Anteriormente se utilizaba la función MD5, que para ese entonces garantizaba que su seguridad sería muy alta, pero al extenderse, se comenzó a propagar por el internet para que así todo el mundo lo utilizara, ofreciendo seguridad a toda la información, hasta que en el año 1996, se logró romper la seguridad de esa función hash y se recomendó no volver a utilizarla.
La función hash SHA-256, garantiza un nivel de seguridad muy alto, ya que se calcula que para romper su seguridad se necesitaría usar un supercomputador de los más actuales y aun así le tomaría miles de años para romperla. Lo mismo se puede decir de la función RIPEMD-160, ya que este está evolucionando diariamente. Esto quiere decir que ambas funciones se pueden utilizar sin problemas.
Las Funciones Hash en el Mundo Blockchain
Debido a todas las bondades que brindan las funciones hash, desde lo eficiente hasta lo económica que son computacionalmente hablando, son las más utilizadas para la tecnología del blockchain. Satoshi Nakamoto fue el primero en publicar el motivo por el cual uso las funciones hash SHA-256 y RIPEMD-160 en Bitcoin, diciendo: “Estas funciones hacen que la tecnología sea totalmente segura y se puede manejar de manera privada e incluso anónima”. Desde ese momento el blockchain cambio totalmente, aunque su base se mantiene igual.
Proceso de Minería
Este proceso es otra parte muy importante de la tecnología blockchain, donde también se usan las funciones hash. La función SHA-256 es la que más calcula hashes al momento de minar Bitcoin y los distribuye de forma rápida y efectiva a cada uno de sus nodos.
La tarea de calcular infinidades de hashes la tiene los mineros y esto lo hacen para crear nuevos bloques de Bitcoin, para que cada vez existan más. Para verificar cada transacción que se realiza se usa este mismo proceso.
El uso masivo a la hora de calcular hashes es lo que hace difícil el proceso de minería, ya que calcular hashes no es un tema complicado. Es por esto que los mineros necesitan unas computadoras con una potencia muy elevada para poder resolver los acertijos de Bitcoin.
Este párrafo no me da una base coherente concreta por lo ambiguo que es.
Referencias
- ¿Qué es el Hash Rate? (2020) https://academy.bit2me.com/que-es-el-hash-rate/
- Qué es Hash o función Hash en criptomonedas https://criptoburbuja.com/hash-en-criptomonedas/
- ¿Qué es un Hash? Su uso en Bitcoin https://bitsofproof.com/es/bitcoin/que-es-hash
- https://es.cointelegraph.com/explained/security-and-privacy-in-crypto-how-safe-are-we
Contacto: motaibhaltair@gmail.com