Tärningarnas rättvisa: så fungerar server-RNG i backgammon egentligen

Varje spelare som har spelat backgammon på nätet har någon gång skrivit in samma sökning i någon form: är tärningarna riggade? Frågan förtjänar ett riktigt svar, inte en axelryckning från en marknadsavdelning. Det här är den tekniska versionen: var digitala tärningar kommer ifrån, vad som faktiskt kan gå fel, och hur ett ordentligt byggt spel lägger ett kastat tal utom räckhåll för alla genom arkitektur i stället för genom löften.

Var en digital tärning föds

En fysisk tärning slumpas av fysiken: rullen, studsen, filten. En digital tärning är ett tal som kommer ur en slumptalsgenerator (RNG), en programvara (ofta matad av hårdvara) vars enda uppgift är att leverera värden som ingen kan förutsäga eller återskapa.

Alla generatorer är inte likvärdiga. En enkel pseudoslumpmässig generator, den sorten som blandar en spellista, ger en följd som är helt bestämd av sitt startvärde (sitt seed). Den som känner startvärdet och algoritmen känner varje ”slumpmässigt” tal generatorn någonsin kommer att producera. Det duger utmärkt till spellistor och är oanvändbart i spel där något står på spel. Seriösa spel använder kryptografiskt säkra generatorer (CSPRNG), som hela tiden matas om med entropi från verkligheten: brus i hårdvaran, jitter i tidtagningen, kaoset bland operativsystemets händelser. Deras utmärkande egenskap är precis den ett tärningsspel behöver: inte ens en angripare som har följt varje tidigare utfall kan förutsäga nästa.

Den viktigare frågan: var körs den?

Här kommer den del som de flesta spelare aldrig kommer på att fråga om. Det spelar mindre roll vilken generator som producerar ditt kast än var den körs. Skapas tärningarna på spelarens egen enhet är spelet strukturellt trasigt hur bra algoritmen än är: en modifierad klient kan kasta om tills resultatet duger, ändra utfallet i minnet eller tjuvkika på värden innan den binder sig vid ett drag. Tärningar på klientsidan är ett löfte, och löften går att patcha bort ur en app.

Den riktiga arkitekturen är serverauktoritativ: kastet sker på spelservern, i en miljö som ingen spelares hårdvara kommer åt. Din enhet tar emot ett kast som redan finns och animerar det bara. I vårt spel går det, som vi beskriver på sidan om rättvist spel, längre än till tärningarna: servern prövar varje försök till drag mot reglerna, och båda klienterna stämmer hela tiden av sitt bräde mot ett fingeravtryck som servern skickar med varje uppdatering. Det finns inget ögonblick då en spelares enhet får förtroende i något som betyder något.

Det enda designbeslutet utplånar hela kategorier av fusk på en gång. Ingen kan kasta om, eftersom kastet kommer före turen. Ingen kan läsa av nästa tal ur sin egen enhet, eftersom det inte finns där att läsa. Och ingen kan tyst böja brädet, eftersom ett bräde som säger emot serverns kastas bort och synkroniseras om inom en tur och retur.

Vad ”bevisbart rättvist” faktiskt betyder

I åratal var branschens svar på frågan om tärningarna är ärliga ett certifikat: ett labb granskar generatorn en gång och utfärdar en stämpel som du ombeds lita på. Vi tycker att du förtjänar något starkare än en stämpel. Bevisbart rättvist betyder att du aldrig behöver lita på oss alls, eftersom varje tärning bär sitt eget bevis. Metoden är ett åtagande i förväg plus ett utbyte tur för tur, och den ser ut så här: en bunt förseglade lappar för varje spelare, plus ett förseglat kuvert från oss:

  • Lås. Innan den första tärningen kastas skapar servern ett hemligt seed och räcker dig ett kryptografiskt fingeravtryck av det, en hash, medan utfallet fortfarande är okänt. I samma ögonblick förseglar varje spelares app en egen numrerad bunt lappar och offentliggör bara buntens fingeravtryck. Alla tre fingeravtryck fryses ihop i en och samma post, så att inget kan bytas ut mot ett annat i efterhand, och inget av dem avslöjar vad det döljer.
  • Utbyte. Tärningarna är inte bestämda i förväg. De byggs en i taget av en fast, offentlig formel, och var och en behöver en lapp ur båda buntarna. Varje tur offentliggör den som står i tur sin nästa lapp först, motståndaren släpper sin först när den är låst, och tärningen räknas ut sist, ur båda lapparna och det förseglade seedet. Varje lapps försegling härleds ur nästa lapp i bunten, och det är därför en lapp inte går att byta ut i efterhand. Och eftersom den sista okända ingången alltid ligger på andra sidan brädet kan ingen, vi inräknade, känna till en tärning så länge något beslut som fortfarande kan ändra den är öppet.
  • Kontroll. När partiet är slut öppnar servern sitt kuvert och visar dig sitt seed, och hela posten offentliggörs. Du hashar seedet och bekräftar att det stämmer med fingeravtrycket du fick i början, beviset för att det aldrig byttes ut; du kontrollerar att varje lapp hör till den bunt som dess sida band sig vid; sedan kör du samma offentliga formel och härleder om varje kast själv. Hade en enda tärning knuffats till skulle omräkningen inte stämma, och manipulationen vore omöjlig att förneka.

Det är hela skillnaden mellan ”lita på vårt certifikat” och ”kontrollera själv”. Du behöver inte tro att våra tärningar är ärliga; du kan kontrollera dem, ett avslutat parti i taget, med matematik vem som helst kan köra. Sidan om rättvist spel bär verktyget som gör exakt det: ge det ett avslutat parti och se varje kast härledas om framför dig ur den offentliggjorda posten. Det enda en offentlig sida inte kan göra är att bekräfta att posten är ditt parti, för bara din enhet sparade kopian av de fingeravtryck den låste före spelet; den sista kontrollen bor i appen.

En ärlig anmärkning som beviset inte ändrar: bevisbart rättvisa tärningar är fortfarande inte jämna, artiga tärningar som turas om. Ett verifierbart seed producerar klumpar, svit och torka precis så ofta som sannolikheten förutsäger. En ström helt utan svit vore den misstänkta. Äkta slump är klumpig, och det är just därför den så ofta känns riggad.

Varför rättvisa tärningar känns riggade

Vilket för oss till psykologin, för känslan av riggade tärningar är verklig även när tärningarna inte är det. Tre väldokumenterade skevheter gör jobbet:

Selektivt minne. Du minns kvällen då du dansade på baren fyra turer i rad. Du minns inte de hundratals gånger du kom in direkt före den. Smärtsamma utfall lagras starkare, och varje erfaren spelare bär på ett privat museum över oförrätter utan något arkiv över det vanliga.

De små talens lag. Människor väntar sig att pyttesmå stickprov ska se ut som långa medelvärden. På 36 kast ”ska” varje kombination komma ungefär en gång, men verkliga serier om 36 kast är vilt ojämna, med några tal helt frånvarande och andra tredubblade. En kväll backgammon är ett pyttelitet stickprov. Variansen styr den, och varians känns personlig.

Förlustasymmetri. Ett skott på 17 av 36 som träffar dig känns som orättvisa; de 19 gånger av 36 då det missar känns inte alls. Eftersom backgammon hela tiden avgör händelser i spannet 30 till 70 procent finns det ett stadigt utbud av ”omöjliga” utfall, och de kommer precis så ofta som de är möjliga.

Motgiftet är att kunna de riktiga siffrorna. Ett bestämt tal dyker upp i 11 av 36 kast. Dubbel kommer vart sjätte kast. En blotta sex pip bort träffas nästan varannan gång. Vår guide till sannolikhetens grunder lägger ut hela tabellen, och när de siffrorna sitter i huvudet omklassificerar sig de flesta ”riggade” ögonblick till alldagliga tisdagar.

Frågan om drivkrafter

En ärlig poäng till: en backgammonoperatör har ingenting att vinna på skeva tärningar och allt att förlora. Tävlingsspelarna, de som stannar i åratal, är precis de människor som räknar odds och märker avvikelser. Ratingsystem fungerar samtidigt som offentliga revisionsspår: gynnade tärningarna någon systematiskt skulle ratingfördelningarna glida på mätbara sätt. Rättvisa tärningar är ingen dygd vi spelar upp, de är den enda stabila affärsmodell ett skicklighetsspel har.

Så övertygar du dig själv

Ta ingen operatörs ord för det, inte heller vårt. Lär dig grundfrekvenserna ur sannolikhetsguiden och följ sedan dina egna partier med de talen i huvudet: chansen att komma in mot ett bräde med två bildade fält, hur ofta dubbel kommer under en lång session, träffprocenten på direkta skott. Ärliga tärningar närmar sig tabellens förutsägelser förvånansvärt snabbt. Och vill du ha de arkitektoniska detaljerna, åtagandena och utbytet tur för tur, kasten på servern, brädkontrollen vid varje drag, Glicko-2-matchningen, så är sidan om rättvist spel hela redogörelsen för hur vårt bord är byggt, verifieringsverktyget inräknat. Sedan är den variabel som avgör partier den som borde avgöra dem: hur väl du spelar de kast du får. Strategiguiderna finns för precis det.

Omsätt det i praktiken

Det snabbaste sättet att lära sig backgammon är att spela. Möt riktiga spelare direkt i webbläsaren: gratis, ingen installation, ingen registrering.

Spela backgammon gratisI webbläsaren · ingen installation