News

Kako preveriti, ali so bile tvoje kocke poštene

Vsaka partija Oriona zapečati kocke s SHA-256 pred prvim metom. Prilepi id partije na orion.arthea.ai/verify in brskalnik vse preračuna.

provably fairdiceguide

Kocke v backgammonu preveriš z obljubo, dano pred partijo in preverjeno po njej. Orion objavi zavezo SHA-256 na skrivno seme pred tvojim prvim metom, razkrije seme, ko se partija konča, in pusti tvojemu brskalniku, da preračuna vsak met na orion.arthea.ai/verify, samo z id-jem partije. Če se vse ujema, so bile kocke določene, preden se je igra začela, in nihče, tudi mi ne, jih ni upogibal.

Vsak spletni igralec pozna ta občutek. Tri poteze plešeš na baru. Nasprotnik najde tisto eno število, ki hkrati zadene in pokrije. Ob leseni plošči bi skomignil z rameni, ker si videl kocke zapustiti kozarec. Na spletu te prosijo, da zaupaš številu, katerega nastanka nisi nikoli videl. Tega zaupanja nismo hoteli prositi. Hoteli smo ga narediti preverljivega.

Kaj commit-reveal v resnici pomeni?

Predstavljaj si zapečateno ovojnico. Preden sedeš, hiša vanjo vpiše nocojšnje kocke, jo zapečati in ti izroči fotografijo pečata. Ko je igre konec, se ovojnica odpre. Če se vsebina ujema s pečatom, so meti obstajali pred partijo in med potjo ni bilo mogoče ničesar izbrati tebi v škodo. Commit-reveal je ta ovojnica, zgrajena iz aritmetike. Pečat je zgoščena vrednost SHA-256 in nihče ne more izdelati drugega semena, ki bi se ujemalo z njo. Štirje koraki nesejo ta dokaz z našega strežnika v tvoj brskalnik.

Pred partijo. Strežnik potegne skrivno naključno seme in ga zgosti s SHA-256. Ta zgoščena vrednost je zaveza in se pripne k tvoji partiji pred prvim metom. Od tistega trenutka so kocke celotne partije že zaklenjene. Strežnik je objavil obljubo, ki je ne more več urejati.

Med partijo. Vsak met se izpelje iz semena s HMAC-SHA256: noter gresta seme in številka meta, ven prideta dve kocki. Položaj na plošči, izid dvoboja, kocka za podvojitev, kdo je pred zmago: nič od tega ne gre v izračun. Strežnik metov ne izbira. Na glas bere seznam, s katerim se je zavezal, preden si zaigral.

Ko se partija konča. Seme se razkrije in shrani z zapisnikom partije. To je odprtje ovojnice. Kdor koli lahko zgosti razkrito seme in ga primerja z zavezo, objavljeno pred prvo potezo, in ta dva morata biti enaka.

Preveri sam. Odpri orion.arthea.ai/verify v katerem koli brskalniku in vnesi id partije. Stran vse preračuna lokalno z Web Crypto, kriptografijo, vgrajeno v sam brskalnik: najprej SHA-256 razkritega semena proti izvirni zavezi, nato vsak met v partiji, kocko za kocko. Brez računa, brez aplikacije, približno minuto.

Popolno ujemanje hkrati ugotovi tri dejstva:

  • Razkrito seme se zgosti natanko v tisto zavezo, ki je bila objavljena pred prvim metom
  • Vsak met v partiji je izpeljan iz tistega semena prek HMAC-SHA256, torej ni bilo nič vrženo znova ali zamenjano
  • Kocke niso bile nikoli prilagojene položaju na plošči, izidu dvoboja ali igralcu

Kaj bi neujemanje dokazalo?

Neujemanje ne bi bila napaka prikaza. Bil bi dokaz. Če se razkrito seme ne zgosti v zavezo, so bile kocke spremenjene po začetku partije. Če en sam met pade na preverjanju HMAC, kocke, ki si jih videl, niso bile kocke, na katere je bila dana zaveza. Obe okvari sta dokaz posega, ki ga lahko kdor koli ponovi iz istega zapisnika, na kateri koli napravi, za vedno.

In prav zato ga ne bi smel nikoli videti. Zaveza se objavi prva, preden se premakne en sam žeton. Hiša, ki bi hotela prirediti to partijo, bi morala vnaprej objaviti dokaz lastnega prirejanja in nato vsakemu igralcu izročiti orodje, da ga najde. Ne prosimo te, da verjameš, da smo pošteni. Sistem smo zgradili tako, da ti ni treba.

Nihče ne more nameriti meta, ki je bil zapečaten, preden se je partija začela.

Če so kocke dokazljivo poštene, zakaj še vedno mečem slabo?

Ker so poštene kocke še vedno kocke. Zaprt boš na baru. Potrebuješ kar koli razen 2-1, in potem pride 2-1. Skozi tisoče partij se števila poravnajo proti pravi porazdelitvi, en večer pa ne obljublja nič. Kar preverjanje odstrani, je vprašanje pod jezo. Tisti čudežni met je bil določen, preden se je kdor koli od vaju dotaknil žetona, in ni meril nate. Vedeti to meta ne omehča. Ti pa dovoli, da nehaš preiskovati vesolje in se vrneš k položaju.

Kocke so največji sum, a ne edini. Isti strežnik, ki se zaveže tvojim metom, tudi preverja vsako potezo pri viru, zato spremenjena aplikacija ne more pretihotapiti žetona tja, kamor pravila ne dovolijo. Pošteni meti in dovoljene poteze prihajajo od iste oblasti.

Ali lahko preverjanje preizkusim že zdaj?

Lahko. Preverjanje deluje že danes na orion.arthea.ai/verify in vsebuje predstavitveno predvajanje, tako da lahko vidiš polno preverjanje na vzorčni partiji, brez namestitve in brez odpiranja računa. Vrata na orion.arthea.ai/go nosijo povezavi za App Store in Google Play in vedno pokažejo, kaj je prav zdaj na voljo.