Uczciwość kości w backgammonie: jak naprawdę działa RNG na serwerze
Każdy, kto gra w backgammona online, wpisał kiedyś w wyszukiwarkę jakąś wersję tego samego pytania: czy te kości są ustawione? To pytanie zasługuje na prawdziwą odpowiedź, a nie na marketingowe wzruszenie ramionami. Oto wersja techniczna: skąd biorą się cyfrowe kości, co naprawdę może pójść nie tak i w jaki sposób porządnie zbudowana gra wyprowadza wynik rzutu poza zasięg kogokolwiek, architekturą zamiast obietnicy.
Gdzie Rodzi Się Cyfrowa Kość
Prawdziwą kość losuje fizyka: obrót, odbicie, sukno. Kość cyfrowa to liczba wyprodukowana przez generator liczb losowych (RNG), czyli oprogramowanie (często zasilane przez sprzęt), którego zadaniem jest zwracać wartości, jakich nikt nie potrafi przewidzieć ani odtworzyć.
Nie każdy generator jest taki sam. Prosty generator pseudolosowy, ten sam rodzaj, który tasuje playlistę, produkuje ciąg całkowicie wyznaczony przez wartość początkową (ziarno). Kto zna ziarno i algorytm, ten zna każdą "losową" liczbę, jaką ten generator kiedykolwiek zwróci. Do playlisty to wystarcza, do gry o stawkę jest bezużyteczne. Poważne gry używają generatorów kryptograficznie bezpiecznych (CSPRNG), stale dosiewanych entropią ze świata: szumem sprzętu, drganiem czasów, chaosem zdarzeń systemowych. Ich kluczowa własność to dokładnie ta, której potrzebuje gra w kości: nawet ktoś, kto widział wszystkie dotychczasowe wyniki, nie przewidzi następnego.
Ważniejsze Pytanie: Gdzie To Się Wykonuje?
Tu jest część, o którą gracze zwykle nie pytają. Mniej istotne jest to, który generator wyprodukował twój rzut, a bardziej to, gdzie się wykonał. Jeśli kości powstają na urządzeniu gracza, gra jest zepsuta konstrukcyjnie, choćby algorytm był najlepszy: zmodyfikowany klient może przerzucać, aż wynik mu się spodoba, podmienić rezultat w pamięci albo podejrzeć wartości, zanim zdecyduje o ruchu. Kości po stronie klienta to obietnica, a obietnice da się z aplikacji wyciąć łatką.
Właściwa architektura jest serwerowa: rzut odbywa się na serwerze gry, w środowisku, do którego nie sięga sprzęt żadnego gracza. Twoje urządzenie dostaje rzut, który już istnieje, i po prostu go animuje. W naszej grze, jak wyjaśniamy na stronie o uczciwej grze, sprawa nie kończy się na kościach: serwer sprawdza każdy ruch pod kątem zasad, a obaj klienci nieustannie porównują swoją planszę z odciskiem, który serwer rozsyła przy każdej aktualizacji. Nie ma momentu, w którym urządzeniu gracza ufa się w czymkolwiek istotnym.
Ta jedna decyzja projektowa usuwa naraz całe kategorie oszustw. Nikt nie przerzuci, bo rzut poprzedza jego turę. Nikt nie odczyta następnej liczby z własnego urządzenia, bo tam jej po prostu nie ma. I nikt nie nagnie po cichu planszy, bo plansza niezgodna z serwerową jest odrzucana i synchronizowana od nowa w jednym obiegu.
Co Naprawdę Znaczy "Dowodliwie Uczciwe"
Przez lata odpowiedzią branży na pytanie "czy kości są uczciwe?" był certyfikat: laboratorium raz bada generator i wystawia pieczęć, której masz zaufać. Uważamy, że należy ci się coś mocniejszego niż pieczęć. Dowodliwa uczciwość znaczy, że nie musisz nam ufać w ogóle, bo każdy rzut niesie własny dowód. Mechanizmem jest schemat zobowiązań z wymianą tura po turze, a wygląda to tak: stos zaklejonych karteczek u każdego gracza plus nasza zaklejona koperta.
- Zamknięcie. Zanim padnie pierwsza kość, serwer generuje tajne ziarno i wręcza ci jego kryptograficzny odcisk, czyli skrót, kiedy wynik jest jeszcze nieznany. W tej samej chwili aplikacja każdego gracza zakleja własny, ponumerowany stos karteczek i publikuje wyłącznie odcisk tego stosu. Wszystkie trzy odciski zostają zamrożone razem w jednym zapisie, więc później żadnego nie da się podmienić na inny i żaden nie zdradza tego, co ukrywa.
- Wymiana. Kości nie są ustalone z góry. Powstają po jednej, według stałego, jawnego wzoru, a każda potrzebuje karteczki z obu stosów. W każdej turze gracz, który ma rzucać, publikuje najpierw swoją kolejną karteczkę, przeciwnik odsłania swoją dopiero wtedy, a kość liczy się na końcu, z obu karteczek i z zapieczętowanego ziarna. Pieczęć każdej karteczki wyprowadzono z następnej w jej stosie, dlatego karteczki nie da się podmienić po fakcie. A ponieważ ostatnia nieznana wartość zawsze leży po drugiej stronie planszy, nikt, my również, nie może poznać kości, dopóki otwarta jest jakakolwiek decyzja, która mogłaby ją zmienić.
- Sprawdzenie. Gdy partia się kończy, serwer otwiera kopertę i pokazuje ziarno, a cały zapis zostaje opublikowany. Liczysz skrót z ziarna i potwierdzasz, że zgadza się z odciskiem wręczonym ci na starcie, to dowód, że nic nie zostało podmienione; sprawdzasz, że każda karteczka należy do stosu, do którego jej strona się zobowiązała; a potem uruchamiasz ten sam jawny wzór i wyprowadzasz każdy rzut samodzielnie. Gdyby jedną kość ktoś poprawił, przeliczenie by się nie zgodziło, a manipulacja byłaby nie do ukrycia.
Na tym polega cała różnica między "zaufaj naszemu certyfikatowi" a "sprawdź sam". Nie musisz wierzyć, że nasze kości są uczciwe; możesz je sprawdzić, partia po skończonej partii, matematyką, którą policzy każdy. Na stronie o uczciwej grze stoi narzędzie, które robi dokładnie to: podaj mu skończoną partię i patrz, jak każdy rzut wyprowadza się na nowo z opublikowanego zapisu. Jedyne, czego publiczna strona nie potrafi, to potwierdzić, że ten zapis to twój mecz, bo kopię odcisków zamkniętych przed grą zachowało tylko twoje urządzenie; to ostatnie sprawdzenie mieszka w aplikacji.
Jedna uczciwa uwaga, której dowód nie zmienia: dowodliwie uczciwe kości nadal nie są gładkie, uprzejme i naprzemienne. Weryfikowalne ziarno produkuje grudy, serie i posuchy dokładnie z częstością, jaką przewiduje rachunek prawdopodobieństwa. To strumień bez serii byłby podejrzany. Prawdziwa losowość jest grudkowata i właśnie dlatego tak często sprawia wrażenie ustawionej.
Dlaczego Uczciwe Kości Wydają Się Ustawione
I tu wchodzi psychologia, bo poczucie ustawionych kości jest prawdziwe nawet wtedy, gdy kości takie nie są. Robotę wykonują trzy dobrze udokumentowane skrzywienia:
Pamięć wybiórcza. Pamiętasz ten wieczór, kiedy cztery tury z rzędu tańczyłeś na barze. Nie pamiętasz setek zwyczajnych wejść przed nim. Bolesne wyniki zapisują się mocniej: każdy doświadczony gracz nosi w głowie prywatne muzeum niesprawiedliwości i żadnego archiwum tego, co zwyczajne.
Prawo małych liczb. Człowiek oczekuje, że maleńka próba będzie wyglądać jak długoterminowa średnia. W 36 rzutach każdy wynik "powinien" pojawić się mniej więcej raz, ale prawdziwe próby po 36 rzutów są skrajnie nierówne: jednych liczb brak w ogóle, inne przychodzą trzykrotnie. Jeden wieczór przy planszy to maleńka próba. Rządzi w niej wariancja, a wariancja odbierana jest osobiście.
Asymetria strat. Strzał 17 na 36, który cię trafia, wygląda na niesprawiedliwość; 19 razy na 36, kiedy chybia, nie czujesz nic. A ponieważ backgammon bez przerwy rozstrzyga zdarzenia o szansach od 30 do 70 procent, "niemożliwych" wyników jest stały dopływ, dokładnie w tempie, w jakim są możliwe.
Odtrutką jest znajomość prawdziwych liczb. Każda konkretna liczba wypada w 11 rzutach na 36. Dublet przychodzi raz na sześć rzutów. Blot oddalony o sześć pipów obrywa w niemal połowie przypadków. Nasz poradnik podstaw prawdopodobieństwa rozkłada całą tabelę, a gdy te liczby siedzą już w głowie, większość "ustawionych" momentów sama przekwalifikowuje się na zwykły wtorek.
Kwestia Interesu
Jeszcze jedna uczciwa uwaga: operator gry w backgammona nie ma nic do zyskania na krzywych kościach, a wszystko do stracenia. Gracze rywalizujący, ci, którzy zostają na lata, to dokładnie ci ludzie, którzy liczą szanse i wychwytują anomalie. System rankingowy działa jednocześnie jako publiczny ślad audytowy: gdyby kości komuś systematycznie sprzyjały, rozkład rankingów przesunąłby się w mierzalny sposób. Uczciwe kości to nie cnota, którą odgrywamy; to jedyny stabilny model biznesowy dla gry opartej na umiejętności.
Jak Przekonać Się Samemu
Nie wierz na słowo żadnemu operatorowi, nam też nie. Naucz się podstawowych częstości z poradnika o prawdopodobieństwie, a potem oglądaj własne partie z tymi liczbami w głowie: szanse wejścia przeciwko planszy z dwoma zamkniętymi polami, częstość dubletów w długiej sesji, skuteczność trafień przy strzałach bezpośrednich. Uczciwe kości zbiegają do przewidywań z tabeli zaskakująco szybko. A jeśli chcesz szczegółów architektury, zobowiązań i wymiany tura po turze, rzutów po stronie serwera, weryfikacji planszy przy każdym ruchu, dobierania przeciwników według Glicko-2, to strona o uczciwej grze jest pełnym opisem tego, jak zbudowany jest nasz stół, razem z narzędziem weryfikacji. Wtedy o partiach decyduje ta zmienna, która decydować powinna: jak dobrze rozgrywasz to, co ci wypadło. Do tego właśnie są poradniki strategiczne.