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

Επαληθεύσεις

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

Τι είναι μια επιβεβαίωση;

Κάθε (6,4 λεπτά) ένας επικυρωτής προτείνει μια βεβαίωση επικύρωσης στο δίκτυο. Η βεβαίωση επικύρωσης αφορά ένα συγκεκριμένο χρονικό κενό στην εποχή. Σκοπός της βεβαίωσης επικύρωσης είναι να ψηφίσει υπέρ της άποψης του επικυρωτή για την αλυσίδα, ιδίως το πιο πρόσφατο αιτιολογημένο μπλοκ και το πρώτο μπλοκ στην τρέχουσα εποχή (γνωστά ως σημεία ελέγχου source και target). Αυτές οι πληροφορίες συνδυάζονται για όλους τους συμμετέχοντες επικυρωτές, επιτρέποντας στο δίκτυο να πετύχει συναίνεση σχετικά με την κατάσταση του blockchain.

Η βεβαίωση επικύρωσης περιέχει τα ακόλουθα στοιχεία:

  • aggregation_bits: μια λίστα bit επικυρωτών όπου η θέση αντιστοιχεί στο ευρετήριο επικυρωτή στην επιτροπή τους, η αξία (0/1) υποδεικνύει εάν ο επικυρωτής υπέγραψε τα data (δηλαδή εάν είναι ενεργά και συμφωνούν με τον προτείνοντα μπλοκ)
  • data: λεπτομέρειες σχετικά με τη βεβαίωση επικύρωσης, όπως ορίζονται παρακάτω
  • signature: μια υπογραφή BLS που συγκεντρώνει τις υπογραφές μεμονωμένων επικυρωτών

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

  • slot: Ο αριθμός χρονικού κενού στον οποίο αναφέρεται η βεβαίωση επικύρωσης
  • index: Ένας αριθμός που προσδιορίζει σε ποια επιτροπή ανήκει ο επικυρωτής σε ένα δεδομένο χρονικό κενό
  • beacon_block_root: Κατακερματισμός ρίζας του μπλοκ που βλέπει ο επικυρωτής στην κορυφή της αλυσίδας (το αποτέλεσμα της εφαρμογής του αλγόριθμου επιλογής-ενσωμάτωσης)
  • source: Μέρος της ψηφοφορίας οριστικότητας που υποδεικνύει αυτό που οι επικυρωτές βλέπουν ως το πιο πρόσφατο αιτιολογημένο μπλοκ
  • target: Μέρος της ψηφοφορίας οριστικότητας που υποδεικνύει αυτό που οι επικυρωτές βλέπουν ως το πρώτο μπλοκ στην τρέχουσα εποχή

Μόλις δημιουργηθούν τα data, ο επικυρωτής μπορεί να αναστρέψει το bit σε aggregation_bits που αντιστοιχεί στο δικό του ευρετήριο επικύρωσης από 0 σε 1 για να δείξει ότι συμμετείχε.

Τέλος, ο επικυρωτής υπογράφει τη βεβαίωση επικύρωσης και τη μεταδίδει στο δίκτυο.

Συσσωρευμένη βεβαίωση επικύρωσης

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

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

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

Κύκλος ζωής συμπερίληψης βεβαιώσεων επικύρωσης

  1. Παραγωγή
  2. Διάδοση
  3. Συσσωμάτωση
  4. Διάδοση
  5. Συμπερίληψη

Ο κύκλος ζωής των επικυρώσεων περιγράφεται συνοπτικά στο παρακάτω σχήμα:

κύκλος ζωής επιβεβαίωσης

Ανταμοιβές

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

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

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

ανταμοιβή += βασική ανταμοιβή * βάρος σημαίας * ποσοστό βεβαίωση επικύρωσηςς σημαίας / 64

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

Βασική ανταμοιβή

Η βασική ανταμοιβή υπολογίζεται σύμφωνα με τον αριθμό των επικυρωτών που βεβαιώνουν και τα πραγματικά αποθηκευμένα υπόλοιπα ether τους:

base reward = validator effective balance x 2^6 / SQRT(Effective balance of all active validators)

Καθυστέρηση ένταξης

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

Σενάρια επιβεβαίωσης

Απουσία επικυρωτή ψηφοφορίας

Οι επικυρωτές έχουν το μέγιστο 1 εποχή για να υποβάλουν τη βεβαίωση επικύρωσής τους. Εάν η βεβαίωση επικύρωσης παραλείφθηκε στην εποχή 0, μπορούν να την υποβάλουν με καθυστέρηση συμπερίληψης στην εποχή 1.

Απουσία συσσωρευτή

Υπάρχουν συνολικά 16 συσσωρευτές ανά εποχή. Επιπλέον, τυχαίοι επικυρωτές εγγράφονται σε δύο υποδίκτυα για 256 εποχές και χρησιμεύουν ως εφεδρικό αντίγραφο σε περίπτωση που λείπουν συσσωρευτές.

Απουσία προτείνοντος μπλοκ

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

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

Γνωρίζετε κάποιο πόρο της κοινότητας που σας βοήθησε; Επεξεργαστείτε αυτή τη σελίδα και προσθέστε το!

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