Explicación del hash en Blockchain | Hash Crack en línea

Author:
13 enero, 2021
Explicación del hash en Blockchain | Hash Crack en línea

Intro

La tecnología Blockchain es, sin duda, una de las innovaciones tecnológicas más definitorias de nuestro tiempo. Ha definido cómo se verifican y almacenan las transacciones digitales mediante el uso de Distributed Ledger Technologies (DLT). Pero para comprender cómo funciona la cadena de bloques en las criptomonedas, debemos tener en cuenta un concepto básico: el hash. Si es nuevo en blockchain y desea comprender cómo funciona Bitcoin, por ejemplo, comprender este concepto y las terminologías relacionadas será útil. En este artículo, intento simplificar esto, aunque es un poco técnico.

¿Qué es el hash en blockchain?

El hash en blockchain se refiere al proceso de tener un elemento de entrada de cualquier longitud que refleje un elemento de salida de una longitud fija. Si tomamos el ejemplo del uso de blockchain en las criptomonedas, las transacciones de diferentes longitudes se ejecutan a través de un algoritmo de hash dado, y todas dan una salida de una longitud fija. Esto es independientemente de la duración de la transacción de entrada. La salida es lo que llamamos hash. Un buen ejemplo es el algoritmo de hash seguro 256 de Bitcoin (comúnmente abreviado a SHA-256). El hash usando SHA-256 siempre da un resultado de salida de una longitud fija, que tiene una longitud de 256 bits (la salida es de 32 bytes). Este es siempre el caso, ya sea que la transacción sea solo una palabra o una transacción compleja con grandes cantidades de datos. Lo que esto significa es que realizar un seguimiento de una transacción se vuelve más fácil cuando puede recuperar / rastrear el hash.El tamaño del hash dependerá de la función hash utilizada, pero la salida que utilice un algoritmo hash particular será de un tamaño específico.Ejemplo: cuando toma un video de YouTube de, digamos, 50 megabytes y lo hash usando SHA-256, la salida será un hash de 256 bits de longitud. De manera similar, si toma un mensaje de texto de 5 kilobytes, el hash de salida seguirá siendo de 256 bits. La única diferencia entre los dos será el patrón de hash. Resumamos la información anterior de la siguiente manera: Hashing es el término general para las funciones de hash criptográficas

Funciones hash criptográficas

Una función hash, tomará cualquier entrada de transacción / datos y la repetirá para producir una salida de un tamaño fijo. El proceso de utilizar una función hash determinada para procesar una transacción se denomina hash. La salida transaccional de esa función hash dada es lo que llamamos hash. Y eso debería ser todo. Hay más que debemos exponer para desmitificar el hash en blockchain. En este punto, quiero enfatizar que es bueno recordar que la característica básica de cualquier función hash dada radica en el tamaño de su salida. Esto es lo que nos da las diferentes funciones hash (llegaremos a eso en un momento).

Características de las funciones hash criptográficas

Para que una función hash criptográfica se considere segura, debe presentar ciertas características o propiedades. Son estas propiedades las que hacen que la función hash sea adecuada para criptomonedas como Bitcoin o Ethereum que utilizan tecnología blockchain. Permítanme explicar cada uno de ellos en términos simples para todos nosotros.

Determinista

Una función hash debe tener una salida fija o específica. Lo que esto significa es que no importa la cantidad de veces que procese una entrada determinada usando una función hash; el resultado es siempre de la misma longitud. Los hashes serán aleatorios y de diferentes patrones, pero del mismo tamaño / longitud. ¿Porque es esto importante? Imagine obtener resultados diferentes para cada transacción que registre. Simplemente significa que le será imposible realizar un seguimiento de todos los datos de entrada utilizando el hash

Computación rápida

En la tecnología blockchain, una buena función hash sería aquella que realiza cálculos rápidos para cada entrada de datos. Puede ser difícil encontrar los datos de entrada para un hash, pero el cálculo o el cálculo del hash deberían ser idealmente muy rápidos. Por ejemplo, puede obtener el resultado hash de un simple “hola” en una fracción de segundo. Del mismo modo, el hash de un archivo muy grande se recibirá en una fracción de segundo.

Resistencia previa a la imagen

Una de las propiedades importantes de las funciones hash criptográficas seguras es que son unidireccionales. Tomémoslo de esta manera: dado un hash de una transacción en particular, debería ser virtualmente imposible o prácticamente inviable determinar los datos de entrada originales usando esta salida. Esta propiedad otorga un nivel de seguridad a la cadena de bloques. Cuando se le da un hash en particular, la única forma posible de encontrar cuáles son los datos de entrada originales es si ha realizado el hash de todas las combinaciones posibles de entradas hasta que finalmente haya hash la entrada correcta o correspondiente. Sin embargo, debido a que los datos de entrada son aleatorios, aplicar hash es prácticamente imposible.

Diferentes hashes para cada entrada (aleatorio)

Las funciones hash producen diferentes salidas para cada entrada, incluso si los datos de entrada difieren solo en un dígito o letra. Por ejemplo, el hash de la palabra “Alpha” debe ser completamente diferente del hash de la palabra “Alpha1”. Si los patrones fueran similares y diferieran solo al final, descifrarlos sería fácil.

Resistente a colisiones

También se supone que las funciones hash criptográficas tienen propiedades resistentes a las colisiones. Pueden producirse colisiones en los casos en que una función hash da salidas similares para diferentes entradas. Por ejemplo, si “pic1” es una foto y “pic2” es un video, pero una función hash produce el mismo resultado, entonces lo llamamos colisión. Normalmente, esto no debería suceder. Sin embargo, podría ser el resultado de una “Caja de cumpleaños”.

Funciones hash criptográficas

  • SHA 256: una salida de un hash de 256 bits y actualmente en uso en la red Bitcoin
  • Keccak-256: una salida de un hash de 256 bits; actualmente en la red Ethereum

Blockchain y hash: ¿dónde se usa?

El hash se aplica en blockchain como se ve en algunos de los ejemplos utilizados anteriormente. A continuación se muestran más ejemplos.

  • Las direcciones en la cadena de bloques se derivan de hash, por ejemplo, las direcciones de Bitcoin usan SHA2-256 y RIPEMD 160.
  • El hash ayuda a definir firmas criptográficas que ayudan a determinar transacciones válidas.
  • El hash de una transacción facilita el seguimiento de las transacciones en la cadena de bloques. En lugar de buscar una transacción que fuera la “1030 en el bloque 14573”, es más fácil simplemente copiar el hash en un explorador de blockchain desde donde puede ver los detalles de la transacción.
  • Las funciones de hash son cruciales en la minería de criptomonedas donde se descubre un nonce válido al calcular varios hash. Esto ayuda a formar un consenso sobre la cadena de bloques.
  • El uso de “hash de los datos” ayuda a almacenar grandes cantidades de datos en la cadena de bloques. Estos datos tienen una marca de tiempo y se pueden utilizar como hash para referencia futura. Hace que el almacenamiento permanente de datos sea menos voluminoso o simplemente más económico.
  • Hashrate: determina qué tan rápido y fluido es el proceso de minería. Es vital para determinar los niveles de dificultad durante la minería.

Conclusión

La función hash criptográfica es una parte integral de la innovación blockchain. Esencialmente es una característica que brinda capacidades de seguridad a las transacciones procesadas, haciéndolas inmutables. El hash también está en el centro de “Merkle Trees”, que es un enfoque avanzado para el hash de blockchain. Es útil en cuestiones de escalabilidad y carteras móviles / ligeras.