Persistente "reorganización profunda de transacciones" mientras se sincroniza el nodo geth completo

Mientras sincronizo un nuevo nodo completo usando el comando geth "geth --syncmode full", cada dos líneas después de unos cientos de bloques veo lo siguiente:

WARN [12-02|02:30:46] Skipping deep transaction reorg          depth=2048

Esto ha continuado hasta llegar a ~1,6 millones de bloques sincronizados.

Captura de pantalla de la terminal:captura de pantalla de la terminal que muestra mensajes de advertencia

¿Es esto un problema? ¿Es un problema de seguridad? ¿Representa a un compañero 'malo', un ataque de sibila o algo mucho más benigno?

Para su información, estoy usando la última versión de geth (Geth/v1.7.2-stable-1db4ecdc/linux-amd64/go1.9) en Ubuntu 17.10.

Quizás esté sincronizando más cerca de una bifurcación en la cadena de bloques y algunos de los pares están en la cadena incorrecta, debería arreglarse solo con el tiempo. Puede intentar reiniciar geth para que intente conectarse con un nuevo conjunto de pares.

Respuestas (2)

Agregue manualmente algunos pares/bootnodes de buena reputación. La siguiente guía explica cómo hacer esto usando geth, ya sea a través de IPC o un archivo de configuración: https://github.com/ethereum/go-ethereum/wiki/Connecting-to-the-network

Se realiza una reorganización solo si un bloque que se importa en una bifurcación lateral conduce a una dificultad total más alta en esa bifurcación en particular que la bifurcación canónica. No obstante, los bloques aún deben ser válidos.

Como está escrito en el blog de Ethereum , las reorganizaciones de la cadena ocurren cuando un nodo en la red de Ethereum se da cuenta de que lo que pensaba que era la cadena canónica resultó no serlo. Cuando esto sucede, las transacciones en la última parte de su cadena (es decir, las transacciones más recientes) se revierten y, en su lugar, se ejecutan las transacciones en el reemplazo más nuevo.

Dado que Ethereum tiene un tiempo de bloque objetivo corto de 15 segundos, esto sucede naturalmente con bastante frecuencia. Debido a que los bloques tardan en filtrarse a través de la red, es fácil que diferentes partes de la red tengan un bloque final diferente (o dos, o quizás incluso tres) en el funcionamiento normal, ya que los mineros suelen encontrarlos aproximadamente al mismo tiempo. Mismo tiempo. Esto es lo que podríamos llamar bifurcación efímera.

Cuando ocurre una reorganización, o dicho de otro modo, cuando la red alcanza un consenso más global que el que tenía antes y se resuelve un fork, los nodos que tenían la cadena ahora obsoleta “reorganizan” su cadena, desechando la reciente. y ya no son bloques canónicos. Las transacciones se revierten y otras se ejecutan para alinearse con el otro camino de la bifurcación.

Cuando ocurre una reorganización de la cadena en Ethereum, la forma común es primero encontrar un bloque común, insertar el bloque con la mayor dificultad total y mantener la transacción dentro de la cadena anterior pero no dentro de la nueva cadena de regreso a txpool. También puede leer más sobre los problemas de reorganización de la cadena aquí .