Patikrinti traukimą
Įklijuokite sertifikato kodą, kad jį patikrintumėte.
Ką šis įrankis patikrina
Kažkas atliko traukimą ir davė jums sertifikato kodą. Šis puslapis parodo, ar tas kodas vidujai nuoseklus — ar skaičiai iš tikrųjų kilo iš organizatoriaus paskelbtos sėklos, ir ar fingerprint iš tikrųjų apima tą sėklą ir tuos nustatymus.
Viskas vyksta jūsų naršyklėje. Sertifikatas niekada niekur nesiunčiamas.
Du patikrinimai
Fingerprint. Sertifikate yra SHA-256 maiša, apskaičiuota iš sėklos ir traukimo nustatymų. Šis puslapis tą maišą apskaičiuoja iš naujo. Jei ji nesutampa su sertifikate įrašyta, sėkla arba nustatymai buvo pakeisti po įsipareigojimo.
Pakartojimas. Su sėkla veikiantis generatorius yra visiškai deterministinis, tad ta pati sėkla ir tie patys nustatymai visada sukuria tuos pačius skaičius. Šis puslapis iš naujo atlieka traukimą ir palygina. Jei skaičiai skiriasi, rezultatas buvo pakeistas.
Sertifikatas laikomas galiojančiu tik tada, kai abu patikrinimai sutampa.
Ką įrodo, o ko neįrodo teigiamas patikrinimas
Jis įrodo, kad organizatorius po įsipareigojimo tyliai nepakeitė sėklos, nustatymų ar skaičių.
Jis neįrodo, kad sėkla buvo nenuspėjama. Jei organizatorius pats pasirinko sėklą ir prieš traukdamas niekada nepaskelbė fingerprint, jis galėjo išbandyti daug sėklų ir pasilikti tą, kuri patiko. Fingerprint turi prasmę tik tada, kai jis buvo paskelbtas prieš traukimą, viešoje vietoje su laiko žyma — įraše, komentare, žinutėje.
Tam ir skirtas įsipareigojimo žingsnis: jis paverčia „patikėkite manimi“ kažkuo, ką bet kas gali vėliau patikrinti.
Kaip atlikti traukimą, kurį žmonės galės patikrinti
- Nustatykite intervalą ir kiek skaičių jums reikia.
- Paspauskite Sukurti fingerprint. Paskelbkite gautą maišą — dovanų įraše, komentare, kur tik dalyviai gali ją matyti su laiko žyma.
- Uždarykite dalyvavimą, tada traukite.
- Paskelbkite sėklą ir sertifikatą. Bet kas gali jį čia įklijuoti.
Praleidus 2 žingsnį, sertifikatas tampa vien dekoratyvus. Būtent fingerprint paskelbimas iš anksto suteikia jam svorio.
Kodėl vien sėklos neužtenka
Sėkla yra tik tekstas. Ji sukuria skaičius tik tada, kai žinoma, kaip ji buvo išplėsta į juos — koks algoritmas, koks intervalas, kiek skaičių, ar buvo leidžiami pasikartojimai.
Todėl fingerprint apima ir sėklą, ir nustatymus. Be to organizatorius galėtų paskelbti sėklą, o vėliau tvirtinti, kad traukimas vyko kitame intervale ir kad tikrasis rezultatas buvo kitoks skaičių rinkinys. Įsipareigojimas uždaro šią spragą.
Kodėl fingerprint nepavyksta suklastoti
SHA-256 maiša yra vienpusė funkcija: lengva apskaičiuoti į priekį, o atgal kelio, kaip žinoma, nėra. Būtent tai daro įsipareigojimą įpareigojantį.
Norėdamas apgauti, organizatorius turėtų paskelbti vieną fingerprint, o vėliau atskleisti kitą sėklą, kuri sukuria tą pačią maišą — tai vadinama antrojo pirmavaizdžio ataka (angl. second-preimage attack). Prieš SHA-256 tokios dar niekas nerado, o paieškos erdvė paverčia brutalią jėgą beprasme: 2²⁵⁶ yra daugiau nei apskaičiuotas atomų skaičius matomoje visatoje.
Jis taip pat negali pastumti rezultato sau naudinga linkme. Pakeitus vieną sėklos simbolį, maždaug pusė maišos bitų pasikeičia nenuspėjamai. Nėra būdo ieškoti sėklos, kuri kartu atitiktų paskelbtą fingerprint ir sukurtų patogų laimėtoją, nes maišą reikėtų nustatyti pirma, o ji priklauso nuo visko.
Taigi fingerprint visiškai nustato sėklą ir nustatymus. Vienintelis dalykas, kurio jis negali nustatyti, — kada jis buvo paskelbtas, todėl pusę darbo atlieka laiko žyma prie jūsų įrašo.
Kur svarbu patikrinami traukimai
- Dovanos ir konkursai — klausia tie, kurie nelaimėjo
- Bendruomenės ir DAO atranka — kam skirti vietą, dotaciją ar vaidmenį
- Tyrimai — atrankos planas, kurį recenzentas gali pakartoti ir patvirtinti
- Prizinės akcijos su teisine atsakomybe — kai kurios jurisdikcijos reikalauja įrodomo metodo, o ne vien tvirtinimo
- Viskas, kuo turi patikėti nepažįstamasis — kuo tolimesnė auditorija, tuo mažiau vertas vien pareiškimas „traukėme atsitiktinai“