Al intentar obtener un bloque en particular, ¿mi nodo simplemente es desconectado por los compañeros?

Un sistema en una oficina tiene su nodo testnet atascado en un bloque en particular.

Los registros informan "solicitando bloque" una y otra vez para el mismo bloque y después de cada uno informa "error de recepción de socket" y ese par se desconecta. Luego se conecta a un nuevo par y sucede lo mismo. No hay entradas de registro sobre bloques NO VÁLIDOS.

Como resultado, el sistema no ha tenido un nuevo bloque en dos días, pero todos los exploradores informan que la cadena ha seguido avanzando.

El bloque actual en el que se encuentra este nodo es miembro de la mejor cadena reportada por los exploradores, pero miles detrás.

Este nodo se ejecuta en Ubuntu en los EE. UU. La red de la oficina tiene un firewall sonicwall.

Respuestas (1)

Por lo general, cuando un nodo está atascado, se debe a una corrupción local que hace que el nodo crea incorrectamente que un bloque no es válido. Pero en esos casos, los registros reflejarán los bloques no válidos. En cambio, no vemos ninguna invalidez aquí, pero el nodo intenta continuamente obtener el bloque y se desconecta.

Esta situación puede ser causada por un antivirus demasiado agresivo que detecta falsamente datos en un bloque como maliciosos y corta la conexión. A veces, este tipo de filtrado se aplica al público en general mediante el filtrado a nivel de estado-nación, pero también aparece en redes de oficina y en algunas configuraciones domésticas (por ejemplo, en el software Windows AV).

Para sonicwall, puede ver las desconexiones en los registros de los cortafuegos y deshabilitar el filtrado por completo yendo a la configuración del cortafuegos en sonicwall->administrar->servicios de seguridad->gateway-antivirus y desmarcando "Habilitar Gateway Anti-Virus", o poniendo en la lista blanca el coincidencia falsa positiva para el host particular en cuestión.

(Gracias a Ken en IRC que tuvo este problema real y por decirme cómo lo deshabilitó en el sonicwall)