Απόδειξη συμμετοχής ή Απόδειξης εργασίας
Όταν κυκλοφόρησε το Ethereum, ήταν απαραίτητη ακόμα πολλή έρευνα και ανάπτυξη προτού μπορέσουμε να εμπιστευτούμε την απόδειξη συμμετοχής για την ασφάλεια του Ethereum. Η απόδειξη εργασίας ήταν ένας απλούστερος μηχανισμός που είχε ήδη αποδειχθεί από το Bitcoin, πράγμα που σήμαινε ότι οι βασικοί προγραμματιστές μπορούσαν να το εφαρμόσουν αμέσως για να εκκινήσουν το Ethereum. Χρειάστηκαν άλλα οκτώ χρόνια για να αναπτυχθεί η απόδειξη συμμετοχής σε βαθμό ώστε να μπορεί να υλοποιηθεί.
Αυτή η σελίδα εξηγεί τη λογική πίσω από τη μετάβαση του Ethereum από την απόδειξη εργασίας στην απόδειξη συμμετοχής και τα σχετικά αντισταθμίσματα.
Ασφάλεια
Οι ερευνητές του Ethereum θεωρούν την απόδειξη συμμετοχής πιο ασφαλή από την απόδειξη εργασίας. Ωστόσο, εφαρμόστηκε αρκετά πρόσφατα στο πραγματικό Κεντρικό Δίκτυο του Ethereum και είναι λιγότερο δοκιμασμένη στον χρόνο από την απόδειξη εργασίας. Οι ακόλουθες ενότητες συζητούν τα πλεονεκτήματα και τα μειονεκτήματα του μοντέλου ασφάλειας της απόδειξης συμμετοχής σε σύγκριση με την απόδειξη εργασίας.
Κόστος επίθεσης
Στην απόδειξη συμμετοχής, οι επικυρωτές απαιτείται να καταθέσουν ως εγγύηση («stake») τουλάχιστον 32 ETH σε ένα έξυπνο συμβόλαιο. Το Ethereum μπορεί να καταστρέψει το αποθηκευμένο ether για να τιμωρήσει τους επικυρωτές που επιδεικνύουν κακόβουλη συμπεριφορά. Για να επιτευχθεί συναίνεση, τουλάχιστον το 66% του συνολικού αποθηκευμένου ether πρέπει να ψηφίσει υπέρ ενός συγκεκριμένου συνόλου μπλοκ. Τα μπλοκ που έχουν ψηφιστεί από >=66% του αποθηκευμένου κεφαλαίου γίνονται «οριστικοποιημένα», που σημαίνει ότι δεν μπορούν να αφαιρεθούν ή να αναδιοργανωθούν.
Η επίθεση στο δίκτυο μπορεί να σημαίνει την αποτροπή της οριστικοποίησης της αλυσίδας ή τη διασφάλιση μιας συγκεκριμένης οργάνωσης μπλοκ στην κανονική αλυσίδα που ωφελεί κατά κάποιο τρόπο έναν επιτιθέμενο. Αυτό απαιτεί από τον επιτιθέμενο να εκτρέψει την πορεία της ειλικρινούς συναίνεσης είτε μέσω της συσσώρευσης μιας μεγάλης ποσότητας ether και της απευθείας ψηφοφορίας με αυτό είτε μέσω της εξαπάτησης των ειλικρινών επικυρωτών ώστε να ψηφίσουν με συγκεκριμένο τρόπο. Εκτός από τις περίπλοκες επιθέσεις χαμηλής πιθανότητας που εξαπατούν τους ειλικρινείς επικυρωτές, το κόστος επίθεσης στο Ethereum είναι το κόστος του αποθηκευμένου κεφαλαίου που πρέπει να συσσωρεύσει ένας επιτιθέμενος για να επηρεάσει τη συναίνεση υπέρ του.
Το χαμηλότερο κόστος επίθεσης είναι >33% του συνολικού αποθηκευμένου κεφαλαίου. Ένας επιτιθέμενος που κατέχει >33% του συνολικού κεφαλαίου μπορεί να προκαλέσει καθυστέρηση οριστικότητας απλώς με την αποσύνδεσή του. Αυτό είναι ένα σχετικά μικρό πρόβλημα για το δίκτυο, διότι υπάρχει ένας μηχανισμός γνωστός ως «διαρροή λόγω αδράνειας» που διαρρέει το κεφάλαιο μακριά από τους εκτός σύνδεσης επικυρωτές μέχρις ότου η online πλειοψηφία αντιπροσωπεύει το 66% του κεφαλαίου και μπορεί να οριστικοποιήσει ξανά την αλυσίδα. Είναι επίσης θεωρητικά δυνατό για έναν επιτιθέμενο να προκαλέσει διπλή οριστικότητα με λίγο περισσότερο από 33% του συνολικού κεφαλαίου δημιουργώντας δύο μπλοκ αντί για ένα, όταν του ζητηθεί να είναι παραγωγός μπλοκ, και στη συνέχεια να ψηφίσει διπλά με όλους τους επικυρωτές του. Σε κάθε διακλάδωση (fork), μόνο το 50% των υπολοίπων ειλικρινών επικυρωτών απαιτείται να δει πρώτο κάθε μπλοκ. Επομένως, εάν καταφέρουν να χρονίσουν τα μηνύματά τους σωστά, μπορεί να είναι σε θέση να οριστικοποιήσουν και τις δύο διακλαδώσεις. Αυτό έχει χαμηλή πιθανότητα επιτυχίας, αλλά εάν ένας επιτιθέμενος μπορούσε να προκαλέσει διπλή οριστικότητα, η κοινότητα Ethereum θα έπρεπε να αποφασίσει να ακολουθήσει μία διακλάδωση και στην περίπτωση αυτή οι επικυρωτές του επιτιθέμενου θα έπρεπε αναγκαστικά να περικοπούν.
Με περισσότερο από >33% του συνολικού κεφαλαίου, ένας επιτιθέμενος έχει την ευκαιρία να έχει μια μικρή (καθυστέρηση οριστικότητας) ή πιο σοβαρή (διπλή οριστικότητα) επίδραση στο δίκτυο Ethereum. Με περισσότερα από 14.000.000 ETH αποθηκευμένα στο δίκτυο και μια αντιπροσωπευτική τιμή 1000 $/ETH, το ελάχιστο κόστος για την εκτέλεση αυτών των επιθέσεων είναι 1000 x 14.000.000 x 0.33 = $4.620.000.000
. Ο επιτιθέμενος θα έχανε αυτά τα χρήματα μέσω περικοπής και θα αποβαλλόταν από το δίκτυο. Για να επιτεθεί ξανά, θα έπρεπε να συσσωρεύσει >33% του κεφαλαίου (ξανά) και να το κάψει (ξανά). Κάθε απόπειρα επίθεσης στο δίκτυο θα κόστιζε >4,6 δισεκατομμύρια δολάρια (σε 1000 $/ETH και 14 εκατομμύρια ETH αποθηκευμένα). Ο επιτιθέμενος αποβάλλεται επίσης από το δίκτυο όταν υποβάλλεται σε περικοπή και πρέπει να συμμετάσχει σε μια ουρά ενεργοποίησης για να επανεισαχθεί. Αυτό σημαίνει ότι ο ρυθμός επανάληψης μιας επίθεσης περιορίζεται όχι μόνο από τον ρυθμό με τον οποίο ο επιτιθέμενος μπορεί να συσσωρεύσει >33% του συνολικού κεφαλαίου, αλλά και από τον χρόνο που χρειάζεται για να εντάξει όλους τους επικυρωτές του στο δίκτυο. Κάθε φορά που ο εισβολέας επιτίθεται, γίνεται πολύ φτωχότερος και η υπόλοιπη κοινότητα πλουσιότερη, χάρη στο προκύπτον σοκ προσφοράς.
Άλλες επιθέσεις, όπως οι επιθέσεις 51% ή η αναστροφή της οριστικότητας με το 66% του συνολικού αποθηκευμένου κεφαλαίου, απαιτούν σημαντικά περισσότερα ETH και είναι πολύ πιο δαπανηρές για τον επιτιθέμενο.
Συγκρίνετε το αυτό με την απόδειξη εργασίας. Το κόστος εκκίνησης μιας επίθεσης σε ένα Ethereum απόδειξης εργασίας ήταν το κόστος συνεχούς κατοχής >50% του συνολικού ποσοστού hash του δικτύου. Αυτό ισοδυναμούσε με το κόστος υλικού και λειτουργίας επαρκούς υπολογιστικής ισχύος που απαιτείται για να υπερτερεί των άλλων εξορυκτών στον υπολογισμό λύσεων απόδειξης εργασίας με συνέπεια. Στην εξόρυξη του Ethereum χρησιμοποιούνταν περισσότερο GPU παρά ASIC, κάτι που περιόριζε το κόστος (αν το Ethereum παρέμενε στην απόδειξη εργασίας, όμως, η εξόρυξη ASIC ίσως είχε γίνει πιο δημοφιλής). Ένας αντίπαλος θα έπρεπε να αγοράσει πολύ υλικό και να πληρώσει για το ηλεκτρικό ρεύμα για να το λειτουργήσει, ώστε να επιτεθεί σε ένα δίκτυο Ethereum απόδειξης εργασίας. Ωστόσο, το συνολικό κόστος θα ήταν μικρότερο από το κόστος που απαιτείται για τη συσσώρευση αρκετών ETH για να εξαπολύσει μια επίθεση. Μια επίθεση 51% είναι ~20 φορές φθηνότερη στην απόδειξη εργασίας παρά στην απόδειξη συμμετοχής. Εάν η επίθεση εντοπιζόταν και η αλυσίδα διχαζόταν (hard fork) για να αφαιρεθούν οι αλλαγές, ο επιτιθέμενος θα μπορούσε να χρησιμοποιήσει επανειλημμένα το ίδιο υλικό για να επιτεθεί στη νέα εκδοχή της αλυσίδας (fork).
Πολυπλοκότητα
Η απόδειξη συμμετοχής είναι πολύ πιο πολύπλοκη από την απόδειξη εργασίας. Αυτό θα μπορούσε να είναι ένα σημείο υπέρ της απόδειξης εργασίας, γιατί είναι πιο δύσκολο να εισαχθούν κατά λάθος σφάλματα ή ανεπιθύμητες επιπτώσεις σε απλούστερα πρωτόκολλα. Ωστόσο, έπειτα από χρόνια έρευνας και ανάπτυξης, προσομοιώσεων και υλοποιήσεων δοκιμαστικών δικτύων η πολυπλοκότητα έχει περιοριστεί. Το πρωτόκολλο απόδειξης συμμετοχής έχει υλοποιηθεί ανεξάρτητα από πέντε ξεχωριστές ομάδες (σε κάθε ένα από τα επίπεδα εκτέλεσης και συναίνεσης) σε πέντε γλώσσες προγραμματισμού, γεγονός το οποίο παρέχει ανθεκτικότητα έναντι σφαλμάτων πελατών.
Για να αναπτυχθεί και να δοκιμαστεί με ασφάλεια η λογική συναίνεσης απόδειξης συμμετοχής, η Κύρια αλυσίδα (Beacon Chain) τέθηκε σε λειτουργία δύο χρόνια πριν από την εφαρμογή της απόδειξης συμμετοχής στο Κεντρικό Δίκτυο του Ethereum. Η Κύρια αλυσίδα χρησίμευσε ως sandbox για δοκιμές απόδειξης συμμετοχής, καθώς ήταν μια ζωντανή αλυσίδα μπλοκ που υλοποιούσε τη λογική συναίνεσης απόδειξης συμμετοχής χωρίς, όμως, να αγγίζει πραγματικές συναλλαγές Ethereum — ουσιαστικά απλώς κατέληγε σε συναίνεση για τον εαυτό της. Μόλις επετεύχθη σταθερότητα και απουσία τυχόν σφαλμάτων για επαρκή χρονικό διάστημα, η Κύρια αλυσίδα «συγχωνεύτηκε» με το Κεντρικό Δίκτυο του Ethereum. Όλα αυτά συνέβαλαν στον περιορισμό της πολυπλοκότητας της απόδειξης συμμετοχής, καθιστώντας τον κίνδυνο ανεπιθύμητων συνεπειών ή σφαλμάτων πελατών πολύ χαμηλό.
Επιφάνεια επίθεσης
Η απόδειξη συμμετοχής είναι πιο πολύπλοκη από την απόδειξη εργασίας, πράγμα που σημαίνει ότι υπάρχουν περισσότεροι πιθανοί φορείς επίθεσης προς αντιμετώπιση. Αντί για ένα δίκτυο peer-to-peer που συνδέει πελάτες, υπάρχουν δύο, με το καθένα να υλοποιεί ένα ξεχωριστό πρωτόκολλο. Το γεγονός ότι ένας συγκεκριμένος επικυρωτής προεπιλέγεται για να προτείνει ένα μπλοκ σε κάθε χρονικό κενό δημιουργεί τη δυνατότητα άρνησης εξυπηρέτησης, όπου μεγάλος όγκος της κυκλοφορίας του δικτύου αποσυνδέουν αυτόν τον συγκεκριμένο επικυρωτή.
Υπάρχουν επίσης τρόποι με τους οποίους οι επιτιθέμενοι μπορούν να συγχρονίσουν προσεκτικά την κυκλοφορία των μπλοκ ή των βεβαιώσεων τους, ώστε να τα λάβει ένα συγκεκριμένο ποσοστό του ειλικρινούς δικτύου, επηρεάζοντάς τα να ψηφίσουν με συγκεκριμένους τρόπους. Τελικά, ένας επιτιθέμενος μπορεί απλά να συσσωρεύσει επαρκές κεφάλαιο ETH για να κυριαρχήσει στον μηχανισμό συναίνεσης. Σε καθέναν από αυτούς τους φορείς επίθεσης αντιστοιχούν σχετικές άμυνες, αλλά δεν υπάρχουν προς υπεράσπιση στο πλαίσιο της απόδειξης εργασίας.
Αποκέντρωση
Η απόδειξη συμμετοχής είναι πιο αποκεντρωμένη από την απόδειξη εργασίας, επειδή η κούρσα των εξοπλισμών εξόρυξης τείνει να αποκλείει μεμονωμένα άτομα και μικρές οργανώσεις. Παρόλο που ο οποιοσδήποτε μπορεί, από τεχνική άποψη, να ξεκινήσει την κρυπτόρυξη με μέτριο υλικό, η πιθανότητα να λάβει οποιαδήποτε ανταμοιβή είναι εξαιρετικά μικρή σε σύγκριση με τις δραστηριότητες εξόρυξης σε επίπεδο οργανισμών. Με την απόδειξη συμμετοχής, το κόστος αποθήκευσης και η ποσοστιαία απόδοση αυτού του κεφαλαίου είναι ίδια για όλους. Επί του παρόντος, η εκτέλεση ενός επικυρωτή κοστίζει 32 ETH.
Από την άλλη πλευρά, η εφεύρεση των παραγώγων κυμαινόμενου κεφαλαίου έχει οδηγήσει σε ανησυχίες ως προς την κεντρικοποίηση, επειδή λίγοι μεγάλοι πάροχοι διαχειρίζονται μεγάλες ποσότητες αποθηκευμένου ETH. Αυτό είναι προβληματικό και πρέπει να διορθωθεί το συντομότερο δυνατό, αλλά είναι επίσης πιο περίπλοκο από όσο φαίνεται. Οι κεντρικοί πάροχοι αποθήκευσης κεφαλαίου δεν έχουν απαραίτητα τον κεντρικό έλεγχο των επικυρωτών. Συχνά αποτελούν απλώς έναν τρόπο δημιουργίας μιας κεντρικής δεξαμενής ETH όπου πολλοί ανεξάρτητοι χειριστές κόμβων μπορούν να αποθηκεύουν κεφάλαιο χωρίς να απαιτείται από κάθε συμμετέχοντα να αποθηκεύει 32 ETH από το δικό του κεφάλαιο.
Η καλύτερη επιλογή για το Ethereum είναι οι επικυρωτές να εκτελούνται τοπικά σε οικιακούς υπολογιστές, μεγιστοποιώντας την αποκέντρωση. Γι' αυτό, το Ethereum αντιστέκεται στις αλλαγές που αυξάνουν τις απαιτήσεις υλικού για την εκτέλεση ενός κόμβου/επικυρωτή.
Βιωσιμότητα
Η απόδειξη συμμετοχής είναι ένας φθηνός τρόπος από άποψη μείωσης του αποτυπώματος άνθρακα για την ασφάλεια του blockchain. Στην απόδειξη εργασίας οι εξορύκτες ανταγωνίζονται για το δικαίωμα κρυπτόρυξης ενός μπλοκ. Οι εξορύκτες έχουν μεγαλύτερη επιτυχία όταν μπορούν να εκτελέσουν υπολογισμούς ταχύτερα, ενθαρρύνοντας την επένδυση σε υλικό και κατανάλωση ενέργειας. Αυτό παρατηρήθηκε για το Ethereum πριν αλλάξει σε απόδειξη συμμετοχής. Λίγο πριν από τη μετάβαση στην απόδειξη συμμετοχής, το Ethereum κατανάλωνε περίπου 78 TWh/έτος, δηλαδή όσο μια μικρή χώρα. Ωστόσο, η μετάβαση στην απόδειξη συμμετοχής μείωσε αυτή την κατανάλωση ενέργειας κατά περίπου 99,98%. Η απόδειξη συμμετοχής έκανε το Ethereum μια ενεργειακά αποδοτική πλατφόρμα χαμηλών εκπομπών άνθρακα.
Περισσότερα για την κατανάλωση ενέργειας στο Ethereum
Έκδοση
Το Ethereum με απόδειξη συμμετοχής μπορεί να πληρώσει για την ασφάλειά του εκδίδοντας πολύ λιγότερα νομίσματα από το Ethereum με απόδειξη εργασίας, επειδή οι επικυρωτές δεν χρειάζεται να επιβαρύνονται με υψηλά κόστη ηλεκτρικής ενέργειας. Ως αποτέλεσμα, το ETH μπορεί να μειώσει τον πληθωρισμό του ή ακόμα και να γίνει αποπληθωριστικό όταν καίγονται μεγάλες ποσότητες ETH. Τα χαμηλότερα επίπεδα πληθωρισμού σημαίνουν ότι η ασφάλεια του Ethereum είναι φθηνότερη από ό,τι ήταν στην απόδειξη εργασίας.
Περισσότερα από έναν εικονικό μαθητή;
Παρακολουθήστε τον Justin Drake να εξηγεί τα οφέλη της απόδειξης συμμετοχής έναντι της απόδειξης εργασίας: