Provably Fair
Какво е „Provably Fair“?
Играчите винаги се страхуват да не бъдат измамени в онлайн игрите.
Това е разбираемо, защото технически е много лесно за доставчик на онлайн игри да ви накара да загубите.
В Jemlit имаме решение за това, наречено provably fair. Provably fair е инструмент, който ви позволява (играчът) да проверява резултата от всяко хвърляне и да се увери, че не е измамен!
Как работи „Provably Fair“?
С този метод всеки резултат от хвърляне се изчислява от следните променливи:
- Server Seed - Случаен низ от символи, предоставен от нас
- Client Seed - Низ от символи, генериран от вашия браузър, който можете да промените
- Nonce или Play Count - Число, което се увеличава всеки път, когато играете
Ще получите криптиран хеш на Server Seed, преди да започнете да играете.
Тъй като го получавате предварително, не можем да го променим по-късно. Той обаче е криптиран, така че не можете да изчислите предварително собствените си резултати от хвърляне (само след това, ако получите нехеширания Server Seed). Сървърният Seed се хешира с помощта на алгоритъма за хеширане
SHA512.
Вашият браузър ще генерира произволно Client Seed. Можете и трябва обаче да коригирате това Client Seed, преди да започнете. По този начин можете да се уверите, че сайтът не знае предварително вашия Client Seed.
Сега, ако направите залог, Nonce започва с 1. След всеки направен от вас залог, числото на nonce ще се увеличи с 1.
Изчисляване на резултата от хвърлянето
Сега идва ред на нърдските неща! Има 3 стъпки, които ни отвеждат до крайното хвърлено число на тази игра.
Стъпка 1 - Хеширане на променливите
В тази стъпка изчисляваме HMAC с SHA512/256 алгоритъма, използвайки Server Seed като ключ и Client Seed и Nonce като данни, свързани с тире (-).
Можете да го изчислите сами; Отидете тук и изпълнете този код:
echo hash_hmac('sha512/256', 'your client seed-your nonce', 'server seed');
Резултатът ще бъде 38611068f6936027c4657138536fb5bb8f82a6cb2d883f1acb47cb24013f9e93
Стъпка 2 - Преобразуване на хеша в число
В стъпка 2 вземаме резултата, който получихме в предишната стъпка, и го превръщаме в число; Отидете
тук и изпълнете този код:
echo number_format(hexdec('38611068f6936027c4657138536fb5bb8f82a6cb2d883f1acb47cb24013f9e93'), 0, ".", "");
Ще получите 25501016943689873370561741542489390377389678092728534236058081515070178721792, много дълго число.
Стъпка 3 - Изчисляване на крайното хвърляне
Тъй като искаме да хвърлим десетично число между 0 и 100, първо разделяме числото от предишната стъпка на максимално възможното число, което е 1664 (64 е дължината на хеширания низ от букви, получен в Стъпка 1).
Накрая се изчислява хвърлянето:
roll = 0 + делено число * 100.
В този пример резултатът е 22.0231.
Как е избрана цената?
Когато отидете на страницата на eBox, можете да превключвате между шансовете, като щракнете върху Показване на шансове, и можете да видите хвърлянията, като щракнете върху "Вижте хвърлянията" в долната част на страницата.
За всеки елемент в полето ще видите числото, което трябва да хвърлите, за да спечелите тази награда, например 95.54 до 97.22. Това означава, че ако хвърлите число по-голямо от 95.54 и по-малко или равно на 97.22, ще получите тази награда.
Как мога да проверя дали всичко е честно?
За да проверите дали няма измама, просто следвайте стъпките, илюстрирани в предишната точка.
Разбира се, можете да проверите игра само след като разкриете Server Seed (Сървърно семе).
Можете да намерите вашия Client Seed и Nonce в изскачащия прозорец „Fairness“ (Честност) в горната част на страницата (или в менюто горе вляво, ако използвате JemLit на мобилния си телефон).