Algoritmo di Aviator: analisi del provably fair SHA-512

ER
Emma Rodriguez·Redattore di gioco responsabile
Revisionato daJames Mitchell
7 min di lettura

Algoritmo di Aviator spiegato: guida tecnica completa

Una delle caratteristiche più importanti di Aviator è il suo algoritmo provably fair — un sistema crittografico che permette a qualsiasi giocatore di verificare in modo indipendente che il punto di crash di un round sia stato determinato in modo equo e non manipolato. Questa guida spiega come funziona, la matematica che c'è dietro e come verificare i risultati da soli.


Che cos'è il "provably fair"?

I giochi da casinò tradizionali richiedono di fidarsi del fatto che l'operatore non abbia manipolato gli esiti. I sistemi provably fair eliminano questa necessità di fiducia grazie alle funzioni hash crittografiche, che rendono matematicamente impossibile alterare un esito dopo che è stato fissato.

Il principio di base:

  1. Prima di un round, il server si impegna su un esito pubblicandone l'hash
  2. Dopo il round, il server rivela la pre-immagine (il seed usato per generare l'hash)
  3. Puoi verificare che l'hash impegnato corrisponda al seed rivelato
  4. Se corrispondono, l'esito non è stato manipolato

La funzione hash SHA-512

SHA-512 (Secure Hash Algorithm a 512 bit) è una funzione hash crittografica con due proprietà fondamentali per il gioco provably fair:

Proprietà 1: determinismo

Lo stesso input produce sempre lo stesso output:

  • Input: "hello" → Output: 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043

Proprietà 2: resistenza alla pre-immagine

Dato l'output di un hash, è computazionalmente impraticabile risalire all'input. Anche con tutta la potenza di calcolo del mondo, trovare l'input di un dato hash SHA-512 richiederebbe più tempo dell'età dell'universo.

Questo significa che, se il server pubblica un hash prima di un round, non può cambiare a posteriori il seed sottostante senza produrre un hash completamente diverso — cosa che noteresti subito.


Gli input: server seed e tre client seed

I punti di crash di Aviator vengono generati a partire da quattro input:

Server seed

Una stringa casuale generata dal server prima del round. Il server pubblica l'hash SHA-256 di questo seed prima che vengano accettate le puntate e rivela il seed vero e proprio al termine del round.

Client seed

I client seed dei primi tre giocatori che hanno piazzato una puntata nel round vengono raccolti e mostrati nei dettagli del round. Poiché questi valori provengono da giocatori indipendenti, l'operatore non può conoscere in anticipo l'input combinato.

Combinazione degli input

Il server seed e i tre client seed vengono concatenati e sottoposti a hash con SHA-512. La stringa esadecimale risultante, di 128 caratteri, determina il punto di crash.


Come viene calcolato il punto di crash

Spribe non pubblica l'aritmetica esatta che trasforma l'hash SHA-512 in un moltiplicatore. La spiegazione passo passo qui sotto usa la costruzione di riferimento aperta resa popolare da Bustabit (un hash di round HMAC-SHA256 con un nonce) per mostrare come un hash diventi un moltiplicatore la cui distribuzione soddisfa P(crash ≥ x) = 0.97/x. La pipeline SHA-512 di Aviator segue lo stesso principio: prendere i primi bit dell'hash, mapparli su un moltiplicatore, applicare il vantaggio del banco.

Nella costruzione di riferimento il punto di crash si ricava con un processo deterministico:

Passo 1: generare l'hash del round

round_hash = HMAC-SHA256(server_seed, client_seed + ":" + nonce)

Questo produce una stringa esadecimale di 64 caratteri, per esempio:

a7b3c8d2e9f14056789012345678901234567890abcdef1234567890abcdef12

Passo 2: estrarre un numero dall'hash

Prendi i primi 8 caratteri (32 bit) dell'hash e convertili da esadecimale a decimale:

h = parseInt(hash.substring(0, 8), 16)
// Example: "a7b3c8d2" → 2,813,000,914

Il valore massimo possibile di h è 2^32 − 1 = 4,294,967,295.

Passo 3: applicare la formula del punto di crash

crash_point = floor((1 − houseEdge) × 2^32 / (2^32 − h)) / 100

Dove houseEdge = 0.03 (3%).

In forma semplificata:

crash_point = floor(0.97 × 4,294,967,296 / (4,294,967,296 − h)) / 100

Caso speciale: crash istantaneo

Una condizione separata gestisce direttamente il vantaggio del banco. Se:

h mod 33 === 0

...il round va in crash immediatamente a 1.00× indipendentemente dal risultato della formula. Questo accade con probabilità 1/33 ≈ 3.03%, e serve a garantire il vantaggio del banco.


Un esempio concreto passo per passo

Supponiamo che i primi 8 caratteri esadecimali dell'hash di un round siano 4f2a1b3c:

h = 0x4f2a1b3c = 1,328,284,988
2^32 = 4,294,967,296

Controllo: 1,328,284,988 mod 33 === 0? No → si procede con la formula.

crash_point = floor(0.97 × 4,294,967,296 / (4,294,967,296 − 1,328,284,988)) / 100
= floor(4,166,117,577 / 2,966,682,308) / 100
= floor(1.4043...) / 100
= 140 / 100
= 1.40×

Il punto di crash di questo round sarebbe 1.40×.


Perché questa formula produce la distribuzione corretta

La formula P(crash ≥ x) = 0.97 / x deriva matematicamente da questa costruzione:

Perché un punto di crash sia almeno x, il valore h ricavato dall'hash deve soddisfare:

0.97 × 2^32 / (2^32 − h) ≥ x
→ 2^32 − h ≤ 0.97 × 2^32 / x
→ h ≥ 2^32 × (1 − 0.97/x)

La probabilità che un h uniformemente casuale soddisfi questa condizione è:

P(h ≥ 2^32 × (1 − 0.97/x)) = 1 − (1 − 0.97/x) = 0.97/x

Il che dà esattamente P(crash ≥ x) = 0.97/x — la formula del vantaggio del banco è incorporata matematicamente nella derivazione del punto di crash.


Come verificare i risultati da soli

Passo 1: registrare i dati del round

Dopo qualsiasi round, annota:

  • L'hash del server seed (mostrato prima del round)
  • Il server seed (rivelato dopo il round)
  • I client seed dei primi tre scommettitori

Passo 2: verificare l'impegno sull'hash

Calcola SHA-256(server_seed) e controlla che corrisponda all'hash pubblicato in precedenza. Se corrisponde, il server seed non è stato modificato dopo l'impegno.

Passo 3: ricalcolare il punto di crash

Usando la formula riportata sopra, ricalcola il punto di crash a partire dai seed. Se coincide con il punto di crash dichiarato, il round era equo.

Usare il Provably Fair Checker di AviatorStats

Il nostro strumento Provably Fair Checker su AviatorStats.com automatizza l'intero processo:

  1. Inserisci il server seed rivelato e i tre client seed mostrati nei dettagli del round
  2. Lo strumento calcola la combinazione SHA-512, estrae h, applica la formula del crash e mostra il punto di crash atteso
  3. Confrontalo con il risultato dichiarato dal gioco — devono coincidere esattamente

Questo ti dà certezza crittografica sull'equità del round senza calcoli manuali.


Cosa garantisce e cosa non garantisce il provably fair

Garantisce:

  • I punti di crash non sono stati alterati dopo l'impegno
  • I risultati sono determinati matematicamente dai seed
  • Il vantaggio del banco è esattamente del 3% come dichiarato
  • Chiunque può verificare in modo indipendente qualsiasi round passato

Non garantisce:

  • Che vincerai un determinato round
  • Che la sequenza dei risultati sia "equa" per ogni singolo giocatore
  • Che le strategie possano superare il vantaggio del banco incorporato
  • Che i risultati passati prevedano quelli futuri (non è così)

Il sistema provably fair è un meccanismo di trasparenza, non uno strumento per vincere. Assicura che il gioco funzioni come dichiarato — il che ha un valore in sé, ma è distinto dalla matematica del valore atteso nel lungo periodo.



Usa i nostri strumenti di analisi per Aviator

Analizza i dati di Aviator con le nostre statistiche in tempo reale, l'analisi della distribuzione, i grafici di tendenza e il verificatore provably fair. Tutti gli strumenti sono gratuiti e non richiedono registrazione.


Guide correlate

Guide al gioco:

Strategia e analisi:

Avvisi sulle truffe:

Guide alle piattaforme:

Avvertenza: questa spiegazione tecnica ha scopo puramente educativo. Comprendere l'algoritmo non offre alcun vantaggio nel prevedere gli esiti. I risultati di Aviator sono crittograficamente imprevedibili prima di ogni round. Gioca sempre in modo responsabile.

ER

Redattore di gioco responsabile. Produce contenuti esperti su giochi crash, analisi dell'RTP e gioco responsabile per il team di Aviator Tracker.

Domande frequenti

Provably fair significa che il punto di crash di ogni round viene fissato crittograficamente prima dell'inizio del round (tramite l'hash del server seed pubblicato). Dopo il round, il server rivela il seed originale e puoi verificare che corrisponda all'hash impegnato in precedenza. Se corrisponde, il risultato non è stato manipolato.
Nella costruzione di riferimento usata in questa guida: crash_point = floor((1 − 0.03) × 2^32 / (2^32 − h)) / 100, dove h è un intero a 32 bit ricavato dai primi 8 caratteri esadecimali dell'hash del round, e h mod 33 = 0 fa andare il round in crash istantaneo a 1.00×. L'implementazione di Spribe esegue l'hash del server seed con tre client seed usando SHA-512 e non ne pubblica l'aritmetica esatta.
No. L'hash del server seed viene pubblicato prima che il round venga giocato. Cambiare il server seed dopo l'impegno produrrebbe un hash diverso, che i giocatori noterebbero subito. L'impegno crittografico rende la manipolazione a posteriori matematicamente impraticabile.
Il vantaggio del banco compare in due punti: (1) il fattore 0.97 nella formula del crash riduce proporzionalmente tutti i punti di crash, e (2) quando h mod 33 = 0 (probabilità ≈ 3.03%), il round va in crash istantaneo a 1.00×. Insieme producono esattamente P(crash ≥ x) = 0.97/x.
Usa il Provably Fair Checker di AviatorStats: inserisci il server seed (rivelato dopo la sessione), l'hash del server seed, il client seed e il nonce del round. Lo strumento ricalcola l'HMAC-SHA256, ricava il punto di crash con la formula e lo confronta con il risultato dichiarato. Una corrispondenza conferma l'equità.