Según un estudio las MinerTransactions son efectivas para descubrir nodos de consenso NEO defectuosos

neo

Según una investigación reciente, las MinerTransactions son beneficiosas para descubrir qué nodo NEO defectuoso está causando retrasos en el ecosistema NEO. Para que un nuevo bloque sea aprobado en la cadena, el 66% de los nodos deben estar de acuerdo antes de que se acepte como un nuevo bloque en la cadena.

Los nodos de consenso en NEO se turnan para actuar como speaker al proponer un bloque. El resto de los nodos actúan como validadores que tienen que llegar a un acuerdo uniforme que asciende al 66% para que el nuevo bloque se agregue a la cadena.

Como hay muchos nodos, todos se turnan como speakers. Sin embargo, durante el envío en bloque, un orador puede enviar un bloqueo no válido o no enviar una nueva solicitud de bloque. Cuando esto sucede, se traduce en un retraso o un cambio en la vista, y con cada orador en un marco de tiempo de 15 segundos, un envío de bloque fallido significa que el siguiente orador en línea asume el rol que lleva a un retraso de 30 segundos.

El cambio de vista lleva a que todos los demás oradores se dupliquen y eventualmente causen una pérdida de finalidad. La finalidad ocurre cuando un bloque no es aprobado.

Cómo seleccionar el nodo que causa el cambio de vista

Para destacar el nodo speaker, se recurrió a MinerTransactions, que se encuentran en cada bloque de NEO y se encargan de enviar una tarifa de prioridad cuando asumen la responsabilidad de ser un speaker.

Con cada speaker que recibe, una tarifa de prioridad de MinerTransactions, proporciona cierto margen de maniobra para encontrar la dirección pública del speaker que causa el retraso. Para averiguar la dirección, neo.org/consensus es muy útil. Este último es donde se encuentran todas las claves públicas de 33 bytes. Al tomar la clave pública de 33 bytes combinándola con un código de operación 21 y ejecutándola a través de NeoComplier Eco, obtendrá la dirección pública.

Si hubiera claves públicas de 1033 bytes, ejecutarlas todas llevará a las direcciones públicas de cada speaker (nodos). Con las direcciones disponibles, es el momento de enviar las transacciones de tarifas de prioridad manualmente a todas las direcciones públicas.

Después de enviar las transacciones de tarifas de prioridad, verifique la actividad en las Transacciones de Miner desde los bloques. Los resultados mostrarán todos los nodos que interactúan con las MinerTransactions, siendo el nodo faltante el responsable del retraso.