Fair terninger, fair play

Enhver backgammonspiller, der taber på en dobbelt i sidste kast, har undret sig: er disse terninger fair? Det er det rigtige spørgsmål at stille enhver backgammon-app. Her er præcis, hvordan vores terninger frembringes, hvorfor ingen, os selv iberegnet, kan skævvride dem, og hvordan resten af spillet også holdes ærligt.

Efterprøv selv ethvert afsluttet spil

Ord er billige, så her er den del, du selv kan køre. Når et parti slutter, afslører vi dets server-seed, den forpligtelse, vi offentliggjorde før første kast, og hvert led, som de to sider offentliggjorde undervejs. Indsæt afsløringspakken nedenfor, eller slå partiet op på dets id: denne side genudleder hver eneste terning ud fra den optegnelse, nøjagtig samme beregning som vores servere kørte, og viser dig kast for kast, om de gemte værdier passer. Intet af det kræver, at du tager os på ordet; regnestykket ligger åbent, og enhver kan gøre det efter. Det eneste, denne side bevidst ikke gør, er at uddele et grønt "beviseligt fair", for det kan den ikke fortjene ærligt. Den ser aldrig de værdier, din egen enhed skrev ned og låste før første kast, og en optegnelse, hvis kæde er skiftet helt ud med en omhyggelig forfalskning, genudledes her lige så fejlfrit. Kun en sammenligning byte for byte med det, din enhed låste, kan udelukke det, og de værdier har kun din app. Derfor er "sammenhængende" det ærlige loft på denne side, og den stærkeste afgørelse er den, Verificér-skærmen i appen kan give dig.

Pakken afslører kun fairness-data, seeds, forpligtelsen, nonces og terninger. Ingen spillernavne eller konti er involveret.

eller

Vi slår kun det spils fairness-felter op, aldrig nogen spilleridentitet.

Når appens Verificér-link åbner denne side, tager det forpligtelsen med, så du kan holde den op mod den, der ligger i optegnelsen. Det ændrer ikke resultatet nedenfor: kopien, der blev låst før første kast, findes kun på din enhed, og sammenligningen med den foretager kontrollen i appen.

Det klient-seed, din app registrerede ved spilstart, hentet hertil så du kan holde det op mod de seeds, optegnelsen afslører. Ligesom forpligtelsen ændrer det ikke resultatet nedenfor: den låste kopi findes kun på din enhed, og at matche mod den er appkontrollens opgave.

Terningerne: Beviseligt fair, kastet på serveren

Hvert kast i et afsluttet onlineparti bliver til på vores spilservere, og det er beviseligt fair, uden at du behøver tage os på ordet. Før første kast offentliggør vi en forpligtelse på det hemmelige seed, terningerne kommer af, og begge spilleres apps forpligter sig hver på deres egen kæde; det hele fryses i én optegnelse, før nogen overhovedet kaster. Derefter bruger hvert kast ét friskt led fra hver sides kæde: den, der er i tur, offentliggør sit i begyndelsen af turen, modstanderen slipper sit først, når dét er låst, og terningen udledes til sidst. Den sidste ukendte indgang til en terning ligger derfor altid på den anden side af brættet. Åbningsterningerne er ingen undtagelse, ingen af dem findes, før begge sider har bidraget. Hver terning er altså det deterministiske resultat af værdier, der er bundet på forhånd: ingen, os selv medregnet, kan vælge en terning, bytte den ud med en anden eller stille og roligt kaste den om. Det er en påstand om værdien af et færdigt kast, og den rækker ikke længere: om et parti bliver afbrudt, om en besked når frem, og hvis ur der løb ud, ligger alt sammen uden for den. Værktøjet ovenfor genudleder hver terning i et færdigt parti ud fra den offentliggjorte optegnelse, et regnestykke enhver kan gøre efter. Det, værktøjet ikke kan, er at bekræfte, at optegnelsen er dit parti: det kræver de værdier, din enhed låste før spillet, og dem har kun din app, så det sidste skridt sker på Verificér-skærmen i appen.

Lige så vigtigt er, hvor kastet sker. Terningerne frembringes aldrig på din enhed, din telefon viser blot et kast, serveren allerede har foretaget. Netop den designbeslutning fjerner hele familien af terningefusk: en ændret app kan ikke kaste om, et forsinkelsesudsving kan ikke fordoble et kast, og intet trick på klientsiden kan skæve til det næste tal, for det næste tal ligger ikke på din telefon til at blive læst: det udledes på serveren, og først når begge sider har sluppet deres led for den tur.

Og kastene justeres aldrig. Der er ingen »engagementskurve«, ingen comeback-mekanik, ingen håndsrækning til spillere i en tabsstime. Generatoren hverken ved eller bekymrer sig om, hvem der vinder.

Brættet: Verificeret ved hvert eneste træk

Fair terninger ville betyde lidt, hvis brættet selv kunne drive af eller pilles ved, så spillet kører efter en streng server-autoritativ model. Din enhed fortæller aldrig serveren, hvordan brættet ser ud, den sender kun din hensigt (»flyt denne brik fra 13-punktet til 8-punktet«). Serveren efterprøver det træk mod de officielle regler og det officielle bræt; ulovlige træk afvises simpelthen, uanset hvad en ændret klient hævder.

Så kommer dobbeltkontrollen: ved hver tilstandsopdatering udsender serveren et kompakt fingeraftryk (hash) af den sande brætstilling. Din enhed beregner det samme fingeraftryk ud fra sit lokale bræt og sammenligner. Hvis blot en enkelt brik afviger, kasserer klienten sin kopi og synkroniserer på ny fra serveren. Begge spillere ser derfor beviseligt det samme spil hele tiden, uoverensstemmelser heler sig selv på én rundtur, og der er intet vindue, hvor et forældet eller manipuleret bræt kan spilles på.

Modstanderne: Glicko-2-matchmaking

Fairness handler også om, hvem du møder. Placeringerne her bruger Glicko-2, en moderne afløser for Elo, der følger både din spillestyrke og systemets tiltro til det skøn, så nye spillere hurtigt nærmer sig deres sande niveau i stedet for at være trædesten i halvtreds spil. Matchmaking parrer dig med modstandere af sammenlignelig placering, og placerede resultater føres tilbage efter hvert spil.

Resultatet: når du vinder, har du overspillet en ligemand. Når du taber, er der noget virkeligt at lære, oftest i strategivejledningerne.

Hvordan fair terninger faktisk føles

Her er den ubehagelige sandhed: ægte tilfældige terninger føles mere lunefulde, end de fleste forventer. Ægte tilfældighed frembringer fire dobbelte i træk, forgæves indgange mod et etpunktsbræt og mirakler i sidste kast, netop i de hyppigheder, sandsynligheden forudsiger. At et 17/36-kast fejler to gange i træk sker mere end hver fjerde gang. Hukommelsen gemmer skandalerne og kasserer det rutineprægede, og derfor har hver erfaren onlinespiller en historie om »fuskede terninger«, og ingen statistisk gennemgang har nogensinde bekræftet en eneste af dem her.

Vil du kalibrere din intuition, lægger vejledningen i sandsynlighedens grundbegreber de rigtige tal frem: 36 kombinationer, rammeodds på hver afstand, indgangschancer fra baren. At vide, at et bestemt tal dukker op 11 gange ud af 36, forvandler »umulig uheld« til »en helt almindelig tirsdag«.

Vil du have den dybere tekniske version, generatorklasser, hvordan commit-reveal-beviset virker, og psykologien bag »fuskede« stimer? Bloggen har den: hvordan server-side RNG faktisk virker.

Vores løfte

  • Servergenererede, beviseligt fair terninger: kastes aldrig på en enhed, justeres aldrig for nogen spiller eller situation og udledes af input, som begge sider forpligter sig på før første kast; når partiet er slut, kan hver terning genudledes af den offentliggjorte optegnelse, og appen bekræfter, at partiet var dit.
  • Regelhåndhævelse ved kilden: hvert træk valideres af serveren; ændrede klienter vinder intet.
  • Løbende brætverificering: hash-kontrolleret ved hver opdatering, selvhelende ved enhver uoverensstemmelse.
  • Færdighedsbaseret parring: Glicko-2-placeringer og placeringsbaseret matchmaking.

Fair terninger betyder, at den eneste fordel, der er tilbage ved bordet, er færdighed, og færdighed kan læres. Begynd med reglerne, skærp den med strategi, og afprøv den live: bordet nedenfor er gratis, i din browser, uden installation.

Ofte stillede spørgsmål

Er terningerne i online backgammon manipuleret?

Nej, og du behøver ikke tage os på ordet. I et færdigspillet onlineparti kommer hvert kast fra input, der blev bundet før spillet: vi offentliggør en forpligtelse på vores hemmelige seed, begge spilleres apps forpligter sig hver på deres egen kæde, og derefter bruger hvert kast ét friskt led fra hver side; den, der er i tur, offentliggør først, og modstanderen slipper sit først, når dét er låst. Ingen terning findes, før begge sider har bidraget, så ingen, os selv medregnet, kan vælge en terning, bytte den ud eller stille og roligt kaste den om; det gælder værdien af et færdigt kast og ikke længere: et afbrudt parti, en besked der ikke når frem, og hvis ur der løb ud, ligger uden for dette bevis. Enhver kan genudlede hvert kast i et færdigt parti af den offentliggjorte optegnelse på denne side, og at bekræfte, at optegnelsen er dit eget parti, er det skridt, der hører til appen, som har de værdier, din enhed låste før spillet. Terningerne bliver aldrig genereret på din telefon og bliver aldrig justeret for at hjælpe eller skade en spiller, styre partier eller påvirke resultater.

Hvorfor føles det, som om jeg får dårligere terninger end min modstander?

Fordi den menneskelige hukommelse er skæv: smertefulde slag huskes, rutinekast glemmes. I et enkelt parti svinger terningeheldet virkelig, sådan er backgammon. Over mange partier jævner det sig præcist ud, og de spillere, der vinder konsekvent, er dem, der træffer bedre beslutninger med den samme fordeling af kast. Vores sandsynlighedsguide viser, hvordan de reelle odds ser ud.

Kan min modstander snyde eller manipulere brættet?

Nej. Serveren er den eneste autoritet i partiet: den genererer terningerne, kontrollerer, at hvert forsøgt træk er lovligt, og udfører det på det officielle bræt. En ændret klient kan ikke sende et ulovligt træk, serveren afviser ganske enkelt alt, som reglerne ikke tillader, og begge spilleres brætter kontrolleres løbende mod serverens med et kryptografisk hash ved hver opdatering.

Hvordan forbliver matchmaking fair?

Ratings bruger Glicko-2-systemet, en moderne videreudvikling af Elo, der ikke kun følger din styrke, men også hvor sikkert systemet er på den. Matchmaking sætter dig sammen med modstandere på et sammenligneligt niveau, så sejre kommer af at spille bedre end ligemænd, ikke af at høste nybegyndere.

Omsæt det i praksis

Den hurtigste måde at lære backgammon på er at spille det. Mød rigtige spillere direkte i din browser: gratis, uden installation og uden tilmelding.

Spil backgammon gratisI din browser · ingen installation