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

Τελευταία ενημέρωση της σελίδας: 3 Μαΐου 2024

Οριστικοποίηση θέσης μπλοκ

Χρειάζονται περίπου 15 λεπτά για να οριστικοποιηθεί ένα μπλοκ Ethereum. Ωστόσο, μπορούμε να κάνουμε τον μηχανισμό συναίνεσης του Ethereum να επικυρώνει τα μπλοκ πιο αποτελεσματικά και να μειώνει δραματικά τον χρόνο οριστικοποίησης. Αντί της αναμονής των δεκαπέντε λεπτών, τα μπλοκ θα μπορούσαν να προταθούν και να οριστικοποιηθούν στην ίδια θέση. Αυτή η ιδέα είναι γνωστή ως οριστικοποίηση μονής θέσης (SSF).

Τι είναι η οριστικοποίηση;

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

Γιατί να στοχεύσετε για ταχύτερη οριστικοποίηση;

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

Οι συμβιβασμοί αποκέντρωσης / χρόνου / εξόδων

Η εγγύηση οριστικότητας δεν αποτελεί άμεση ιδιοκτησία ενός νέου μπλοκ, χρειάζεται χρόνος για να οριστικοποιηθεί ένα νέο μπλοκ. Ο λόγος για αυτό είναι ότι οι επικυρωτές που αντιπροσωπεύουν τουλάχιστον τα 2/3 του συνολικού αποθηκευμένου ETH στο δίκτυο πρέπει να ψηφίσουν υπέρ του μπλοκ ("βεβαίωση") προκειμένου να θεωρηθεί οριστικό. Κάθε κόμβος επικύρωσης στο δίκτυο πρέπει να επεξεργαστεί τις βεβαιώσεις από άλλους κόμβους για να γνωρίζει ότι ένα μπλοκ έχει ή δεν έχει, επιτύχει αυτό το όριο των 2/3.

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

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

Ο τρέχων μηχανισμός συναίνεσης του Ethereum εξισορρόπησε αυτές τις τρεις παραμέτρους ως εξής:

  • Ορισμός της ελάχιστης αποθήκευσης σε 32 ETH. Αυτό θέτει ένα ανώτατο όριο στον αριθμό των βεβαιώσεων επικυρωτών που πρέπει να υποβληθούν σε επεξεργασία από μεμονωμένους κόμβους και επομένως ένα ανώτατο όριο στις υπολογιστικές απαιτήσεις για κάθε κόμβο.
  • Ρύθμιση του χρόνου οριστικοποίησης στα ~15 λεπτά. Αυτό δίνει αρκετό χρόνο στους επικυρωτές που εκτελούνται σε κανονικούς οικιακούς υπολογιστές για να επεξεργαστούν με ασφάλεια τις βεβαιώσεις για κάθε μπλοκ.

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

Δρομολογήσεις προς SSF

Από τότε που σχεδιάστηκε ο μηχανισμός συναίνεσης του Ethereum, το σχέδιο συγκέντρωσης υπογραφών (BLS) βρέθηκε να είναι πολύ πιο κλιμακούμενο από ότι είχε θεωρηθεί, ενώ η ικανότητα των πελατών να επεξεργάζονται και να επαληθεύουν τις υπογραφές έχει βελτιωθεί. Αποδείχθηκε ότι η επεξεργασία επιβεβαιώσεων από έναν τεράστιο αριθμό επικυρωτών, είναι πράγματι δυνατή σε μία μόνο θέση μπλοκ. Για παράδειγμα, με ένα εκατομμύριο επικυρωτές με τον καθένα να ψηφίζει δύο φορές σε κάθε θέση μπλοκ και ο χρόνος θέσης μπλοκ να έχει προσαρμοστεί στα 16 δευτερόλεπτα, οι κόμβοι θα πρέπει να επαληθεύουν τις υπογραφές με ελάχιστο ρυθμό τις 125,000 συγκεντρώσεις ανά δευτερόλεπτο, προκειμένου να επεξεργαστούν τις 1 εκατομμύριο επιβεβαιώσεις για κάθε θέση μπλοκ. Στην πραγματικότητα, ένας κανονικός υπολογιστής χρειάζεται περίπου 500 νανοδευτερόλεπτα για να πραγματοποιήσει μία επαλήθευση υπογραφής, που σημαίνει ότι 125,000 μπορούν να γίνουν σε ~62.5 ms, πολύ κάτω από το όριο του ενός δευτερολέπτου.

Περαιτέρω βελτιώσεις αποτελεσματικότητας θα μπορούσαν να γίνουν με τη δημιουργία προηγμένων επιτροπών π.χ. 125,000 τυχαία επιλεγμένοι επικυρωτές ανά υποδοχή. Μόνο αυτοί οι επικυρωτές μπορούν να ψηφίσουν για ένα μπλοκ και επομένως μόνο αυτό το υποσύνολο επικυρωτών αποφασίζει εάν ένα μπλοκ έχει οριστικοποιηθεί. Το αν αυτή είναι καλή ιδέα ή όχι εξαρτάται από το πόσο δαπανηρή θα προτιμούσε η κοινότητα να είναι μια επιτυχημένη επίθεση κατά του Ethereum. Αυτό συμβαίνει επειδή αντί να απαιτούνται τα 2/3 του συνολικού αποθηκευμένου ether, ένας εισβολέας θα μπορούσε να οριστικοποιήσει ένα ανέντιμο μπλοκ με τα 2/3 του αποθηκευμένου ether σε αυτήν την προηγμένη επιτροπή. Αυτός είναι ακόμα ένας ενεργός τομέας έρευνας, αλλά φαίνεται εύλογο ότι για ένα σύνολο επικυρωτή αρκετά μεγάλο ώστε να απαιτεί εξαρχής προηγμένες επιτροπές, το κόστος επίθεσης σε μία από αυτές θα είναι εξαιρετικά υψηλό (π.χ. το κόστος επίθεσης που εκφράζεται με ETH θα είναι 2/3 * 125,000 * 32 = ~2.6 εκατομμύρια ETH). Το κόστος της επίθεσης μπορεί να προσαρμοστεί αυξάνοντας το μέγεθος του συνόλου επικυρωτών (π.χ. συντονίστε το μέγεθος των επικυρωτών έτσι ώστε το κόστος της επίθεσης να είναι ίσο με 1 εκατομμύριο ether, 4 εκατομμύρια ether, 10 εκατομμύρια ether, κλπ.). Προληπτικές δημοσκοπήσεις(opens in a new tab) της κοινότητας φαίνεται να υποδεικνύουν ότι 1-2 εκατομμύρια ether είναι ένα αποδεκτό κόστος επίθεσης, το οποίο υποδηλώνει ~65,536 - 97,152 επικυρωτές ανά προηγμένη επιτροπή.

Ωστόσο, η επαλήθευση δεν είναι το πραγματικό εμπόδιο, είναι η συσσωρευτική υπογραφή που πραγματικά προκαλεί προκλήσεις στους κόμβους επικυρωτών. Για να κλιμακωθεί η συγκεντρωτική υπογραφή θα απαιτηθεί πιθανώς η αύξηση του αριθμού των επικυρωτών σε κάθε υποδίκτυο, η αύξηση του αριθμού των υποδικτύων ή η προσθήκη επιπλέον επιπέδων συσσωμάτωσης (δηλαδή εφαρμογή επιτροπής για την επιτροπή). Μέρος της λύσης μπορεί να είναι η επιλογή εξειδικευμένων συσσωρευτών, παρόμοια με το πώς η κατασκευή μπλοκ και η δημιουργία δεσμεύσεων για δεδομένα rollup θα ανατεθεί σε εξειδικευμένους κατασκευαστές μπλοκ στο πλαίσιο του διαχωρισμού προτείνων - κατασκευαστή (PBS) και του Danksharding.

Ποιος είναι ο ρόλος του κανόνα επιλογής fork στο SSF;

Ο σημερινός μηχανισμός συναίνεσης βασίζεται σε έναν στενό συνδυασμό του εργαλείου οριστικοποίησης (ο αλγόριθμος που καθορίζει εάν τα 2/3 των επικυρωτών έχουν πιστοποιήσει μια συγκεκριμένη αλυσίδα) και του κανόνα επιλογής fork (ο αλγόριθμος που αποφασίζει ποια αλυσίδα είναι η σωστή όταν υπάρχουν πολλές επιλογές). Ο αλγόριθμος επιλογής fork λαμβάνει υπόψη μόνο τα μπλοκ από το τελευταίο οριστικό μπλοκ. Στο πλαίσιο του SSF δε θα υπήρχαν μπλοκ για να λάβει υπόψη ο αλγόριθμος επιλογής fork, επειδή η οριστικότητα συμβαίνει στο ίδιο διακεκομμένο χρονικό διάστημα που προτείνεται το μπλοκ. Αυτό σημαίνει ότι στο πλαίσιο του SSF είτε ο αλγόριθμος επιλογής fork είτε η συσκευή οριστικότητας θα είναι ενεργή ανά πάσα στιγμή. Το εργαλείο οριστικοποίησης, θα οριστικοποιήσει τα μπλοκ όπου τα 2/3 των επικυρωτών ήταν online και πιστοποιούσαν ειλικρινά. Εάν ένα μπλοκ δεν είναι σε θέση να υπερβεί το όριο των 2/3, ο κανόνας επιλογής fork θα ενεργοποιηθεί για να καθορίσει ποια αλυσίδα θα ακολουθήσει. Αυτό δημιουργεί επίσης μια ευκαιρία για τη διατήρηση του μηχανισμού διαρροής αδράνειας που ανακτά μια αλυσίδα όπου >1/3 των επικυρωτών είναι εκτός σύνδεσης, αν και με κάποιες πρόσθετες αποχρώσεις.

Εκκρεμότητες

Το πρόβλημα με την κλιμάκωση των συγκεντρώσεων αυξάνοντας τον αριθμό των επικυρωτών ανά υποδίκτυο είναι ότι οδηγεί σε μεγαλύτερο φορτίο στο δίκτυο peer-to-peer. Το πρόβλημα με την προσθήκη επιπέδων συγκεντρώσεων είναι ότι είναι αρκετά περίπλοκο να σχεδιαστεί και προσθέτει καθυστέρηση (δηλαδή μπορεί να χρειαστεί περισσότερος χρόνος για τον προτείνων του μπλοκ να ενημερωθεί από όλους τους aggregators του υποδικτύου). Επίσης, δεν είναι σαφές πώς να αντιμετωπιστεί το σενάριο ότι υπάρχουν περισσότεροι ενεργοί επικυρωτές στο δίκτυο από όσους μπορούν να επεξεργαστούν εύλογα σε κάθε χρονικό διάστημα, ακόμη και με συγκεντρώσεις υπογραφής BLS. Μια πιθανή λύση είναι ότι, επειδή όλοι οι επικυρωτές βεβαιώνουν σε κάθε χρονικό διάστημα και δεν υπάρχουν επιτροπές κάτω από το SSF, το όριο των 32 ether στο αποτελεσματικό υπόλοιπο θα μπορούσε να αφαιρεθεί εντελώς, πράγμα που σημαίνει ότι οι χειριστές που διαχειρίζονται πολλούς επικυρωτές θα μπορούσαν να ενοποιήσουν το αποθηκευμένο τους κεφάλαιο και να εκτελέσουν λιγότερους ελέγχους, μειώνοντας τον αριθμό των μηνυμάτων που πρέπει να επεξεργαστούν οι κόμβοι επικύρωσης για να λογαριάσουν ολόκληρο το σύνολο των επικυρωτών. Αυτό βασίζεται στη συμφωνία των μεγάλων χρηστών με αποθηκευμένο κεφάλαιο να ενοποιήσουν τους επικυρωτές τους. Είναι επίσης δυνατό να επιβληθεί ένα σταθερό όριο στον αριθμό των επικυρωτών ή στο ποσό του αποθηκευμένου ether ανά πάσα στιγμή. Ωστόσο, αυτό απαιτεί κάποιο μηχανισμό για τον καθορισμό των επικυρωτών που επιτρέπεται να συμμετάσχουν και ποιοι όχι, το οποίο είναι πιθανό να δημιουργήσει ανεπιθύμητες δευτερεύουσες επιπτώσεις.

Τρέχουσα πρόοδος

Το SSF βρίσκεται στη φάση της έρευνας. Δεν αναμένεται να κυκλοφορήσει για αρκετά χρόνια, πιθανότατα μετά από άλλες σημαντικές αναβαθμίσεις όπως τα δέντρα Verkle και το Danksharding.

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

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