provably fairdiceguide
Du verifierar backgammontärningar med ett löfte som ges före partiet och kontrolleras efter det. Orion publicerar ett SHA-256-åtagande på ett hemligt frö före ditt första kast, avslöjar fröet när partiet tar slut, och låter din webbläsare räkna om varje kast på orion.arthea.ai/verify med enbart partiets id. Om allt stämmer var tärningarna låsta innan spelet började, och ingen, inte heller vi, styrde dem.
Varje spelare online känner igen känslan. Du dansar på baren i tre drag. Motståndaren hittar det enda talet som både träffar och täcker. Vid ett träbräde skulle du rycka på axlarna, för du såg tärningarna lämna bägaren. Online ombeds du lita på ett tal vars tillkomst du aldrig såg. Vi ville inte be om den tilliten. Vi ville göra den kontrollerbar.
Vad betyder commit-reveal egentligen?
Föreställ dig ett förseglat kuvert. Innan du sätter dig skriver huset in kvällens alla tärningar i det, förseglar det och räcker dig ett fotografi av sigillet. När spelandet är slut öppnas kuvertet. Om innehållet stämmer med sigillet fanns kasten före partiet, och ingenting kunde plockas fram mitt i för att skada dig. Commit-reveal är det kuvertet, byggt av aritmetik. Sigillet är en SHA-256-hash, och ingen kan framställa ett annat frö som passar det. Fyra steg bär beviset från vår server till din webbläsare.
Före partiet. Servern drar ett hemligt slumpfrö och hashar det med SHA-256. Den hashen är åtagandet, och den fästs vid ditt parti före första kastet. Från det ögonblicket är hela partiets tärningar redan bestämda. Servern har publicerat ett löfte den inte längre kan ändra.
Under partiet. Varje kast härleds ur fröet med HMAC-SHA256: in går fröet och kastets nummer, ut kommer två tärningar. Ställningen, ställningen i matchen, kuben, vem som är på väg att vinna: inget av det går in i beräkningen. Servern väljer inte kast. Den läser upp en lista den band sig vid innan du spelade.
När partiet tar slut. Fröet avslöjas och sparas tillsammans med partiets protokoll. Det är kuvertöppningen. Vem som helst kan hasha det avslöjade fröet och jämföra med åtagandet som publicerades före första draget, och de två måste vara identiska.
Verifiera själv. Öppna orion.arthea.ai/verify i vilken webbläsare som helst och ange partiets id. Sidan räknar om allt lokalt med Web Crypto, kryptografin som är inbyggd i själva webbläsaren: först SHA-256 på det avslöjade fröet mot det ursprungliga åtagandet, sedan varje kast i partiet, tärning för tärning. Inget konto, ingen app, ungefär en minut.
En fullständig träff slår fast tre fakta på en gång:
- Det avslöjade fröet hashar till exakt det åtagande som publicerades före första kastet
- Varje kast i partiet härleds ur det fröet med HMAC-SHA256, alltså har inget kastats om eller bytts ut
- Tärningarna anpassades aldrig efter ställningen, matchställningen eller spelaren
Vad skulle en avvikelse bevisa?
En avvikelse vore inte ett visningsfel. Den vore ett bevis. Om det avslöjade fröet inte hashar till åtagandet ändrades tärningarna efter att partiet börjat. Om ett enda kast faller på HMAC-kontrollen var tärningarna du såg inte de tärningar som utlovats. Vilket som av dessa fel är bevis på manipulation som vem som helst kan återskapa ur samma protokoll, på vilken maskin som helst, för alltid.
Och det är också därför du aldrig borde få se en. Åtagandet publiceras först, innan en enda bricka rör sig. Ett hus som ville rigga det här partiet skulle behöva publicera beviset för sin egen riggning i förväg och sedan räcka varje spelare verktygen för att hitta det. Vi ber dig inte tro att vi är ärliga. Vi byggde systemet så att du slipper.
Ingen kan sikta ett kast som förseglades innan partiet började.
Om tärningarna bevisligen är rättvisa, varför slår jag ändå dåligt?
För att rättvisa tärningar fortfarande är tärningar. Du kommer att stängas inne på baren. Du kommer att behöva vad som helst utom 2-1 och slå 2-1. Över tusentals partier planar talen ut mot den sanna fördelningen, men en kväll lovar ingenting. Det verifieringen tar bort är frågan under irritationen. Det där mirakelkastet låstes innan någon av er rörde en bricka, och det siktade inte på dig. Att veta det gör inte kastet mjukare. Men det låter dig sluta granska universum och återvända till ställningen.
Tärningarna är den högljuddaste misstanken, men inte den enda. Samma server som binder sig vid dina kast validerar också varje drag vid källan, så en modifierad klient kan inte smyga en bricka dit reglerna inte tillåter. Rättvisa kast och lagliga drag kommer från samma auktoritet.
Kan jag testa verifieraren redan nu?
Ja. Verifieraren är i drift redan i dag på orion.arthea.ai/verify och innehåller en demouppspelning, så du kan se en fullständig verifiering köra på ett exempelparti utan att installera något och utan att skapa konto. Dörren på orion.arthea.ai/go bär länkarna till App Store och Google Play och visar alltid vad som är tillgängligt just nu.