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

Επίθεση και άμυνα στην απόδειξη συμμετοχής του Ethereum

Κλέφτες και σαμποτέρ αναζητούν συνεχώς ευκαιρίες για να επιτεθούν στο λογισμικό πελάτη του Ethereum. Αυτή η σελίδα περιγράφει τους γνωστούς τρόπους επίθεσης στο επίπεδο συναίνεσης του Ethereum και περιγράφει πώς αυτές οι επιθέσεις μπορούν να αποτραπούν. Οι πληροφορίες σε αυτή τη σελίδα έχουν προσαρμοστεί από μια μακροσκελέστερη έκδοση(opens in a new tab).

Προαπαιτούμενα

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

Τι θέλουν οι επιτιθέμενοι;

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

Μια «αναδιοργάνωση» είναι μια αναδιάταξη των μπλοκ σε νέα σειρά, ίσως με κάποια προσθήκη ή αφαίρεση μπλοκ στην κανονική αλυσίδα. Μια κακόβουλη αναδιοργάνωση μπορεί να εξασφαλίσει τη συμπερίληψη ή εξαίρεση συγκεκριμένων μπλοκ, επιτρέποντας διπλή δαπάνη ή εξαγωγή αξίας μέσω front-running και back-running συναλλαγών (MEV). Οι αναδιοργανώσεις θα μπορούσαν επίσης να χρησιμοποιηθούν για να εμποδίσουν τη συμπερίληψη ορισμένων συναλλαγών στην κανονική αλυσίδα, δηλαδή αποτελούν μια μορφή λογοκρισίας. Η πιο ακραία μορφή αναδιοργάνωσης είναι η «αντιστροφή οριστικότητας» που αφαιρεί ή αντικαθιστά μπλοκ που έχουν προηγουμένως οριστικοποιηθεί. Αυτό είναι δυνατό μόνο εάν καταστραφεί περισσότερο από το ⅓ του συνολικού αποθηκευμένου ether από τον επιτιθέμενο. Αυτή η εγγύηση είναι γνωστή ως «οικονομική οριστικότητα». Περισσότερα για αυτό το θέμα αργότερα.

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

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

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

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

Μέθοδοι επίθεσης

Επιθέσεις στο Επίπεδο 0

Καταρχάς, άτομα που δεν συμμετέχουν ενεργά στο Ethereum (μέσω της εκτέλεσης λογισμικού πελάτη) μπορούν να επιτεθούν βάζοντας στο στόχαστρο το κοινωνικό επίπεδο (Επίπεδο 0). Το Επίπεδο 0 είναι το θεμέλιο πάνω στο οποίο είναι χτισμένο το Ethereum και, ως εκ τούτου, αποτελεί μια εν δυνάμει επιφάνεια για επιθέσεις με συνέπειες που διατρέχουν το υπόλοιπο stack. Μερικά παραδείγματα μπορεί να περιλαμβάνουν:

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

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

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

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

  • Δωροδοκίες σε βασικούς παίκτες του οικοσυστήματος Ethereum για να επηρεάσουν τη διαδικασία λήψης αποφάσεων.

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

Η άμυνα κατά επιθέσεων στο Επίπεδο 0 πιθανότατα δεν είναι απλή υπόθεση, αλλά μπορούν να διατυπωθούν κάποιες βασικές αρχές. Μία από αυτές είναι η διατήρηση ενός γενικά υψηλού λόγου σήματος προς θόρυβο για τις δημόσιες πληροφορίες σχετικά με το Ethereum, που δημιουργούνται και διαδίδονται από αξιόπιστα μέλη της κοινότητας μέσω blog, διακομιστών Discord, σχολιασμών των προδιαγραφών, βιβλίων, podcast και YouTube. Εδώ στο ethereum.org προσπαθούμε σκληρά να διατηρήσουμε ακριβείς πληροφορίες και να τις μεταφράσουμε σε όσο το δυνατόν περισσότερες γλώσσες. Η διατήρηση ενός χώρου με υψηλής ποιότητας πληροφορίες και meme αποτελεί αποτελεσματική άμυνα κατά της παραπληροφόρησης.

Ένα άλλο σημαντικό οχυρό κατά των επιθέσεων στο κοινωνικό επίπεδο είναι μια σαφής δήλωση αποστολής και πρωτόκολλο διακυβέρνησης. Το Ethereum έχει αναδειχθεί ως πρωταθλητής της αποκέντρωσης και της ασφάλειας στα Έξυπνα Συμβόλαια Επιπέδου 1, ενώ παράλληλα αποδίδει μεγάλη αξία στη δυνατότητα κλιμάκωσης και τη βιωσιμότητα. Όποια διαφωνία και αν προκύψει στην κοινότητα Ethereum, αυτές οι βασικές αρχές παραβιάζονται ελάχιστα. Η αξιολόγηση μιας αφήγησης σε σχέση με αυτές τις βασικές αρχές και η εξέτασή της μέσω διαδοχικών κύκλων αναθεώρησης στη διαδικασία EIP (Πρόταση Βελτίωσης Ethereum), μπορεί να βοηθήσει την κοινότητα να διακρίνει τους καλούς από τους κακούς παράγοντες και περιορίζει το πεδίο εντός του οποίου μπορούν να επηρεάσουν τη μελλοντική πορεία του Ethereum οι κακόβουλοι παράγοντες.

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

Επίθεση στο πρωτόκολλο

Το λογισμικό πελάτη του Ethereum μπορεί να εκτελεστεί από οποιονδήποτε. Για να προστεθεί ένας επικυρωτής σε έναν πελάτη, ένας χρήστης πρέπει να αποθηκεύσει 32 ether στο συμβόλαιο κατάθεσης. Ένας επικυρωτής επιτρέπει σε έναν χρήστη να συμμετάσχει ενεργά στην ασφάλεια του δικτύου Ethereum μέσω της πρότασης και βεβαίωσης νέων μπλοκ. Ο επικυρωτής έχει πλέον μια φωνή που μπορεί να χρησιμοποιήσει για να επηρεάσει το μέλλον του περιεχομένου της κρυπτοαλυσίδας. Αυτό μπορεί να το κάνει με ειλικρίνεια και να αυξήσει το απόθεμά του σε ether μέσω ανταμοιβών ή μπορεί να προσπαθήσει να χειραγωγήσει τη διαδικασία προς όφελός του, διακινδυνεύοντας το αποθηκευμένο κεφάλαιό του. Ένας τρόπος για να πραγματοποιηθεί μια επίθεση είναι να συσσωρευτεί ένα μεγαλύτερο ποσοστό του συνολικού αποθηκευμένου κεφαλαίου και, στη συνέχεια, να χρησιμοποιηθεί για να επιτευχθεί πλειοψηφία έναντι των ειλικρινών επικυρωτών. Όσο μεγαλύτερο είναι το ποσοστό του αποθηκευμένου κεφαλαίου που ελέγχει ο επιτιθέμενος, τόσο μεγαλύτερη είναι η δύναμη ψήφου του, ειδικά σε ορισμένα οικονομικά ορόσημα που θα εξετάσουμε αργότερα. Ωστόσο, οι περισσότεροι επιτιθέμενοι δεν θα είναι σε θέση να συσσωρεύσουν επαρκές κεφάλαιο ether για να επιτεθούν με αυτόν τον τρόπο. Αντ' αυτού, θα πρέπει να καταφύγουν σε διακριτικές τεχνικές χειραγώγησης της ειλικρινούς πλειοψηφίας ώστε να ενεργήσει με συγκεκριμένο τρόπο.

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

Επιθέσεις που χρησιμοποιούν μικρά ποσά ETH

Αναδιοργανώσεις

Αρκετά άρθρα έχουν εξηγήσει επιθέσεις στο Ethereum που επιτυγχάνουν αναδιοργάνωση ή καθυστέρηση της οριστικότητας με ένα μικρό μόνο ποσοστό του συνολικού δεσμευμένου ether. Αυτές οι επιθέσεις συνήθως βασίζονται στην απόκρυψη κάποιων πληροφοριών από άλλους επικυρωτές και στη μετέπειτα δημοσίευσή τους με κάποιο διαφοροποιημένο τρόπο ή/και σε κάποια κατάλληλη στιγμή. Συνήθως αποσκοπούν στην απομάκρυνση ορισμένων ειλικρινών μπλοκ από την κανονική αλυσίδα. Το άρθρο των Neuder et al 2020(opens in a new tab) έδειξε πώς ένας επιτιθέμενος επικυρωτής μπορεί να δημιουργήσει και να βεβαιώσει ένα μπλοκ («B») για ένα συγκεκριμένο χρονικό κενό «n+1», αλλά να αποφύγει να το διαδώσει σε άλλους κόμβους του δικτύου. Αντίθετα, καθυστερεί αυτό το βεβαιωμένο μπλοκ μέχρι το επόμενο χρονικό κενό «n+2». Ένας ειλικρινής επικυρωτής προτείνει ένα μπλοκ («C») για το χρονικό κενό «n+2». Σχεδόν ταυτόχρονα, ο επιτιθέμενος δημοσιεύει το μπλοκ που είχε αποκρύψει («B») μαζί με τις αντίστοιχες βεβαιώσεις και βεβαιώνει μέσω της ψήφου του για το χρονικό κενό «n+2» ότι το «B» είναι η κεφαλή της αλυσίδας. Με αυτόν τον τρόπο ουσιαστικά αρνείται την ύπαρξη του ειλικρινούς μπλοκ «C». Όταν δημοσιευθεί το ειλικρινές μπλοκ «D», ο αλγόριθμος επιλογής ενσωμάτωσης βλέπει το «D» που χτίζεται πάνω στο «B» ως μεγαλύτερης βαρύτητας από το «D» που χτίζεται πάνω στο «C». Έτσι, ο επιτιθέμενος κατάφερε να αφαιρέσει το ειλικρινές μπλοκ «C» στο χρονικό κενό «n+2» από την κανονική αλυσίδα χρησιμοποιώντας μια εκ των προτέρων αναδιοργάνωση ενός μπλοκ. Ένας επιτιθέμενος με 34%(opens in a new tab) του αποθηκευμένου κεφαλαίου έχει πολύ καλές πιθανότητες επιτυχίας σε αυτή την επίθεση, όπως εξηγείται σε αυτή τη σημείωση(opens in a new tab). Θεωρητικά, ωστόσο, αυτή η επίθεση θα μπορούσε να επιχειρηθεί ακόμη και με μικρότερα ποσοστά αποθηκευμένου κεφαλαίου. Το άρθρο των Neuder et al 2020(opens in a new tab) περιέγραψε αυτή την επίθεση που λειτούργησε με αποθηκευμένο κεφάλαιο ύψους 30%, αλλά αργότερα αποδείχθηκε ότι ήταν εφικτή με 2% του συνολικού αποθηκευμένου κεφαλαίου(opens in a new tab) και μετά ξανά για έναν μεμονωμένο επικυρωτή(opens in a new tab) χρησιμοποιώντας τεχνικές εξισορρόπησης που θα εξετάσουμε στην επόμενη ενότητα.

ex-ante re-org

Εννοιολογικό διάγραμμα της επίθεσης αναδιοργάνωσης ενός μπλοκ που περιγράφεται παραπάνω (αντλήθηκε από https://notes.ethereum.org/plgVdz-ORe-fGjK06BZ_3A#Fork-choice-by-block-slot-pair(opens in a new tab))

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

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

Τόσο οι επιθέσεις bouncing όσο και οι επιθέσεις ισορροπίας βασίζονται στην προϋπόθεση ο επιτιθέμενος να ασκεί ιδιαίτερα ακριβή έλεγχο στον χρονισμό των μηνυμάτων στο δίκτυο, κάτι που είναι απίθανο. Ωστόσο, οι άμυνες είναι ενσωματωμένες στο πρωτόκολλο με τη μορφή πρόσθετου βάρους που δίνεται στα άμεσα μηνύματα σε σύγκριση με τα μηνύματα που αργούν να μεταδοθούν. Αυτό είναι γνωστό ως ενίσχυση του βάρους του προτείνοντος(opens in a new tab). Για την άμυνα ενάντια στις επιθέσεις bouncing, ο αλγόριθμος επιλογής ενσωμάτωσης ενημερώθηκε ώστε το πλέον πρόσφατο δικαιολογημένο σημείο ελέγχου να μπορεί να αλλάξει μόνο σε αυτό μιας εναλλακτικής αλυσίδας κατά το πρώτο 1/3 των χρονικών κενών σε κάθε εποχή(opens in a new tab). Αυτή η συνθήκη εμποδίζει τον επιτιθέμενο να αποθηκεύει ψήφους για να τις αξιοποιήσει αργότερα. Ο αλγόριθμος επιλογής ενσωμάτωσης απλά παραμένει πιστός στο σημείο ελέγχου που επέλεξε στο πρώτο 1/3 της εποχής κατά τη διάρκεια της οποίας οι περισσότεροι ειλικρινείς επικυρωτές θα είχαν ψηφίσει.

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

Αξίζει να σημειωθεί ότι μόνο η ενίσχυση του προτείνοντος λειτουργεί απλώς ως άμυνα εναντίον «φθηνών αναδιοργανώσεων», δηλαδή αναδιοργανώσεων που επιχειρούνται από έναν επιτιθέμενο με μικρό αποθηκευμένο κεφάλαιο. Στην πραγματικότητα, η ενίσχυση του προτείνοντος μπορεί να χειραγωγηθεί από κατόχους μεγαλύτερου αποθηκευμένου κεφαλαίου. Οι συγγραφείς αυτού του άρθρου(opens in a new tab) περιγράφουν πώς ένας επιτιθέμενος με 7% του αποθηκευμένου κεφαλαίου μπορεί να αξιοποιήσει στρατηγικά τις ψήφους του για να εξαπατήσει τους ειλικρινείς επικυρωτές ώστε να χτίσουν πάνω στην ενσωμάτωσή τους, αναδιοργανώνοντας ένα ειλικρινές μπλοκ. Αυτή η επίθεση σχεδιάστηκε λαμβάνοντας υπόψη ιδανικές συνθήκες καθυστέρησης, οι οποίες είναι πολύ απίθανες. Οι πιθανότητες είναι ακόμα πολύ μεγάλες για τον επιτιθέμενο, και το μεγαλύτερο αποθηκευμένο κεφάλαιο σημαίνει επίσης περισσότερο κεφάλαιο σε κίνδυνο και ισχυρότερο οικονομικό αντικίνητρο.

Επίσης, προτάθηκε μια επίθεση ισορροπίας που στοχεύει συγκεκριμένα τον κανόνα LMD(opens in a new tab), η οποία θεωρήθηκε εφικτή παρά την ενίσχυση του προτείνοντος. Ένας επιτιθέμενος δημιουργεί δύο ανταγωνιστικές αλυσίδες καθυστερώντας την πρόταση του μπλοκ του και διαδίδοντας κάθε μπλοκ περίπου στο μισό δίκτυο για το καθένα, δημιουργώντας μια κατά προσέγγιση ισορροπία μεταξύ των ενσωματώσεων. Στη συνέχεια, οι συμπράττοντες επικυρωτές καθυστερούν τις ψήφους τους, συγχρονίζοντάς τες έτσι ώστε το μισό δίκτυο να λαμβάνει τις ψήφους τους πρώτα για την Ενσωμάτωση «A» και το άλλο μισό να λαμβάνει τις ψήφους τους πρώτα για την Ενσωμάτωση «B». Δεδομένου ότι ο κανόνας LMD απορρίπτει τη δεύτερη βεβαίωση και διατηρεί μόνο την πρώτη για κάθε επικυρωτή, το μισό δίκτυο βλέπει ψήφους για το «A» και καμία ψήφο για το «B», το άλλο μισό βλέπει ψήφους για το «B» και καμία ψήφο για το «A». Σύμφωνα με τους συγγραφείς, ο κανόνας LMD δίνει στον αντίπαλο «αξιοσημείωτη δύναμη» για να πραγματοποιήσει επίθεση ισορροπίας.

Αυτός ο τρόπος επίθεσης LMD αποκλείστηκε με την ενημέρωση του αλγόριθμου επιλογής ενσωμάτωσης(opens in a new tab), έτσι ώστε να απορρίπτει εντελώς τους επικυρωτές που καθυστερούν από την εξέταση επιλογής του αρχείου ενσωμάτωσης. Η μελλοντική επιρροή των επικυρωτών που παράγουν αμφιλογίες επίσης μειώνεται από τον αλγόριθμο επιλογής ενσωμάτωσης. Αυτό αποτρέπει την επίθεση ισορροπίας που περιγράφεται παραπάνω, ενώ παράλληλα διατηρείται η ανθεκτικότητα έναντι των επιθέσεων avalanche.

Μια άλλη κατηγορία επιθέσεων, οι οποίες ονομάζονται επιθέσεις avalanche(opens in a new tab), περιγράφηκε σε ένα άρθρο τον Μάρτιο του 2022(opens in a new tab). Για να πραγματοποιήσει μια επίθεση avalanche, ο επιτιθέμενος πρέπει να ελέγχει αρκετούς διαδοχικούς προτείνοντες μπλοκ. Σε κάθε ένα από τα slot πρότασης μπλοκ, ο επιτιθέμενος δεσμεύει το μπλοκ του, συγκεντρώνοντάς τα μέχρι η ειλικρινής αλυσίδα να φτάσει σε ένα ισοδύναμο βάρος υποδέντρου με τα δεσμευμένα μπλοκ. Στη συνέχεια, τα δεσμευμένα μπλοκ απελευθερώνονται έτσι ώστε να προκαλέσουν αμφιλογίες στον μέγιστο χρόνο. Οι συγγραφείς υποστηρίζουν ότι η ενίσχυση του προτείνοντος, δηλαδή η κύρια άμυνα έναντι των επιθέσεων ισορροπίας και bouncing, δεν προστατεύει από κάποιες παραλλαγές της επίθεσης avalanche. Ωστόσο, οι συγγραφείς έδειξαν επίσης την επίθεση μόνο σε μια εξαιρετικά εξιδανικευμένη έκδοση του αλγορίθμου επιλογής ενσωμάτωσης του Ethereum (χρησιμοποίησαν το GHOST χωρίς το LMD).

Η επίθεση avalanche μετριάζεται από το τμήμα LMD του αλγορίθμου επιλογής ενσωμάτωσης LMD-GHOST. Το LMD σημαίνει «latest-message-driven» και αναφέρεται σε έναν πίνακα που τηρείται από κάθε επικυρωτή και περιέχει το πιο πρόσφατο μήνυμα που ελήφθη από άλλους επικυρωτές. Αυτό το πεδίο ενημερώνεται μόνο εάν το νέο μήνυμα προέρχεται από ένα μεταγενέστερο χρονικό κενό από αυτό που υπάρχει ήδη στον πίνακα για έναν συγκεκριμένο επικυρωτή. Στην πράξη, αυτό σημαίνει ότι σε κάθε χρονικό κενό, το πρώτο μήνυμα που λαμβάνεται είναι αυτό που γίνεται αποδεκτό και τυχόν πρόσθετα μηνύματα είναι αμφιλογίες που πρέπει να αγνοηθούν. Με άλλα λόγια, οι πελάτες συναίνεσης δεν μετρούν ισοδυναμίες — χρησιμοποιούν το πρώτο εισερχόμενο μήνυμα από κάθε επικυρωτή και οι αμφιλογίες απλά απορρίπτονται, αποτρέποντας έτσι τις επιθέσεις avalanche.

Υπάρχουν αρκετές άλλες πιθανές μελλοντικές αναβαθμίσεις στον κανόνα επιλογής ενσωμάτωσης που θα μπορούσαν να ενισχύσουν την ασφάλεια που παρέχεται από την ενίσχυση προτεινόντων. Μία είναι η προβολή συγχώνευση(opens in a new tab), όπου οι επικυρωτές παγώνουν την προβολή τους για την επιλογή ενσωμάτωσης n δευτερόλεπτα πριν από την αρχή ενός χρονικού κενού και ο προτείνων στη συνέχεια βοηθά στον συγχρονισμό της προβολής της κρυπτοαλυσίδας σε όλο το δίκτυο. Μια άλλη πιθανή αναβάθμιση είναι η οριστικότητα μεμονωμένης θέσης(opens in a new tab), η οποία προστατεύει από επιθέσεις που βασίζονται στον χρονισμό μηνυμάτων με την οριστικοποίηση της κρυπτοαλυσίδας μετά από μόλις ένα χρονικό κενό.

Καθυστέρηση οριστικότητας

Το ίδιο άρθρο(opens in a new tab) που περιέγραψε για πρώτη φορά την επίθεση αναδιοργάνωσης ενός μόνο μπλοκ χαμηλού κόστους περιέγραψε επίσης μια επίθεση καθυστέρησης οριστικότητας (γνωστή και ως «αποτυχία ζωτικότητας») που βασίζεται στο γεγονός ότι ο επιτιθέμενος είναι ο προτείνων του μπλοκ για ένα μπλοκ ορίου εποχής. Αυτό είναι κρίσιμης σημασίας επειδή αυτά τα μπλοκ ορίου εποχής γίνονται τα σημεία ελέγχου που χρησιμοποιεί το Casper FFG για να οριστικοποιήσει τμήματα της αλυσίδας. Ο επιτιθέμενος απλά δεσμεύει το μπλοκ του μέχρις ότου αρκετοί ειλικρινείς επικυρωτές χρησιμοποιήσουν τις ψήφους FFG τους υπέρ του προηγούμενου μπλοκ ορίου εποχής ως τρέχοντος στόχου ολοκλήρωσης. Στη συνέχεια, απελευθερώνει το δεσμευμένο μπλοκ του. Επιβεβαιώνει το μπλοκ του και το ίδιο κάνουν και οι υπόλοιποι ειλικρινείς επικυρωτές δημιουργώντας ενσωματώσεις με διαφορετικά σημεία ελέγχου στόχου. Εάν το χρονίσει σωστά, θα αποτρέψει την οριστικότητα επειδή δεν θα υπάρχει υπερπλειοψηφία 2/3 που να επιβεβαιώνει καμία από τις δύο ενσωματώσεις. Όσο μικρότερο είναι το αποθηκευμένο κεφάλαιο, τόσο πιο ακριβής πρέπει να είναι ο χρονισμός, επειδή ο επιτιθέμενος ελέγχει λιγότερες βεβαιώσεις επικύρωσης άμεσα, και τόσο χαμηλότερες οι πιθανότητες ο επιτιθέμενος να ελέγχει τον επικυρωτή που προτείνει ένα συγκεκριμένο μπλοκ ορίου εποχής.

Επιθέσεις μεγάλου εύρους

Υπάρχει επίσης μια κατηγορία επίθεσης ειδική για τις κρυπτοαλυσίδες απόδειξης συμμετοχής που περιλαμβάνει έναν επικυρωτή που συμμετείχε στο πρώτο μπλοκ διατηρώντας μια ξεχωριστή ενσωμάτωση της κρυπτοαλυσίδας παράλληλα με την ειλικρινή, πείθοντας τελικά το σύνολο των ειλικρινών επικυρωτών να μετακυλίσει σε αυτόν την κατάλληλη στιγμή πολύ αργότερα. Αυτός ο τύπος επίθεσης δεν είναι δυνατός στο Ethereum λόγω της συσκευής οριστικότητας που εξασφαλίζει ότι όλοι οι επικυρωτές συμφωνούν για την κατάσταση της ειλικρινούς αλυσίδας σε τακτά χρονικά διαστήματα («σημεία ελέγχου»). Αυτός ο απλός μηχανισμός εξουδετερώνει τους επιτιθέμενους μεγάλου εύρους επειδή οι πελάτες Ethereum απλά δεν θα αναδιοργανώσουν τα οριστικοποιημένα μπλοκ. Οι νέοι κόμβοι που εισάγονται στο δίκτυο εισέρχονται βρίσκοντας ένα αξιόπιστο πρόσφατο hash κατάστασης (σημείο ελέγχου αδύναμης υποκειμενικότητας(opens in a new tab)) και χρησιμοποιώντας το ως ψευδές πρώτο μπλοκ για να χτίσουν πάνω του. Αυτό δημιουργεί μια «πύλη εμπιστοσύνης» για έναν νέο κόμβο που εισέρχεται στο δίκτυο πριν μπορέσει να αρχίσει να επαληθεύει πληροφορίες για τον εαυτό του.

Denial of Service (Άρνηση υπηρεσίας)

Ο μηχανισμός απόδειξης συμμετοχής του Ethereum επιλέγει έναν μόνο επικυρωτή από το σύνολο των επικυρωτών για να είναι προτείνων μπλοκ σε κάθε χρονικό κενό. Αυτό μπορεί να υπολογιστεί χρησιμοποιώντας μια δημόσια γνωστή συνάρτηση και είναι δυνατόν για έναν αντίπαλο να εντοπίσει τον επόμενο προτείνοντα μπλοκ ελαφρώς πριν από την πρόταση του μπλοκ του. Στη συνέχεια, ο επιτιθέμενος μπορεί να στείλει σπαμ στον προτείνοντα μπλοκ για να τον εμποδίσει να ανταλλάξει πληροφορίες με τους ομοτίμους του. Το υπόλοιπο δίκτυο θα είχε την εντύπωση ότι ο προτείνων μπλοκ ήταν εκτός σύνδεσης και το χρονικό κενό θα ήταν απλά άδειο. Αυτό θα μπορούσε να είναι μια μορφή λογοκρισίας κατά συγκεκριμένων επικυρωτών, γεγονός που θα τους εμπόδιζε να προσθέσουν πληροφορίες στην κρυπτοαλυσίδα. Η εφαρμογή εκλογής μεμονωμένου κρυφού ηγέτη (SSLE) ή εκλογής μη μεμονωμένου κρυφού ηγέτη θα μετριάσει τους κινδύνους άρνησης υπηρεσίας (DoS) επειδή μόνο ο προτείνων μπλοκ γνωρίζει ποτέ ότι έχει επιλεγεί και η επιλογή δεν είναι δυνατόν να γίνει γνωστή εκ των προτέρων. Αυτό δεν έχει ακόμη εφαρμοστεί, αλλά είναι ένα ενεργό πεδίο έρευνας και ανάπτυξης(opens in a new tab).

Όλα αυτά δείχνουν ότι είναι πολύ δύσκολο να επιτεθείς επιτυχώς στο Ethereum με μια μικρή συμμετοχή. Οι εφικτές επιθέσεις που έχουν περιγραφεί εδώ απαιτούν έναν εξιδανικευμένο αλγόριθμο επιλογής ενσωμάτωσης, απίθανες συνθήκες δικτύου, ή τα σημεία εισόδου επίθεσης έχουν ήδη κλείσει με σχετικά μικρές επιδιορθώσεις στο λογισμικό του πελάτη. Αυτό, φυσικά, δεν αποκλείει τη δυνατότητα ύπαρξης «ημερών μηδέν» (zero-day) στο φυσικό περιβάλλον, αλλά δείχνει το εξαιρετικά υψηλό επίπεδο τεχνικής επάρκειας, γνώσης του επιπέδου συναίνεσης και τύχης που απαιτείται για να είναι αποτελεσματικός ένας επιτιθέμενος με μειοψηφικό μερίδιο. Από την οπτική γωνία του επιτιθέμενου, το καλύτερο που μπορεί να κάνει είναι να συσσωρεύσει όσο περισσότερο ether γίνεται και να επιστρέψει οπλισμένος με ένα μεγαλύτερο ποσοστό της συνολικής συμμετοχής.

Επιτιθέμενοι που χρησιμοποιούν >=33% του συνολικού κεφαλαίου

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

Το 33% του αποθηκευμένου ether είναι ένα σημείο αναφοράς για έναν επιτιθέμενο, επειδή με οποιοδήποτε μεγαλύτερο ποσό έχει τη δυνατότητα να αποτρέψει την οριστικοποίηση της αλυσίδας χωρίς να χρειάζεται να ελέγξει λεπτομερώς τις ενέργειες των άλλων επικυρωτών. Μπορούν απλά να εξαφανιστούν όλοι μαζί. Εάν το 1/3 ή περισσότερο του αποθηκευμένου ether βεβαιώνει με κακόβουλο τρόπο ή αποτυγχάνει να βεβαιώσει, τότε δεν μπορεί να υπάρξει υπερπλειοψηφία 2/3 και η αλυσίδα δεν μπορεί να οριστικοποιηθεί. Άμυνα ενάντια σε αυτό είναι η απώλεια λόγω αδράνειας. Η απώλεια λόγω αδράνειας εντοπίζει εκείνους τους επικυρωτές που δεν βεβαιώνουν ή βεβαιώνουν την επικύρωση αντίθετα προς την πλειοψηφία. Το αποθηκευμένο ether που ανήκει σε αυτούς τους επικυρωτές που δεν βεβαιώνουν την επικύρωση εξαντλείται σταδιακά μέχρι να φτάσει τελικά σε σημείο να αντιπροσωπεύει συλλογικά λιγότερο από 1/3 του συνόλου, ώστε η αλυσίδα να μπορεί να οριστικοποιηθεί ξανά.

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

Αν θεωρηθεί ότι το δίκτυο Ethereum είναι ασύγχρονο (δηλαδή υπάρχουν καθυστερήσεις μεταξύ της αποστολής και της λήψης μηνυμάτων), ένας επιτιθέμενος που ελέγχει το 34% του συνολικού αποθηκευμένου ether θα μπορούσε να προκαλέσει διπλή οριστικότητα. Αυτό συμβαίνει επειδή ο επιτιθέμενος μπορεί να προκαλέσει αμφιλογίες όταν επιλέγεται να είναι παραγωγός μπλοκ και στη συνέχεια μπορεί να ψηφίσει διπλά με όλους τους επικυρωτές του. Αυτό δημιουργεί μια κατάσταση όπου υπάρχει μια διακλάδωση της κρυπτοαλυσίδας, με την κάθε ενσωμάτωση να έχει το 34% του αποθηκευμένου ether που ψηφίζει υπέρ της. Κάθε ενσωμάτωση απαιτεί μόνο το 50% των υπολοίπων επικυρωτών να ψηφίσουν υπέρ της για να υποστηριχθούν και οι δύο ενσωματώσεις από μια υπερπλειοψηφία, οπότε και οι δύο αλυσίδες μπορούν να οριστικοποιηθούν (επειδή 34% των επικυρωτών επιτιθέμενων + το ήμισυ των υπολοίπων 66% = 67% σε κάθε ενσωμάτωση). Τα ανταγωνιστικά μπλοκ θα έπρεπε να ληφθούν από περίπου το 50% των ειλικρινών επικυρωτών, γεγονός που καθιστά αυτή την επίθεση εφικτή μόνο όταν ο επιτιθέμενος ελέγχει σε κάποιο βαθμό τον χρονισμό των μηνυμάτων που διαδίδονται μέσω του δικτύου, ώστε να μπορέσει να ωθήσει το ήμισυ των ειλικρινών επικυρωτών σε κάθε αλυσίδα. Ο επιτιθέμενος θα έπρεπε αναγκαστικά να καταστρέψει ολόκληρο το αποθηκευμένο του κεφάλαιο (το 34% των περίπου 10 εκατομμυρίων ether με το σημερινό σύνολο επικυρωτών) για να επιτύχει αυτή τη διπλή οριστικότητα, καθώς το 34% των επικυρωτών του θα ψήφιζε διπλά ταυτόχρονα — μια παραβίαση που υπόκειται σε περικοπή με τη μέγιστη ποινή συσχέτισης. Ως άμυνα έναντι αυτής της επίθεσης λειτουργεί το πολύ μεγάλο κόστος της καταστροφής του 34% του συνολικού αποθηκευμένου ether. Η ανάκαμψη από αυτή την επίθεση θα απαιτούσε από την κοινότητα Ethereum να συντονίσει «εκτός ζώνης» και να συμφωνήσει να ακολουθήσει τη μία ή την άλλη από τις ενσωματώσεις και να αγνοήσει την άλλη.

Επιτιθέμενοι που χρησιμοποιούν ~50% του συνολικού αποθηκευμένου κεφαλαίου

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

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

Σε ποσοστό >50% του συνολικού αποθηκευμένου κεφαλαίου ο επιτιθέμενος θα μπορούσε να κυριαρχήσει στον αλγόριθμο επιλογής ενσωμάτωσης. Σε αυτή την περίπτωση, ο επιτιθέμενος θα μπορούσε να παρέχει βεβαιώσεις με ψήφο πλειοψηφίας, γεγονός που του παρέχει επαρκή δυνατότητα ελέγχου ώστε να κάνει σύντομες αναδιοργανώσεις χωρίς να χρειάζεται να εξαπατήσει τα ειλικρινή προγράμματα πελάτες. Οι ειλικρινείς επικυρωτές θα ακολουθούσαν το παράδειγμά του επειδή ο αλγόριθμος επιλογής ενσωμάτωσης θα έβλεπε επίσης την προτιμώμενη αλυσίδα του επιτιθέμενου ως την βαρύτερη, οπότε η αλυσίδα θα μπορούσε να οριστικοποιηθεί. Αυτό επιτρέπει στον επιτιθέμενο να λογοκρίνει ορισμένες συναλλαγές, να κάνει αναδιοργανώσεις μικρής εμβέλειας και να εξάγει μέγιστο MEV με την αναδιάταξη των μπλοκ προς όφελός του. Η άμυνα ενάντια σε αυτό είναι το τεράστιο κόστος ενός ποσοστού πλειοψηφίας του αποθηκευμένου κεφαλαίου (σε σημερινά δεδομένα, κάτι λιγότερο από 19 δισεκατομμύρια δολάρια ΗΠΑ) το οποίο διακινδυνεύει ένας επιτιθέμενος, επειδή το κοινωνικό επίπεδο είναι πιθανό να παρέμβει και να υιοθετήσει μια ειλικρινή ενσωμάτωση μειοψηφίας, υποτιμώντας δραματικά το αποθηκευμένο κεφάλαιο του επιτιθέμενου.

Επιτιθέμενοι που χρησιμοποιούν >=66% του συνολικού κεφαλαίου

Ένας επιτιθέμενος με 66% ή περισσότερο του συνολικού αποθηκευμένου ether μπορεί να οριστικοποιήσει την προτιμώμενη αλυσίδα του χωρίς να χρειάζεται να εκβιάσει κανέναν ειλικρινή επικυρωτή. Ο επιτιθέμενος μπορεί απλά να ψηφίσει για την προτιμώμενη ενσωμάτωση και στη συνέχεια να την οριστικοποιήσει, απλά και μόνο επειδή μπορεί να ψηφίσει με μια μη ειλικρινή υπερπλειοψηφία. Ως ο κυριότερος ενδιαφερόμενος υπερπλειοψηφίας, ο επιτιθέμενος θα ελέγχει πάντα τα περιεχόμενα των οριστικοποιημένων μπλοκ, με τη δυνατότητα να ξοδεύει, να επαναφέρει και να ξοδεύει ξανά, να λογοκρίνει ορισμένες συναλλαγές και να αναδιοργανώνει την αλυσίδα κατά βούληση. Με την απόκτηση επιπλέον ether για να ελέγξει το 66% αντί του 51%, ο επιτιθέμενος αγοράζει ουσιαστικά τη δυνατότητα να κάνει εκ των υστέρων αναδιοργανώσεις και αντιστροφές οριστικότητας (δηλαδή να αλλάξει το παρελθόν, καθώς και να ελέγξει το μέλλον). Οι μόνες πραγματικές άμυνες εδώ είναι το τεράστιο κόστος του 66% του συνολικού αποθηκευμένου ether και η επιλογή να στραφούμε στο κοινωνικό επίπεδο για να συντονίσουμε την υιοθέτηση μιας εναλλακτικής ενσωμάτωσης. Μπορούμε να το εξερευνήσουμε αυτό με περισσότερες λεπτομέρειες στην επόμενη ενότητα.

Άνθρωποι: η τελευταία γραμμή άμυνας

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

Ένα από τα πλεονεκτήματα της συναίνεσης απόδειξης συμμετοχής του Ethereum είναι ότι υπάρχει μια σειρά από αμυντικές στρατηγικές(opens in a new tab) που μπορεί να χρησιμοποιήσει η κοινότητα σε περίπτωση επίθεσης. Μια ελάχιστη απόκριση θα μπορούσε να είναι η εξαναγκαστική έξοδος των επικυρωτών των επιτιθέμενων από το δίκτυο χωρίς καμία πρόσθετη ποινή. Για να εισέλθει εκ νέου στο δίκτυο, ο επιτιθέμενος θα πρέπει να μπει σε μια ουρά ενεργοποίησης που εξασφαλίζει ότι το σύνολο επικυρωτών αυξάνεται σταδιακά. Για παράδειγμα, η προσθήκη αρκετών επικυρωτών για τον διπλασιασμό του ποσού του αποθηκευμένου ether διαρκεί περίπου 200 ημέρες, αγοράζοντας ουσιαστικά τους ειλικρινείς επικυρωτές 200 ημέρες πριν ο επιτιθέμενος μπορέσει να επιχειρήσει μια άλλη επίθεση του 51%. Ωστόσο, η κοινότητα θα μπορούσε επίσης να αποφασίσει να τιμωρήσει τον επιτιθέμενο πιο αυστηρά, ανακαλώντας προηγούμενες ανταμοιβές ή κάνοντας καύση κάποιου μέρους (έως και 100%) του αποθηκευμένου κεφαλαίου του.

Όποια και αν είναι η ποινή που επιβλήθηκε στον επιτιθέμενο, η κοινότητα πρέπει επίσης να αποφασίσει από κοινού εάν η μη ειλικρινής αλυσίδα —παρά το γεγονός ότι είναι αυτή που ευνοείται από τον αλγόριθμο επιλογής ενσωμάτωσης που είναι κωδικοποιημένος στους πελάτες Ethereum— είναι στην πραγματικότητα άκυρη και ότι η κοινότητα θα πρέπει να χτίσει πάνω στην ειλικρινή αλυσίδα αντί για αυτήν. Οι ειλικρινείς επικυρωτές θα μπορούσαν να συμφωνήσουν από κοινού να χτίσουν πάνω σε μία ενσωμάτωση ένα τμήμα της αλυσίδας μπλοκ Ethereum που έχει γίνει αποδεκτό από την κοινότητα, το οποίο θα μπορούσε, για παράδειγμα, να έχει διακλαδωθεί από την κανονική αλυσίδα πριν ξεκινήσει η επίθεση, ή να αφαιρέσουν διά της βίας τους επικυρωτές των επιτιθέμενων. Οι ειλικρινείς επικυρωτές θα είχαν κίνητρο να χτίσουν πάνω σε αυτή την αλυσίδα επειδή θα απέφευγαν τις ποινές που τους επιβλήθηκαν για την αποτυχία τους (ορθώς) να βεβαιώσουν την επικύρωση της αλυσίδας του επιτιθέμενου. Τα ανταλλακτήρια, οι οδοί εισόδου (on-ramps) και οι εφαρμογές που έχουν χτιστεί πάνω στο Ethereum κατά πάσα πιθανότητα θα προτιμούσαν να βρίσκονται στην ειλικρινή αλυσίδα και θα ακολουθούσαν τους ειλικρινείς επικυρωτές στην ειλικρινή αλυσίδα μπλοκ.

Ωστόσο, αυτό θα αποτελούσε σημαντική πρόκληση ως προς τη διακυβέρνηση. Ορισμένοι χρήστες και επικυρωτές αναμφίβολα θα έχαναν ως αποτέλεσμα της επιστροφής στην ειλικρινή αλυσίδα, οι συναλλαγές σε μπλοκ που επικυρώθηκαν μετά την επίθεση θα μπορούσαν ενδεχομένως να αναστραφούν, διαταράσσοντας το επίπεδο εφαρμογής, και απλά υπονομεύει τη δεοντολογία ορισμένων χρηστών που τείνουν να πιστεύουν ότι «ο κώδικας είναι νόμος». Τα ανταλλακτήρια και οι εφαρμογές πιθανότατα θα έχουν συνδέσει ενέργειες εκτός αλυσίδας με συναλλαγές εντός αλυσίδας που μπορεί τώρα να αναστραφούν, ξεκινώντας μια αλληλοδιαδοχή ανακλήσεων και αναθεωρήσεων που θα ήταν δύσκολο να ξετυλιχθούν δίκαια, ειδικά εάν τα παράνομα κέρδη έχουν αναμειχθεί, κατατεθεί σε DeFi ή άλλα παράγωγα με δευτερεύουσες συνέπειες για ειλικρινείς χρήστες. Αναμφίβολα, ορισμένοι χρήστες, ίσως ακόμα και θεσμικοί, θα είχαν ήδη ωφεληθεί από τη μη ειλικρινή αλυσίδα είτε λόγω ευστροφίας είτε από τύχη, και ίσως να αντιταχθούν σε μια ενσωμάτωση για να προστατεύσουν τα κέρδη τους. Έχουν γίνει εκκλήσεις για εξάσκηση της αντίδρασης της κοινότητας σε επιθέσεις >51%, έτσι ώστε να μπορέσει να εκτελεστεί γρήγορα ένας συνετός συντονισμένος μετριασμός. Υπάρχει μια χρήσιμη συζήτηση από τον Vitalik στο ethresear.ch εδώ(opens in a new tab) και εδώ(opens in a new tab) και στο Twitter εδώ. Ο στόχος μιας συντονισμένης κοινωνικής αντίδρασης θα πρέπει να είναι πολύ προσανατολισμένος και συγκεκριμένος για την τιμωρία του επιτιθέμενου και την ελαχιστοποίηση των επιπτώσεων για άλλους χρήστες.

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

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

Περίληψη

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

33%: καθυστέρηση οριστικότητας

34%: καθυστέρηση οριστικότητας, διπλή οριστικότητα

51%: καθυστέρηση οριστικότητας, διπλή οριστικότητα, λογοκρισία, έλεγχος του μέλλοντος της κρυπτοαλυσίδας

66%: καθυστέρηση οριστικότητας, διπλή οριστικότητα, λογοκρισία, έλεγχος του μέλλοντος και του παρελθόντος της κρυπτοαλυσίδας

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

Σε γενικές γραμμές, παρά αυτούς τους πιθανούς τρόπους επίθεσης, ο κίνδυνος μιας επιτυχημένης επίθεσης είναι χαμηλός, σίγουρα χαμηλότερος από τα ισοδύναμα απόδειξης εργασίας. Αυτό οφείλεται στο τεράστιο κόστος του αποθηκευμένου ether που διακινδυνεύει ένας επιτιθέμενος με στόχο να επικρατήσει έναντι των ειλικρινών επικυρωτών με τη δύναμη ψήφου του. Το ενσωματωμένο επίπεδο κινήτρων «καρότο και μαστίγιο» προστατεύει από τις περισσότερες παρατυπίες, ειδικά όσον αφορά τους επιτιθέμενους με χαμηλό αποθηκευμένο κεφάλαιο. Οι πιο διακριτικές επιθέσεις bouncing και ισορροπίας είναι επίσης απίθανο να πετύχουν, επειδή οι πραγματικές συνθήκες δικτύου καθιστούν πολύ δύσκολη την άσκηση λεπτομερούς ελέγχου στην παράδοση μηνυμάτων σε συγκεκριμένα υποσύνολα επικυρωτών, και οι ομάδες πελατών κλείνουν γρήγορα τους γνωστούς φορείς επίθεσης bouncing, ισορροπίας και avalanche με απλές επιδιορθώσεις.

Οι επιθέσεις του 34%, 51% ή 66% πιθανότατα θα απαιτούσαν κοινωνικό συντονισμό εκτός ζώνης για να επιλυθούν. Ενώ αυτό πιθανότατα θα ήταν μια επίπονη εμπειρία για την κοινότητα, η δυνατότητα της κοινότητας να ανταποκριθεί εκτός ζώνης αποτελεί ισχυρό αντικίνητρο για έναν επιτιθέμενο. Το κοινωνικό επίπεδο του Ethereum είναι ο έσχατος μηχανισμός ασφαλείας: μια επιτυχημένη από τεχνική άποψη επίθεση θα μπορούσε και πάλι να εξουδετερωθεί εάν η κοινότητα συμφωνούσε να υιοθετήσει μια ειλικρινή ενσωμάτωση. Ο επιτιθέμενος και η κοινότητα Ethereum θα επιδίδονταν σε έναν αγώνα δρόμου: τα δισεκατομμύρια δολάρια που δαπανήθηκαν για μια επίθεση 66% πολύ πιθανόν να καταστρέφονταν από μια επιτυχημένη αντεπίθεση κοινωνικού συντονισμού, εάν αυτή πραγματοποιούνταν αρκετά γρήγορα, αφήνοντας τον επιτιθέμενο με βαριά αποθέματα μη ρευστού αποθηκευμένου ether σε μια γνωστή μη ειλικρινή αλυσίδα που αγνοείται από την κοινότητα Ethereum. Η πιθανότητα αυτό να καταλήξει κερδοφόρο για τον επιτιθέμενο είναι αρκετά χαμηλή, γεγονός που το καθιστά αποτελεσματικό αποτρεπτικό παράγοντα. Γι' αυτό είναι τόσο σημαντική η επένδυση στη διατήρηση ενός συνεκτικού κοινωνικού επιπέδου του οποίου οι αξίες είναι στενά ευθυγραμμισμένες.

Περαιτέρω υλικό προς ανάγνωση

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