CSRAGE

Provably Fair CS2

Każdy wynik jest kryptograficznie weryfikowalny. Ani gracze, ani kasyno nie mogą manipulować losowaniem — możesz to sam udowodnić.

Jak to działa

1

Commit

Zanim zagrasz, generujemy losowy server seed i pokazujemy jego SHA-256 hash. To blokuje nasze zobowiązanie — nie możemy go zmienić.

SHA256(server_seed) → a3f8c1d…
2

Gra

Twój client seed i rosnący nonce łączą się z server seed przez HMAC-SHA256, dając wynik gry.

HMAC(server, client:nonce:0) → result
3

Weryfikacja

Po rotacji seedów poprzedni server seed jest ujawniony. Sprawdź, czy hasz pasuje do pierwotnego commitment, potem odtwórz wynik sam.

✓ Hash matches → outcome is authentic

Weryfikacja gier

Przy każdym otwarciu skrzynki HMAC-SHA256 wyprowadza losowy float z server seed (klucz) i wiadomości .

Float staje się ticketem od 1 do 100 000. Każdy przedmiot w skrzynce ma ciągły zakres ticketów — suma zakresów to dokładnie 100 000. Przedmiot, którego zakres zawiera twój ticket, jest wynikiem.

verify-case.js
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.

Zweryfikuj roll skrzynki

Twoje seeds

Zobacz aktywną parę seedów, zmień client seed albo zrotuj, by ujawnić bieżący server seed.

Historia seeds

Dawne pary seedów z ujawnionymi server seedami. Użyj ich do weryfikacji dowolnej poprzedniej gry.

About this page

Czy kasyno może manipulować wynikami?

Nie. Przed każdą rundą publikujemy hash SHA-256 aktywnego server seed. Seed tajny w grze, ale hash stały — zmiana pod inny wynik da inny hash przy rotacji. Z Twoim client seed i nonce per gra każdy roll jest zapisany z góry i odtwarzalny — bez „przelosowania” serwera.

Czym jest server seed, client seed i nonce?

Server seed: długa losowa wartość backendu, tajna w użyciu; publiczny tylko hash SHA-256. Client seed: Twoja wartość — domyślna lub z Ustawień. Nonce: licznik +1 per gra na aktywnej parze seedów. Razem → HMAC-SHA256: te same wejścia = ten sam wynik, bajt po bajcie.

Dlaczego trzeba obracać seedy, żeby zweryfikować?

Weryfikacja wymaga jawnego server seed; ujawnienie w trakcie gry pozwoliłoby przewidzieć kolejne. Rotacja usuwa bieżący seed (ujawniony), zapisuje nowy (nowy hash), resetuje nonce. Weryfikujesz gry na starym seedzie; nowe pod nowym.

Czy mogę ustawić własny client seed i czy warto?

Tak. Ustawienia → Provably Fair lub „Twoje seedy”: wpisz i Rotate. Każdy wynik mieszany z Twoim seedem — kasa nie mogła go przewidzieć. Puste = silny los dla Ciebie. Oba Provably Fair; stały seed uspokaja i ułatwia audyt ze znajomymi.

Jak obrócić seedy?

Ustawienia → Provably Fair lub panel „Twoje seedy”, „Rotate seeds”. Od razu ujawnia bieżący server seed do weryfikacji przeszłości, nowy server seed + hash, wybrany lub losowy client seed, nonce na zero. Bez cooldownu.

Czym jest nonce i dlaczego ma znaczenie?

Licznik per runda na aktywnej parze seedów — każda gra unikalna przy tej samej parze. Zły nonce w weryfikatorze = zły wynik. Zawsze podawaj dokładny nonce z rundy.

Jak Provably Fair działa w bitwach o skrzynki?

Jeden server seed na całe lobby; każde miejsce potrzebuje niezależnego rolla na tej samej skrzynce. HMAC: wspólny server seed, nonce rundy, ID użytkownika miejsca. Unikalne, weryfikowalne rolle; server seed ujawniony na końcu do replay każdego spinu.

Jak zweryfikować ruletkę, mines, blackjack lub skrzynię?

Weryfikator tutaj, właściwa gra: ujawniony server seed (obróć jeśli trzeba), client seed z rundy, nonce — plus wejście specyficzne (liczba min, ID skrzyni, ID gracza w Bitwach). Wynik = ekran; inaczej zapisz seedy i support.

Co jeśli stracę client seed lub nie zapiszę nonce?

Aktywna para i nonce każdej rozliczonej rundy są przechowywane — Ustawienia → Provably Fair i historie w grze. Rotate bez notatek: stara para zarchiwizowana do weryfikacji kiedy chcesz.

Czy Provably Fair = audyt regulatora?

Nie — ważne. Provably Fair gwarantuje, że runda pochodzi z wcześniej zapisanych wejść — bez wyboru wyniku po fakcie. Nie certyfikuje samo długoterminowego edge, integralności wypłat ani zgodności prawnej. CSRAGE łączy Provably Fair, kontrole wewnętrzne i, gdy trzeba, nadzór zewnętrzny — uzupełniają się, nie zastępują.

Czy mogę napisać własny weryfikator?

Tak. Algorytmy tutaj w czytelnym JavaScript. SHA-256 na hash zobowiązania, HMAC-SHA256 na los — standardowe biblioteki. Skrypt ≠ ekran: zapisz wejścia i napisz do nas o porównaniu implementacji.

Czy więcej gry zmienia szanse na plus lub minus?

Nie. Runda zależy tylko od pary seedów i nonce tej rundy — nie od historii, poziomu, serii ani salda. Długie sesje „czują się” inaczej, bo wariancja się wygładza, nie bo prawdopodobieństwa się zmieniają. Weryfikator to dowodzi: odtwórz jedną rundę, nic zewnętrznego nie wchodzi.