Επαλήθευση τυχαίας κλήρωσης

Acrafto Team Ασφάλεια
Ενημερώθηκε

Επικολλήστε έναν κωδικό πιστοποιητικού για να τον ελέγξετε.

Όλα τρέχουν στον περιηγητή σας. Κανένας αριθμός δεν φεύγει ποτέ από τη συσκευή σας.

Τι ελέγχει αυτό το εργαλείο

Κάποιος έκανε μια κλήρωση και σας έδωσε έναν κωδικό πιστοποιητικού. Αυτή η σελίδα σας λέει αν αυτός ο κωδικός είναι εσωτερικά συνεπής — αν οι αριθμοί προέρχονται πράγματι από τον σπόρο που δημοσίευσε ο διοργανωτής, και αν το αποτύπωμα καλύπτει πράγματι αυτόν τον σπόρο και εκείνες τις ρυθμίσεις.

Όλα τρέχουν στον περιηγητή σας. Το πιστοποιητικό δεν αποστέλλεται ποτέ πουθενά.

Οι δύο έλεγχοι

Αποτύπωμα. Το πιστοποιητικό φέρει έναν κατακερματισμό SHA-256 πάνω στον σπόρο και τις ρυθμίσεις της κλήρωσης. Αυτή η σελίδα υπολογίζει ξανά αυτόν τον κατακερματισμό. Αν δεν ταιριάζει με αυτόν που είναι αποθηκευμένος στο πιστοποιητικό, ο σπόρος ή οι ρυθμίσεις άλλαξαν μετά τη δέσμευση.

Αναπαραγωγή. Η γεννήτρια με σπόρο είναι πλήρως ντετερμινιστική, οπότε ο ίδιος σπόρος και οι ίδιες ρυθμίσεις παράγουν πάντα τους ίδιους αριθμούς. Αυτή η σελίδα επαναλαμβάνει την κλήρωση και συγκρίνει. Αν οι αριθμοί διαφέρουν, το αποτέλεσμα τροποποιήθηκε.

Ένα πιστοποιητικό περνάει μόνο όταν περνούν και οι δύο έλεγχοι.

Τι αποδεικνύει και τι δεν αποδεικνύει ένας επιτυχής έλεγχος

Αποδεικνύει ότι ο διοργανωτής δεν άλλαξε αθόρυβα τον σπόρο, τις ρυθμίσεις ή τους αριθμούς αφού δεσμεύτηκε σε αυτούς.

Δεν αποδεικνύει ότι ο σπόρος ήταν απρόβλεπτος. Αν ο διοργανωτής επέλεξε ο ίδιος τον σπόρο και ποτέ δεν δημοσίευσε το αποτύπωμα πριν την κλήρωση, θα μπορούσε να έχει δοκιμάσει πολλούς σπόρους και να κράτησε αυτόν που του άρεσε. Το αποτύπωμα έχει νόημα μόνο όταν δημοσιεύτηκε πριν την κλήρωση, κάπου με χρονοσήμανση — μια ανάρτηση, ένα σχόλιο, ένα μήνυμα.

Αυτό είναι ακριβώς το νόημα του βήματος της δέσμευσης: μετατρέπει το «εμπιστευτείτε με» σε κάτι που ο καθένας μπορεί να ελέγξει εκ των υστέρων.

Πώς να κάνετε μια κλήρωση που ο κόσμος μπορεί να επαληθεύσει

  1. Ορίστε το εύρος σας και πόσους αριθμούς χρειάζεστε.
  2. Πατήστε Δημιουργία αποτυπώματος. Δημοσιεύστε τον κατακερματισμό που παίρνετε — στην ανάρτηση του διαγωνισμού, σε ένα σχόλιο, όπου οι συμμετέχοντες μπορούν να τον δουν με χρονοσήμανση.
  3. Κλείστε τις συμμετοχές και μετά κληρώστε.
  4. Δημοσιεύστε τον σπόρο και το πιστοποιητικό. Ο καθένας μπορεί να το επικολλήσει εδώ.

Αν παραλείψετε το βήμα 2, το πιστοποιητικό γίνεται διακοσμητικό. Η δημοσίευση του αποτυπώματος πρώτα είναι αυτό που του δίνει βάρος.

Γιατί ένας σπόρος μόνος του δεν αρκεί

Ένας σπόρος είναι απλώς κείμενο. Παράγει αριθμούς μόνο όταν ξέρετε πώς επεκτάθηκε σε αυτούς — ποιος αλγόριθμος, ποιο εύρος, πόσοι αριθμοί, αν επιτρέπονταν επαναλήψεις.

Γι’ αυτό το αποτύπωμα καλύπτει τόσο τον σπόρο όσο και τις ρυθμίσεις. Χωρίς αυτό, ένας διοργανωτής θα μπορούσε να δημοσιεύσει έναν σπόρο και μετά να ισχυριστεί ότι η κλήρωση έτρεξε σε διαφορετικό εύρος και ότι κάποιο άλλο σύνολο αριθμών ήταν το πραγματικό αποτέλεσμα. Η δέσμευση κλείνει αυτή την πόρτα.

Γιατί ένα αποτύπωμα δεν μπορεί να παραποιηθεί

Ένας κατακερματισμός SHA-256 είναι μονόδρομη συνάρτηση: εύκολο να υπολογιστεί προς τα εμπρός, χωρίς γνωστό τρόπο να τρέξει αντίστροφα. Αυτό είναι που κάνει τη δέσμευση δεσμευτική.

Για να εξαπατήσει, ένας διοργανωτής θα έπρεπε να δημοσιεύσει ένα αποτύπωμα και αργότερα να αποκαλύψει διαφορετικό σπόρο που παράγει τον ίδιο κατακερματισμό — μια επίθεση δεύτερης προεικόνας (second-preimage attack). Κανείς δεν έχει βρει τέτοια επίθεση εναντίον του SHA-256, και ο χώρος αναζήτησης καθιστά την ωμή βία χωρίς νόημα: το 2²⁵⁶ είναι περισσότερο από τον εκτιμώμενο αριθμό ατόμων στο παρατηρήσιμο σύμπαν.

Αυτό που επίσης δεν μπορεί να κάνει είναι να μεταβάλει το αποτέλεσμα προς όφελός του. Η αλλαγή ενός μόνο χαρακτήρα του σπόρου αλλάζει περίπου τα μισά bits του κατακερματισμού, απρόβλεπτα. Δεν υπάρχει τρόπος να αναζητήσει κανείς έναν σπόρο που να ταιριάζει τόσο με ένα δημοσιευμένο αποτύπωμα όσο και να παράγει έναν βολικό νικητή, γιατί θα έπρεπε πρώτα να καθορίσει τον κατακερματισμό, κι αυτός εξαρτάται από τα πάντα.

Έτσι το αποτύπωμα καθορίζει πλήρως τον σπόρο και τις ρυθμίσεις. Το μόνο που δεν μπορεί να καθορίσει είναι πότε δημοσιεύτηκε — γι’ αυτό η χρονοσήμανση στην ανάρτησή σας κάνει τη μισή δουλειά.

Πού έχει σημασία μια επαληθεύσιμη κλήρωση

  • Διαγωνισμοί και κληρώσεις δώρων — όσοι δεν κέρδισαν είναι αυτοί που ρωτούν
  • Επιλογή σε κοινότητες και DAO — επιλογή του ποιος παίρνει μια θέση, μια επιχορήγηση, έναν ρόλο
  • Έρευνα — ένα σχέδιο δειγματοληψίας που ένας κριτής μπορεί να ξανατρέξει και να επιβεβαιώσει
  • Προωθητικές ενέργειες με νομική έκθεση — ορισμένες δικαιοδοσίες απαιτούν αποδείξιμη μέθοδο, όχι απλώς διαβεβαίωση
  • Οτιδήποτε πρέπει να πιστέψει ένας άγνωστος — όσο πιο μακρινό το κοινό, τόσο λιγότερο αξίζει από μόνο του το «διαλέξαμε τυχαία»

Συχνές ερωτήσεις (FAQ)

Ένα έγκυρο πιστοποιητικό σημαίνει ότι η κλήρωση ήταν τυχαία; Σημαίνει ότι η κλήρωση δεν τροποποιήθηκε μετά τη δέσμευση. Το αν ήταν απρόβλεπτη εξαρτάται από το πότε δημοσιεύτηκε το αποτύπωμα. Αν δημοσιεύτηκε πριν την κλήρωση, δημόσια, με χρονοσήμανση — τότε ναι, ο διοργανωτής ήταν δεσμευμένος. Αν δημοσιεύτηκε μετά, δεν αποδεικνύει τίποτα για την απροβλεψιμότητα.
Ανεβαίνει το πιστοποιητικό μου κάπου; Όχι. Ο έλεγχος τρέχει εξ ολοκλήρου στον περιηγητή σας, σε JavaScript. Τίποτα δεν φεύγει από τη συσκευή σας, και δεν υπάρχει διακομιστής που θα μπορούσε να το καταγράψει.
Τι σημαίνει «το αποτύπωμα δεν ταιριάζει»; Ο σπόρος ή οι ρυθμίσεις στο πιστοποιητικό δεν είναι αυτές που δεσμεύτηκαν αρχικά. Κάποιος τροποποίησε το πιστοποιητικό, ή δημιουργήθηκε από διαφορετικό εργαλείο.
Τι σημαίνει «ο σπόρος δεν παράγει αυτούς τους αριθμούς»; Το αποτύπωμα είναι ακέραιο, αλλά η λίστα αριθμών άλλαξε μετά. Το εργαλείο σας δείχνει τους αριθμούς που πραγματικά παράγει ο σπόρος, ώστε να δείτε τη διαφορά.
Μπορώ να επαληθεύσω μια κλήρωση από άλλον ιστότοπο; Μόνο αν παρήγαγε πιστοποιητικό σε αυτή τη μορφή. Ο έλεγχος εξαρτάται από τον ακριβή αλγόριθμο της γεννήτριας — ένας σπόρος από μόνος του δεν έχει νόημα χωρίς να ξέρετε πώς επεκτάθηκε σε αριθμούς.
Τι γίνεται αν το πιστοποιητικό είναι πολύ μεγάλο; Το μήκος εξαρτάται από το πόσοι αριθμοί κληρώθηκαν, γιατί το πιστοποιητικό φέρει ολόκληρο το αποτέλεσμα. Μια κλήρωση έξι αριθμών δίνει σύντομο κωδικό· μια κλήρωση δέκα χιλιάδων δίνει μεγάλο. Και οι δύο επαληθεύονται με τον ίδιο τρόπο.

Θα εκτιμούσα αν μοιραζόσασταν αυτές τις σελίδες με φίλους, τις προσθέσετε στους σελιδοδείκτες ή τις συνδέσετε. Ευχαριστώ! 🙏