Saltar al contenido

¿Qué es el nonce de una transacción?

febrero 8, 2022
¿Qué es el nonce de una transacción?

Nonce blockchain

Un nonce es la abreviatura de «number only used once» (número que sólo se usa una vez), que, en el contexto de la minería de criptomonedas, es un número que se añade a un bloque cifrado o con hash en una cadena de bloques que, cuando se vuelve a hacer hash, cumple con las restricciones de nivel de dificultad. El nonce es el número que los mineros de la cadena de bloques están resolviendo. Cuando se encuentra la solución, los mineros de la cadena de bloques reciben criptomonedas a cambio.

La cadena de bloques es la piedra angular de la criptomoneda. Para mantener la seguridad de la cadena de bloques, los datos de los bloques anteriores se cifran o se convierten 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 utilice la misma entrada. También significa que la función puede generar un hash de entrada de manera eficiente, dificulta la determinación de la entrada (lo que conduce a la seguridad de la cadena de bloques), y hace que pequeños cambios en la entrada den como resultado un hash muy diferente. Este complejo sistema crea la red de privacidad de blockchain.

Cancelar una transacción en Ethereum

Los nonces son números aleatorios o pseudoaleatorios que los protocolos de autenticación adjuntan a las comunicaciones. A veces estos números incluyen una marca de tiempo para intensificar la naturaleza fugaz de estas comunicaciones. Si las solicitudes posteriores a un servidor, por ejemplo durante la autenticación de acceso digest a través del nombre de usuario y la contraseña, contienen el nonce y/o la marca de tiempo incorrectos, son rechazadas. Cuando se utilizan de esta manera, los nonces evitan los ataques de repetición que se basan en la suplantación de comunicaciones anteriores para obtener acceso.

«Un nonce introduce la aleatoriedad, y a veces la marca de tiempo, en las comunicaciones para que la aplicación pueda verificar al usuario. Esta singularidad añadida hace imposible que los piratas informáticos utilicen comunicaciones anteriores para suplantar a las partes legítimas con fines nefastos».

Transacción Eth atascada

es decir, si hay una transacción con nonce 3 relacionada con alguna cuenta en el txpool y llega alguna transacción con nonce 4, entonces esa transacción no será minada hasta que y a menos que la transacción con nonce 3 sea minada.

i) El valor del nonce está relacionado con una dirección, ¿verdad? Así que dos direcciones pueden tener el mismo nonce al mismo tiempo, es decir, la cuenta con la dirección A puede tener el último nonce 2, y la cuenta con la dirección B también puede tener el último nonce 2.

i) El valor del nonce está relacionado con una dirección, ¿verdad? Así que dos direcciones pueden tener el mismo nonce al mismo tiempo, es decir, la cuenta con la dirección A puede tener el último nonce 2, y la cuenta con la dirección B también puede tener el último nonce 2.

Cuando los nodos se sincronizan con el blockchain, eventualmente lo harán. Dado que un nodo acepta la cadena válida más larga, no hay problema de que todos los nodos no se actualicen con el último valor de nonce en el momento en que se realiza una transacción. Una vez sincronizados, tendrán el mismo valor nonce para la cuenta. (Es obvio porque en una cadena de bloques se supone que todos los nodos tienen los mismos datos de bloque. Así que después de una cierta cantidad de tiempo se puede estar bastante seguro de que la transacción está confirmada, de ahí el valor nonce)

Parece que este txn está tardando más de lo habitual

El cliente de OpenEthereum está escuchando a la red en busca de transacciones para incluirlas en los bloques (si está minando/validando) o para emitirlas. Estas transacciones emitidas localmente o externamente son verificadas y ordenadas en una cola de transacciones. Este documento pretende describir el proceso de selección o rechazo de estas transacciones.

Obsérvese que las 3 últimas condiciones requieren adicionalmente que otra transacción con una puntuación global más alta (es decir, el precio del gas), potencialmente de un emisor diferente, cumpla el requisito de entrar en la cola mientras está llena.

El nonce=1 puede ser eliminado sin discusión. La transacción con nonce=5 sería la transacción de «menor puntuación» para este remitente, ya que está muy lejos en el futuro. El sistema compararía entonces esta transacción con las demás transacciones en la cola de los demás remitentes. La decisión de abandonar una transacción se toma en función de la estrategia de la cola de transacciones (–tx-queue-strategy), que es gas_price por defecto. Si la transacción nonce=5 tiene el precio de gas más bajo entre las transacciones «más bajas» de la cola, se descartará.

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad