Συγχρονισμός πορτοφολιού Zcash
Με λίγα λόγια
- Επειδή οι θωρακισμένες συναλλαγές Zcash αποκρύπτουν τις λεπτομέρειές τους, ένας διακομιστής δεν μπορεί απλώς να αναζητήσει το υπόλοιπο ενός πορτοφολιού όπως μπορεί για διαφανή νομίσματα όπως το Bitcoin ή το Ethereum.
- Τα light wallets κατεβάζουν μικρά «συμπαγή μπλοκ» από έναν εξειδικευμένο διακομιστή (lightwalletd) και αποκρυπτογραφούν μόνα τους τα σχετικά δεδομένα με τα ιδιωτικά κλειδιά τους.
- Η αποκρυπτογράφηση και η επεξεργασία αυτών των μπλοκ απαιτεί χρόνο, επομένως τα πορτοφόλια χρησιμοποιούν ταχύτερες μεθόδους συγχρονισμού ώστε να χρησιμοποιείς τα χρήματά σου νωρίτερα.
- Αξιοσημείωτες προσεγγίσεις: Warp Sync (YWallet), Spend-before-sync (Zcash Mobile Wallet SDK V2), Blaze Sync (Zecwallet) και το προτεινόμενο DAGSync.
- Αυτές οι μέθοδοι γενικά ανταλλάσσουν πρόσθετη μνήμη ή επεξεργαστική ισχύ με ταχύτερο συγχρονισμό.
Βασική εξήγηση
Πώς λειτουργεί ο συγχρονισμός Zcash
Το Zcash χρησιμοποιεί αποδείξεις μηδενικής γνώσης για να θωρακίζει τις λεπτομέρειες των συναλλαγών από μη εξουσιοδοτημένα μέρη. Αυτή η ιδιωτικότητα δυσκολεύει τον συγχρονισμό για τα light wallets, επειδή δεν αποθηκεύουν το πλήρες blockchain τοπικά και βασίζονται αντ’ αυτού σε έναν διακομιστή για τις απαραίτητες πληροφορίες. Με το Bitcoin ή το Ethereum, οι διακομιστές μπορούν να καταχωρίζουν το blockchain σε ευρετήριο και να επιστρέφουν γρήγορα δεδομένα λογαριασμού. Όμως με το Zcash, ο διακομιστής δεν μπορεί να δει λεπτομέρειες συναλλαγών. Πώς, λοιπόν, μπορεί ένα light wallet να συγχρονίσει το υπόλοιπο και το ιστορικό του χωρίς να κατεβάσει και να αποκρυπτογραφήσει ολόκληρο το blockchain μόνο του;
Το Zcash λύνει αυτό το πρόβλημα συνδυάζοντας πολλαπλές προσεγγίσεις. Διαθέτει έναν εξειδικευμένο διακομιστή, τον lightwalletd, ο οποίος φιλτράρει δεδομένα από έναν πλήρη κόμβο και διατηρεί μόνο όσα χρειάζονται για την αναγνώριση συναλλαγών. Αυτά τα δεδομένα ονομάζονται συμπαγή μπλοκ και είναι πολύ μικρότερα από τα αρχικά μπλοκ. Τα light wallets κατεβάζουν πρώτα αυτά τα συμπαγή μπλοκ από τον διακομιστή lightwalletd και έπειτα τα αποκρυπτογραφούν με τα ιδιωτικά κλειδιά τους.
Ακόμη και η αποκρυπτογράφηση και επεξεργασία αυτών των συμπαγών μπλοκ μπορεί να χρειαστεί σημαντικό χρόνο, ειδικά όταν υπάρχουν πολλές συναλλαγές ανά μπλοκ. Επομένως, τα πορτοφόλια χρησιμοποιούν διαφορετικές μεθόδους για να επιταχύνουν τον συγχρονισμό και να σου επιτρέπουν να χρησιμοποιείς τα χρήματά σου το συντομότερο δυνατό.
Οπτικοποίηση / αναλογία
Σκέψου το blockchain ως ένα τεράστιο ταχυδρομείο γεμάτο κλειδωμένα κουτιά. Με ένα διαφανές νόμισμα, ο υπάλληλος του ταχυδρομείου μπορεί να διαβάσει τις ετικέτες και να σου πει αμέσως ποια κουτιά είναι δικά σου. Με το Zcash, οι ετικέτες είναι κρυφές — έτσι το πορτοφόλι σου πρέπει να πάρει τα κλειδιά του και να ελέγξει διακριτικά τα ίδια τα κουτιά, για να βρει εκείνα που μπορεί να ανοίξει. Οι παρακάτω μέθοδοι συγχρονισμού είναι διαφορετικές στρατηγικές για ταχύτερο έλεγχο αυτών των κουτιών.
Εμβάθυνση
Warp Sync
Ο συγχρονισμός Warp είναι μια λειτουργία του YWallet που παραλείπει τα ενδιάμεσα βήματα αποκρυπτογράφησης και επεξεργασίας κάθε συμπαγούς μπλοκ, μεταβαίνοντας απευθείας στο τελικό αποτέλεσμα.
Για να το πετύχει, χρησιμοποιεί μαθηματικά και κρυπτογραφία για να υπολογίσει το τελικό αποτέλεσμα χωρίς να περάσει από κάθε βήμα.
Ο συγχρονισμός Warp μπορεί να επεξεργάζεται χιλιάδες μπλοκ ανά δευτερόλεπτο, πολύ γρηγορότερα από τη συνηθισμένη μέθοδο συγχρονισμού. Αυτό σημαίνει ότι οι χρήστες του YWallet μπορούν να απολαμβάνουν γρήγορη και ομαλή απόδοση, ακόμη και με εκατοντάδες χιλιάδες συναλλαγές και ληφθέντα notes στους λογαριασμούς τους.
Εκτός από αυτή την τεχνική παράλειψης βημάτων, το YWallet μπορεί να επεξεργάζεται πολλαπλά μπλοκ ταυτόχρονα, κατανέμοντας το φορτίο στο διαθέσιμο hardware σου ώστε η διαδικασία να γίνεται ακόμη ταχύτερα.
Διάβασε περισσότερα για το Warp Sync
Ο συγχρονισμός Warp περιγράφεται εδώ ως τεχνική συγχρονισμού. Το ίδιο το Ywallet δεν συντηρείται πλέον και δεν θα ενημερωθεί για το Ironwood, επομένως δεν είναι ένα πορτοφόλι που πρέπει να εγκαταστήσεις σήμερα.
Spend-before-sync
Το Spend-before-sync είναι μια νέα λειτουργία στο Zcash Mobile Wallet SDK V2 που επιτρέπει στους χρήστες να ξοδεύουν άμεσα χρήματα μόλις ανοίξουν το πορτοφόλι τους, χωρίς να περιμένουν τον πλήρη συγχρονισμό του πορτοφολιού. Αυτή η λειτουργία επιταχύνει την ανεύρεση του διαθέσιμου προς δαπάνη υπολοίπου του πορτοφολιού και βελτιώνει την εμπειρία χρήσης.
Το Spend-before-sync λειτουργεί χρησιμοποιώντας έναν αλγόριθμο συγχρονισμού συμπαγών μπλοκ που επεξεργάζεται μπλοκ από τον διακομιστή lightwalletd με μη γραμμική σειρά. Αυτό σημαίνει ότι, αντί να περιμένουν να επεξεργαστεί πλήρως ένα μπλοκ πριν προχωρήσουν, τα πορτοφόλια μπορούν να χρησιμοποιούν λίγη περισσότερη μνήμη και επεξεργαστική ισχύ για να σαρώνουν διαφορετικά τμήματα του blockchain. Συνήθως, σαρώνει διαφορετικά εύρη, αναζητώντας νεότερες συναλλαγές ενώ τα παλαιότερα μπλοκ κατεβαίνουν και επεξεργάζονται. Αν εντοπιστεί ένα πρόσφατο, αδαπάνητο note, θα είναι διαθέσιμο αμέσως.
Blaze Sync
Αναπτύχθηκε από την ομάδα του Zecwallet, ο συγχρονισμός Blaze είναι ένας αλγόριθμος συγχρονισμού για light wallets που σαρώνει το blockchain προς τα πίσω, ξεκινώντας από το υψηλότερο και πιο πρόσφατο μπλοκ.
Αυτό επιτρέπει στο πορτοφόλι να βρίσκει δαπανημένα notes πριν από τα ληφθέντα, ενώ καθιστά προηγουμένως αδαπάνητα notes διαθέσιμα χωρίς να περιμένει να ολοκληρωθεί η πλήρης διαδικασία συγχρονισμού.
Επιπλέον, χρησιμοποιεί Out-of-Order Sync αποσυνδέοντας μεταξύ τους τα στοιχεία του συγχρονισμού — τη λήψη μπλοκ, την εκτέλεση δοκιμαστικών αποκρυπτογραφήσεων και την ενημέρωση witnesses — και επεξεργάζοντάς τα παράλληλα. Αυτό απαιτεί περισσότερους πόρους μνήμης και CPU, αλλά αυξάνει την ταχύτητα συγχρονισμού κατά X5.
DAGSync
Το DAGSync είναι ένας προτεινόμενος αλγόριθμος συγχρονισμού που αποσκοπεί στη βελτίωση της εμπειρίας χρήσης των θωρακισμένων πορτοφολιών Zcash επιταχύνοντας τον συγχρονισμό.
Χρησιμοποιεί ένα κατευθυνόμενο άκυκλο γράφημα (DAG) για να αναπαραστήσει τις εξαρτήσεις μεταξύ notes, witnesses και nullifiers σε ένα πορτοφόλι του Zcash.
Ένα DAG είναι μια δομή δεδομένων που αποτελείται από κόμβους και ακμές, όπου κάθε ακμή έχει μια κατεύθυνση που υποδεικνύει μια σχέση μεταξύ δύο κόμβων. Ένα DAG δεν έχει κύκλους, πράγμα που σημαίνει ότι δεν υπάρχει τρόπος να ξεκινήσεις από έναν κόμβο και να ακολουθήσεις τις ακμές πίσω στον ίδιο κόμβο.
Πρακτικές επιπτώσεις
Ενδιαφέρον παρουσιάζει ότι όλοι αυτοί οι μηχανισμοί αποσκοπούν στην αντιμετώπιση των ερωτημάτων που έθεσε το Zcash Security στην ανάρτησή του για το Κλιμακώσιμη ιδιωτική ανταλλαγή μηνυμάτων και τη σχέση της με ιδιωτικά συστήματα πληρωμών. Μερικοί προχωρούν ακόμη περισσότερο, κατεβάζοντας όλα τα δεδομένα σημειωμάτων από διακομιστές, εκτός από δεδομένα που είναι αποκλειστικά για μία διεύθυνση, αυξάνοντας την ιδιωτικότητα με κόστος λίγους επιπλέον πόρους.
Επίσης, το Zcash Foundation εξετάζει άλλες εναλλακτικές για τη βελτίωση της απόδοσης των ελαφριών πορτοφολιών. Αυτή είναι η περίπτωση του Ανάκτηση τυφλών μηνυμάτων (OMR), μιας κατασκευής που το ίδρυμα μελετά «για να καθορίσει αν προσφέρει μια πιθανή λύση στα πρόσφατα προβλήματα απόδοσης που έχουν επηρεάσει τους χρήστες πορτοφολιών Zcash».
Συνηθισμένα λάθη
Η υπόθεση ότι ο διακομιστής lightwalletd γνωρίζει το υπόλοιπό σου. Ο διακομιστής παραδίδει μόνο συμπαγή μπλοκ· το πορτοφόλι σου τα αποκρυπτογραφεί και τα ερμηνεύει τοπικά με τα δικά σου κλειδιά.
Η πολύ πρόωρη διακοπή του συγχρονισμού. Ορισμένες μέθοδοι καθιστούν πρόσφατα διαθέσιμα προς δαπάνη χρήματα προσβάσιμα πριν ολοκληρωθεί ένας πλήρης συγχρονισμός, όμως το παλαιότερο ιστορικό και τα notes μπορεί να βρίσκονται ακόμη σε εξέλιξη.
Η άμεση σύγκριση του συγχρονισμού Zcash με τον συγχρονισμό διαφανούς αλυσίδας. Μια πιο αργή διαδρομή μπορεί να είναι το κόστος διατήρησης της ιδιωτικότητας και όχι ελάττωμα — το πορτοφόλι εκτελεί εργασία που ένας διακομιστής δημόσιου νομίσματος θα έκανε διαφορετικά διαβάζοντας ανοιχτά τον λογαριασμό σου.
Σχετικές σελίδες
- Κόμβοι Lightwallet — η υποδομή lightwalletd στην οποία βασίζονται τα light wallets.
- Viewing Keys — τα κλειδιά που χρησιμοποιούν τα πορτοφόλια για να εντοπίζουν και να αποκρυπτογραφούν τα δικά τους notes.
- Pepper Sync — μια ακόμη προσέγγιση για τον συγχρονισμό πορτοφολιού Zcash.
- FROST — κατανεμημένη αρχή υπογραφής για θωρακισμένες συναλλαγές ZEC.