News

Com verificar que els teus daus van ser justos

Cada partida d'Orion segella els daus amb SHA-256 abans de la primera tirada. Enganxa l'id a orion.arthea.ai/verify i el navegador ho recalcula tot.

provably fairdiceguide

Els daus del backgammon es verifiquen amb una promesa feta abans de la partida i comprovada després. Orion publica un compromís SHA-256 sobre una llavor secreta abans de la teva primera tirada, revela la llavor quan la partida s'acaba, i deixa que el teu navegador recalculi cada tirada a orion.arthea.ai/verify només amb l'id de la partida. Si tot quadra, els daus estaven fixats abans que comencés el joc, i ningú, nosaltres tampoc, no els va torçar.

Tot jugador en línia coneix la sensació. Balles a la barra durant tres moviments. El rival troba l'únic número que alhora toca i tapa. En un tauler de fusta arronsaries les espatlles, perquè has vist els daus sortir del gobelet. En línia et demanen que et refiïs d'un número que no has vist néixer mai. Aquesta confiança no la volíem demanar. La volíem fer comprovable.

Què vol dir realment commit-reveal?

Imagina un sobre segellat. Abans que seguis, la casa hi escriu els daus de la nit, el segella i et dona una fotografia del segell. Quan s'acaba el joc, el sobre s'obre. Si el contingut coincideix amb el segell, les tirades ja existien abans de la partida, i pel camí no s'hi podia triar res per perjudicar-te. El commit-reveal és aquest sobre, fet d'aritmètica. El segell és un hash SHA-256, i ningú no pot fabricar una altra llavor que hi encaixi. Quatre passos porten la prova del nostre servidor al teu navegador.

Abans de la partida. El servidor treu una llavor aleatòria secreta i en fa el hash amb SHA-256. Aquest hash és el compromís, i s'adjunta a la teva partida abans de la primera tirada. Des d'aquell moment, els daus de tota la partida ja estan fixats. El servidor ha publicat una promesa que ja no pot editar.

Durant la partida. Cada tirada es deriva de la llavor amb HMAC-SHA256: hi entren la llavor i el número de tirada, en surten dos daus. La posició del tauler, el marcador del duel, el cub, qui està a punt de guanyar: res d'això no entra en el càlcul. El servidor no tria tirades. Llegeix en veu alta una llista a la qual es va comprometre abans que juguessis.

Quan la partida s'acaba. La llavor es revela i es desa amb el registre de la partida. Aquesta és l'obertura del sobre. Qualsevol pot fer el hash de la llavor revelada i comparar-lo amb el compromís publicat abans del primer moviment, i tots dos han de ser idèntics.

Verifica-ho tu mateix. Obre orion.arthea.ai/verify amb qualsevol navegador i escriu l'id de la partida. La pàgina ho recalcula tot localment amb Web Crypto, la criptografia integrada al navegador mateix: primer el SHA-256 de la llavor revelada contra el compromís original, després cada tirada de la partida, dau a dau. Sense compte, sense aplicació, aproximadament un minut.

Una coincidència completa estableix tres fets alhora:

  • La llavor revelada fa hash exactament amb el compromís publicat abans de la primera tirada
  • Cada tirada de la partida es deriva d'aquella llavor via HMAC-SHA256, o sigui que res no s'ha tornat a tirar ni s'ha substituït
  • Els daus no es van adaptar mai a la posició del tauler, al marcador del duel ni al jugador

Què provaria una discrepància?

Una discrepància no seria un error de visualització. Seria una prova. Si la llavor revelada no fa hash amb el compromís, els daus es van canviar després que comencés la partida. Si una sola tirada falla la comprovació HMAC, els daus que has vist no eren els daus compromesos. Totes dues avaries són una prova de manipulació que qualsevol pot reproduir a partir del mateix registre, en qualsevol màquina, per sempre.

I precisament per això no n'hauries de veure mai cap. El compromís es publica primer, abans que es mogui ni una fitxa. Una casa que volgués manipular aquesta partida hauria de publicar per endavant la prova de la seva pròpia manipulació i després donar a cada jugador l'eina per trobar-la. No et demanem que et creguis que som honestos. Hem construït el sistema perquè no calgui.

Ningú no pot apuntar una tirada que va quedar segellada abans que comencés la partida.

Si els daus són demostrablement justos, per què tiro tan malament?

Perquè uns daus justos continuen sent daus. Quedaràs tancat a la barra. Necessites qualsevol cosa que no sigui 2-1, i llavors surt 2-1. Al llarg de milers de partides els números s'aplanen cap a la distribució real, però una nit no promet res. El que treu la verificació és la pregunta que hi ha sota l'empipament. Aquella tirada miraculosa estava fixada abans que cap dels dos toqués una fitxa, i no t'apuntava a tu. Saber-ho no fa la tirada més suau. Però et permet deixar d'investigar l'univers i tornar a la posició.

Els daus són la sospita més gran, però no l'única. El mateix servidor que es compromet amb les teves tirades també valida cada moviment a l'origen, així que una aplicació modificada no pot colar una fitxa on les regles no ho permeten. Les tirades justes i els moviments legals vénen de la mateixa autoritat.

Puc provar la verificació ara mateix?

Sí. La verificació ja funciona avui a orion.arthea.ai/verify i inclou una reproducció de demostració, o sigui que pots veure una verificació completa sobre una partida d'exemple sense instal·lar res i sense crear cap compte. La porta d'orion.arthea.ai/go duu els enllaços a l'App Store i a Google Play i sempre mostra què hi ha disponible ara mateix.