Nodos P2P y Blockchain
LFS Rank opera como una red descentralizada de bloques inmutables. Ningún servidor tiene el monopolio de la verdad; para que una carrera se considere "oficial" (y afecte al ELO global), el bloque de la carrera debe ser validado por la red.
Funcionamiento Criptográfico
- Generación del Bloque: El Servidor A detecta el final de una carrera (mediante paquetes
IS_RESpara cada jugador vía InSim). Genera un objeto JSON con losresults. - Hash: Calcula un Hash SHA-256 del bloque, incluyendo obligatoriamente el
previous_hash(el hash de la carrera anterior de ese mismo servidor) para formar la cadena. - Firma: El bloque se firma usando el algoritmo de curva elíptica Ed25519 usando la
private_keylocal del Servidor A. - Retransmisión: El bloque firmado y codificado se envía por HTTP
POSTa la red (/api/ingest.php).
API de Consenso (Validators)
Los Nodos validadores de la comunidad pueden consultar continuamente los bloques pendientes llamando a:
GET /api/consensus.php?action=sync&after_id=X
Esto devuelve las últimas carreras encoladas. El Nodo Validador externo ejecuta localmente el algoritmo y comprueba:
- Que la Firma Ed25519 coincida con la llave pública (
public_key) del Servidor A. - Que el Hash SHA-256 del bloque coincida con el cálculo local del nodo.
- Que no existan tiempos imposibles o modificaciones post-carrera.
Aprobación
Si el bloque es correcto, el Nodo Validador responde a la red añadiendo su propia firma criptográfica. Cuando un bloque recibe validaciones suficientes, el sistema de LFS Rank centraliza el resultado, oficializa los PBs (Récords Personales) y ejecuta el recálculo de ELO masivo.
