Registrar un nodo
Registrarse es el paso que convierte un nodo que solo sigue la cadena en un candidato a una plaza. El propietario envía una transacción que nombra la clave de nodo, bloquea un stake y demuestra que el propietario y la clave de nodo van juntos. El nodo entra entonces en la cola pública. Solo produce bloques una vez admitido.
La transacción de registro
NodeRegistration (tipo 2) lleva la clave de nodo, la cuenta del propietario, el stake y una prueba de propiedad. El propietario la firma como cualquier otra transacción. El stake y la comisión se cargan en la cuenta del propietario; la comisión mínima es la comisión base por acción de 0.025 ZBC (2 500 000 unidades atómicas) más un cargo por los bytes de la transacción (comisiones).
Nadie revisa al operador, no hay ninguna prueba de hardware ni ningún paso de aprobación. Las únicas comprobaciones son reglas que todos los nodos aplican de la misma manera.
La prueba de propiedad
La prueba vincula una clave de nodo a un propietario. Es un mensaje firmado por la clave de nodo, con esta estructura para un propietario ZBC_ normal:
| Campo | Bytes |
|---|---|
| tipo de cuenta del propietario | 4 |
| clave del propietario | 32 |
| hash de un bloque reciente | 32 |
| altura de ese bloque | 4 |
| firma Ed25519 de la clave de nodo | 64 |
Los primeros 72 bytes se firman tal cual, sin aplicarles antes un hash, así que la prueba completa ocupa 136 bytes. Cada nodo comprueba cuatro cosas:
- que la firma se verifica con la clave de nodo;
- que la cuenta del mensaje es exactamente el remitente de la transacción, byte a byte;
- que el bloque existe en la propia cadena del nodo que comprueba, con ese hash;
- que el bloque tiene como máximo 720 bloques (3 horas) de antigüedad.
Como la prueba nombra un bloque reciente, no puede prepararse con mucha antelación ni reutilizarse más tarde. Se exige la misma prueba cuando se aumenta el stake y cuando se reclama un nodo, y una nueva clave de nodo firma una cuando la plaza se traslada a ella (claves de un nodo).
Cuánto bloquear
El stake más pequeño con el que un nodo puede entrar en la cola es el mayor de dos valores:
- el mínimo de la cola, que empieza en 100 ZBC en mainnet. Es uno de los precios que votan las plazas (votos de precio): puede ir de una unidad atómica a 250 ZBC y se mueve como máximo una vez por ciclo de instantánea, con cada voto limitado a una subida del 20 % o a un recorte a la mitad.
- la mitad de la mediana del stake de los nodos ya en cola, que sigue a la demanda.
La comprobación solo se aplica a la entrada. Los nodos que ya esperan conservan su lugar cuando el mínimo sube. Cualquiera puede bloquear más que el mínimo para avanzar en la cola, que se ordena por el stake multiplicado por el tiempo de espera, y un nodo en cola puede aumentar su stake más adelante conservando la espera que ha acumulado (cola).
Después de registrarse
El nodo registrado queda en cola. Todavía no tiene puntuación de participación, y debe demostrar una vez al día que está en línea (cola). Cuando el temporizador de admisión llega a él, pasa a estar registrado con la puntuación por defecto del 20 % (ritmo de admisión), y empieza a ganar una vez que es maduro (madurez e ingresos).
Retirar un nodo antes de que sea admitido cuesta el 10 % de su stake (salir del registro). Una clave de nodo cuya plaza se eliminó puede volver a registrarse; empieza un registro de cola nuevo y no hereda ningún turno perdido de su pasado.