En "The Scholars", hay un avaro llamado Yan Jiansheng, que estaba acostado en la cama antes de morir y levantó dos dedos. El sobrino en casa, la niñera lo rodeó y le preguntó si tenía algún deseo incumplido, pero no entendieron qué significaba. Finalmente, la esposa de Yan Jiansheng, Zhao, adivinó el motivo, y la lámpara de la casa se encendió con dos pastos de lámpara. Yan Jiansheng sintió que era demasiado desperdicio, por lo que se negó a morir. Cuando la Sra. Zhao eligió un tallo de hierba de la lámpara en la lámpara, Yan Jiansheng pateó las piernas, cerró los ojos y se fue a la reencarnación con tranquilidad.
Supongamos que Yan Jiansheng se convirtió en inversor en criptomonedas en 2017 después de muchos años de reencarnación. Ese día, usó imToken 1.0 para transferir 10 USDT al Sr. Zhao, pero aún así no cambió su naturaleza tacaña y fijó la tarifa de manejo muy baja, pero la transacción no mostró que la transferencia fuera exitosa después de mucho tiempo.
Yan Jiansheng estaba un poco ansioso y envió otra transferencia de 10 USDT a Zhao. Esta vez, pagó un poco más de tarifa de manejo y pronto tuvo éxito, mientras que la primera transacción iniciada originalmente mostró un fracaso.
Emmmm~ ¿Por qué es esto?
Recientemente, la tarifa del minero por la transferencia de la red Ethereum se ha vuelto cada vez más cara. La razón que discutimos en "¿Por qué la tarifa del minero es tan cara?" "Le expliqué que, frente a las costosas tarifas de los mineros, la mayoría de la gente optará por reducir las tarifas de los mineros. Después de todo, no hay nada de malo en ser frugal.
Sin embargo, cuando usamos imToken 1.0 para transferir fondos y ajustamos la tarifa de manejo muy baja, puede ocurrir la situación anterior: la primera transacción no se ha empaquetado durante mucho tiempo, y después de que la segunda transacción se inicia nuevamente con éxito, la primera transacción se mostrará fallido.
La razón es causada por un valor llamado nonce.
Cada transacción que ocurre en Ethereum tiene un valor llamado nonce, que se usa para calcular la cantidad de transacciones enviadas desde una dirección de Ethereum. Todas las transferencias en una dirección de Ethereum se ordenarán según el momento en que inicie la transferencia, contando desde 0. Cada vez que una dirección envía una transacción, el número aleatorio de nonce de la transacción aumentará en 1, y la transacción transferida a esta dirección no cambiará el valor de nonce.
Como ejemplo:
0x336d3e7fdFB677Bd1c7324919556EB6E98F6eDEF
Al momento de redactar este documento, se han iniciado un total de 4 transferencias salientes y 2 cobros entrantes en esta dirección. Las dos transacciones marcadas en recuadros rojos no se incluyen en el cálculo del valor nonce de esta dirección, y las 4 transacciones de transferencia saliente restantes son Los valores nonce son 0, 1, 2, 3 de abajo hacia arriba.
La cadena de bloques de Ethereum tiene tres reglas para nonce:
Los mineros necesitan empaquetar y transferir de acuerdo con el valor de nonce de pequeño a grande, por lo que antes de que los mineros empaqueten la transacción con nonce 0, la transacción con nonce 1, 2, 3... no importa qué tan alta sea la tarifa del minero, deben esperar en fila (es como si no pudiéramos agregar atascos de tráfico durante la hora pico de la mañana. Ya sea Rolls-Royce o Chery, honestamente solo podemos hacer fila).
Los nonces son consecutivos y no se pueden omitir. Cuando no se inicia una transacción con un nonce de 1, el nonce no puede saltar directamente de 0 a 2, es decir, una transacción con un nonce de 2 solo puede ocurrir después de una transacción con un nonce de 1.
Si hay dos transacciones con el mismo nonce, después de que una de las transacciones sea exitosa, la otra transacción será reemplazada y la transferencia fallará.
Cuando Yan Jiansheng usó imToken 1.0 para transferir dinero, la primera transacción con un nonce de 0, debido a que la tarifa de manejo era demasiado baja, los mineros no la empaquetaron a tiempo y ha estado esperando. En este momento, el valor de nonce de la segunda transacción que inició nuevamente, ¿crees que es 0 o 1?
La respuesta es 0.
Puede estar un poco confundido. ¿No dijo que el valor de nonce será +1 cada vez que la dirección envíe una transferencia saliente? ¿Por qué los valores de nonce de las dos transferencias aquí son ambos 0?
La razón es que imToken 1.0 no admite el inicio de transferencias continuas. Si la próxima transacción se envía continuamente cuando la primera transacción no se empaqueta correctamente, una de ellas definitivamente fallará. Esto se debe a que las dos transacciones usan el mismo valor nonce .
De acuerdo con la tercera regla del nonce de Ethereum, cuando ocurren dos transacciones con el mismo valor de nonce, solo una transacción puede empaquetarse con éxito y una montaña no puede acomodar dos tigres. Del mismo modo, cuando la primera transacción no se transfiere con éxito, el valor nonce de la segunda, tercera, ... enésima transacción iniciada posteriormente es 0, y los mineros solo pueden empaquetar con éxito una transacción. Todas las demás transacciones mostrarán fallas. Entonces, qué transacción puede ser exitosa, ¿hay algún criterio para juzgarla?
Para transacciones con el mismo valor de Nonce, la transacción con la tarifa de manejo más alta para los mineros tiene más probabilidades de éxito. Esta no es una regla de la cadena de bloques de Ethereum, pero los mineros están motivados por las ganancias. ¿Quién no quiere ganar más? ¿dinero? Por supuesto, los mineros elegirán la transacción con la tarifa de manejo más alta para empaquetar, y los mineros descartarán otras transacciones con el mismo nonce, y se mostrarán en el software de su billetera como un estado fallido.
Estas n transacciones iniciadas una detrás de otra con el mismo valor de nonce son como atletas con diferentes líneas de partida pero la misma línea de meta. Solo el primer hombre volador, Bolt, puede ser notado por el público, y los demás son desconocidos. El imToken 2.0 actualizado admite el inicio de transferencias continuas. Si Yan Jiansheng usa imToken 2.0 para transferencias, el valor de nonce de su primera transacción será 0, y el valor de nonce de la segunda transacción será 1, incluso si la transacción anterior no se ha realizado. ha sido procesado Empaquetado, el valor nonce de las transacciones posteriores también agregará automáticamente 1.
Mencionamos anteriormente que cuando los mineros no empaquetan una transacción con un nonce de 0, una transacción con un nonce de 1 tiene que esperar para siempre, por lo que aunque el valor de nonce de las transacciones posteriores se puede acumular, debe esperar en línea para las transacciones. con un valor de nonce más pequeño para empaquetar Finalmente, es su turno.
Estas n transacciones iniciadas una detrás de otra y los valores nonce se acumulan continuamente son como atletas con diferentes líneas de salida y diferentes líneas de meta, pero deben esperar hasta que los atletas en la primera pista lleguen a la línea de meta, y la segunda, tercera. , ... n Los atletas pueden empezar a correr.
Si la persona en la primera pista es Bolt, las transacciones subsiguientes se pueden reproducir una tras otra pronto, pero si la persona en la primera pista es la mascota de Bob Esponja: Caracol, es posible que los atletas en la pista trasera tengan que esperar hasta que el cielo es viejo. ¡En este momento, es hora de darle a Xiaosnail una barra de energía para acelerar!
imToken 2.0 introduce una función de aceleración para transacciones que tardan en llegar. Esta función es como una barra de energía. Después de comerla, los mineros pueden empaquetar rápidamente la transacción. imToken calculará automáticamente la tarifa de minero más rentable para usted según las condiciones de la red en Ethereum y hará clic en "Acelerar transacción" para completar el paquete acelerado de la transacción.
El principio de las "transacciones aceleradas" es en realidad muy simple, es decir, iniciar otra transferencia con el mismo valor de nonce pero tarifas mineras más altas para cubrir la original. De esta forma, la transacción se empaquetará más rápido y se reemplazará la transferencia original.
Si no está seguro de cómo establecer la tarifa del minero para su propia transferencia, ya sea cara o barata. No se preocupe, la última versión de imToken ya admite transmisión de tres velocidades, "rápido, normal, lento" tres velocidades de empaquetado de transacciones, puede elegir.
imToken 1.0 no admite la aceleración de transacciones ni el inicio continuo de múltiples transacciones. Cuando la tarifa del minero establecida para una transacción es demasiado baja, no se empaquetará durante mucho tiempo y no se podrá acelerar. Sin embargo, si está ansioso por iniciar la segunda transacción antes de que la primera transacción se empaquete correctamente, una de las transacciones fallará.
imToken 2.0 admite la aceleración de transacciones, el cambio de tres velocidades y el inicio continuo de múltiples transacciones. Cuando la tarifa del minero establecida para una transacción es demasiado baja, se puede agregar la tarifa del minero para acelerar la confirmación del paquete. En la última versión de imToken, puede elegir la tarifa del minero de acuerdo con sus necesidades, y el "cambio de tres velocidades" es claro de un vistazo; si no le importa el tiempo de empaque, puede iniciar varias transacciones seguidas , y esperar tranquilamente a que las transacciones sean empaquetadas y confirmadas.
Tags:
En el artículo de ayer, compartí con ustedes el valor futuro de Ethereum 2.0.
El movimiento de las ballenas Bitcoin siempre ha sido el foco del mercado. El mercado a menudo tiende a pensar que estas ballenas gigantes son "tiranos locales" anónimos que pueden desencadenar un mercado "loco".
DWS es la forma más fácil de crear un sitio web estático moderno. Con nuestra CDN híbrida punto a punto.
En "The Scholars", hay un avaro llamado Yan Jiansheng, que estaba acostado en la cama antes de morir y levantó dos dedos. El sobrino en casa, la niñera lo rodeó y le preguntó si tenía algún deseo incumplido.
Ethereum 2.0 se acerca Estas son las 10 preguntas más frecuentes sobre Ethereum 2.0En 2020, Ethereum 2.0 es sin duda el evento más visto en la industria de las criptomonedas. El 15 de abril.
El comercio al contado de Bitcoin está abierto todo el año, mientras que los futuros de Bitcoin de CME solo se negocian entre semana.
Conclusiones clave El frenesí de compra de los inversores institucionales empujó el precio de Bitcoin por encima de la marca de los 10.000 dólares.Se produjo una orden de venta de 3142,71 BTC en Binance en 3 minutos.