18 min read

Ο μηχανισμός Απόδειξης Κλειδώματος (Proof of Stake) του Celo

Στην προηγούμενη ανάρτησή μου, εξήγησα πώς το Celo αντικαθιστά τη χρήση του Proof of Work του Ethereum για την ασφαλή προσθήκη συναλλαγών στο λογιστικό βιβλίο με έναν αλγόριθμο συναίνεσης Byzantine Fault Tolerant (BFT) που λειτουργεί μεταξύ επικυρωτών.
Ο μηχανισμός Απόδειξης Κλειδώματος (Proof of Stake) του Celo
Πώς το Celo διασφαλίζει τον μηχανισμό συναίνεσης με κίνητρα για τους επικυρωτές, την ομάδα και τους ψηφοφόρους

Στην προηγούμενη ανάρτησή μου, εξήγησα πώς το Celo αντικαθιστά τη χρήση του Proof of Work του Ethereum για την ασφαλή προσθήκη συναλλαγών στο λογιστικό βιβλίο με έναν αλγόριθμο συναίνεσης Byzantine Fault Tolerant (BFT) που λειτουργεί μεταξύ επικυρωτών. Σε αυτή τη συνέχεια της ανάρτησης, εμβαθύνουμε στο σχεδιασμό του μηχανισμού Proof of Stake του Celo - πώς το πρωτόκολλο καθορίζει ποιοι κόμβοι γίνονται επικυρωτές και πώς οργανώνονται τα κίνητρα για την ασφάλεια του δικτύου.

Πριν ξεκινήσουμε, ίσως σας ενδιαφέρει και αυτή η ηχογράφηση, η οποία καλύπτει μέρος του ίδιου υλικού:

Περιστασιακοί πλήρεις κόμβοι, επαγγελματίες επικυρωτές

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

Αντίθετα, το Celo ενθαρρύνει την "επαγγελματοποίηση" των επικυρωτών. Δεδομένου ότι ο BFT περιορίζει τον συνολικό αριθμό των επικυρωτών που μπορούν να υπάρχουν στο δίκτυο σε μερικές εκατοντάδες το πολύ (προς το παρόν! - βλ. παρακάτω), κάθε επικυρωτής μπορεί να έχει σημαντική επίδραση στην απόδοση και την ασφάλεια του δικτύου. Έτσι, τα συμφέροντα του δικτύου εξυπηρετούνται καλύτερα με την επιλογή ενός αργά μεταβαλλόμενου συνόλου καλά συντηρημένων, ασφαλών επικυρωτών. Αυτό σημαίνει τακτικούς ελέγχους ασφαλείας, ενεργή παρακολούθηση, ανάπτυξη ενός συνόλου κόμβων μεσολάβησης για τον μετριασμό των DDoS και της επιφάνειας επίθεσης και χρήση πορτοφολιών υλικού συνδεδεμένων με υλικό που βρίσκεται σε ασφαλείς εγκαταστάσεις συνεγκατάστασης. Σημαίνει επίσης άτομα ή οργανισμούς με τους πόρους για την αντικατάσταση ελαττωματικού υλικού για τη μεγιστοποίηση της διαθεσιμότητας.

Ομάδες επικυρωτών

Πώς να διευκολύνουμε την επιλογή καλά συντηρημένων, ασφαλών επικυρωτών και ταυτόχρονα να συμπεριλάβουμε κάθε πιθανό χρήστη στη διαδικασία επιλογής τους; Το Celo χρησιμοποιεί έναν μηχανισμό εκλογών, στον οποίο οι κάτοχοι του εγγενούς περιουσιακού στοιχείου, Celo Gold, έχουν κίνητρο να ψηφίσουν. Όμως οι χρήστες δεν ψηφίζουν απευθείας τους επικυρωτές - αντίθετα, ψηφίζουν για ομάδες επικυρωτών. Μια ομάδα επικυρωτών έχει "μέλη", έναν ταξινομημένο κατάλογο υποψήφιων επικυρωτών (καθένας από τους οποίους πρέπει να έχει επιλέξει να ενταχθεί στην εν λόγω ομάδα). Η ομάδα μπορεί να προσθέτει, να αφαιρεί ή να αναδιατάσσει τα μέλη ανά πάσα στιγμή. Ανάλογα με τον αριθμό των ψήφων που λαμβάνει μια ομάδα, μπορεί να εκλεγεί από κανένα έως όλα τα μέλη της. Οι ομάδες επικυρωτών αποζημιώνονται λαμβάνοντας μερίδιο από τις αμοιβές των επικυρωτών.

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

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

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

Κλειδωμένος χρυσός

Για να συμμετάσχουν στις εκλογές επικυρωτών, οι χρήστες πρέπει πρώτα να κάνουν μια μεταφορά Celo Gold σε ένα έξυπνο συμβόλαιο "Locked Gold". Το Locked Gold μπορεί επίσης να χρησιμοποιηθεί ως μερίδιο για την εγγραφή ενός επικυρωτή ή μιας ομάδας επικυρωτών, όπως περιγράφεται παρακάτω, και επιτρέπει επίσης την ψηφοφορία για προτάσεις στον μηχανισμό διακυβέρνησης του Celo εντός της αλυσίδας.

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

Το υπόλοιπο Locked Gold ενός χρήστη αντιστοιχεί στον αριθμό των ψήφων που μπορεί να δώσει. Γιατί όχι ένας χρήστης, μια ψήφος; Σε ένα αποκεντρωμένο σύστημα όπως το Celo ή το Ethereum, δεν υπάρχει τρόπος ταυτοποίησης των χρηστών, καθαυτών, παρά μόνο των λογαριασμών. Από το σχεδιασμό, ο καθένας μπορεί να δημιουργήσει οποιονδήποτε αριθμό νέων λογαριασμών. Αυτό που δεν μπορούν να κάνουν είναι να δημιουργήσουν το εγγενές περιουσιακό στοιχείο. Ως αποτέλεσμα, ο μόνος μηχανισμός ψηφοφορίας που είναι γνωστό ότι είναι ανθεκτικός σε επιθέσεις πλαστογράφησης είναι η καταμέτρηση της αξίας των λογαριασμών και όχι των λογαριασμών. Ο Vitalik Buterin έχει μια εξαιρετική ανάρτηση στο ιστολόγιο για την ταυτότητα και τη συμπαιγνία που διερευνά αυτές τις προκλήσεις.

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

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

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

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

Δεύτερον, η περίοδος ξεκλειδώματος είναι αρκετά σύντομη ώστε να μην αποτελεί σημαντικό κίνδυνο ρευστότητας για τους περισσότερους χρήστες. Αυτό περιορίζει την ελκυστικότητα για τους χρήστες των χρηματιστηρίων που δημιουργούν δευτερογενείς αγορές στο Locked Celo Gold και με αυτόν τον τρόπο συγκεντρώνουν τη δύναμη ψήφου.

Εκλογές επικυρωτή

Μόλις ένας χρήστης αποκτήσει Locked Gold, μπορεί να διαθέσει ένα ποσό από αυτό ως ψήφο για μια ομάδα επικυρωτών.

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

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

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

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

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

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

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

Ανταμοιβές εποχής

Το Celo χρησιμοποιεί μια παραλλαγή της γνωστής έννοιας των "ανταμοιβών μπλοκ", κόβοντας και διανέμοντας νέες μονάδες Celo Gold καθώς παράγονται μπλοκ, για να δημιουργήσει διάφορα είδη κινήτρων. Οι ανταμοιβές εποχής πληρώνονται στο τελευταίο μπλοκ της εποχής και χρησιμοποιούνται για: πληρωμές σε επικυρωτές και ομάδες επικυρωτών, διανομή ανταμοιβών σε κατόχους Locked Celo Gold που ψηφίζουν για ομάδες που εξέλεξαν επικυρωτές, ενίσχυση του αποθεματικού stablecoin αν αυτό είναι υπο-καλυμμένο και πληρωμές για επιχορηγήσεις ανάπτυξης πρωτοκόλλων και για αντιστάθμιση άνθρακα.

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

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

Ανταμοιβές για επικυρωτές και ομάδες

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

Η ανταμοιβή του επικυρωτή εντός στόχου είναι μια σταθερή τιμή (όπως είναι συνήθως οι ανταμοιβές μπλοκ) και προορίζεται να καλύψει το κόστος συν ένα ελκυστικό περιθώριο για αποσβεσμένα κεφαλαιακά και λειτουργικά έξοδα που σχετίζονται με μια συνιστώμενη ρύθμιση που περιλαμβάνει πλεονάζοντες κεντρικούς υπολογιστές με πορτοφόλια υλικού σε μια ασφαλή εγκατάσταση συνεγκατάστασης, κόμβους μεσολάβησης σε παρόχους cloud ή edge hosting, καθώς και ελέγχους ασφαλείας. Όπως συμβαίνει με τις περισσότερες παραμέτρους του πρωτοκόλλου Celo, μπορεί να αλλάξει με πρόταση διακυβέρνησης.

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

Οι ανταμοιβές της Εποχής για τους επικυρωτές και τις ομάδες επικυρωτών εκφράζονται σε δολάρια Celo, καθώς αναμένεται ότι τα περισσότερα από τα έξοδά τους θα πραγματοποιούνται σε νομίσματα fiat, επιτρέποντας στους οργανισμούς να κατανοήσουν την πιθανή τους απόδοση ανεξάρτητα από τη μεταβλητότητα της τιμής του χρυσού Celo. Για να καταστεί αυτό δυνατό, το πρωτόκολλο εξαργυρώνει νέα δολάρια Celo που αντιστοιχούν στο ισοδύναμο ανταμοιβής εποχής του Celo Gold και τα μεταφέρει στο αποθεματικό για να διατηρήσει την αναλογία εξασφάλισης. Φυσικά, η επίδραση στο πρόγραμμα-στόχο εξαρτάται από την επικρατούσα συναλλαγματική ισοτιμία.

Το πρωτόκολλο Celo παρακολουθεί ένα "σκορ διαθεσιμότητας" για κάθε επικυρωτή. Όταν ένας επικυρωτής προτείνει ένα μπλοκ, περιλαμβάνει επίσης στο σώμα του μπλοκ κάθε υπογραφή που έχει λάβει από επικυρωτές που δεσμεύουν το προηγούμενο μπλοκ. Για να είναι ένας επικυρωτής "έτοιμος" σε ένα συγκεκριμένο μπλοκ, πρέπει η υπογραφή του να έχει συμπεριληφθεί σε τουλάχιστον ένα από τα δέκα προηγούμενα μπλοκ. (Επειδή η σειρά των προτείνοντων ανακατεύεται σε κάθε εκλογή, είναι πολύ δύσκολο για έναν κακόβουλο παράγοντα που αποκρύπτει τις υπογραφές ενός ειλικρινούς επικυρωτή να επηρεάσει αυτό το γεγονός). Στη συνέχεια, η βαθμολογία χρόνου λειτουργικότητας ενός επικυρωτή για την εποχή είναι το ποσοστό των μπλοκ της εποχής για τα οποία είναι "up" αυξημένο με έναν εκθέτη. Αυτό σημαίνει ότι η διακοπή λειτουργίας μικρότερη από περίπου ένα λεπτό δεν μετράει εναντίον του επικυρωτή, αλλά ότι μεγαλύτερες περίοδοι αρχίζουν να μειώνουν γρήγορα το σκορ.

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

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

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

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

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

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

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

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

Ανταμοιβές σε κλειδωμένο χρυσό

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

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

Η προσαρμογή του ποσοστού ανταμοιβής εντός στόχου για να ληφθεί υπόψη η υπο- ή υπερ-έκδοση σε σχέση με το χρονοδιάγραμμα-στόχο δίνει μια βασική ανταμοιβή, ουσιαστικά την ποσοστιαία αύξηση για μια μονάδα ψηφοφορίας Locked Gold για μια ομάδα που είναι επιλέξιμη για ανταμοιβές.

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

Άλλες χρήσεις των ανταμοιβών εποχής

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

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

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

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

Κλειδώματα και περικοπές

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

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

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

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

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

Αξίζει να τονιστεί ότι ο Locked Gold των τακτικών χρηστών δεν κλειδώνεται και δεν κινδυνεύει ποτέ.

Μακροπρόθεσμος χάρτης πορέιας: BFT χωρίς δικαιώματα, κλιμακούμενο BFT

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

Σε συνδυασμό με την κατασκευή της πλατφόρμας Celo, η κοινότητα Celo έχει αναπτύξει το BF-Tree, έναν αλγόριθμο συναίνεσης BFT που κλιμακώνεται σε χιλιάδες κόμβους. Πρόκειται για μια ριζική αλλαγή βήματος σε σχέση με την υπάρχουσα κατάσταση της τεχνολογίας. Σημαίνει όμως ότι το έργο Celo θα μπορούσε να ενσωματώσει έναν μηχανισμό Proof of Stake που είναι πραγματικά χωρίς εμπιστοσύνη και χωρίς άδεια, δεδομένου ότι οι κόμβοι μπορούν να συμμετέχουν χωρίς διαδικασία επιλογής. Οι πλήρεις κόμβοι θα αναλάμβαναν τον πρόσθετο ρόλο της επικύρωσης, όπως ακριβώς συμβαίνει με την εξόρυξη στη δημόσια αλυσίδα του Ethereum, μόνο που φυσικά δεν θα είχε περιβαλλοντικές επιπτώσεις. Αυτό θα διευκόλυνε τις ανταμοιβές των επικυρωτών στις οποίες θα μπορούσαν να συμμετέχουν όλοι όσοι συνεισφέρουν υπολογιστικούς πόρους, επιπλέον των κινήτρων για την εξυπηρέτηση των ελαφρών πελατών που περιγράφηκαν παραπάνω.

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

Συμμετέχετε!

Αν ενδιαφέρεστε να μάθετε περισσότερα σχετικά με τη λειτουργία ενός κόμβου στο δίκτυο Celo, είτε ενός επικυρωτή είτε ενός πλήρους κόμβου, ή αν μπορείτε να φανταστείτε τον εαυτό σας να διευθύνει μια ομάδα επικυρωτών, θα πρέπει οπωσδήποτε να συμμετάσχετε στο The Great Celo Stake Off.

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

Μπορείτε να διαβάσετε περισσότερα για το πρωτόκολλο Celo στην Τεκμηρίωση για προγραμματιστές Celo και να δοκιμάσετε το Celo στο Alfajores Testnet. Μπορείτε να κάνετε ερωτήσεις και να βρείτε απαντήσεις στο Φόρουμ Celo ή να συνομιλήσετε με τους προγραμματιστές του Celo στο Discord.

Ευχαριστούμε τους Asa Oines, Claire Belmont, Jason Ansel, Roman Croessmann, Marek Olszewski, Taylor Lahey, Brian Crain και πολλούς άλλους για τη συμβολή τους στο σχεδιασμό και την περιγραφή.


Πρωτότυπο Άρθρο (Αγγλική): Celo’s Proof of Stake mechanism

Συντάκτης Πρωτότυπου Άρθρου: Celo Foundation

Ημερομηνία Συγγραφής Πρωτότυπου Άρθρου: 08 Νοεμβρίου 2019