provably fairdiceguide
Je verifieert backgammonstenen met een belofte die vóór de partij is gedaan en erna wordt gecontroleerd. Orion publiceert een SHA-256-toezegging op een geheim zaad vóór je eerste worp, onthult het zaad als de partij eindigt, en laat je browser elke worp herberekenen op orion.arthea.ai/verify met alleen het partijnummer. Als alles klopt, lagen de stenen vast voordat er gespeeld werd en heeft niemand, wij inbegrepen, ze gestuurd.
Elke onlinespeler kent het gevoel. Je danst drie beurten op de bar. Je tegenstander vindt het enige getal dat raakt en dekt. Aan een houten bord haalde je je schouders op, want je zag de stenen uit de beker komen. Online wordt je gevraagd te vertrouwen op een getal waarvan je het ontstaan nooit zag. Dat vertrouwen wilden we niet vragen. We wilden het controleerbaar maken.
Wat betekent commit-reveal eigenlijk?
Stel je een verzegelde envelop voor. Voordat je gaat zitten schrijft het huis alle stenen van de avond erin, verzegelt hem en geeft je een foto van het zegel. Als het spelen klaar is gaat de envelop open. Komt de inhoud overeen met het zegel, dan bestonden de worpen eerder dan de partij, en kon er onderweg niets gekozen worden om jou te schaden. Commit-reveal is die envelop, gebouwd uit rekenkunde. Het zegel is een SHA-256-hash, en niemand kan een ander zaad maken dat erbij past. Vier stappen dragen het bewijs van onze server naar jouw browser.
Vóór de partij. De server trekt een geheim willekeurig zaad en hasht het met SHA-256. Die hash is de toezegging, en hij wordt vóór de eerste worp aan je partij gehecht. Vanaf dat moment liggen de stenen van de hele partij al vast. De server heeft een belofte gepubliceerd die hij niet meer kan wijzigen.
Tijdens de partij. Elke worp wordt uit het zaad afgeleid met HMAC-SHA256: zaad en worpnummer erin, twee stenen eruit. De stelling, de stand, de dobbelkubus, wie bijna wint: niets daarvan komt in de berekening. De server kiest geen worpen. Hij leest een lijst voor waaraan hij zich verbond voordat jij speelde.
Als de partij eindigt. Het zaad wordt onthuld en bewaard bij het partijverslag. Dit is het openen van de envelop. Iedereen kan het onthulde zaad hashen en vergelijken met de toezegging die vóór de eerste zet werd gepubliceerd, en die twee moeten identiek zijn.
Verifieer het zelf. Open orion.arthea.ai/verify in een willekeurige browser en voer het partijnummer in. De pagina herberekent alles lokaal met Web Crypto, de cryptografie die in de browser zelf zit: eerst de SHA-256 van het onthulde zaad tegen de oorspronkelijke toezegging, dan elke worp van de partij, steen voor steen. Geen account, geen app, ongeveer een minuut.
Een volledige overeenkomst legt drie feiten tegelijk vast:
- Het onthulde zaad hasht naar precies de toezegging die vóór de eerste worp werd gepubliceerd
- Elke worp van de partij volgt uit dat zaad via HMAC-SHA256, dus er is niets opnieuw geworpen of verwisseld
- De stenen zijn nooit aangepast aan de stelling, de stand of de speler
Wat zou een afwijking bewijzen?
Een afwijking zou geen weergavefout zijn. Het zou bewijs zijn. Hasht het onthulde zaad niet naar de toezegging, dan zijn de stenen na aanvang van de partij veranderd. Zakt ook maar één worp voor de HMAC-controle, dan waren de stenen die je zag niet de stenen waaraan werd toegezegd. Beide fouten zijn bewijs van manipulatie dat iedereen uit hetzelfde verslag kan reproduceren, op elke machine, voor altijd.
Daarom zou je er ook nooit een moeten zien. De toezegging wordt als eerste gepubliceerd, voordat één schijf beweegt. Een huis dat deze partij wilde manipuleren zou het bewijs van zijn eigen manipulatie vooraf moeten publiceren en vervolgens elke speler het gereedschap geven om het te vinden. We vragen je niet te geloven dat we eerlijk zijn. We bouwden het systeem zo dat het niet hoeft.
Niemand kan een worp richten die verzegeld werd voordat de partij begon.
Als de stenen aantoonbaar eerlijk zijn, waarom gooi ik dan nog slecht?
Omdat eerlijke stenen nog steeds stenen zijn. Je wordt op de bar dichtgezet. Je hebt alles behalve 2-1 nodig en je gooit 2-1. Over duizenden partijen vlakken de getallen af naar de echte verdeling, maar één avond belooft niets. Wat verificatie wegneemt is de vraag onder de ergernis. Die wonderworp lag vast voordat een van jullie een schijf aanraakte, en hij was niet op jou gericht. Dat weten maakt de worp niet zachter. Het laat je wel stoppen met het heelal doorlichten en terugkeren naar de stelling.
Dobbelstenen zijn het luidste vermoeden, maar niet het enige. Dezelfde server die zich vastlegt op jouw worpen valideert ook elke zet bij de bron, dus een aangepaste client kan geen schijf schuiven waar de regels dat niet toestaan. Eerlijke worpen en legale zetten komen van hetzelfde gezag.
Kan ik de verificatie nu al proberen?
Ja. De verificatie draait vandaag al op orion.arthea.ai/verify en bevat een demonstratieherhaling, zodat je een volledige controle op een voorbeeldpartij kunt zien lopen, zonder iets te installeren en zonder account. De deur op orion.arthea.ai/go draagt de links naar de App Store en Google Play en toont altijd wat er op dit moment beschikbaar is.