Skip to content

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

  1. Generación del Bloque: El Servidor A detecta el final de una carrera (mediante paquetes IS_RES para cada jugador vía InSim). Genera un objeto JSON con los results.
  2. 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.
  3. Firma: El bloque se firma usando el algoritmo de curva elíptica Ed25519 usando la private_key local del Servidor A.
  4. Retransmisión: El bloque firmado y codificado se envía por HTTP POST a 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.

Publicado bajo Licencia MIT.