Provably Fair
Čo je to „Provably Fair“
Hráči sa vždy obávajú podvádzania v online hrách.
Je to pochopiteľné, pretože z technického hľadiska je pre poskytovateľa online hier veľmi jednoduché zabezpečiť, aby ste prehrali. V JemLit na to máme riešenie nazývané provably fair. Provably fair je nástroj, ktorý vám (hráčom) umožňuje overiť každý výsledok hodu a uistiť sa, že nie ste podvádzaní!
Ako funguje Provably Fair?
Pomocou tejto metódy je každý výsledok hodu vypočítaný na základe nasledujúcich premenných:
- Serverový seed – Náhodný reťazec znakov poskytnutý nami
- Klientský seed – Reťazec znakov vygenerovaný vaším prehliadačom, ktorý si môžete zmeniť
- Nonce alebo Počet hier – Číslo, ktoré sa s každou hrou zvyšuje
Pred začatím hry obdržíte zašifrovaný hash serverového seedu.
Pretože ho obdržíte vopred, nemôžeme ho neskôr zmeniť. Je však zašifrovaný, takže si nemôžete vopred vypočítať výsledky hodov (to je možné až po získaní nezašifrovaného serverového seedu). Serverový seed je hashovaný pomocou algoritmu
SHA512.
Váš prehliadač vygeneruje náhodný klientský seed. Tento klientský seed si však môžete (a mali by ste) pred začiatkom hry upraviť. Tým zabezpečíte, že stránka nebude poznať váš klientský seed vopred.
Akonáhle vykonáte stávku, nonce začína číslom 1. Po každej ďalšej stávke sa číslo nonce zvýši o 1.
Počítanie výsledku hodu.
Teraz prichádza tá vedátorská časť! K finálnemu vygenerovanému číslu v tejto hre vedú 3 kroky.
1. krok – Hashovanie premenných
V tomto kroku vypočítame HMAC pomocou algoritmu SHA512/256 tak, že použijeme serverový seed ako kľúč a klientský seed a nonce ako dáta spojené pomlčkou (-).
Môžete si to vypočítať sami; choďte sem a spustite tento kód:
echo hash_hmac('sha512/256', 'váš klientský seed-vaša nonce', 'serverový seed');
Výsledkom bude napríklad 38611068f6936027c4657138536fb5bb8f82a6cb2d883f1acb47cb24013f9e93
2. krok – Prevod hashu na číslo
V druhom kroku vezmeme výsledok z predchádzajúceho kroku a prevedieme ho na číslo; choďte
sem a spustite tento kód:
echo number_format(hexdec('38611068f6936027c4657138536fb5bb8f82a6cb2d883f1acb47cb24013f9e93'), 0, ".", "");
Získate číslo 25501016943689873370561741542489390377389678092728534236058081515070178721792, veľmi dlhé číslo.
3. krok – Výpočet finálneho hodu
Pretože chceme získať desatinné číslo medzi 0 a 100, najprv vydelíme číslo z predchádzajúceho kroku maximálnym možným číslom, čo je 1664 (64 je dĺžka reťazca hashovaných znakov získaných v Kroku 1).
Nakoniec sa hod vypočíta nasledovne:
hod = 0 + vydelené číslo * 100.
V tomto príklade je výsledkom 22,0231.
Ako sa vyberá výhra?
Keď prejdete na stránku eBoxu, môžete si zobraziť šance kliknutím na Zobraziť šance a výsledky hodov si prezrieť kliknutím na „Zobraziť hody“ v spodnej časti stránky.
Pri každom predmete v boxe uvidíte číslo, ktoré musíte hodiť, aby ste danú výhru získali, napríklad 95,54 až 97,22. To znamená, že ak hodíte číslo vyššie ako 95,54 a nižšie alebo rovné 97,22, získate túto výhru.
Ako si môžem overiť, že je všetko férové?
Aby ste si overili, že nedochádza k žiadnemu podvádzaniu, stačí postupovať podľa krokov uvedených v predchádzajúcom bode.
Samozrejme, hru môžete overiť až po tom, čo odhalíte serverový seed.
Svoj serverový seed, klientský seed a nonce nájdete v okne „Férovosť“ v hornej časti stránky (alebo v ponuke vľavo hore, ak pristupujete na JemLit z mobilného zariadenia).