Kontroller en tilfeldig trekning
Lim inn en sertifikatkode for å kontrollere den.
Hva verktøyet kontrollerer
Noen kjørte en trekning og ga deg en sertifikatkode. Denne siden forteller deg om koden er internt konsistent — om tallene virkelig kommer fra startverdien arrangøren publiserte, og om fingeravtrykket virkelig dekker den startverdien og de innstillingene.
Alt kjører i nettleseren din. Sertifikatet sendes aldri noe sted.
De to kontrollene
Fingeravtrykk. Sertifikatet inneholder en SHA-256-hash over startverdien og trekningsinnstillingene. Denne siden beregner den hashen på nytt. Hvis den ikke stemmer med den som er lagret i sertifikatet, ble startverdien eller innstillingene endret etter at forpliktelsen ble inngått.
Gjenspilling. Den startverdibaserte generatoren er fullstendig deterministisk, så samme startverdi og samme innstillinger gir alltid samme tall. Denne siden kjører trekningen på nytt og sammenligner. Hvis tallene avviker, er resultatet endret.
Et sertifikat består kun når begge kontrollene består.
Hva en bestått kontroll beviser — og ikke beviser
Den beviser at arrangøren ikke i det stille endret startverdien, innstillingene eller tallene etter å ha forpliktet seg til dem.
Den beviser ikke at startverdien var uforutsigbar. Hvis arrangøren valgte startverdien selv og aldri publiserte fingeravtrykket før trekningen, kan de ha prøvd mange startverdier og beholdt den de likte. Fingeravtrykket betyr bare noe når det ble publisert før trekningen, et sted med et tidsstempel — et innlegg, en kommentar, en melding.
Det er hele poenget med forpliktelsessteget: det gjør “stol på meg” til noe alle kan kontrollere i ettertid.
Å kjøre en trekning folk kan kontrollere
- Angi området ditt og hvor mange tall du trenger.
- Trykk Opprett fingeravtrykk. Publiser hashen du får — i gaveutdelingsinnlegget, i en kommentar, hvor som helst deltakerne kan se den med et tidsstempel.
- Steng påmeldingen, og trekk deretter.
- Publiser startverdien og sertifikatet. Hvem som helst kan lime det inn her.
Hopper du over steg 2, blir sertifikatet bare dekorativt. Å publisere fingeravtrykket først er det som gir det tyngde.
Hvorfor en startverdi alene ikke er nok
En startverdi er bare tekst. Den gir bare tall når du vet hvordan den ble utvidet til dem — hvilken algoritme, hvilket område, hvor mange tall, om gjentakelser var tillatt.
Det er derfor fingeravtrykket dekker både startverdien og innstillingene. Uten det kunne en arrangør publisere en startverdi og deretter hevde at trekningen gikk over et annet område, og at et helt annet sett med tall var det egentlige resultatet. Forpliktelsen lukker den døren.
Hvorfor et fingeravtrykk ikke kan forfalskes
En SHA-256-hash er en enveisfunksjon: lett å regne ut forlengs, og det finnes ingen kjent måte å kjøre den baklengs på. Det er dette som gjør forpliktelsen bindende.
For å jukse måtte en arrangør publisere ett fingeravtrykk og senere avsløre en annen startverdi som gir samme hash — et andrepreimage-angrep. Ingen har funnet et slikt angrep mot SHA-256, og søkerommet gjør brute force meningsløst: 2²⁵⁶ er mer enn det anslåtte antallet atomer i det observerbare universet.
Det de heller ikke kan gjøre, er å styre utfallet. Å endre ett eneste tegn i startverdien endrer omtrent halvparten av bitene i hashen, uforutsigbart. Det finnes ingen måte å søke etter en startverdi som både matcher et publisert fingeravtrykk og gir en gunstig vinner, fordi du måtte fastsette hashen først, og hashen avhenger av alt.
Fingeravtrykket fastlåser altså startverdien og innstillingene fullstendig. Det eneste det ikke kan fastlåse, er når det ble publisert — derfor gjør tidsstempelet på innlegget ditt halve jobben.
Hvor verifiserbare trekninger betyr noe
- Gaveutdelinger og konkurranser — det er de som ikke vant som spør
- Utvelgelse i fellesskap og DAO-er — å plukke ut hvem som får en plass, et bidrag eller en rolle
- Forskning — en utvalgsplan en fagfelle kan kjøre på nytt og bekrefte
- Premiekampanjer med juridisk eksponering — enkelte jurisdiksjoner krever en påviselig metode, ikke bare en påstand
- Alt en fremmed må stole på — jo lenger unna publikummet er, desto mindre er “vi trakk tilfeldig” verdt alene