Turnos perdidos, suspensión y expulsión
Una plaza del registro de nodos se conserva haciendo el trabajo. Un nodo sorteado para producir un bloque que no lo entrega le cuesta a la cadena 15 segundos y suma un turno perdido. Cada turno saltado pone además en marcha un reloj: el nodo queda «ausente» hasta su siguiente bloque propio, no gana nada y pierde puntuación de participación. Cuatro fallos seguidos lo sacan del sorteo (suspensión), y una puntuación de cero le quita la plaza (expulsión). Esta página describe ese camino tal como funciona a partir de la versión 0.5.8.
Turnos perdidos
Cuando se produce un bloque, todo nodo que fue sorteado para una ronda anterior de esa altura y no produjo es un productor saltado y suma un fallo. Al nodo que produjo el bloque se le pone a cero su propio contador de fallos.
El motivo no importa. Un nodo que estaba desconectado, uno que fue demasiado lento y uno que estaba en línea pero retuvo su bloque se tratan igual. Un turno saltado es un turno saltado. (Retener un bloque es además la única forma en que un productor podría intentar influir en la semilla; véase semilla del bloque (VRF).)
Ausente: sin ingresos y con la puntuación en descenso
Desde cualquier turno saltado hasta su siguiente bloque propio, un nodo está ausente. Mientras está ausente:
- no gana nada: ni boleto de la lotería coinbase, ni parte de las comisiones, ni parte de la longevidad;
- su puntuación de participación baja 5 puntos (sobre 100) por unidad, repartidos uniformemente entre los bloques de la unidad.
La unidad es max(n, 2880 bloques), donde n es el número de nodos seleccionables. Por debajo de 2880 nodos la unidad es de 2880 bloques, 12 horas. En un registro más grande la unidad crece con n, porque el turno de cada nodo llega solo aproximadamente una vez cada n bloques. En devnet el mínimo de la unidad es de 120 bloques (30 minutos), así que allí todo el camino se recorre 24 veces más rápido.
Los recibos que firma el nodo y un ping (descrito más abajo) no ponen fin al estado de ausente. Solo lo hace su siguiente bloque propio. Así, un nodo que pierde un turno y produce pronto su siguiente bloque pierde algo de ingresos y una pizca de puntuación; un nodo que sigue sin aparecer no deja de perder.
Suspensión
Al cuarto turno perdido seguido, un nodo queda suspendido:
- sale del sorteo de productores, de modo que sus turnos dejan de costarles una ronda a todos;
- conserva su plaza en el registro, pero cuenta como ausente, así que no gana nada y su puntuación sigue bajando;
- sale del recuento de plazas del ritmo de admisión y de todos los recuentos de dos tercios, salvo la lista de firmantes de la cadena spine (véase reglas de los dos tercios).
Un hueco breve nunca suspende a un nodo: si produjo un bloque propio en los últimos 20 bloques, un cuarto fallo no lo suspende (aunque el fallo sí se cuenta).
Para volver, el software de un nodo suspendido envía un ping: una atestación de actividad firmada con la propia clave del nodo, con una comisión de 0, como máximo una por cada ventana de 120 bloques, y válida solo desde un nodo suspendido. Es una transacción QueueAttendance (tipo 59), el mismo tipo que envía un nodo en cola para demostrar que está en línea. El ping devuelve el nodo al sorteo a prueba. Nunca borra los fallos ni detiene la pérdida de puntuación; eso solo ocurre cuando el nodo produce un bloque en uno de sus siguientes turnos.
Expulsión
Cuando la puntuación de un nodo llega a cero, el nodo es expulsado. Su plaza se cierra, el 90 % de su stake bloqueado vuelve a su propietario y el 10 % va al fondo de longevidad (el ZBC nunca se quema; véase ZBC nunca se quema). Una expulsión nunca deja menos de tres nodos activos; cuando se aplica ese mínimo, la «última vez visto» decide a quién se perdona primero. Un recibo firmado por el nodo que aparece en un bloque lo marca como visto; no mueve nada más que esa marca de «última vez visto».
Todos los nodos empiezan en el 20 %, así que el tiempo que aguanta un nodo silencioso depende de su puntuación cuando deja de responder:
| Puntuación cuando el nodo deja de responder | Menos de 2880 nodos | 5760 nodos | 10 000 nodos |
|---|---|---|---|
| 20 % (la puntuación inicial) | 2 días | 4 días | 6.9 días |
| 60 % | 6 días | 12 días | 20.8 días |
| 100 % | 10 días | 20 días | 34.7 días |
Recuperarse es tres veces más lento que caer: por debajo de 2880 nodos, un nodo que produce todos sus bloques con sus recibos pasa del 0 al 100 % en 30 días, y del 20 % al 100 % en 24. La confianza tarda en ganarse y se pierde rápido.
Reglas relacionadas
- Un propietario que retira un nodo mientras está ausente o suspendido pierde el 10 % del stake (véase salir del registro).
- Un nodo nuevo no gana nada hasta que es maduro: 4 unidades después de su admisión y un bloque propio (véase madurez e ingresos).
- Una doble firma demostrada cuenta como fallo y deja al productor ausente hasta su siguiente bloque propio (véase doble firma (equivocación)).
- Todas las cifras de este camino (los 5 puntos, la unidad, la puntuación inicial) son parámetros del génesis de la cadena.