¿Qué es el nonce?
Un nonce es una abreviatura de "número usado solo una vez", que es un número agregado a un bloque hash o encriptado en una cadena de bloques que, cuando se vuelve a escribir, cumple con las restricciones de nivel de dificultad. El nonce es el número que los mineros de blockchain están resolviendo. Cuando se encuentra la solución, a los mineros de blockchain se les ofrece criptomonedas a cambio.
Para llevar clave
- Nonce, o un "número que solo se usa una vez", se refiere al primer número que un minero de blockchain necesita descubrir antes de resolver un bloque en la cadena de bloques. Una vez que el minero resuelve los cálculos matemáticos, recibe criptomonedas para su tiempo y habilidad..Nonce es difícil de encontrar y se considera una forma de eliminar a los criptomineros menos talentosos. El mundo de la minería de criptomonedas es un desafío, y a menudo se necesita un excelente poder computacional para comenzar a tratar de resolver el problema.
Entendiendo Nonce
La cadena de bloques es la piedra angular de la criptomoneda. Para mantener segura la cadena de bloques, los datos de los bloques anteriores se cifran o se combinan en una serie de números y letras. Esto se hace procesando la entrada del bloque a través de una función, que produce una salida de una longitud fija.
La función utilizada para generar el hash es determinista, lo que significa que producirá el mismo resultado cada vez que se use la misma entrada. También significa que la función puede generar una entrada hash de manera eficiente, dificulta la determinación de la entrada (lo que lleva a la minería) y realiza pequeños cambios en el resultado de la entrada en un hash muy diferente. Este complejo sistema crea la red de privacidad de blockchain.
Consideraciones especiales: Descubriendo el Nonce
Agregar transacciones a la cadena de bloques requiere una gran capacidad de procesamiento por computadora. Las personas y empresas que procesan bloques se llaman mineros. Los mineros son compensados solo si son los primeros en crear un hash que cumpla con un cierto conjunto de requisitos, llamado hash objetivo.
El proceso de adivinar el hash comienza en 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 objetivo.
La minería exitosa de un bloque requiere que un minero sea el primero en adivinar el nonce, que es una cadena aleatoria de números agregados al contenido hash del bloque, y luego se vuelve a colocar.
Si el hash cumple con los requisitos establecidos en el objetivo, entonces el bloque se agrega a la cadena de bloques. Recorrer las soluciones para adivinar el nonce se conoce como prueba de trabajo, y el minero que puede encontrar el valor recibe el bloque y se paga en criptomoneda.
Determinar qué cadena usar como nonce requiere una cantidad significativa de prueba y error, ya que es una cadena aleatoria. Un minero debe adivinar un nonce, agregarlo al hash del encabezado actual, volver a mostrar el valor y compararlo con el hash objetivo. Si el valor hash resultante cumple con los requisitos, el minero ha creado una solución y se le adjudica el bloque.
Es muy poco probable que un minero adivine con éxito el nonce en el primer intento, lo que significa que el minero puede probar una gran cantidad de opciones nonce antes de hacerlo correctamente. Cuanto mayor sea la dificultad (una medida de lo difícil que es crear un hash que sea menor que el objetivo), más tiempo tomará generar una solución.
La dificultad de bloqueo se mantiene igual en toda la red, lo que significa que todos los mineros tienen la misma posibilidad de descubrir el hash correcto. Las redes de criptomonedas generalmente establecen un número objetivo de bloques que desean procesar durante un período de tiempo específico, y ajustan periódicamente la dificultad para garantizar que se cumpla este objetivo. Si el número de bloques procesados no cumple con este objetivo, entonces la dificultad se reducirá, con la reducción de la dificultad establecida en la cantidad de tiempo por encima del límite del tiempo de procesamiento.