Guía 5

Comprobar la equidad por su cuenta

Todo lo que el sitio dice sobre el contrato puede contrastarse con los datos abiertos de la red. A continuación, las comprobaciones van de la más sencilla (dos minutos) a la más profunda (compilar el código). La mayoría de la gente no necesita saber programar.

Cómo funciona la comprobación

Un sitio puede falsificarse o equivocarse, pero un registro en la blockchain no. Por eso no compruebe en el sitio del proyecto, sino en un explorador de la red: un sitio independiente que muestra el contenido de la blockchain (Solscan, Solana Explorer, SolanaFM y similares). Ábralo usted mismo, no desde enlaces de mensajes ajenos.

Para las comprobaciones hacen falta dos direcciones: la del programa (contrato) y la del token. Las muestra la página «Seguridad». Contrástelas al menos en otros dos lugares independientes (el repositorio, los canales oficiales): si las direcciones no coinciden, alguien intenta engañarle.

Comprobaciones rápidas (2–10 minutos)

Qué comprobarDónde mirarloCómo debe serSi es distinto
1. ¿Pueden emitirse nuevos tokens?Página del token en el explorador, campo Mint AuthorityVacío (revocada)Quien figure en esa dirección puede emitir tantos tokens como quiera y depreciar los suyos.
2. ¿Pueden congelarse los tokens?La misma página, campo Freeze AuthorityVacíoEl titular puede congelar cualquier billetera, incluida la suya.
3. ¿Quién puede cambiar el código?Página del programa, campo Upgrade AuthorityVacío (código congelado) o la dirección de un multisig con retardo en las actualizacionesUna sola dirección normal significa que el titular puede subir otras reglas en cualquier momento.
4. Emisión total del tokenPágina del token: SupplyNo más de 100.000.000.000, y solo disminuye por la quemaSi es mayor, la emisión se ha aumentado.
5. ¿Coincide el token?La dirección del token en su billetera frente a la de la página «Seguridad»Las direcciones son idénticas carácter por carácterNo es el FAIRDRUM auténtico. No lo compre ni lo deposite.
6. ¿Hay suficientes tokens en la bóveda?La dirección de la bóveda de la página «Seguridad», saldo del token; las sumas de los pozos en «Economía»El saldo de la bóveda no es menor que la suma de los pozos (más los saldos de juego de los jugadores)El contrato debe estar siempre respaldado por tokens. Una discrepancia es una señal grave.

La tabla superior de la página «Seguridad» lee los mismos campos directamente de la red y marca ✔ o ⚠, pero no se fíe solo de ella: compruébelo usted mismo al menos una vez.

Comprobar su propio giro

Cada giro deja un registro en la red, y el resultado que ve en pantalla puede contrastarse con él.

  1. Encuentre la transacción

    Después de un giro, bajo el botón aparece el enlace «Transacción». Abre el registro en el explorador. O bien abra en el explorador el historial de su billetera y elija la transacción con el programa FAIRDRUM.

    Debe haber: estado Success y una lista de instrucciones.

  2. Encuentre dos pares de llamadas

    En la primera transacción hay una llamada a Switchboard (solicitud de aleatoriedad, commit) y la llamada al programa FAIRDRUM spin_commit (la apuesta). En la segunda: una llamada a Switchboard (revelación, reveal) y spin_settle (el cálculo). El nombre se ve algo distinto según el explorador (SpinCommit, spinCommit).

  3. Compare el orden

    La apuesta se registró antes de que se revelara el número: la primera transacción tiene un número de bloque (Slot) menor que la segunda. Esto significa que ni usted ni el proyecto conocían el resultado en el momento de la apuesta.

  4. Mire el registro (Logs) de la segunda transacción

    Ahí figura el evento SpinSettled con el número de giros, los premios y los aciertos de minijackpot, jackpot y superjackpot. Son los mismos números que mostró la rueda.

  5. Compruebe el propietario de la aleatoriedad

    La cuenta de aleatoriedad indicada en la transacción debe pertenecer al programa Switchboard. El propio contrato rechaza cualquier otra, pero conviene comprobarlo: abra la cuenta y mire el campo Owner.

Comprobaciones profundas

Compilar el código y comparar el hash

Tome el repositorio del proyecto en GitHub (el enlace aparecerá tras la publicación), compile el programa en modo reproducible (anchor build --verifiable) y compare el hash con el que hay en la red (solana-verify). Si coinciden, en la red está exactamente este código abierto.

Leer las constantes

Todos los números del juego están reunidos en un solo archivo, consts.rs: partes, probabilidades, escala de premios, comisiones y plazos. El sitio dibuja sus tablas precisamente a partir de él, y no debería haber discrepancias entre el sitio y el contrato.

Ejecutar las pruebas

El repositorio incluye pruebas de las reglas y los cálculos (cargo test) y del cliente (npm test). Comprueban, por ejemplo, que la suma de todos los pozos y saldos no supera los tokens de la bóveda.

Analizar cómo se elige el resultado

De los 32 bytes de aleatoriedad revelada, el contrato obtiene números mediante SHA-256. Para la rueda principal son bloques SHA-256("FDRM-M" + aleatoriedad + número de bloque), de los cuales se toman 4 bytes (little-endian) por cada número, uno por cada giro ejecutado. Para la rueda dorada: SHA-256("FDRM-G" + aleatoriedad + número del giro ejecutado). El número se compara con umbrales expresados en fracciones de 232; los propios umbrales dependen del volumen semanal y del tamaño de los pozos en el momento del cálculo, por lo que un giro antiguo solo puede recalcularse por completo junto con el estado del programa en ese slot. Las fórmulas están en math.rs y engine.rs.

Leer el registro de un período

Cualquiera puede descargar de la red todos los eventos SpinSettled de un período y calcular por sí mismo la frecuencia del oro y el tamaño de los pozos. Compare con las «Probabilidades». Con pocos giros la dispersión es enorme: para ver una probabilidad del 1% hacen falta miles de giros.

Lo que no se puede comprobar

  • La honestidad del oráculo. La aleatoriedad viene de la red Switchboard. El contrato comprueba que el número procede de la cuenta correcta y se reveló después de la apuesta, pero no puede comprobar que los nodos del oráculo no se hayan puesto de acuerdo. Es una dependencia externa.
  • La ausencia de errores en el código. Las pruebas y el código abierto aumentan la confianza, pero no pueden sustituir a una auditoría independiente. Mientras no se indique un enlace a la auditoría, es que no la hay.
  • El futuro. Mientras la autoridad de actualización no esté revocada, las reglas pueden cambiar con una nueva versión. Vigile las transacciones de actualización del programa.
  • Lo que hace el administrador fuera del contrato. Las ventas de sus tokens, el marketing y las decisiones sobre listados quedan fuera del control del contrato. Los pagos del fondo de promoción son públicos, pero el contrato no comprueba en qué se gastan.

Señales de alarma

La dirección del mensaje no coincide con la del sitioSustitución del token o del programa.
Mint o Freeze Authority tienen un valorLa emisión o la congelación siguen en manos de alguien.
La autoridad de actualización está en una sola dirección, sin retardoLas reglas pueden cambiarse en cualquier momento.
«Ganancia garantizada», «esquema», «programa de afiliados»En el juego no hay referidos ni garantías; la devolución media es de alrededor del 73–74%.
Piden la frase de recuperación o «confirmar la billetera»Es un robo. Cierre la página.
La transacción pide más de lo que esperabaLea la ventana de la billetera. Si no está seguro, rechace.