Precio de Bitcoin Precio de Bitcoin
Ctrl+D Precio de Bitcoin
ads
Casa > TUSD > Info

Error de bifurcación dura de Berlín debido a una divergencia de consumo de gas en la dirección "0x10"

Author:

Time:

El error en el cliente único de Ethereum OpenEthereum en el bloque n.º 12244294 hizo que la red de Ethereum se cerrara en ese momento y no pudo seguir el ritmo de la red después de que se generó el bloque problemático. Entonces, ¿cuál fue la causa de este accidente?

Primero veamos la transacción que desencadenó este accidente:

https://eth.tokenview.com/cn/tx/0x7006f38fa2e6654fae1a781aefc5885fe0cb8f778b1add10636eaf7e34279247

Esta es una transacción de llamada de contrato, que distribuye ETH desde el intercambio de KuCoin a otras direcciones.

ETH superó la marca de los $2200 y cayó un 33,84 % en el día: los datos de Huobi Global muestran que ETH ha subido a corto plazo, superando la marca de los $2200, y ahora cotiza a $2213,62, con una caída intradiaria del 33,84 %. fluctúa mucho, así que por favor haga un buen trabajo en el control de riesgos. [2021/5/19 22:21:49]

Analicemos cuidadosamente el proceso de llamada de contrato:

Los parámetros de la llamada de contrato se muestran en la columna "Entrada de datos" del navegador. La primera línea indica que la lista de direcciones comienza desde "40" (hexadecimales) bytes, que son 64 bytes. La cuarta línea de la figura, el segundo La fila que indica el monto de la transferencia comienza desde el byte "1a0" (hexadecimal), es decir, 416 bytes, la fila 15 de la columna de entrada de datos.

Desarrolladores de Ethereum: Piense en Eth2 como una red de prueba incentivada: Jinse Finance informó que el desarrollador de Ethereum, Evan Van Ness, acaba de twittear: "Puede pensar en la próxima cadena Eth2 como una red de prueba incentivada. La cadena entrará en producción, pero en realidad no lo hará". nada hasta que ethereum agregue disponibilidad de datos en fragmentos para rollups y luego cambie PoW por el consenso de PoS de Eth2. Pero no me malinterpreten, será en unas pocas semanas. Lanzar Eth2 es realmente importante. Llegar a un consenso con 100,000 validadores es muy difícil. Es lógico que necesitemos tiempo para solidificar el consenso antes de usarlo para reemplazar PoW en la red Ethereum". [2020/9/29]

La transferencia se realiza en el orden de la lista de direcciones, y el monto transferido a cada dirección corresponde a la lista de datos de transferencia uno por uno.

Ahora comenzamos a recorrer la lista de direcciones, mire el "10" (hexadecimal) en la tercera línea, lo que significa que transferiremos ETH para las próximas 16 direcciones.

De acuerdo con el orden de la figura, al contar hasta la dirección 11, se encuentra que el valor es "10". Este valor se consideraría la dirección número 11 en la lista de direcciones, pero en realidad es la longitud de la lista que representa el monto a transferir. Luego, de acuerdo con las instrucciones en la tercera línea, debe transferirse a 16 direcciones, y el contrato utilizará "0x10" como la dirección para continuar con la operación de transferencia y transferirá 0 ETH a la dirección "0x10".

Tenga en cuenta que "0x10" es una de las "direcciones especiales" de EVM, que se encuentra completamente dentro de la lista de contratos precompilados de EVM. Es un contrato precompilado afirmado por EIP-2537 para el programa de criptografía de emparejamiento BLS, pero este EIP aún no se ha implementado en la red principal.

Entonces, ¿qué sucede cuando se envía 0 ETH a "0x10" en la bifurcación dura de Berlín? Provocará diferencias en el consumo de Gas.

La bifurcación dura de Berlín cambió el método de medición del consumo de gas en el EVM. Después de la implementación de EIP-2929, si la operación de almacenamiento estatal se realiza en la misma ranura de almacenamiento varias veces en una transacción, la primera ejecución consumirá más gas y la ejecución posterior consumirá menos gas.

Esta es la fuente del error de OpenEthereum en el bloque #12244294: OpenEthereum incluye una lista precompilada de implementaciones de EVM. Por lo tanto, OpenEthereum dará un descuento de gas a la transacción que acceda a "0x10" en esta transacción. Sin embargo, la gran mayoría de los clientes activos de la red no implementan EIP-2929 de esta manera, y solo brindan descuentos de gas para transacciones que acceden a contratos precompilados activados.

Como resultado, el cálculo del cliente de OpenEthereum de cuánto gas consumió la transacción divergió de otros clientes en la red.

Este tiempo de inactividad de un solo cliente de OpenEthereum causado por la divergencia en el consumo de gas no es lo suficientemente grave como para causar una bifurcación importante de la cadena, pero también nos recuerda que debemos usar la implementación multicliente para mejorar la estabilidad del nodo.

Es innegable que la tecnología blockchain todavía está en proceso de intentar y avanzar constantemente. Defi y NFT, que surgieron en 2021, también se extenderán a más audiencias a una velocidad sin precedentes. Tokenview espera unirse a más desarrolladores para crear mejores bloques. mundo de la cadena.

Tags:

TUSD
Más información sobre el grupo de compromiso de ETH y los derivados de compromiso stETH

Nota: El autor original es Georgios Konstantopoulos & HasuLa transición de Prueba de trabajo (PoW) a Prueba de participación (PoS) es el hito más esperado de Ethereum desde su creación. A diferencia de PoW.

Golden Observation|Un artículo para entender la Red SKALE

En el enorme ecosistema de expansión de Ethereum, hay un proyecto que no puede ser ignorado, este proyecto ha recibido inversiones de capitales reconocidos como ConsenSys Labs y Multicoin Capital.

Nació el bloque de génesis de la red previa a la implementación de Golden Sentinel|PlatON, y la votación en línea está a punto de comenzar

Jinse Finance se enteró de que a las 12:29 del 25 de abril de 2021, hora de Singapur, nació el bloque de génesis de red preimplementado de la red informática de IA de privacidad PlatON.

Error de bifurcación dura de Berlín debido a una divergencia de consumo de gas en la dirección "0x10"

El error en el cliente único de Ethereum OpenEthereum en el bloque n.

Resumen semanal de la industria: 3.12 The Curse Returns 1 Hour Explosion 10 Billion SEC revisa oficialmente el ETF de Bitcoin

Resumen de puntos calientes: 1. Corea del Sur fortalecerá el monitoreo de las transacciones ilegales de activos virtuales y tomará medidas enérgicas contra las transacciones de arbitraje de Bitcoin.2.

Base Legal para “Congelar” Tarjetas Bancarias por Órganos de Seguridad Pública y Judicial (Parte 1)

En los últimos años, se han "congelado" una gran cantidad de tarjetas bancarias como el "círculo de moneda" y el círculo de comercio exterior.

4.Mercado al mediodía del 26: ¿Puede la reversión en forma de V revertir la tendencia?

El artículo es una contribución del análisis de blockchain de Niu Qi.

ads