¿Cómo acceder a la punta de la cadena del compañero?

En caso de que sea un minero egoísta y haya bifurcado con éxito la cadena de bloques, me gustaría saber el estado de progreso de mis nodos honestos en un momento dado. ¿Cómo puedo lograrlo?

¿Los pares en cadenas de bloques separadas intercambian información sobre su progreso a través de mensajes de datos?

Veamos este escenario para una mejor comprensión:
selfish node= s ; nodo honesto = h

s : extraer un bloque n.° 1 (hijo del bloque génesis), no denunciar
h : extraer bloque n.° 2, bloque n.° 3 públicamente
s : extraer bloque n.° 4, bloque n.° 5 en secreto (no informar)
h : extraer bloque #4 públicamente
s : obtener información a qué altura de bloque se encuentra la red honesta!?

NOTA:

  • pindexLastCommonBlockno parece ser útil ya que llamar a su altura diría que el último bloque común es 3, pero no dice a qué altura están los nodos honestos.
  • setInventoryKnownen el caso de una bifurcación, almacena todos los bloques extraídos.
peers on separate blockchains- Si por cadenas de bloques separadas te refieres a monedas diferentes, estos pares no se comunican entre sí en absoluto. Si se refiere a pares que trabajan con la misma cadena de bloques pero en diferentes puntos del proceso de sincronización, estos pares intercambian mensajes de datos.
No, por cadenas de bloques separadas me refiero a subcadenas separadas con un bloque bifurcado común.
No veo cómo eso es diferente de la segunda situación que planteé en mi primer comentario.
Ok, si es lo mismo que quiere decir con nodo con diferentes puntos de sincronización, entonces hablamos del mismo fenómeno

Respuestas (1)

Las billeteras SPV generalmente también realizan un seguimiento de cuál es el bloque más conocido para cada uno de sus pares, para asegurarse de que estén actualizados y puedan evaluar la seguridad de sus transacciones (número de confirmaciones). La forma en que lo hacen es iniciar un contador inicializado a la altura indicada en el versionmensaje. Y luego, cuando el nodo transmite un nuevo invmensaje (de inventario) para un bloque, obtenga ese encabezado de bloque y, si se basa en su mejor encabezado anterior, incremente el contador. Con este método, puede mantener una asignación de nodos a sus puntas de cadena principal.

Esencialmente, esto es solo hacer un seguimiento de las invtransmisiones de un par, que es cómo los pares informan públicamente sobre nuevos bloques.