


Σειρά: Zero to Zero Knowledge
Οι μνημονικές φράσεις ανάκτησης αποτελούν τη βάση μιας από τις σημαντικότερες πτυχές των κρυπτονομισμάτων - αυτοεπιμέλεια.
Σήμερα θα μάθεις πώς δημιουργείται και χρησιμοποιείται μια φράση ανάκτησης στα πορτοφόλια.
Οι φράσεις ανάκτησης ορίζονται από την προδιαγραφή BIP-39, τον συνηθέστερο τύπο φράσης ανάκτησης που χρησιμοποιείται σήμερα.
Η δημιουργία φράσεων ανάκτησης ξεκινά με την παραγωγή τυχαιότητας. Περισσότερη εντροπία σημαίνει υψηλότερη ασφάλεια. Τα 128 bits εντροπίας θεωρούνται επαρκή για τους περισσότερους χρήστες.

Ανάλογα με το μήκος της αρχικής εντροπίας, η φράση ανάκτησης θα αποτελείται από 12 έως 24 λέξεις.
Ξεκινάμε δημιουργώντας 128 bits εντροπίας.
Κάνουμε hash την εντροπία χρησιμοποιώντας SHA256. Τα πρώτα λίγα bits αυτού του hash γίνονται το checksum.
Αυτό μας δίνει ένα μοναδικό αποτύπωμα για την εντροπία μας.

Τα συνολικά 132 bits (128 εντροπία + 4 checksum) διαχωρίζονται σε τμήματα των 11 bits.
Κάθε ακολουθία 11 bits μετατρέπεται σε δεκαδικό αριθμό (0-2047).
Οι λίστες λέξεων BIP-39 περιέχουν ακριβώς 2048 λέξεις (Αγγλικά, Ισπανικά, Κινέζικα κ.λπ.).
Αυτοί οι αριθμοί χρησιμοποιούνται για την εύρεση της αντίστοιχης λέξης στη λίστα λέξεων.

Αποτέλεσμα: Τώρα έχουμε μια ασφαλή, αναγνώσιμη από άνθρωπο φράση ανάκτησης 12 λέξεων!
Χρησιμοποιώντας τη φράση ανάκτησης, ένα πορτοφόλι μπορεί να δημιουργήσει κλειδιά για τη δημιουργία διευθύνσεων πληρωμής και διαφορετικών λογαριασμών πορτοφολιού.
Τα κλειδιά που δημιουργούνται είναι ντετερμινιστικά - η ίδια είσοδος παράγει πάντα την ίδια έξοδο.
Το seed του πορτοφολιού προκύπτει από τη μνημονική φράση χρησιμοποιώντας μια συνάρτηση παραγωγής κλειδιών (KDF):
Αυτό παράγει ένα seed 64 bytes (512 bits).

Το seed χωρίζεται σε δύο ακολουθίες των 32 bytes:
Αυτά χρησιμοποιούνται σε Ιεραρχικά ντετερμινιστικά (HD) πορτοφόλια για την παραγωγή θυγατρικών κλειδιών.
Στο Zcash, η εξουσιοδότηση προβολής ή η εξουσιοδότηση δαπάνης μπορεί να εκχωρείται ανεξάρτητα για υποδέντρα χωρίς να διακυβεύεται το κύριο seed.
Το ZIP-32 ορίζει το πρότυπο ιεραρχικής ντετερμινιστικής δημιουργίας κλειδιών, προσαρμοσμένο στα χαρακτηριστικά ιδιωτικότητας του Zcash.
Από ένα διευρυμένο spending key παράγουμε:
Διαφορετικοί μηχανισμοί παραγωγής δημιουργούν εξωτερικές διευθύνσεις κατάλληλες για να τις δίνεις σε αποστολείς σε όλα τα θωρακισμένα pools (Sapling & Orchard).

Το Zcash υποστηρίζει επίσης εσωτερικές διευθύνσεις για λειτουργίες πορτοφολιού όπως το Auto-Shielding.
Αρχικό νήμα από τον ZecHub (@ZecHub)
https://x.com/ZecHub/status/1624125037945946145
Αυτή η σελίδα συντάχθηκε από το αρχικό νήμα του Zero to Zero Knowledge για το wiki του ZecHub.