¿Qué es un Hash? Su uso en Bitcoin

El hash como función criptográfica aplicada a cualquier conjunto de datos, nos dará como resultado un hash aleatorio y de longitud fija, que siempre será igual para esos mismos datos. Si cambiamos cualquier dato de entrada, el hash resultante será distinto.

La función hash nos da como resultado una cadena de datos escrita en formato hexadecimal, representando a los datos de entrada en forma de resumen. Este mismo hash solo podrá obtenerse de nuevo, si se vuelven a utilizar exactamente los mismos datos de entrada.

  • El hash nos permite verificar que la información incluida en un bloque no ha sido modificada
  • El algoritmo hash siempre deberá producir un mismo valor para un mismo conjunto de datos
  • Se trata de una función unidireccional, así que no pueden volverse a obtener los datos de entrada, mediante el hash obtenido

Hash en Bitcoin

Hash en claves Bitcoin privadas y públicas

A partir de la clave privada, el protocolo Bitcoin mediante una serie de operaciones matemáticas (funciones hash SHA-256 y RIPEMD-160), es capaz de obtener ese hash final que va a conformar una clave pública más corta y manejable.

Este proceso matemático es sencillo de realizar para cualquier ordenador actual, por lo que en Bitcoin se recomienda usar una clave pública nueva para cada transacción.

A través de una dirección pública, no será posible obtener la clave privada. De otra forma, cualquiera podría adivinar nuestra calve y gastar nuestros bitcoins.

El Hash en la minería Bitcoin

Cada 10 minutos se debe crear una nuevo bloque de transacciones, que finalmente sea añadido a la cadena de bloques. Y es ahí donde los mineros compiten por encontrar el hash adecuado, para poder añadir la lista de transacciones que ellos han verificado.

Para cualquier ordenador actual resulta muy sencillo ejecutar una función hash SHA-256 que resuma el listado de transacciones, la firma del bloque anterior y el número “nonce”. Por lo que Bitcoin añade la dificultad de tener que encontrar un hash que incorpore un determinado número de ceros al principio de la cadena:

“000000000000xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”

Encontrar un hash que comience por ese número de ceros es altamente improbable. Y los mineros deberán hacer miles de cálculos matemáticos antes de averiguar el hash ganador.

Tras un último proceso de verificación, el hash encontrado por el minero se añadirá al final de su bloque y será la firma que certifique la integridad de los que incluye.

Ejemplo de una función hash

El protocolo Bitcoin utiliza la función hash SHA-256 y puedes encontrar varias páginas capaces de llevar a cabo esta función.

Para esta entrada de datos:
bitsofproof.com

Obtendremos esta cadena de salida:
6DC8927C36EF6BD826BC4E8B950E88036D09E94E74BC4B4A89CEE8B346ECA9EB

– Generador de hash (SHA256): passwordsgenerator.net

¿Qué es un Hash? Su uso en Bitcoin
5 (1 voto)