Cos'è il provably fair e come funziona?

Usa la calcolatrice "provatamente equa" qui sotto per verificare ogni risultato e capire come Cloudbet Originals offra quote eque.
Above are two provably fair tools: a Game Verification Tool — paste your Server Seed, Client Seed, and Nonce from any round to reconstruct and confirm the outcome — and a Server Seed Verification Tool — verify that a revealed server seed matches the hash Cloudbet published before you played.

Quando scommetti su Cloudbet Originals, ogni risultato può essere verificato da te. Nessuna previsione, nessun trucco — solo pura casualità dimostrabile che puoi controllare da solo.

Cos'è il "provably fair"?

Il provably fair (correttezza dimostrabile) è un sistema utilizzato dai casinò online per garantire che ogni risultato di gioco sia onesto e possa essere verificato in modo indipendente dal giocatore. Invece di fidarti e basta del casinò, ottieni la prova matematica che i risultati non sono stati truccati o manipolati durante la partita.

Il vantaggio del Provably Fair di Cloudbet:

  1. I Cloudbet Originals funzionano con i più recenti protocolli provably fair, quindi ogni risultato è a prova di manomissione, verificabile in modo indipendente e matematicamente corretto.
  2. Una volta completato un round e rivelati i seed, chiunque può verificare con certezza matematica che il risultato sia stato generato onestamente.
  3. È come ricevere il progetto di ogni round — nessun trucco nascosto, nessuna scusa dopo la giocata.

Come essere provably fair

Essere provably fair significa dimostrare due cose:

  1. Ogni gioco ha accesso a una sequenza di numeri realmente casuale e a prova di manomissione — questa pagina tratta questa parte.
  2. Quella sequenza casuale determina l'esito del gioco in modo fisso e trasparente — dati gli stessi numeri, ottieni sempre lo stesso risultato. Questa parte è specifica per ogni gioco — scopri come funziona per Mines e gli altri Originals.

Per garantire una vera casualità, sia il giocatore che Cloudbet contribuiscono alla generazione dei numeri — così nessuna delle due parti può controllare il risultato da sola, e Cloudbet deve dimostrare di non aver cambiato il proprio contributo in un secondo momento.

Termini chiave

  1. Bit: l'unità base dell'informazione digitale — "1" o "0". Le stringhe di bit rappresentano numeri in binario.
  2. Byte: 8 bit, che rappresentano fino a 256 valori. I nostri seed utilizzano numeri da 32 byte (256 bit).
  3. Seed: l'input iniziale per un generatore di numeri casuali. Lo stesso seed produce sempre lo stesso risultato.
  4. Server Seed: il codice segreto di Cloudbet — una stringa casuale crittografica di 32 byte generata prima della partita, bloccata e rivelata in seguito.
  5. Client Seed: il tuo codice — impostalo tu stesso, oppure lascia che il tuo browser ne generi uno (fino a 255 caratteri).
  6. Nonce: un contatore di round che aumenta ogni volta che giochi con la stessa coppia di seed, in modo che ogni round sia unico.
  7. Hash / Commitment: un'impronta digitale sicura del seed del server, condivisa con te prima di giocare. È irreversibile — nessuno può risalire al seed a partire da essa, ma una volta rivelato il seed, calcolandone l'hash tu stesso dovresti ottenere esattamente lo stesso Commitment.
  8. Round Signature: il server seed, il client seed e il nonce combinati e sottoposti a hash insieme — l'input effettivo che determina l'esito del tuo round.
  9. SHA3-256: l'algoritmo di hashing utilizzato per creare i Commitment e le Round Signature. Lo stesso input restituisce sempre lo stesso output di lunghezza fissa; il processo non può essere invertito.
  10. SHAKE256: un algoritmo flessibile della famiglia SHA-3 che trasforma la Round Signature nel flusso di numeri casuali da cui viene generato il risultato del tuo gioco — stesso input, stesso output, ogni volta, ed è proprio questo che rende possibile la verifica.
  11. Modulo: il resto della divisione di un numero per un altro (es. 16 % 5 = 1) — utilizzato per tradurre un numero casuale in uno degli esiti possibili di un insieme fisso.
  12. Rotazione dei seed: l'aggiornamento di entrambi i seed per ottenere una nuova coppia casuale.

Preparazione di una partita

Prima dell'inizio di ogni round vengono creati due numeri: il Server Seed e il Client Seed.

Il server di gioco di Cloudbet genera il Server Seed utilizzando la funzione crittografica randomBytes di Node.js — un numero da 32 byte (256 bit), di fatto l'equivalente di un lancio di moneta digitale sicuro ripetuto 256 volte. Rimane segreto fino alla rotazione della coppia di seed. Per dimostrare che non verrà modificato in seguito, il server ne calcola immediatamente anche l'hash (con SHA3-256) per ottenere un Commitment, che ti viene condiviso prima di giocare — così, una volta rivelato il seed, puoi calcolarne tu stesso l'hash e confermare che corrisponde ancora.

Il Client Seed viene generato dal tuo browser per impostazione predefinita, oppure puoi impostarne uno tuo.

Durante la partita

Il tuo Server Seed, Client Seed e Nonce vengono uniti e sottoposti a hash con SHA3-256 in un'unica Round Signature — pensala come due persone che contribuiscono ciascuna in segreto a metà di un nome, così che nessuna delle due conosca in anticipo il risultato completo.

Quella Round Signature viene poi inserita in SHAKE256, che genera il flusso di numeri casuali che determina l'esito del tuo gioco. Poiché SHAKE256 produce sempre lo stesso output a partire dallo stesso input, chiunque disponga dei seed rivelati e del nonce può riprodurre esattamente il tuo risultato — ed è proprio questo che rende possibile la verifica. Il modo in cui quel flusso di numeri casuali si traduce in un risultato di gioco concreto (ad es. dove finiscono le mine, cosa mostra un lancio di dado) varia da gioco a gioco — scopri come funziona per Mines e gli altri Originals.

Anche i risultati equi dei giochi si basano sul rejection sampling — un metodo che garantisce che un numero generato casualmente selezioni tra tutti gli esiti possibili con probabilità realmente uguale, invece di favorire alcuni esiti rispetto ad altri a causa di una divisione non uniforme.

Per un esempio dettagliato di Rejection Sampling, abbiamo preparato un breve esempio con il lancio di un dado a 10 facce, dove, avendo 10 esiti possibili, P è 10.

Lanciare normalmente un dado a 10 facce si fa generando casualmente un numero "X" e calcolando X modulo 10, poiché, come un lancio di dado, questa operazione ha 10 esiti possibili. Tuttavia, fatto in questo modo senza applicare prima il Rejection Sampling, si favoriscono ingiustamente gli esiti più bassi. Supponiamo che X sia un numero casuale a 4 bit, quindi con 2⁴=16 valori possibili: da 0 a 15. Allora, tutti i possibili risultati di X modulo 10 (X % 10) sono:

  1. Se X è compreso tra 0 e 9: 0 … 9
  2. Se X è compreso tra 10 e 15: 0 … 5

Ecco una visualizzazione:

Ciascuno degli esiti del lancio del dado da 0 a 5 può verificarsi tramite la generazione di due diversi valori di X, mentre gli esiti 6-9 si verificano solo tramite uno. Questo significa che i lanci 0-5 sono il doppio più probabili dei lanci 6-9, il che non è equo:

Questo accade perché 16 non è divisibile in modo uniforme per 10. Per questo motivo, con il Rejection Sampling troviamo il numero più grande che SIA divisibile in modo uniforme per 10. Con 4 bit, il valore massimo di X è 15, e il multiplo più grande di 10 che rientra in questo intervallo è 10, quindi rifiutiamo tutti i numeri generati casualmente maggiori o uguali a 10. Questo significa che solo 0 … 9 sono valori possibili per X. Nota a margine: se un numero viene rifiutato, ne viene campionato uno nuovo.

Dopo il passaggio di rejection, calcoliamo X modulo P per ottenere un numero tra 0 e P. Questo determina quale degli esiti 1 su P viene scelto.

Come verificare i risultati delle tue partite

  1. Prima di giocare, prendi nota del Commitment e del tuo Client Seed.
  2. Dopo il round, ruota i tuoi seed in modo che il Server Seed utilizzato venga rivelato.
  3. Calcola l'hash del Server Seed rivelato con SHA3-256 — dovrebbe corrispondere al Commitment che hai salvato. Questo conferma che il seed non è stato modificato durante la partita.
  4. Incolla il tuo Server Seed, Client Seed e Nonce nel calcolatore di verifica qui sotto — ricostruirà il risultato da zero.
  5. Confronta il risultato con quello che hai visto in gioco. Se corrisponde, conferma che il round è stato equo; una discrepanza segnalerebbe una manomissione (cosa che, con Cloudbet, non accadrà).

Domande frequenti: le tue domande sul provably fair

1. Perché i seed sono così lunghi e sembrano casuali?

Perché la casualità è il cuore dell'equità. Le lunghe stringhe di caratteri impediscono sia a Cloudbet che ai giocatori di prevedere o manipolare i risultati. Più entropia = più fiducia.

2. Posso cambiare il mio client seed?

Sì. Vai nelle impostazioni di equità del gioco e inserisci il tuo client seed in qualsiasi momento. Puoi cambiarlo tutte le volte che vuoi.

3. Cosa succede se il server seed non corrisponde all'hash originale?

Allora c'è qualcosa che non va. Lo scopo dell'hashing è dimostrare che il seed è stato bloccato prima dell'inizio della partita. Una discrepanza segnalerebbe una manomissione — ma con Cloudbet questo non accadrà.

4. Devo capire la crittografia per usare questo strumento?

No. Ci pensa lo strumento a fare tutto il lavoro pesante. Devi solo copiare, incollare e verificare.

5. Cos'è esattamente un hash?

Pensalo come una firma digitale. Viene generato mescolando il server seed con un algoritmo crittografico. Se qualcuno provasse ad alterare il seed in seguito, l'hash risulterebbe diverso — e te ne accorgeresti subito.

6. Posso usare strumenti di terze parti per verificare i risultati?

Sì. Il sistema di Cloudbet è compatibile con strumenti di verifica indipendenti, quindi puoi ricontrollare i risultati anche al di fuori della nostra piattaforma.

7. Perché questo è importante se i giochi sono comunque divertenti?

Perché l'equità non è una funzione extra — è un requisito. Quando scommetti in criptovalute, meriti pieno controllo e zero incertezze. Il provably fair rende tutto questo la normalità.

Spiegazioni sul provably fair per ogni gioco:

  1. Provably fair Mines
  2. Provably fair Pump
  3. Provably fair Plinko
  4. Provably fair Dice
  5. Provably fair Dice: Golden Ticket
  6. Provably fair Limbo
  7. Provably fair Roulette