provably fairdiceguide
Kockice u backgammonu provjeravaju se obećanjem danim prije partije i provjerenim nakon nje. Orion objavljuje SHA-256 obvezu na tajno sjeme prije tvog prvog bacanja, otkriva sjeme kad partija završi i pušta tvoj preglednik da preračuna svako bacanje na orion.arthea.ai/verify, samo s id-om partije. Ako se sve poklapa, kockice su bile utvrđene prije nego što je igra počela i nitko ih, ni mi, nije savijao.
Svaki igrač na mreži poznaje taj osjećaj. Plešeš na baru tri poteza. Protivnik pronađe onaj jedan broj koji istodobno pogađa i pokriva. Za drvenom pločom slegnuo bi ramenima, jer si vidio kako kockice izlaze iz čaše. Na mreži se od tebe traži da vjeruješ broju čiji nastanak nisi vidio. Tu vjeru nismo htjeli tražiti. Htjeli smo je učiniti provjerljivom.
Što commit-reveal zapravo znači?
Zamisli zapečaćenu omotnicu. Prije nego što sjedneš, kuća u nju upiše večerašnje kockice, zapečati je i pruži ti fotografiju pečata. Kad igra završi, omotnica se otvara. Ako se sadržaj podudara s pečatom, bacanja su postojala prije partije i usput se ništa nije moglo probrati na tvoju štetu. Commit-reveal je ta omotnica, sagrađena od aritmetike. Pečat je SHA-256 sažetak i nitko ne može izraditi drugo sjeme koje bi mu odgovaralo. Četiri koraka nose taj dokaz s našeg poslužitelja u tvoj preglednik.
Prije partije. Poslužitelj izvuče tajno slučajno sjeme i sažme ga s SHA-256. Taj sažetak je obveza i pričvršćuje se uz tvoju partiju prije prvog bacanja. Od tog trenutka kockice cijele partije već su zaključane. Poslužitelj je objavio obećanje koje više ne može uređivati.
Tijekom partije. Svako bacanje izvodi se iz sjemena pomoću HMAC-SHA256: ulaze sjeme i broj bacanja, izlaze dvije kockice. Pozicija na ploči, rezultat meča, kocka, tko je pred pobjedom: ništa od toga ne ulazi u izračun. Poslužitelj ne bira bacanja. On naglas čita popis kojim se obvezao prije nego što si zaigrao.
Kad partija završi. Sjeme se otkriva i pohranjuje uz zapisnik partije. To je otvaranje omotnice. Svatko može sažeti otkriveno sjeme i usporediti ga s obvezom objavljenom prije prvog poteza, a to dvoje mora biti istovjetno.
Provjeri sam. Otvori orion.arthea.ai/verify u bilo kojem pregledniku i upiši id partije. Stranica sve preračunava lokalno pomoću Web Crypta, kriptografije ugrađene u sam preglednik: najprije SHA-256 otkrivenog sjemena naspram izvorne obveze, zatim svako bacanje u partiji, kockicu po kockicu. Bez računa, bez aplikacije, otprilike minutu.
Potpuno podudaranje utvrđuje tri činjenice odjednom:
- Otkriveno sjeme sažima se točno u onu obvezu koja je objavljena prije prvog bacanja
- Svako bacanje u partiji izvedeno je iz tog sjemena putem HMAC-SHA256, dakle ništa nije ponovno bačeno ni zamijenjeno
- Kockice nikada nisu bile prilagođene poziciji na ploči, rezultatu meča ni igraču
Što bi nepodudaranje dokazalo?
Nepodudaranje ne bi bila greška prikaza. Bio bi to dokaz. Ako se otkriveno sjeme ne sažima u obvezu, kockice su promijenjene nakon početka partije. Ako i jedno bacanje padne na HMAC provjeri, kockice koje si vidio nisu bile kockice na koje se obvezalo. Oba kvara dokaz su zadiranja koji svatko može ponoviti iz istog zapisnika, na bilo kojem stroju, zauvijek.
I upravo zato ga nikada ne bi trebao vidjeti. Obveza se objavljuje prva, prije nego što se pomakne ijedan žeton. Kuća koja bi htjela namjestiti ovu partiju morala bi unaprijed objaviti dokaz vlastitog namještanja, a zatim svakom igraču pružiti alat da ga nađe. Ne tražimo da vjeruješ da smo pošteni. Sustav smo sagradili tako da ne moraš.
Nitko ne može naciljati bacanje zapečaćeno prije nego što je partija počela.
Ako su kockice dokazano poštene, zašto i dalje bacam loše?
Zato što su poštene kockice i dalje kockice. Ostat ćeš zatvoren na baru. Treba ti bilo što osim 2-1, i onda dođe 2-1. Kroz tisuće partija brojevi se poravnavaju prema stvarnoj razdiobi, ali jedna večer ne obećava ništa. Ono što provjera uklanja jest pitanje ispod ljutnje. To čudesno bacanje bilo je utvrđeno prije nego što je itko od vas dvoje dotaknuo žeton i nije ciljalo na tebe. Znati to ne ublažava bacanje. Ali ti dopušta da prestaneš istraživati svemir i vratiš se poziciji.
Kockice su najveća sumnja, ali ne i jedina. Isti poslužitelj koji se obvezuje na tvoja bacanja provjerava i svaki potez na izvoru, pa izmijenjena aplikacija ne može prokrijumčariti žeton onamo gdje pravila to ne dopuštaju. Poštena bacanja i dopušteni potezi dolaze od iste vlasti.
Mogu li provjeru isprobati već sada?
Možeš. Provjera radi već danas na orion.arthea.ai/verify i sadrži demo reprodukciju, pa možeš vidjeti potpunu provjeru na oglednoj partiji bez ikakve instalacije i bez otvaranja računa. Vrata na orion.arthea.ai/go nose poveznice za App Store i Google Play i uvijek pokazuju što je upravo sada dostupno.