Reilut nopat, reilu peli
Jokainen backgammonin pelaaja, joka häviää viimeisen heiton tuplalle, on miettinyt sitä: ovatko nämä nopat reiluja? Se on oikea kysymys mille tahansa backgammon-sovellukselle. Tässä on tarkalleen, miten noppamme luodaan, miksi kukaan, me mukaan lukien, ei voi vääristää niitä, ja miten pelin loppukin pidetään rehellisenä.
Tarkista mikä tahansa päättynyt peli itse
Puhe on halpaa, joten tässä on todiste, jonka voit ajaa itse. Kun ottelu päättyy, paljastamme sen palvelinsiemenen ja sitoumuksen, jonka julkaisimme ennen ensimmäistä heittoa. Liitä paljastuspaketti alle, niin tämä sivu johtaa jokaisen nopan uudelleen alusta asti, täsmälleen saman laskennan, jonka palvelimemme suorittivat, ja kertoo, täsmäävätkö nopat. Se toteuttaa noppamatematiikkamme avoimesti uudelleen: puhdas uudelleenjohto todistaa, että jokainen noppa seuraa paljastetusta siemenestä, joten yhtään heittoa ei vaihdettu eikä heitetty uudelleen. Saadaksesi täyden vihreän, todistettavasti reilun tuloksen lisää asiakassiemen, jonka sovelluksesi tallensi pelin alussa: se todistaa, että oma entropiasi sekoitettiin mukaan, joten noppia ei myöskään voitu valita etukäteen.
Nopat: Todistettavasti reiluja, heitetään palvelimella
Jokainen heitto jokaisessa pelissä syntyy satunnaislukugeneraattorista, joka pyörii pelipalvelimillamme, ja se on todistettavasti reilu. Ennen aivan ensimmäistä heittoa julkaisemme sitoumuksen, salaisen siemenen kryptografisen sormenjäljen, josta nopat tulevat. Kun ottelu päättyy, paljastamme sen siemenen, ja kuka tahansa voi johtaa jokaisen nopan siitä uudelleen ja verrata sitä ennalta lukittuun sitoumukseen. Älä luota meihin, tarkista itse: yllä oleva työkalu tekee juuri sen. Koska oma asiakassiemenesikin sekoitetaan mukaan, kukaan ei voi valita, vaihtaa eikä heittää noppia uudelleen, me mukaan lukien.
Yhtä tärkeää on, missä heitto tapahtuu. Noppia ei koskaan luoda laitteellasi, puhelimesi vain näyttää heiton, jonka palvelin on jo tehnyt. Tuo yksi suunnitteluratkaisu poistaa koko noppahuijausten perheen: muokattu sovellus ei voi heittää uudelleen, viivepiikki ei voi kahdentaa heittoa, eikä mikään asiakaspuolen kikka voi kurkistaa seuraavaa lukua, sillä seuraavaa lukua ei ole missään, ennen kuin palvelin luo sen.
Eikä heittoja koskaan säädetä. Ei ole ”sitoutumiskäyrää”, ei paluumekaniikkaa, ei tukea tappioputkessa oleville pelaajille. Generaattori ei tiedä eikä välitä siitä, kuka voittaa.
Lauta: Varmennettu joka ainoalla siirrolla
Reiluista nopista olisi vähän hyötyä, jos lauta itse voisi ajautua tai sitä voisi peukaloida, joten peli toimii tiukalla palvelinvaltaisella mallilla. Laitteesi ei koskaan kerro palvelimelle, miltä lauta näyttää, se lähettää vain aikeesi (”siirrä tämä nappula 13-pisteestä 8-pisteeseen”). Palvelin tarkistaa siirron virallisia sääntöjä ja virallista lautaa vasten; laittomat siirrot yksinkertaisesti hylätään, väitti muokattu asiakas mitä tahansa.
Sitten tulee kaksoistarkistus: jokaisella tilapäivityksellä palvelin lähettää todellisen lauta-aseman tiiviin sormenjäljen (tiivisteen). Laitteesi laskee saman sormenjäljen paikallisesta laudastaan ja vertaa. Jos yksikin nappula poikkeaa, asiakas hylkää oman kopionsa ja synkronoi uudelleen palvelimelta. Molemmat pelaajat katsovat siis todistettavasti samaa peliä koko ajan, epäsynkronit korjaavat itsensä yhdellä edestakaisella, eikä ole hetkeä, jolloin vanhentuneella tai muokatulla laudalla voisi pelata.
Vastustajat: Glicko-2-vastinparit
Reiluus koskee myös sitä, ketä vastaan pelaat. Sijoitukset käyttävät täällä Glicko-2-järjestelmää, Elon nykyaikaista seuraajaa, joka seuraa sekä pelivahvuuttasi että järjestelmän varmuutta tuosta arviosta, joten uudet pelaajat päätyvät nopeasti oikealle tasolleen sen sijaan, että olisivat askelkiviä viidenkymmenen pelin ajan. Vastinparit yhdistävät sinut samantasoisiin vastustajiin, ja sijoitetut tulokset syötetään takaisin jokaisen pelin jälkeen.
Tulos: kun voitat, olet päihittänyt vertaisesi. Kun häviät, on jotain oikeaa opittavaa, useimmiten strategiaoppaissa.
Miltä reilut nopat oikeasti tuntuvat
Tässä epämukava totuus: aidosti satunnaiset nopat tuntuvat vaihtelevammilta kuin useimmat odottavat. Aito satunnaisuus tuottaa neljä tuplaa peräkkäin, turhia sisääntuloyrityksiä yhden pisteen lautaa vastaan ja viimeisen heiton ihmeitä, juuri niillä yleisyyksillä, jotka todennäköisyys ennustaa. Se, että 17/36-heitto epäonnistuu kahdesti peräkkäin, tapahtuu useammin kuin joka neljäs kerta. Muisti säilyttää kohtuuttomuudet ja hylkää arkisen, siksi jokaisella kokeneella verkkopelaajalla on ”huijatut nopat” -tarina, eikä yksikään tilastollinen tarkastus ole koskaan vahvistanut ainuttakaan niistä täällä.
Jos haluat kalibroida vaistosi, todennäköisyyden perusteiden opas esittää oikeat luvut: 36 yhdistelmää, osumatodennäköisyydet joka etäisyydelle, sisääntulon mahdollisuudet palkilta. Kun tietää, että tietty luku tulee 11 kertaa 36:sta, ”mahdoton epäonni” muuttuu ”ihan tavalliseksi tiistaiksi”.
Haluatko syvemmän teknisen version, generaattoriluokat, miten commit-reveal-todistus toimii ja ”huijattujen” putkien psykologian? Blogista löytyy: miten palvelinpuolen RNG oikeasti toimii.
Lupauksemme
- Palvelimella luodut, todistettavasti reilut nopat: koskaan ei heitetä laitteella, koskaan ei säädetä minkään pelaajan tai tilanteen vuoksi, ja kuka tahansa voi varmentaa ne pelin päätyttyä.
- Sääntöjen valvonta lähteellä: palvelin validoi jokaisen siirron; muokatut asiakkaat eivät hyödy mitään.
- Jatkuva laudan varmennus: tiiviste tarkistetaan joka päivityksellä, itsestään korjautuva jokaisessa ristiriidassa.
- Taitoon perustuva parinmuodostus: Glicko-2-sijoitukset ja sijoitukseen perustuvat vastinparit.
Reilut nopat tarkoittavat, että ainoa jäljelle jäävä etu pöydässä on taito, ja taidon voi oppia. Aloita säännöistä, teroita sitä strategialla ja testaa se livenä: alla oleva pöytä on ilmainen, selaimessasi, ilman asennusta.