Jump to content

Featured Comment

  • Moderator
Posted

Witajcie 🙂

 

Wielokrotnie widzę na czacie, że zrozumienie systemu uczciwości kasyna jest dla was problematyczne. Kilka miesięcy temu napisałem post o zasadach działania tego systemu w grach Stake Originals. Czas na polskie tłumaczenie. Mam nadzieję, że poniższy tekst da Wam lepsze zrozumienie systemu zdarzeń losowych na Stake. Zaznaczę jednak, że poniższe wyjaśnieni odnosi się tylko do gier Stake Originals i nie ma zastosowania do slotów/gier firm trzecich.

Zrobimy prostą kalkulację wyników. Użyjemy do tego kalkulatora Google (może to być również zwykły kalkulator) oraz konwertera HEX do DEC. 

RNG w grach Stake Originals działa w prosty sposób. Kiedy zaczynasz grę ustalasz CLIENT SEED. Stake daje SERVER SEED (w formie "zaszyfrowanej"). Trzeci element to NONCE - czy w skrócie kolejny numer zakładu na danej parze SEED'ów (clien seed i server seed razem to para seed'ów). Te trzy elementy RAZEM dają podstawę do obliczenia wyniku. 

Postarajmy się to zdekonstruować. Aby to zrobić musimy "odszyfrować" SERVER SEED. Można to zrobić po zmianie aktualnej pary seed'ów na nową.

Użyjemy odszyfrowanego server seed'u i policzymy wynik.

SERVER SEED – 691922054928c927be2cf70614e59b9d12fec05a8686396f008c8e0c4978b8ca

CLIENT SEED – 111

NONCE – 1

GAME – LIMBO

image.png.ab95d3b3db270fce2ca5ef460e98df24.png

 

TERAZ KALKULATOR GOOGLA I RUSZAMY 🙂

SERVERSEED:CLIENSEED:NONCE musimy przekonwertować z systemu HEX na DEC (szesnastkowy na dziesiętny).

CASINO SEEDS TO BYTES w tej sekcji widzicie wynik tej konwersji. W przypadku gry Limbo do zdarzenia generującego wynik, jest brane pod uwagę tylko 8 pierwszych par. W tym przypadku to 87, f4, e3, 30.

Teraz użyjemy formuły Stake (jest podana na stronie)

Konwertujemy system HEX do DEC

87 – 135

f4 - 244

e3 - 227

30 - 48

image.png.30a6bcec8860e51929736e509261f377.png

Teraz kalkulator google i wykonujemy działania

135 / (256 ^ 1) =

244 / (256 ^ 2) =

227 / (256 ^ 3) =

048 / (256 ^ 4) =

image.png.ca43ce3f6ffcdbb7bcd00cb3bc1348cf.png

135 / (256 ^ 1) = 0.527343750000

244 / (256 ^ 2) = 0.003723144531

227 / (256 ^ 3) =0.000013530254

048 / (256 ^ 4) =0.000000011176

Dajemy wyniki i otrzymujemy 0.531080435961. Następnie działanie według podanego na stronie wzoru.

100000000 / (53108043 + 1) * (1 - 0.01) = 1.8641243876351385 

WYNIK ZAKŁADU DLA GRACZA1.8641243876351385

WYNIK W FAKTYCZNYM ZAKŁADZIE WIDOCZNY NA STRONIE1.8641243876351385

MNOŻNIK W GRZE -  x1,86 

Identycznie można policzyć mnożniki/wyniki w każdej grze Stake Originals. Stake nie ma żadnej możliwości w jakikolwiek sposób zmanipulować tego wyniku. Matematyka nigdy nie kłamie. Czy Stake oszukuje? NIE MA TAKIEJ MOŻLIWOŚCI!!!

 

Zachęcam do dyskusji i zadawania pytań w komentarzach. Powodzenia 🙂 

Oryginalny post (link poniżej). W komentarzach do tego postu znajdziecie potwierdzenie prawdziwości prze naszego naczelnego wodza 🙂

 

 

  • 2 weeks later...
  • 2 weeks later...
  • 2 weeks later...
  • 2 months later...
  • 5 months later...
  • 3 months later...
Posted

ok @mistaker a jesteś mi w stanie wytłumaczyć zasade działania min i tego w jaki sposób generowana jest kolejność pól na ktorym wypadnie mina?

bo z tego co widziałem to na stronie stake jest napisane że uzywają oni Fisher–Yates shuffle w przypadku aby zapobiec pojawianiu sie min na tych samych polach, ale przeciez nigdzie nie da sie zweryfikowac tego że ten algorytm który ma kasyno to jest na pewno Fisher–Yates shuffle i ze faktycznie liczby w nim wygenerowane były użyte do tego w którym miejscu dana mina była po kolei, bo ja tego nie rozumiem jak można na tej podstawie być pewnym że wszystko w tym wypadku było 100% wygenerowane losowo?

  • Moderator
Posted

https://stake.bet/provably-fair/conversions

Myślę że tam jest dość klarownie opisane. 

21 minutes ago, dvdx1995 said:

ok @mistaker a jesteś mi w stanie wytłumaczyć zasade działania min i tego w jaki sposób generowana jest kolejność pól na ktorym wypadnie mina?

bo z tego co widziałem to na stronie stake jest napisane że uzywają oni Fisher–Yates shuffle w przypadku aby zapobiec pojawianiu sie min na tych samych polach, ale przeciez nigdzie nie da sie zweryfikowac tego że ten algorytm który ma kasyno to jest na pewno Fisher–Yates shuffle i ze faktycznie liczby w nim wygenerowane były użyte do tego w którym miejscu dana mina była po kolei, bo ja tego nie rozumiem jak można na tej podstawie być pewnym że wszystko w tym wypadku było 100% wygenerowane losowo?

Będą w 100% losowe, ponieważ pierwsza faza wybrania numerów w keno/ min w minach to losowy system wyboru oparty o tzw schemat "zgody" (czyli pary server/client seed/nonce/coursor), a potem stosowane jest "Fisher-Yates shuffle algorithm". 

Posted (edited)

no tak zgadzam sie, ale weźmy przykład z losowego seeda i losowego server seeda 

image.thumb.png.26f99fe2ebe8a46e151104e2f180e406.png

Ma takie dane 

i teraz tak

wylosowane zostały liczby 

image.thumb.png.10ef7820412ecc00ed61918e3587de25.png

Teraz pierwsza mina ma pole 1, druga pole 22 itd.. jak widać liczby się nie powtarzają.

Natomiast przy wyliczaniu Bajty na liczby tam mam zupełnie inne wyniki

image.thumb.png.50a4dfda15520113544f87e5b94afa68.png

image.thumb.png.c597c3e52b9257629502dcfac37c833f.png

Jak widać pierwsza liczba to 1 druga to 21 , trzecia to 16 czwarta to 15 .

Skąd zatem wziął się wynik 1,22,17,16 jako pierwsze 4 pola w których wypadnie mina, bo tego nie pojmuje.

jakie działanie jest tutaj wykonywane aby otrzymać te liczby dla przykładowo pierwszych 4 min?

Edited by dvdx1995
  • Moderator
Posted
7 hours ago, dvdx1995 said:

no tak zgadzam sie, ale weźmy przykład z losowego seeda i losowego server seeda 

image.thumb.png.26f99fe2ebe8a46e151104e2f180e406.png

Ma takie dane 

i teraz tak

wylosowane zostały liczby 

image.thumb.png.10ef7820412ecc00ed61918e3587de25.png

Teraz pierwsza mina ma pole 1, druga pole 22 itd.. jak widać liczby się nie powtarzają.

Natomiast przy wyliczaniu Bajty na liczby tam mam zupełnie inne wyniki

image.thumb.png.50a4dfda15520113544f87e5b94afa68.png

image.thumb.png.c597c3e52b9257629502dcfac37c833f.png

Jak widać pierwsza liczba to 1 druga to 21 , trzecia to 16 czwarta to 15 .

Skąd zatem wziął się wynik 1,22,17,16 jako pierwsze 4 pola w których wypadnie mina, bo tego nie pojmuje.

jakie działanie jest tutaj wykonywane aby otrzymać te liczby dla przykładowo pierwszych 4 min?

"The fisher-yates shuffle implementation is utilised to prevent duplicate possible hits being generated. Between 1 and 24 game event results are used, based on the settings chosen."

To działa na takiej zasadzie:

Durstenfeld_shuffle_svg.thumb.png.3be9f3e95e6b85e5e63172f5fefc340b.png

 

 

 

Jeżeli to połączysz razem to wynik się zgodzi .

 

 

 

Posted (edited)

faktycznie zgadza się wystarczy zastosować poniższy wzór

function fisherYatesShuffle(array &$array) {
    $result = array();
    $cells = array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24);
    for ($i=0; $i< count($array) ; $i++) {
        $result[$i] = $cells[$array[$i]];
        array_splice($cells, $array[$i], 1);
    }
    return $result;
}

Edited by dvdx1995
  • 1 year later...
  • Moderator
Posted
4 minutes ago, kila84 said:

Probably fair bez nadzoru moze być manipulowane po stronie serwera 

Nie może, dlatego że podajesz własny seed i wtedy jest tworzony hash. Dodatkowo "nonce" zabezpiecza użytkownika przed manipulacją seed po stronie kasyna.

  • 3 months later...
  • 4 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...