Uczciwe kości, uczciwa gra
Każdy gracz w backgammona, który przegrał przez dublet w ostatnim rzucie, zadał sobie to pytanie: czy te kości są uczciwe? To właściwe pytanie, które warto zadać każdej aplikacji do backgammona. Oto dokładnie, jak generowane są nasze kości, dlaczego nikt, łącznie z nami, nie może nimi manipulować, i jak reszta gry również pozostaje uczciwa.
Sprawdź dowolną zakończoną grę samodzielnie
Słowa są tanie, więc oto dowód, który możesz uruchomić samodzielnie. Gdy partia się kończy, ujawniamy jej ziarno serwera oraz zobowiązanie, które opublikowaliśmy przed pierwszym rzutem. Wklej ten pakiet ujawnienia poniżej, a ta strona ponownie wyprowadzi każdą kostkę od zera, dokładnie te same obliczenia, które wykonały nasze serwery, i powie ci, czy kości się zgadzają. Otwarcie odtwarza matematykę naszych kości: czyste ponowne wyprowadzenie dowodzi, że każda kostka wynika z ujawnionego ziarna, więc żaden rzut nie został podmieniony ani przerzucony. Aby uzyskać pełny, zielony wynik „dowodliwie uczciwe”, dodaj ziarno klienta, które twoja aplikacja zapisała na początku gry: to dowodzi, że wmieszano twoją własną entropię, więc kości również nie mogły zostać wybrane z góry.
Kości: dowodliwie uczciwe, rzucane na serwerze
Każdy rzut w każdej grze jest tworzony przez generator liczb losowych działający na naszych serwerach gry i jest dowodliwie uczciwy. Przed pierwszym rzutem publikujemy zobowiązanie, kryptograficzny odcisk sekretnego ziarna, z którego powstaną kości. Gdy partia się kończy, ujawniamy to ziarno, a każdy może z niego ponownie wyprowadzić każdą kostkę i porównać ją z zobowiązaniem, które wcześniej zablokowaliśmy. Nie ufaj nam, sprawdź sam: narzędzie powyżej robi dokładnie to. Ponieważ wmieszane jest również twoje własne ziarno klienta, kości nie mogą zostać wybrane, podmienione ani przerzucone przez nikogo, łącznie z nami.
Równie ważne jest to, gdzie odbywa się rzut. Kości nigdy nie są generowane na twoim urządzeniu, twój telefon jedynie wyświetla rzut, który serwer już wykonał. Ta jedna decyzja projektowa eliminuje całą rodzinę oszustw z kośćmi: zmodyfikowana aplikacja nie przerzuci kości, skok opóźnienia nie zduplikuje rzutu, a żadna sztuczka po stronie klienta nie podejrzy następnej liczby, ponieważ następna liczba nigdzie nie istnieje, dopóki serwer jej nie utworzy.
A rzuty nigdy nie są korygowane. Nie ma żadnej „krzywej zaangażowania”, żadnej mechaniki powrotu, żadnego wsparcia dla graczy na serii porażek. Generator ani nie wie, ani nie dba o to, kto wygrywa.
Plansza: weryfikowana przy każdym ruchu
Uczciwe kości niewiele by znaczyły, gdyby sama plansza mogła się zmieniać lub zostać naruszona, dlatego gra działa w rygorystycznym modelu autorytetu serwera. Twoje urządzenie nigdy nie mówi serwerowi, jak wygląda plansza, wysyła tylko twój zamiar („przesuń ten pionek z pola 13 na pole 8”). Serwer sprawdza ten ruch według oficjalnych zasad i oficjalnej planszy; niedozwolone ruchy są po prostu odrzucane, niezależnie od tego, co twierdzi zmodyfikowany klient.
Potem następuje podwójne sprawdzenie: przy każdej aktualizacji stanu serwer rozsyła zwięzły odcisk (hash) prawdziwej pozycji na planszy. Twoje urządzenie oblicza ten sam odcisk ze swojej lokalnej planszy i porównuje. Jeśli różni się choćby jeden pionek, klient odrzuca swoją kopię i ponownie synchronizuje się z serwerem. Dzięki temu obaj gracze w każdej chwili w sposób dowodliwy patrzą na tę samą grę, rozsynchronizowania same się leczą w jednym cyklu, i nie ma okna, w którym można by grać na nieaktualnej lub zmanipulowanej planszy.
Przeciwnicy: dobieranie w systemie Glicko-2
Uczciwość dotyczy też tego, z kim grasz. Rankingi korzystają tutaj z Glicko-2, nowoczesnego następcy Elo, który śledzi zarówno twoją siłę gry, jak i pewność systemu co do tej oceny, więc nowi gracze szybko zbliżają się do swojego prawdziwego poziomu, zamiast przez pięćdziesiąt gier być stopniami dla innych. Dobieranie łączy cię z przeciwnikami o zbliżonym rankingu, a wyniki rankingowe wracają do systemu po każdej grze.
Efekt: gdy wygrywasz, przechytrzyłeś równego sobie. Gdy przegrywasz, jest coś realnego do nauczenia się, zwykle w poradnikach strategicznych.
Jak naprawdę odczuwa się uczciwe kości
Oto niewygodna prawda: naprawdę losowe kości sprawiają wrażenie bardziej seryjnych, niż większość ludzi się spodziewa. Prawdziwa losowość daje cztery dublety z rzędu, tańce wejścia na planszę z jednym zajętym punktem i cuda w ostatnim rzucie, dokładnie z częstotliwościami, które przewiduje rachunek prawdopodobieństwa. Rzut o szansie 17/36 chybia dwa razy z rzędu częściej niż w jednej czwartej przypadków. Pamięć zachowuje skandale i odrzuca rutynę, dlatego każdy doświadczony gracz online ma swoją historię o „ustawionych kościach”, a żaden audyt statystyczny nigdy jej tutaj nie potwierdził.
Jeśli chcesz skalibrować swoje instynkty, poradnik podstaw prawdopodobieństwa przedstawia prawdziwe liczby: 36 kombinacji, szanse trafienia na każdym dystansie, szanse wejścia z bandy. Świadomość, że dowolna konkretna liczba pojawia się 11 razy na 36, zamienia „niemożliwego pecha” we „wtorek”.
Chcesz głębszej wersji technicznej, klas generatorów, tego jak działa dowód typu commit-reveal i psychologii „ustawionych” serii? Znajdziesz to na blogu: jak naprawdę działa RNG po stronie serwera.
Nasze zobowiązanie
- Kości generowane na serwerze, dowodliwie uczciwe: nigdy rzucane na urządzeniu, nigdy korygowane dla żadnego gracza ani sytuacji, i możliwe do zweryfikowania przez każdego po zakończeniu gry.
- Egzekwowanie zasad u źródła: każdy ruch weryfikowany przez serwer; zmodyfikowani klienci nic nie zyskują.
- Ciągła weryfikacja planszy: sprawdzana hashem przy każdej aktualizacji, samonaprawiająca się przy każdej niezgodności.
- Dobieranie oparte na umiejętnościach: rankingi Glicko-2 i dobieranie według rankingu.
Uczciwe kości oznaczają, że jedyną przewagą, jaka zostaje przy stole, jest umiejętność, a umiejętności można się nauczyć. Zacznij od zasad, wyostrz je strategią i przetestuj na żywo: stół poniżej jest darmowy, w twojej przeglądarce, bez instalacji.