Un Hash es un algoritmo matematico que convierte cualquier input en un serie de caracteres de longitud fija, por ejemplo la funcion hash mas conocida SHA256 entrega como resultado una cadena de 64 caracteres. Tiene como caracteristica que poniendo la misma entrada el hash resultante es siempre el mismo. Ademas su gran potencial reside en que la funcion no es reversible, si yo tengo el hash de un texto por ejemplo, no puedo volver a generar el texto a partir del hash (la unica manera seria probar una y otra vez hasta lograrlo, lo que requiere tal poder de computo que lo hace inviable. Tambien otra caracterisitica de un hash es que cualquier cambio por mas minimo que sea en el texto o archivo ingresado produce un cambio total en el Hash de salida.
Algunos usos de las funciones hash es almacenar contraseñas, verificar un archivo descargado de internet (si el hash del archivo descargado no coincide con el original puede estar corrompido o infectado), otro uso es el de firmar electronicamente algun documento, y en el caso de la mineria de criptomonedas el hash tiene como funcion la de verificar la integridad de los bloques del blockchain y por otro lado es usado en mineria para mediante prueba de trabajo producir un hash con ciertas caracteristicas lo cual se hace mediante prueba y error de los datos del bloque que se quiere minar para incorporar al blockchain, esos datos ademas de las transacciones, fecha y demas que son fijos, contienen un valor variable llamado Nonce o Nuncio que mediante millones de iteraciones se va cambiando hasta que el hash del bloque resultante tenga las caracterisitcas requeridas para ser valido
En el blockchain de cada criptomoneda se obtiene el hash de un bloque y este se almacena en el bloque siguiente. A su vez este nuevo bloque almacena su hash en el proximo, con lo cual si uno de los bloques es alterado por un atacante debera cambiar el hash en el bloque siguiente y asi sucesivamente ya que al alterar un bloque, debo alterar todos los siguientes para que los hashes coincidan. El problema seria que al llegar al ultimo bloque seria detectado ya que sabiendo que alguien cambio el hash del ultimo bloque algunos de los anteriores han sido modificados con lo cual con un solo hash, el ultimo podemos verificar la integridad de todo el blockchain anterior
esto es una prueba | f6a4f817ebc9c7e4765004c1cda4f6028429ed089529c9f7148d60b392905617 |
ESTO ES UNA PRUEBA | 1834bb7fc4ece293b0c2da58dc414ba4904d879b5694cdd7f32fc2d8db5e39b5 |
1.000.000 de dolares | d1342f4201dc9ae3570fe2734708740ef984933ff67914e30c952698145d200c |
1.000.000 de pesos argentinos | b53b5cccfc35f1ce90edf3bf67fda967d2c5d3b794e4491d80c315c18bc549c9 |