ETFFIN Finance >> Finanzas personales curso >  >> Criptomoneda >> Blockchain

Picadillo

¿Qué es un hash?

Un hash es una función matemática que convierte una entrada de longitud arbitraria en una salida cifrada de longitud fija. Por lo tanto, independientemente de la cantidad original de datos o el tamaño del archivo involucrado, su hash único siempre será del mismo tamaño. Es más, los hash no se pueden utilizar para "aplicar ingeniería inversa" a la entrada de la salida hash, ya que las funciones de picadillo son "unidireccionales" (como una picadora de carne; no se puede volver a poner la carne molida en un bistec). Todavía, si utiliza dicha función en los mismos datos, su hash será idéntico, para que pueda validar que los datos son los mismos (es decir, inalterado) si ya conoce su hash.

El hash también es esencial para la gestión de blockchain en criptomonedas.

Conclusiones clave

  • Un hash es una función que cumple con las demandas cifradas necesarias para resolver un cálculo de blockchain.
  • Los hash tienen una longitud fija, ya que hace que sea casi imposible adivinar la longitud del hash si alguien intenta romper la cadena de bloques.
  • Los mismos datos siempre producirán el mismo valor hash.
  • Un hachís como un nonce o una solución, es la columna vertebral de la red blockchain.
  • Se desarrolla un hash basándose en la información presente en el encabezado del bloque.

Cómo funcionan los hashes

Las funciones hash típicas toman entradas de longitudes variables para devolver salidas de una longitud fija. Una función hash criptográfica combina las capacidades de paso de mensajes de las funciones hash con propiedades de seguridad.

Las funciones hash son estructuras de datos de uso común en sistemas informáticos para tareas, como comprobar la integridad de los mensajes y autenticar la información. Si bien se consideran criptográficamente "débiles" porque se pueden resolver en tiempo polinomial, no son fáciles de descifrar.

Las funciones hash criptográficas agregan características de seguridad a las funciones hash típicas, lo que dificulta la detección del contenido de un mensaje o información sobre destinatarios y remitentes.

En particular, Las funciones hash criptográficas exhiben estas tres propiedades:

  • Están "libres de colisiones". Esto significa que no se deben asignar dos hashes de entrada al mismo hash de salida.
  • Pueden ocultarse. Debería ser difícil adivinar el valor de entrada de una función hash a partir de su salida.
  • Deben ser amigables con los rompecabezas. Debería ser difícil seleccionar una entrada que proporcione una salida predefinida. Por lo tanto, la entrada debe seleccionarse de una distribución que sea lo más amplia posible.

Debido a las características de un hash, se utilizan ampliamente en la seguridad en línea, desde la protección de contraseñas hasta la detección de violaciones de datos y la verificación de la integridad de un archivo descargado.

Hashing y criptomonedas

La columna vertebral de una criptomoneda es la cadena de bloques, que es un libro mayor global formado al vincular bloques individuales de datos de transacciones. La cadena de bloques solo contiene transacciones validadas, lo que evita transacciones fraudulentas y doble gasto de la moneda. El valor cifrado resultante es una serie de números y letras que no se parecen a los datos originales y se denomina hash. La minería de criptomonedas implica trabajar con este hash.

El hash requiere procesar los datos de un bloque a través de una función matemática, lo que da como resultado una salida de una longitud fija. El uso de una salida de longitud fija aumenta la seguridad, ya que cualquiera que intente descifrar el hash no podrá saber qué tan larga o corta es la entrada simplemente mirando la longitud de la salida.

Resolver el hash comienza con los datos disponibles en el encabezado del bloque y esencialmente está resolviendo un problema matemático complejo. Cada encabezado de bloque contiene un número de versión, una marca de tiempo, el hash utilizado en el bloque anterior, el hachís de la raíz de Merkle, el nonce, y el hash objetivo.

El minero se centra en el nonce, una cadena de números. Este número se agrega al contenido hash del bloque anterior, que luego es hash. Si este nuevo hash es menor o igual que el hash objetivo, entonces se acepta como la solución, el minero recibe la recompensa, y el bloque se agrega a la cadena de bloques.

El proceso de validación de las transacciones de blockchain se basa en el cifrado de los datos mediante hash algorítmico.

Consideraciones Especiales

Resolver el hash requiere que el minero determine qué cadena usar como nonce, que a su vez requiere una cantidad significativa de ensayo y error. Esto se debe a que el nonce es una cadena aleatoria. Es muy poco probable que un minero logre con éxito el nonce correcto en el primer intento, lo que significa que el minero puede potencialmente probar una gran cantidad de opciones nonce antes de hacerlo bien. Cuanto mayor sea la dificultad (una medida de lo difícil que es crear un hash que cumpla con el requisito del hash de destino), es probable que se tarde más en generar una solución.

Un ejemplo de hash

Si aplica un hash a la palabra "hola", se producirá un resultado de la misma longitud que el hash de "Voy a ir a la tienda". La función utilizada para generar el hash es determinista, lo que significa que producirá el mismo resultado cada vez que se utilice la misma entrada. Puede generar una entrada hash de manera eficiente; también dificulta la determinación de la entrada (lo que lleva a la minería), además de realizar pequeños cambios en la entrada, resulta en un resultado irreconocible, hash completamente diferente.

El procesamiento de las funciones hash necesarias para cifrar nuevos bloques requiere una potencia de procesamiento de computadora sustancial, que puede ser costoso. Para atraer a personas y empresas, referidos como mineros, invertir en la tecnología requerida, Las redes de criptomonedas los recompensan con nuevos tokens de criptomonedas y una tarifa de transacción. Los mineros reciben compensación solo si son los primeros en crear un hash que cumpla con los requisitos descritos en el hash objetivo.

Preguntas frecuentes

¿Qué es una función hash?

Las funciones hash son funciones matemáticas que transforman o "mapean" un conjunto de datos dado en una cadena de bits de tamaño fijo, también conocido como "valor hash".

¿Cómo se calcula un valor hash?

Una función hash utiliza algoritmos matemáticos complejos que convierten datos de longitud arbitraria en datos de longitud fija (por ejemplo, 256 caracteres). Si cambia un bit en cualquier lugar de los datos originales, todo el valor hash cambia, haciéndolo útil para verificar la fidelidad de archivos digitales y otros datos.

¿Para que se usan los hashes en blockchains?

Los hashes se utilizan en varias partes de un sistema blockchain. Primero, cada bloque contiene el hash del encabezado del bloque anterior, asegurándose de que no se haya alterado nada a medida que se agregan nuevos bloques. Minería de criptomonedas mediante prueba de trabajo (PoW), es más, utiliza hash de números generados aleatoriamente para llegar a un valor hash específico que contiene una serie de ceros iniciales. Esta función arbitraria requiere muchos recursos, dificultando que un mal actor se apodere de la red.