Provably Fair CS2
Varje resultat är kryptografiskt verifierbart. Varken du eller huset kan manipulera utfallet — och du kan bevisa det själv.
Så fungerar det
Commit
Innan du spelar genererar vi en slumpmässig server seed och visar dig dess SHA-256 hash. Det låser vårt åtagande — vi kan inte ändra det efteråt.
SHA256(server_seed) → a3f8c1d…Spela
Din client seed och en ökande nonce kombineras med server seed via HMAC-SHA256 och ger resultatet.
HMAC(server, client:nonce:0) → resultVerifiera
När du roterar seeds blir föregående server seed avslöjad. Kontrollera att hashen matchar det ursprungliga åtagandet, och återskapa resultatet själv.
✓ Hash matches → outcome is authenticSpelverifiering
Varje gång du öppnar ett case använder HMAC-SHA256 server seed (nyckel) och meddelandet för att härleda en slumpmässig float.
Floaten blir en ticket mellan 1 och 100 000. Varje item i caset har ett sammanhängande ticket-intervall — alla summerar exakt till 100 000. Itemet vars intervall innehåller din ticket är resultatet.
1const crypto = require('crypto');
2
3function verifyCaseRoll(serverSeed, clientSeed, nonce) {
4 const hmac = crypto.createHmac('sha256', serverSeed);
5 hmac.update(`${clientSeed}:${nonce}:0`);
6 const buf = hmac.digest();
7
8 const float =
9 buf[0] / 256 +
10 buf[1] / 65536 +
11 buf[2] / 16777216 +
12 buf[3] / 4294967296;
13
14 const ticket = Math.floor(float * 100000) + 1;
15 return { ticket, float };
16}
17
18// Verify the server seed commitment
19function verifyHash(serverSeed, expectedHash) {
20 const hash = crypto.createHash('sha256')
21 .update(serverSeed).digest('hex');
22 return hash === expectedHash;
23}
24
25// Each case item owns a ticket range.
26// All ranges sum to 100,000.
27// The item whose range contains your ticket wins.
Verifiera en case-roll
Dina seeds
Se ditt aktiva seed-par, ändra client seed eller rotera för att avslöja nuvarande server seed.
Seed-historik
Tidigare seed-par med avslöjade server seeds. Använd dem för att verifiera tidigare spel.
About this page
Kan huset manipulera resultatet?
Nej. Innan någon omgång publicerar vi en SHA-256-hash av det aktiva serverfröet. Den faktiska seeden förblir hemlig medan du spelar, men hashen är fixad - om vi någonsin bytte seed för att skapa ett annat resultat, skulle det nya seedet producera en annan hash och du skulle fånga det i samma ögonblick som du roterade. Kombinerat med ditt eget klientseed och nonce per spel betyder detta att varje kast görs i förväg och kan reproduceras i efterhand, utan utrymme för servern att "köra om" ett resultat den inte gillade.
Vad är ett serverfrö, ett klientfrö och ett nonce?
Serverfröet är ett långt slumpmässigt värde som valts av vår backend och hålls hemligt medan det används; endast dess SHA-256-hash visas offentligt. Klientfröet är ditt slumpmässiga värde – genererat åt dig som standard, eller ett du väljer själv i Inställningar. Nonce är en räknare som ökar med en för varje spel som spelas på det aktiva seed-paret. De tre tillsammans matar en HMAC-SHA256-funktion: samma ingångar ger alltid samma resultat, så alla snurr kan reproduceras byte-för-byte.
Varför måste jag rotera frön för att verifiera?
Verifiering kräver serverfröet i klartext, men att avslöja det under spelet skulle låta vem som helst förutsäga nästa resultat – att besegra hela poängen. Rotation löser detta: när du roterar, dras den nuvarande serverns seed tillbaka och avslöjas för dig, en ny (med en ny hash) läggs in för framtida spel, och nonce återställs. Från det ögonblicket kan du verifiera varje spel som spelas på den pensionerade seeden, och nästa spel spelas under det nya.
Kan jag sätta mitt eget klientfrö, och bör jag?
Ja. Öppna Inställningar → Provably Fair (eller scrolla till "Dina frön" på den här sidan), skriv vilket klientfrö du vill ha – ett ord, en siffra, vad som helst – och tryck på Rotera. Från det ögonblicket blandas varje resultat med ditt frö, så huset kan inte ha förutspått det i förväg. Lämna fältet tomt så genererar vi ett starkt slumpmässigt till dig. Antingen är Provably Fair; Att sätta ett anpassat frö ger dig framför allt extra sinnesro och en trevligare revisionsberättelse när du förklarar resultat för vänner.
Hur roterar jag mina frön?
Gå till Inställningar → Provably Fair (eller panelen "Dina frön" på den här sidan) och klicka på "Rotera frön". Rotation avslöjar omedelbart det aktuella serverfröet så att du kan verifiera varje tidigare spel som spelat på den, genererar ett nytt serverfrö och publicerar dess hash, applicerar det klientseed du valde (eller ett nytt slumpmässigt om det är tomt), och nollställer nonce till noll för nästa omgång. Det finns ingen nedkylning – du kan rotera så ofta du vill, inklusive precis innan en session du vill granska rent.
Vad är nonce och varför spelar det någon roll?
Nonce är en räknare per spel som tickar med en för varje runda som spelas på det aktuella server-seed/klient-seed-paret. Det är det som gör på varandra följande spel unika även om seed-paret är detsamma - varje nonce producerar en annan HMAC-utgång och därför ett annat resultat. När du verifierar en runda måste du ange den exakta nonce som användes, annars kommer verifieraren att reproducera ett annat (och fel) resultat.
Hur hanteras rättvisa annorlunda i Case Battles?
Case battles delar ett enda committed server seed över varje plats i lobbyn, men varje plats behöver ett oberoende roll på samma delade case. För att få det att fungera utan personligt client seed per plats blandar HMAC-input det delade server seedet, round nonce och spelarens user-ID. Varje plats rolls är unika och verifierbara, och det delade server seedet avslöjas när battlen tar slut så att vem som helst kan spela om vilket snurr som helst i battlen.
Hur verifierar jag en roulette-, min-, blackjack- eller caserunda?
Öppna verifieraren på den här sidan och välj det matchande spelet. Varje verifierare behöver det avslöjade serverseedet (rotera först om det behövs), ditt klientseed vid tidpunkten för omgången och omgången nonce – plus en spelspecifik ingång som minantalet för Mines, case-ID för Cases eller sätens användar-ID för Battles. Verifieraren återger det exakta resultatet som servern genererade. Om resultatet skiljer sig från vad spelet visade på skärmen, spara dina frön och kontakta supporten omedelbart.
Vad händer om jag tappar mitt klientfrö eller inte sparar mina nonces?
Ditt aktiva seed-par och avsaknaden av varje avgjord omgång lagras på ditt konto så att du kan hämta dem senare från Inställningar → Provably Fair och från din historik i spelet (öppning av fall, handhistorik, minhistorik, etc.). Om du roterar seeds utan att skriva ner värdena spelar det ingen roll – det föregående seed-paret förblir arkiverat och synligt för dig så att du kan verifiera vilken som helst av dess omgångar när som helst.
Är Provably Fair samma sak som en tillsynsrevision?
Nej, och det är viktigt. Provably Fair garanterar att varje enskild runda genererades från indata som servern förbundit sig till i förväg, så huset kan inte välja utfall i efterhand. Det intygar inte i sig självt den långsiktiga husfördelen för varje spel, integriteten hos utbetalningar eller överensstämmelse med en viss jurisdiktion. CSRAGE paras Provably Fair med interna kontroller och, där så krävs, granskning från tredje part - men du bör behandla de två som komplementära, inte utbytbara.
Kan jag skripta min egen verifierare istället för att använda din?
Ja. Den exakta algoritmen för varje spel är dokumenterad på denna sida i vanlig JavaScript. De kryptografiska primitiverna (SHA-256 för engagemangshashen, HMAC-SHA256 för dragningen per omgång) är standardbiblioteksfunktioner på vilket större språk som helst, så du kan portera utdragen till Python, Go, Rust eller något annat. Oberoende verifierare hjälper hela samhället: om ditt skript någonsin inte håller med resultatet på skärmen, spara indata och kontakta så att vi kan jämföra referensimplementeringar.
Förändrar det att spela mer oddsen till min fördel eller mot mig?
Nej. Varje omgångs utfall beror bara på seed-paret och den omgången är nonce; ingenting om din historia, din nivå, din vinstserie eller ditt saldo matas in i RNG. Långa sessioner känns annorlunda eftersom variansen jämnar ut sig över många omgångar, inte för att de underliggande sannolikheterna förändras. Verifieraren bevisar det: du kan spela om en enda omgång isolerat, och resultatet kommer inte att bero på något utanför omgångens ingångar.
