Preverjanje žrebanja
Prilepite kodo certifikata za preverjanje.
Kaj to orodje preveri
Nekdo je izvedel žrebanje in vam dal kodo certifikata. Ta stran vam pove, ali je ta koda notranje skladna — ali števila resnično izhajajo iz semena, ki ga je organizator objavil, in ali odtis zaveze resnično pokriva to seme in te nastavitve.
Vse teče v vašem brskalniku. Certifikat se nikoli nikamor ne pošlje.
Dve preverjanji
Odtis zaveze. Certifikat vsebuje razpršilo SHA-256 semena in nastavitev žrebanja. Ta stran to razpršilo ponovno izračuna. Če se ne ujema s tistim, shranjenim v certifikatu, so bili seme ali nastavitve spremenjeni po tem, ko je bila zaveza narejena.
Ponovna izvedba. Generator s semenom je popolnoma determinističen, zato isto seme in iste nastavitve vedno dajo ista števila. Ta stran žrebanje ponovi in ga primerja. Če se števila razlikujejo, je bil rezultat spremenjen.
Certifikat je veljaven le, ko sta uspešni obe preverjanji.
Kaj uspešno preverjanje dokaže in česa ne
Dokaže, da organizator ni tiho spremenil semena, nastavitev ali števil, potem ko se je nanje zavezal.
Ne dokaže, da je bilo seme nepredvidljivo. Če je organizator seme izbral sam in odtisa zaveze nikoli ni objavil pred žrebanjem, bi lahko poskusil več semen in obdržal tisto, ki mu je ustrezalo. Odtis zaveze nekaj pomeni le, kadar je bil objavljen pred žrebanjem, nekje s časovnim žigom — v objavi, komentarju, sporočilu.
To je bistvo koraka zaveze: iz “verjemite mi” naredi nekaj, kar lahko kdor koli naknadno preveri.
Izvedba žrebanja, ki ga ljudje lahko preverijo
- Nastavite obseg in koliko števil potrebujete.
- Pritisnite Ustvari odtis zaveze. Objavite dobljeno razpršilo — v objavi nagradne igre, v komentarju, kjer koli ga udeleženci lahko vidijo s časovnim žigom.
- Zaprite prijave, nato žrebajte.
- Objavite seme in certifikat. Kdor koli ga lahko prilepi sem.
Če izpustite korak 2, je certifikat le okrasje. Objava odtisa zaveze vnaprej je tisto, kar mu da težo.
Zakaj samo seme ni dovolj
Seme je le besedilo. Da števila, šele ko veste, kako je bilo razširjeno vanje — kateri algoritem, kateri obseg, koliko števil, ali so bile ponovitve dovoljene.
Zato odtis zaveze pokriva seme in nastavitve. Brez tega bi organizator lahko objavil seme, nato pa naknadno trdil, da je žrebanje potekalo v drugem obsegu in da je bil pravi rezultat neki drug niz števil. Zaveza to možnost zapre.
Zakaj odtisa zaveze ni mogoče ponarediti
Razpršilo SHA-256 je enosmerna funkcija: naprej se izračuna zlahka, nazaj pa ni znanega načina, kako bi jo obrnili. Prav to naredi zavezo zavezujočo.
Da bi organizator goljufal, bi moral objaviti en odtis zaveze in kasneje razkriti drugo seme, ki da isto razpršilo — to je napad na drugo praslikoto (second-preimage attack). Proti SHA-256 tak napad še ni bil najden, iskalni prostor pa surovo silo naredi nesmiselno: 2²⁵⁶ je več, kot je ocenjeno število atomov v vidnem vesolju.
Prav tako ne more rezultata rahlo popraviti v svojo korist. Sprememba enega samega znaka v semenu spremeni približno polovico bitov razpršila, in to nepredvidljivo. Semena, ki bi hkrati ustrezalo objavljenemu odtisu zaveze in dalo priročnega zmagovalca, ni mogoče poiskati, ker bi bilo treba razpršilo določiti vnaprej, ono pa je odvisno prav od vsega.
Odtis zaveze torej seme in nastavitve popolnoma zafiksira. Edino, česar ne more zafiksirati, je kdaj je bil objavljen — zato polovico dela opravi časovni žig na vaši objavi.
Kje je preverljivo žrebanje pomembno
- Nagradne igre in tekmovanja — vprašanja postavljajo tisti, ki niso zmagali
- Izbira v skupnosti in DAO — kdo dobi mesto, štipendijo ali vlogo
- Raziskave — vzorčni načrt, ki ga recenzent lahko ponovi in potrdi
- Nagradne promocije s pravnimi posledicami — nekatere jurisdikcije zahtevajo dokazljivo metodo, ne le trditev
- Kar koli mora verjeti nekdo tuj — bolj oddaljeno kot je občinstvo, manj je vredno samo zagotovilo “izbrali smo naključno”