Ένα nonce είναι ένας αριθμός που χρησιμοποιείται μία φορά. Στην εξόρυξη, είναι η μεταβλητή που αλλάζουν οι εξορύκτες κατά τον κατακερματισμό μιας κεφαλίδας μπλοκ. Η κεφαλίδα περιέχει το hash του προηγούμενου μπλοκ, μια χρονική σήμανση, τη ρίζα Merkle, τον στόχο δυσκολίας και το nonce. Οι εξορύκτες δοκιμάζουν διαφορετικές τιμές nonce μέχρι το hash που προκύπτει να πέσει κάτω από τον στόχο. Δεν υπάρχει συντόμευση. Ο μόνος τρόπος για να βρείτε ένα έγκυρο nonce είναι να μαντέψετε και να ελέγξετε, δισεκατομμύρια φορές ανά δευτερόλεπτο. Ο πρώτος εξορύκτης που θα το βρει μπορεί να μεταδώσει το μπλοκ.
Το πεδίο nonce στο Bitcoin είναι 32 bit, το οποίο επιτρέπει περίπου 4 δισεκατομμύρια πιθανές τιμές. Αυτό ακούγεται πολύ, αλλά τα σύγχρονα ASIC εξαντλούν γρήγορα τον χώρο των nonce. Όταν συμβαίνει αυτό, οι εξορύκτες αλλάζουν άλλα μέρη της κεφαλίδας του μπλοκ, όπως τη χρονική σήμανση ή τη συναλλαγή coinbase, και ξεκινούν από την αρχή. Αυτό τους δίνει ένα νέο σύνολο nonce για να δοκιμάσουν. Το nonce είναι ένας μικρός αριθμός με μεγάλη δουλειά. Καθιστά δυνατή την απόδειξη εργασίας και εμποδίζει τους εξορύκτες να επαναχρησιμοποιήσουν το ίδιο hash. Χωρίς αυτό, η εύρεση ενός έγκυρου μπλοκ θα ήταν αδύνατη για τυχαία εύρεση.
Μη γνωστά γεγονότα
- Πεδίο 32-bit στο Bitcoin — περίπου 4 δισεκατομμύρια πιθανές τιμές
- Τροποποιήθηκε από τους miners για να βρεθεί ένα έγκυρο hash
- Εξαντλήθηκαν γρήγορα — οι ανθρακωρύχοι προσαρμόζουν άλλα πεδία κεφαλίδας
- Δεν είναι μυστικό — η νικητήρια nonce δημοσιεύεται στο μπλοκ
Η μηδενική τιμή (nonce) δεν είναι χαρακτηριστικό ασφαλείας. Είναι ένας μηχανισμός που καθιστά το hash απρόβλεπτο και την εργασία επαληθεύσιμη.
Comments
No comments yet. Be the first to share a thought.
Leave a comment