Δημοσίευση επισκεπτών HodlX Υποβάλετε την ανάρτησή σας
Η ασφάλεια συναλλαγών στο blockchain είναι συχνά διασυνδέεται με το πρόβλημα του τελικού αποκλεισμού.
Ένας παραλήπτης συναλλαγής πρέπει να είναι σίγουρος ότι η συναλλαγή δεν θα αντιστραφεί και ο αποστολέας δεν μπορεί να πραγματοποιήσει διπλή δαπάνη. Στην περίπτωση των νομισμάτων fiat, το οριστικό όριο δεσμεύεται από το νόμο, καθιστώντας το νόμισμα νόμιμο χρήμα. Στα σχέδια που βασίζονται στο PoW (απόδειξη εργασίας), το μπλοκ δεν είναι ποτέ τελικό.
Ο Satoshi Nakamoto έχει δείξει ότι η πιθανότητα ενός αυθόρμητου μικρού πιρουνιού μήκους Ν>6 μπλοκ είναι αμελητέα, έτσι ώστε να μπορεί κανείς να ισχυριστεί ότι το Bitcoin έχει μια πιθανότητα οριστικοποίησης. Ωστόσο, οι ερευνητές έχουν απεικονίζεται ότι το block-finality είναι πραγματικά οικονομικό: μια συναλλαγή είναι τελική κάθε φορά που το κόστος που απαιτείται για την αντιστροφή του είναι μεγαλύτερο από το πιθανό κέρδος από την επίθεση διπλής δαπάνης.
Μερικές φορές, οι ειδικοί του blockchain ισχυρίζονται ότι ορισμένοι blockchain που βασίζονται στο PoS (απόδειξη πονταρίσματος) δεν έχουν το πρόβλημα της τελικότητας του block, καθώς τα μπλοκ σε αυτά είναι “αμέσως τελικά”. Αυτός ο ισχυρισμός είναι ψευδής. Το Forking είναι ένα αναπόφευκτο πρόβλημα οποιουδήποτε blockchain, ανεξάρτητα από τους κανόνες συναίνεσης που επιλέγονται.
Ένα καλό παράδειγμα είναι το πρόσφατο ιστορία με το blockchain Steem. Η κοινότητα του δικτύου χωρίστηκε σε δύο αμοιβαία εχθρικά στρατόπεδα. Παρά τους κανόνες συναίνεσης, το blockchain ήταν διχασμένο. Κάθε ομάδα διατηρούσε το δικό της πιρούνι και μπλοκάρει τα υπόλοιπα στα πορτοφόλια των αντιπάλων τους. Προφανώς, το πιρούνι που ακολούθησε τους κανόνες του αρχικού πρωτοκόλλου είχε χάσει τη μονομαχία, καθώς το όριο αγοράς του έγινε λιγότερο από το ανώτατο όριο αγοράς του πιρουνιού. Έτσι μπορούμε να συμπεράνουμε ότι το τελικό σε ένα μπλοκ PoS έχει οικονομικό υπόβαθρο, παρόμοιο με αυτό του μπλοκ PoW. Προγραμματιστές του Ethereum 2.0 μερίδιο το ίδιο όραμα.
Ωστόσο, ισχυρίζονται ότι ο μηχανισμός κοπής του πρωτοκόλλου Casper όχι μόνο αποτρέπει τις επιθέσεις σε τίποτα, αλλά καθιστά τις επιθέσεις διπλών δαπανών πιο ακριβές. Παρ ‘όλα αυτά, η σύνθετη λογική πρωτοκόλλου ανοίγει την πόρτα σε πιο εξελιγμένες επιθέσεις διπλών δαπανών.
Απλοποιημένη επίθεση διπλής δαπάνης
Η απλούστερη μορφή της επίθεσης διπλής δαπάνης στο μπλοκ PoS για τον κακόβουλο εισβολέα είναι να κλειδώσετε σε στοιχήματα δύο φορές περισσότερα χρήματα από τους έντιμους συμμετέχοντες. Εάν ο κακόβουλος ηθοποιός Β καταφέρει να το κάνει σε ένα δίκτυο παρόμοιο με το Ethereum 2.0, τότε είναι πιθανό ότι μέσα σε αυτήν τη συγκεκριμένη επιτροπή θραύσης, θα λάβει διπλάσια ποσοστά από ό, τι έχει έντιμους επικυρωτές. Έτσι, ο κακόβουλος ηθοποιός ελέγχει το ⅔ των ψήφων στην επιτροπή shard. Στο Ethereum 2.0 αυτό το ποσό ψήφων είναι αρκετό για να «οριστικοποιήσει» το μπλοκ. Ας υποθέσουμε ότι θέλει να διπλασιάσει να ξοδέψει κάποιο ποσό νομισμάτων σε αυτό το θραύσμα. Ανακοινώνει μια συναλλαγή στην οποία ο Β στέλνει νομίσματα στον χρήστη Α. Αυτή η συναλλαγή μπαίνει στο μπλοκ που υπογράφεται από έντιμους επικυρωτές. Ο Β προσθέτει ένα μέρος των ψήφων του, ώστε να εκλεγεί το μπλοκ.
Στη συναίνεση που βασίζεται στο PoS, το ⅔ των ψήφων στην επιτροπή πρέπει να είναι καταφατικό για να «οριστικοποιηθεί» το μπλοκ. Σύμφωνα με την υπόθεσή μας, οι μισές ψήφοι των επιτιθέμενων είναι ⅓ των ψήφων στην επιτροπή. Μαζί με ειλικρινείς επικυρωτές προσθέτει έως και ⅔. Αυτό είναι ένα κατώφλι που απαιτείται για την «οριστικοποίηση» του μπλοκ. Έτσι, ο Α μαθαίνει ότι η συναλλαγή γίνεται «οριστικοποιημένη» και απελευθερώνει εμπορεύματα στον Β. Στη συνέχεια, ο Β επιστρέφει τη συναλλαγή δημιουργώντας ένα πιρούνι και επικυρώνοντας τη χρησιμοποιώντας όλες τις ψήφους του στην επιτροπή. Σύμφωνα με το πρωτόκολλο Casper, το μισό μερίδιο του Β στο θραύσμα που χρησιμοποιήθηκε και στα δύο πιρούνια πρέπει να περικοπεί. Οι σχεδιαστές του πρωτοκόλλου Casper ισχυρίζονται ότι αυτό είναι το κόστος της επίθεσης.
Σε αυτό το απλοποιημένο σενάριο ο εισβολέας χάνει το μισό του μεριδίου του στο θραύσμα. Επίσης, αυτό το ποσό ισούται με το μερίδιο των έντιμων επικυρωτών σε αυτό το θραύσμα. Ας υποθέσουμε ότι υπάρχουν N θραύσματα στο δίκτυο. Στη συνέχεια, ο εισβολέας χάνει το 1 / 2N του συνολικού πονταρίσματός του ή το 1 / N του συνολικού πονταρίσματος των έντιμων ενδιαφερομένων. Έτσι, όσο περισσότερα θραύσματα στο δίκτυο τόσο φθηνότερη είναι η επίθεση διπλής δαπάνης για τον εισβολέα. Εάν κάποιος θεωρήσει αυτήν την τιμή ως μέτρο της ασφάλειας του δικτύου, τότε η ασφάλεια μειώνεται από τον συντελεστή Ν. Παρατηρήστε ότι αυτή δεν είναι η ιδιότητα που ισχυρίζεται ότι είναι η πιθανή λύση του Scalability Trilemma. Ωστόσο, οι προγραμματιστές του Ethereum 2.0 ισχυρίζονται ότι το κόστος αυτής της επίθεσης είναι τόσο μεγάλο που ο παράγοντας 1 / N δεν την επηρεάζει.
Εξελιγμένες επιθέσεις διπλής δαπάνης
Το σενάριο επίθεσης που περιγράφεται στην προηγούμενη ενότητα δεν είναι μοναδικό. Ο κακόβουλος ηθοποιός θα μπορούσε να εκτελέσει ακόμη πιο περίπλοκες επιθέσεις διπλής δαπάνης. Οι συγγραφείς του πρωτοκόλλου Casper ισχυρίζονται ότι ένα μέρος του μεριδίου των εισβολέων περικόπτεται πάντα. Είναι αλήθεια ότι? Η απάντηση είναι όχι”. Όλα όσα συμβαίνουν στο δίκτυο καταγράφονται στο blockchain. Εάν το blockchain δεν περιέχει κανένα αρχείο κακόβουλων ενεργειών, πώς θα μπορούσε κανείς να κατηγορήσει κάποιον ότι εμπλέκεται σε κακόβουλη συμπεριφορά?
Στην επόμενη έκδοση της διπλής επίθεσης, ο κακόβουλος ηθοποιός αποτρέπει την περικοπή του μεριδίου του. Προκειμένου να μειωθεί το στοίχημα, οι ειλικρινείς κόμβοι πρέπει να περιλαμβάνουν το αντίστοιχο ρεκόρ στη συγκεκριμένη αλυσίδα που χρησιμοποιείται για το συντονισμό των ενδιαφερομένων. Ονομάζεται αλυσίδα Beacon. Εάν η αλυσίδα Beacon ακολουθεί τη συναίνεση PoS χωρίς άδεια, τότε ⅔ των ψήφων του επικυρωτή απαιτείται για να συμπεριληφθεί η εγγραφή στο blockchain. Έτσι, όσο ο κακόβουλος ηθοποιός ελέγχει ⅓ της επιτροπής αλυσίδων Beacon, μπορεί να αποφύγει κάθετο. Εάν αποτρέψει την κοπή μέχρι τη στιγμή που το στοίχημά του ξεκλειδωθεί, τότε η επίθεσή του είναι σχεδόν ελεύθερη. Το ερώτημα είναι: πόσο καιρό πρέπει να κρατήσει το στοίχημά του κλειδωμένο?
Στην τρέχουσα προδιαγραφή του Ethereum 2.0, το στοίχημα είναι κλειδωμένο για μισό χρόνο. Ωστόσο, ο εισβολέας θα μπορούσε να ξεκινήσει την επίθεσή του στο τέλος του διαστήματος κλειδώματος πονταρίσματος. Μια πιθανή επιδιόρθωση είναι να ορίσετε ένα χρονικό διάστημα πριν από την κυκλοφορία, κατά τη διάρκεια του οποίου το στοίχημα δεν μπορεί να εκλεγεί στην επιτροπή θραύσης και, στη συνέχεια, να συνηθίσει σε μια επίθεση διπλών δαπανών. Ωστόσο, αυτό το αντίθετο μέτρο μειώνει την αποδοτικότητα κόστους του στοιχήματος. Κατά τη διάρκεια αυτού του χρονικού διαστήματος, όλοι οι ενδιαφερόμενοι θα πρέπει να λάβουν αποζημίωση για τα κλειδωμένα κεφάλαιά τους. Ωστόσο, αυτά τα κεφάλαια είναι «απενεργοποιημένα» και επομένως δεν συμμετέχουν στην επικύρωση του μπλοκ. Επιπλέον, ο κακόβουλος ηθοποιός μπορεί να χρησιμοποιήσει αυτήν την επιδιόρθωση προς όφελός του, καθώς μπορεί να επιλέξει προσεκτικά μια ώρα για την επίθεσή του. Μπορεί να κλειδώσει τα στοιχήματά του ταυτόχρονα, έτσι ώστε τα στοιχήματά του να «ενεργοποιηθούν» και να «απενεργοποιηθούν» ταυτόχρονα. Αντίθετα, οι έντιμοι ενδιαφερόμενοι συχνά έχουν απενεργοποιήσει ένα μέρος του μεριδίου τους και, ως εκ τούτου, αποκλείονται από τη διαδικασία επικύρωσης. Έτσι, η λήψη ⅔ ψήφων σε επιτροπές γίνεται ακόμη πιο εύκολη.
Κάποιος μπορεί να υποστηρίξει ότι σε αυτήν την έκδοση της επίθεσης, οι ειλικρινείς κόμβοι μπορούν να παρατηρήσουν ότι ⅓ του πονταρίσματος στην επιτροπή αλυσίδων Beacon χρησιμοποιείται για την εκπλήρωση της επίθεσης. Θα μπορούσαν να κάνουν ενέργειες που δεν αναφέρονται στο πρωτόκολλο Casper για να τιμωρήσουν τον εισβολέα. Μια πρώτη επιλογή θα ήταν να προσπαθήσετε να κλειδώσετε περισσότερα χρήματα στο στοίχημα. Το δεύτερο είναι να ξεκινήσετε ένα νέο πιρούνι. Η πρώτη επιλογή δεν είναι μια βιώσιμη περίπτωση, καθώς ο εισβολέας μπορεί να κάνει «λογοκρισία».
Μπορεί να χρησιμοποιήσει τις ψήφους του στην επιτροπή αλυσίδων Beacon για να αποτρέψει την κατανομή νέων μεριδίων. Έτσι, μπορεί να πραγματοποιήσει ⅔ των ψήφων σε θραύσματα επιτροπών για όσο χρονικό διάστημα θέλει. Η δεύτερη επιλογή είναι βιώσιμη, ωστόσο, είναι μια κατάχρηση του πρωτοκόλλου δικτύου που έγινε αποδεκτό από τους συμμετέχοντες στην αρχή. Εάν ένας ανεξάρτητος παρατηρητής προσπαθήσει να καταλάβει τι συμβαίνει στο δίκτυο, με βάση τα δεδομένα που έχουν εγγραφεί στο blockchain, τότε θα αποτύχει να διακρίνει κακόβουλους ηθοποιούς από έντιμους επικυρωτές.
Προτού τερματίσουμε αυτήν τη συζήτηση, ας εξετάσουμε μια τροποποιημένη έκδοση της τελευταίας επίθεσης. Η νέα έκδοση είναι ένας συνδυασμός μιας επίθεσης μεγάλης εμβέλειας και μιας επίθεσης χωρίς τίποτα. Για άλλη μια φορά, ο κακόβουλος ηθοποιός χρησιμοποιεί ένα μέρος του πονταρίσματός του για να διακλαδώσει μια αλυσίδα θραυσμάτων. Ωστόσο, σε αυτήν την περίπτωση, δεν αποκαλύπτει μια νέα αλυσίδα σε έντιμους κόμβους. Στη συνέχεια περιμένει μέχρι να ξεκλειδωθεί το διακυβευμένο ποντάρισμα του. Τώρα πουλάει το διακυβευμένο μερίδιό του στους απρόσεκτους συμμετέχοντες, σταματά την ειλικρινή αλυσίδα θραύσης χρησιμοποιώντας τις ψήφους του στην επιτροπή και στη συνέχεια αποκαλύπτει το πιρούνι του σε άλλους συμμετέχοντες. Σύμφωνα με το πρωτόκολλο, η αλυσίδα που διατηρείται από έντιμους επικυρωτές πρέπει να εγκαταλειφθεί. Έτσι, η τροποποιημένη έκδοση της επίθεσης είναι επιτυχής. Παρατηρήστε ότι το ποντάρισμα που χρησιμοποιήθηκε για να διακλαδώσει την αλυσίδα πωλείται. Έτσι, ο κακόβουλος ηθοποιός έχει αποφύγει να κόβει ξανά. Επιπλέον, σε αυτήν την έκδοση της επίθεσης, το μερίδιό του στην αλυσίδα Beacon δεν διακυβεύτηκε.
Κάποιος μπορεί να προτείνει μια διόρθωση στην τροποποιημένη έκδοση της επίθεσης, με βάση τη χρήση σημείων ελέγχου. Σύμφωνα με αυτήν την επιδιόρθωση, η αλυσίδα περιέχει μπλοκ σημείων ελέγχου που “δεν μπορούν να αντιστραφούν”. Ωστόσο, αυτή η επιδιόρθωση είναι αμφιλεγόμενη, καθώς η έννοια του «σημείου ελέγχου» δεν λειτουργεί στη ρύθμιση του blockchain. Όπως γνωρίζουμε, τα μπλοκ στο blockchain δεν ολοκληρώνονται ποτέ πλήρως. Το πιρούνι είναι η φυσική ιδιότητα του blockchain και κάθε πιρούνι θα έχει τα δικά του «πλήρως ολοκληρωμένα σημεία ελέγχου». Επομένως, η χρήση της έννοιας ενός «σημείου ελέγχου» είναι συχνά σύγχυση και παραπλανητική. Εάν ο κόμβος πρέπει να βασίζεται στο σημείο ελέγχου, τότε πρέπει να βασίζεται σε “παρόχους σημείων ελέγχου”. Απαιτεί την εισαγωγή ενός στοιχείου εμπιστοσύνης σε ένα φερόμενο ως άπιστο δίκτυο.
Το συμπέρασμά μας είναι ότι ο επιτιθέμενος που εκχώρησε ένα σημαντικό ποσό δύναμης με τη μορφή πονταρίσματος μπορεί να ξεκινήσει καταστροφικές επιθέσεις στο δίκτυο, αποφεύγοντας παράλληλα τη μείωση των μηχανικών. Αυτή η μορφή επίθεσης είναι πολύ παρόμοια με μια επίθεση 51% που μπορεί να πραγματοποιηθεί στο blockchain με βάση το PoW.
Ο Vinod Manoharan είναι επιχειρηματίας τεχνολογίας και ιδρυτής και διευθύνων σύμβουλος της Jax Multiversal Holdings, μια εταιρεία χαρτοφυλακίου του οποίου το χαρτοφυλάκιο περιλαμβάνει διαδικτυακές εταιρείες τυχερών παιχνιδιών, πύλες πληρωμής και εταιρείες τεχνολογίας Blockchain. Ο Manoharan είναι επίσης ο ιδρυτής του JAX.Δίκτυο, μια εκκίνηση τεχνολογίας στην Ουκρανία, επικεντρωμένη στην τεχνολογία Blockchain και πιο συγκεκριμένα, επιλύοντας το περίφημο Trilemma Blockal Scalability.
Γράφτηκε σε συνεργασία με τον Iurii Shyshatskyi, επικεφαλής επιστημονικό αξιωματικό του JAX.Network.
Προτεινόμενη εικόνα: Shutterstock / Lopyryev Artem / Kuklos