Hash de destino
¿Qué es un hash de destino?
En la minería de criptomonedas, un hash de destino es un valor numérico al que un encabezado de bloque con hash debe ser menor o igual para que se le otorgue un nuevo bloque a un minero. Los encabezados de bloque identifican bloques individuales en una cadena de bloques.
La minería de criptomonedas se refiere al proceso de recopilación de criptomonedas como recompensa por el trabajo que completa. La naturaleza de este trabajo es verificar la legitimidad de las transacciones de una determinada criptomoneda. De esta manera, los mineros de criptomonedas son esencialmente auditores. Cuando extrae, puede ganar criptomonedas sin tener que depositar dinero para ello.
El hash objetivo se utiliza para determinar la dificultad de la entrada y se puede ajustar para garantizar que los bloques se procesen de manera eficiente. Por ejemplo, los hashes de destino se utilizan en criptomonedas que utilizan un sistema de prueba de trabajo (PoW) para establecer la dificultad de minería actual (incluido Bitcoin). Si una criptomoneda utiliza un sistema diferente para la minería, es posible que no requiera un hash de destino.
Conclusiones clave
- En la minería de criptomonedas, un hash de destino es un valor numérico que un encabezado de bloque con hash (que se usa para identificar bloques individuales en una cadena de bloques) debe ser menor o igual que para que un nuevo bloque sea otorgado a un minero.
- Los hashes de destino se utilizan en criptomonedas que utilizan un sistema de prueba de trabajo (PoW) para establecer la dificultad de minería actual (incluido Bitcoin); si una criptomoneda utiliza un sistema diferente para la minería, es posible que no requiera un hash de destino.
- La red Bitcoin ajusta la dificultad de la minería aumentando o reduciendo el hash objetivo para preservar un intervalo promedio de 10 minutos entre nuevos bloques.
Cómo funciona un hash de destino
Las criptomonedas se basan en el uso de cadenas de bloques que contienen el historial de todas las transacciones de esa criptomoneda. Estas transacciones están codificadas mediante hash o criptográficamente en una serie de caracteres alfanuméricos. El hash implica tomar una cadena de datos de cualquier longitud y ejecutarla a través de un algoritmo para producir una salida con una longitud fija. La salida siempre tendrá la misma longitud, independientemente de cuán grande o pequeña sea la entrada (aunque el número de permutaciones de un hash es astronómicamente grande). Cada bloque contendrá el hash del encabezado del bloque anterior.
Validar y codificar la cadena de bloques se conoce como minería. La minería implica el uso de computadoras para ejecutar algoritmos hash para procesar el bloque más reciente; la información que un usuario necesita para extraer se encuentra en el encabezado del bloque. La red de criptomonedas establece un valor objetivo para este hash, llamado hash objetivo, y los mineros intentan determinar cuál es este valor probando todos los valores posibles.
El encabezado del bloque contiene el número de versión del bloque, una marca de tiempo, el hash utilizado en el bloque anterior, el hash de Merkle Root, el nonce y el hash de destino. El bloque se genera tomando el hash del contenido del bloque, agregando una cadena aleatoria de números (el nonce) y haciendo hash del bloque nuevamente.
Si el hash cumple con el requisito del objetivo, entonces el bloque se agrega a la cadena de bloques. El ciclo a través de soluciones para adivinar el nonce se conoce como prueba de trabajo (PoW), y al minero que puede encontrar el valor se le otorga el bloque y se le paga en criptomoneda.
Consideraciones Especiales
Target Hash para Bitcoin
Bitcoin utiliza el algoritmo hash SHA-256. Este algoritmo genera números aleatorios verificables de una manera que requiere una cantidad predecible de potencia de procesamiento de computadora.
La extracción de un bloque requiere que el minero produzca un valor (un nonce) que, después de ser hash (codificado criptográficamente), sea menor o igual al utilizado en el bloque más reciente aceptado por la red bitcoin. Este número está entre 0- (la opción más pequeña) y 256 bits (la opción más grande) pero es poco probable que alguna vez sea el número máximo.
Debido a que el hash objetivo podría ser un número enorme, es posible que el minero tenga que probar una gran cantidad de valores antes de tener éxito. Un minero fracasado tiene que esperar al siguiente bloque (razón por la cual los mineros que encuentran una solución hash se comparan con los ganadores de una carrera o la lotería).
El hash objetivo se ajusta periódicamente. Las funciones hash utilizadas para generar el nuevo objetivo tienen propiedades específicas diseñadas para hacer que la cadena de bloques (y su criptomoneda) sea segura. Este proceso es determinista, lo que significa que producirá el mismo resultado cada vez que se utilice la misma entrada. Es lo suficientemente rápido como para no tardar demasiado en devolver un hash para la entrada. También hace que la determinación de la entrada sea muy difícil, especialmente para números grandes, y hace que pequeños cambios en la entrada den como resultado una salida hash muy diferente.