Μετάβαση στο κύριο περιεχόμενο
Change page

Ελαφρύ πελάτες

Η εκτέλεση ενός πλήρους κόμβου είναι ο πιο αξιόπιστος, ιδιωτικός, αποκεντρωμένος και ανθεκτικός στη λογοκρισία τρόπος αλληλεπίδρασης με το Ethereum. Με έναν πλήρη κόμβο, διατηρείτε το δικό σας αντίγραφο της κρυπτοαλυσίδας που μπορείτε να αναζητήσετε αμέσως και έχετε άμεση πρόσβαση στο peer-to-peer δίκτυο του Ethereum. Ωστόσο, η εκτέλεση ενός πλήρους κόμβου απαιτεί σημαντική ποσότητα μνήμης, αποθήκευσης και CPU. Αυτό σημαίνει ότι δεν είναι εφικτό για όλους να τρέχουν τον δικό τους κόμβο. Υπάρχουν αρκετές λύσεις για αυτό στον οδικό χάρτη του Ethereum, συμπεριλαμβανομένου του statelessness, αλλά απέχουν αρκετά χρόνια από την εφαρμογή τους. Η απάντηση βραχυπρόθεσμα είναι να εξισορροπηθούν ορισμένα από τα πλεονεκτήματα της λειτουργίας ενός πλήρους κόμβου για μεγάλες βελτιώσεις απόδοσης που επιτρέπουν στους κόμβους να λειτουργούν με πολύ χαμηλές απαιτήσεις υλικού. Οι κόμβοι που κάνουν αυτό τον συμβιβασμό είναι γνωστοί ως ελαφροί κόμβοι.

Τι είναι ένα ελαφρύ πρόγραμμα πελάτης

Ένας ελαφρύς κόμβος είναι ένας κόμβος που εκτελεί ελαφρύ λογισμικό πελάτη. Αντί να διατηρούν τοπικά αντίγραφα των δεδομένων blockchain και να επαληθεύουν ανεξάρτητα όλες τις αλλαγές, ζητούν τα απαραίτητα δεδομένα από κάποιον πάροχο. Ο πάροχος μπορεί να είναι μια άμεση σύνδεση με έναν πλήρη κόμβο ή μέσω κάποιου κεντρικού διακομιστή RPC. Στη συνέχεια, τα δεδομένα επαληθεύονται από τον ελαφρύ κόμβο, επιτρέποντάς του να συμβαδίζει με την κεφαλή της αλυσίδας. Ο ελαφρύς κόμβος επεξεργάζεται μόνο κεφαλίδες μπλοκ και κατεβάζει μόνο περιστασιακά τα πραγματικά περιεχόμενα του μπλοκ. Οι κόμβοι μπορεί να διαφέρουν ως προς την ελαφρότητά τους, ανάλογα με τους συνδυασμούς ελαφρού και πλήρους λογισμικού πελάτη που εκτελούν. Για παράδειγμα, η πιο ελαφριά διαμόρφωση θα ήταν η εκτέλεση ενός ελαφρού προγράμματος πελάτη εκτέλεσης και ενός ελαφρού προγράμματος πελάτη συναίνεσης. Είναι επίσης πιθανό ότι πολλοί κόμβοι θα επιλέξουν να εκτελούν ελαφρά προγράμματα πελάτη συναίνεσης με πλήρη προγράμματα πελάτη εκτέλεσης ή το αντίστροφο.

Πώς λειτουργούν τα ελαφρά προγράμματα πελάτη;

Όταν το Ethereum άρχισε να χρησιμοποιεί έναν μηχανισμό συναίνεσης που βασίζεται στην απόδειξη συμμετοχής (proof-of-stake), εισήχθη νέα υποδομή ειδικά για την υποστήριξη ελαφρών προγραμμάτων πελάτη. Λειτουργεί μέσω της τυχαίας επιλογής ενός υποσυνόλου 512 επικυρωτών κάθε 1,1 ημέρες για να εκτελεί καθήκοντα επιτροπής συγχρονισμού. Η επιτροπή συγχρονισμού υπογράφει την κεφαλίδα των πρόσφατων μπλοκ. Κάθε κεφαλίδα μπλοκ περιέχει τη συσσωρευμένη υπογραφή των επικυρωτών στην επιτροπή συγχρονισμού και ένα «πεδίο bit» που δείχνει ποιοι επικυρωτές υπέγραψαν και ποιοι όχι. Κάθε κεφαλίδα περιλαμβάνει επίσης μια λίστα επικυρωτών που αναμένεται να συμμετάσχουν στην υπογραφή του επόμενου μπλοκ. Αυτό σημαίνει ότι ένας ελαφρύς πελάτης μπορεί να δει γρήγορα ότι η επιτροπή συγχρονισμού έχει υπογράψει τα δεδομένα που λαμβάνει και μπορεί επίσης να ελέγξει ότι η επιτροπή συγχρονισμού είναι γνήσια συγκρίνοντας αυτήν που λαμβάνει με αυτήν που του είπαν να αναμένει στο προηγούμενο μπλοκ. Με αυτόν τον τρόπο, ο ελαφρύς πελάτης μπορεί να συνεχίσει να ενημερώνει τις γνώσεις του για το πιο πρόσφατο μπλοκ Ethereum χωρίς ουσιαστικά να κατεβάσει το ίδιο το μπλοκ, παρά μόνο την κεφαλίδα που περιέχει συνοπτικές πληροφορίες.

Στο επίπεδο εκτέλεσης δεν υπάρχει ενιαία προδιαγραφή για έναν ελαφρύ πελάτη εκτέλεσης. Το εύρος ενός ελαφρύ πελάτη εκτέλεσης μπορεί να διαφέρει από μια «ελαφριά κατάσταση λειτουργίας» ενός πλήρους πελάτη εκτέλεσης που έχει όλες τις λειτουργίες EVM και δικτύωσης ενός πλήρους κόμβου, αλλά επαληθεύει μόνο τις κεφαλίδες μπλοκ, χωρίς λήψη των σχετικών δεδομένων, ή μπορεί να είναι ένας περισσότερο απογυμνωμένος πελάτης που βασίζεται σε μεγάλο βαθμό σε αιτήματα προώθησης σε έναν πάροχο RPC για αλληλεπίδραση με το Ethereum.

Γιατί είναι σημαντικοί οι ελαφροί πελάτες;

Οι ελαφρύ πελάτες είναι σημαντικοί επειδή επιτρέπουν στους χρήστες να επαληθεύουν τα εισερχόμενα δεδομένα αντί να εμπιστεύονται τυφλά ότι ο πάροχος δεδομένων τους είναι σωστός και ειλικρινής, ενώ χρησιμοποιούν μόνο ένα μικρό κλάσμα των υπολογιστικών πόρων ενός πλήρους κόμβου. Τα δεδομένα που λαμβάνουν οι ελαφροί πελάτες μπορούν να ελεγχθούν σε σχέση με κεφαλίδες μπλοκ που γνωρίζουν ότι έχουν υπογραφεί από τουλάχιστον τα 2/3 ενός τυχαίου συνόλου 512 επικυρωτών Ethereum. Αυτό είναι πολύ ισχυρή απόδειξη ότι τα δεδομένα είναι σωστά.

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

Ας πάρουμε ένα απλό παράδειγμα. Φανταστείτε ότι θέλετε να ελέγξετε το υπόλοιπο του λογαριασμού σας. Για να το κάνετε αυτό, πρέπει να κάνετε ένα αίτημα σε έναν κόμβο Ethereum. Αυτός ο κόμβος θα ελέγξει το τοπικό αντίγραφο που τηρεί για την κατάσταση Ethereum όσον αφορά το υπόλοιπό σας και θα σας το επιστρέψει. Εάν δεν έχετε άμεση πρόσβαση σε έναν κόμβο, υπάρχουν κεντρικοί χειριστές που παρέχουν αυτά τα δεδομένα ως υπηρεσία. Μπορείτε να τους στείλετε ένα αίτημα, να ελέγξουν τον κόμβο τους και να σας στείλουν πίσω το αποτέλεσμα. Το πρόβλημα με αυτό είναι ότι πρέπει τότε να εμπιστευτείτε ότι ο πάροχος σάς δίνει τις σωστές πληροφορίες. Ποτέ δεν μπορείτε να είστε πραγματικά σίγουροι ότι οι πληροφορίες είναι σωστές εάν δεν μπορείτε να τις επαληθεύσετε οι ίδιοι.

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

Ποιες καινοτομίες καθιστούν δυνατές οι ελαφροί πελάτες;

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

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

Μια επέκταση αυτού είναι να καταστεί δυνατή η χρήση συσκευών internet of things (IoT). Ένας ελαφρύς πελάτης θα μπορούσε να χρησιμοποιηθεί για να αποδείξει γρήγορα την ιδιοκτησία κάποιου υπολοίπου token ή NFT, με όλες τις εγγυήσεις ασφαλείας που παρέχονται από τις επιτροπές συγχρονισμού, ενεργοποιώντας κάποια ενέργεια σε ένα δίκτυο IoT. Φανταστείτε μια υπηρεσία ενοικίασης ποδηλάτων(opens in a new tab) που χρησιμοποιεί μια εφαρμογή με ενσωματωμένο ελαφρύ πελάτη για να επαληθεύσει γρήγορα ότι είστε κάτοχος του NFT της υπηρεσίας ενοικίασης και, αν ναι, ξεκλειδώνει ένα ποδήλατο για να το πάρετε!

Από τους ελαφρούς πελάτες θα επωφελούνταν και τα πακέτα συναλλαγών (rollup) του Ethereum. Ένα από τα μεγάλα προβλήματα για τα πακέτα συναλλαγών ήταν τα hack που στοχεύουν τις γέφυρες που επιτρέπουν τη μεταφορά κεφαλαίων από το Κεντρικό Δίκτυο του Ethereum σε ένα άλλο πακέτο συναλλαγών. Ένα θέμα ευπάθειας είναι οι oracle που χρησιμοποιούν τα πακέτα συναλλαγών για να ανιχνεύσουν ότι ένας χρήστης έχει κάνει κατάθεση στη γέφυρα. Εάν ένας oracle τροφοδοτήσει λάθος δεδομένα, θα μπορούσε να ξεγελάσει το rollup ώστε να πιστέψει ότι υπήρχε κατάθεση στη γέφυρα και να αποδεσμεύσει λανθασμένα κεφάλαια. Ένας ελαφρύς πελάτης ενσωματωμένος στο πακέτο συναλλαγών θα μπορούσε να χρησιμοποιηθεί για προστασία από κατεστραμμένους oracle, επειδή η κατάθεση στη γέφυρα θα μπορούσε να συνοδεύεται από μια απόδειξη που μπορεί να επαληθευτεί από το πακέτο συναλλαγών πριν από την απελευθέρωση τυχόν κρυπτονομισμάτων. Η ίδια ιδέα θα μπορούσε επίσης να εφαρμοστεί και σε άλλες γέφυρες μεταξύ αλυσίδων.

Οι ελαφροί πελάτες θα μπορούσαν επίσης να χρησιμοποιηθούν για την αναβάθμιση πορτοφολιών Ethereum. Αντί να εμπιστεύεστε τα δεδομένα που παρέχονται από έναν πάροχο RPC, το πορτοφόλι σας θα μπορούσε να επαληθεύσει απευθείας τα δεδομένα που σας παρουσιάζονται χρησιμοποιώντας έναν ενσωματωμένο ελαφρύ πελάτη. Αυτό θα πρόσθετε ασφάλεια στο πορτοφόλι σας. Εάν ο πάροχος RPC σας δεν ήταν έντιμος και σας παρείχε λανθασμένα δεδομένα, θα μπορούσε να σας το πει ο ενσωματωμένος ελαφρύς πελάτης σας!

Ποια είναι η τρέχουσα κατάσταση της ανάπτυξης ελαφρών πελατών;

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

Απ' όσο γνωρίζουμε, κανένα από αυτά δεν θεωρείται ακόμη έτοιμο για παραγωγή.

Γίνεται επίσης πολλή δουλειά για τη βελτίωση των τρόπων με τους οποίους οι ελαφροί πελάτες μπορούν να έχουν πρόσβαση στα δεδομένα του Ethereum. Επί του παρόντος, οι ελαφροί πελάτες βασίζονται σε αιτήματα RPC σε πλήρεις κόμβους χρησιμοποιώντας ένα μοντέλο πελάτη/διακομιστή, αλλά στο μέλλον τα δεδομένα θα μπορούσαν να ζητηθούν με πιο αποκεντρωμένο τρόπο χρησιμοποιώντας ένα αποκλειστικό δίκτυο όπως το Δίκτυο Portal(opens in a new tab) που θα μπορούσε να προσφέρει τα δεδομένα σε ελαφρούς πελάτες με χρήση ενός πρωτοκόλλου διασποράς μεταξύ χρηστών.

Άλλα στοιχεία οδικού χάρτη όπως τα Verkle trees και η statelessness θα εξισώσουν τελικά τις εγγυήσεις ασφαλείας των ελαφρών πελατών με αυτές των πλήρων πελατών.

Περισσότερες πληροφορίες

Ήταν χρήσιμο αυτό το άρθρο;