Είναι η εμπλοκή καναλιών απειλή για το δίκτυο Lightning του Bitcoin; Ευφυΐα Δεδομένων PlatoBlockchain. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Είναι η εμπλοκή καναλιών απειλή για το δίκτυο Lightning του Bitcoin;

(Ευχαριστώ ιδιαίτερα τους Antoine Riard και Gleb Naumenko, των οποίων πρόσφατη έρευνα είναι η βάση αυτού του άρθρου.)

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

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

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

Τι είναι η εμπλοκή καναλιού;

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

Υπάρχουν δύο διαφορετικές στρατηγικές που μπορούν να χρησιμοποιηθούν εδώ για την εκτέλεση της επίθεσης. Μπορείτε είτε να δοκιμάσετε να μπλοκάρετε το διαθέσιμο ποσό δρομολόγησης σε ένα κανάλι ή μπορείτε να δοκιμάσετε να μπλοκάρετε όλες τις μεμονωμένες υποδοχές HTLC σε ένα κανάλι. Ένα κανάλι Lightning μπορεί να έχει μόνο 483 HTLC σε εκκρεμότητα προς κάθε κατεύθυνση που μπορεί να δρομολογήσει — αυτό συμβαίνει επειδή υπάρχει ένα μέγιστο όριο μεγέθους για το πόσο μεγάλη μπορεί να είναι μια συναλλαγή Bitcoin. Εάν προσθέσετε περισσότερα από 483 HTLC ανά κατεύθυνση στο κανάλι, η συναλλαγή για το κλείσιμο του καναλιού, εάν χρειαστεί, θα ήταν πολύ μεγάλη και δεν θα ήταν έγκυρη για υποβολή στο δίκτυο. Αυτό θα καθιστούσε τα πάντα στο κανάλι μη εφαρμόσιμα στην αλυσίδα.

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

Γιατί κάποιος θα ήθελε να κάνει τζάμπα ένα κανάλι φωτισμού;

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

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

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

Μετριασμός των επιθέσεων παρεμβολής καναλιού

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

Επί του παρόντος, κάθε HTLC προσθέτει ξεχωριστά μια νέα έξοδο στη συναλλαγή δέσμευσης για την τρέχουσα κατάσταση καναλιού. Μια διαδικασία δύο σταδίων θα μπορούσε να δημιουργήσει ένα μόνο επιπλέον έξοδο στη συναλλαγή δέσμευσης και, στη συνέχεια, να έχει μια δεύτερη συναλλαγή μετά από αυτήν που θα προστεθεί σε αυτήν το πραγματικό HTLC. Αυτό θα επέτρεπε έως και 483 πολλαπλασιαζόμενες επί 483 υποδοχές HTLC ανά κανάλι (ή 233,289 υποδοχές). Ωστόσο, αυτό δεν διορθώνει τίποτα από μόνο του και θα απαιτούσε παράταση των χρονικών κλειδαριών επειδή προσθέτετε μια επιπλέον συναλλαγή για την επιβολή πραγμάτων on-chain και θα μπορούσε πραγματικά να βοηθήσει τον εισβολέα περισσότερο από το θύμα, εάν χρησιμοποιούσε αυτή τη νέα δομή συναλλαγών και το θύμα όχι. Ωστόσο, θα βοηθήσει σε συνδυασμό με μια άλλη τεχνική που εξηγείται στιγμιαία.

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

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

Οι πληρωμές 100,000 θέσεων σε 1 εκατομμύριο θέσεις θα μπορούσαν να έχουν πρόσβαση σε 300 θέσεις και από 1 εκατομμύριο θέσεις σε 10 εκατομμύρια θέσεις θα μπορούσαν να έχουν πρόσβαση στις πλήρεις 483 θέσεις. Αυτό θα αύξανε σημαντικά το κόστος κεφαλαίου ενός εισβολέα για εμπλοκή κουλοχέρη, καθώς δεν θα είναι πλέον σε θέση να καταναλώνει και τους 483 κουλοχέρηδες με τη μικρότερη δυνατή πληρωμή. Επιπλέον, επειδή οι έξοδοι HTLC κάτω από το όριο σκόνης (επί του παρόντος, 546 sats) δεν μπορούν καν να μεταδοθούν και να επιβληθούν στην αλυσίδα, οτιδήποτε κάτω από αυτό το όριο θα μπορούσε να αντιμετωπιστεί ως "0 bucket", καθώς δεν δημιουργείται καμία έξοδος HTLC ούτως ή άλλως. Οι κόμβοι θα μπορούσαν απλώς να επιβάλουν όρια σε αυτές τις συναλλαγές με βάση τους πόρους της CPU που χρησιμοποιούνται ή άλλες μετρήσεις για να τους αποτρέψουν από το να γίνουν κίνδυνοι άρνησης υπηρεσίας, ανάλογα με το πόσο μπορούν να αντέξουν οικονομικά να χάσουν εάν δεν διευθετηθούν με ειλικρίνεια.

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

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

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

Το σχήμα φήμης θα περιλάμβανε ένα «ομόλογο μεριδίου» που θα χρησιμοποιούσε αποδείξεις μηδενικής γνώσης για να αποδείξει τον έλεγχο του Bitcoin ως άμυνα του Sybil και, στη συνέχεια, θα χρησιμοποιούσε το δεσμό που συνδέεται με τη φήμη σας για την απόκτηση τυφλών Chaumian tokens από κόμβους δρομολόγησης που θα εξαργυρώνονταν και θα επανεκδίδονταν σε HTLC επιτυχής διευθέτηση με τρόπο διατήρησης της ιδιωτικής ζωής. Οι κόμβοι θα εκδίδουν διακριτικά μία φορά ανά ταυτότητα και εάν ένα HTLC δεν διευθετηθεί ή δεν επιστραφεί τα χρήματα εγκαίρως, οι κόμβοι θα μπορούσαν να αρνηθούν την επανέκδοση του διακριτικού, αποτρέποντας έτσι έναν χρήστη από τη δρομολόγηση μέσω του κόμβου του, εκτός εάν ξοδέψει χρόνο και χρήματα για να δημιουργήσει ένα νέο ομόλογο πονταρίσματος με διαφορετικά νομίσματα που θα εκδοθούν σε νέα μάρκα.

Για όσους επιθυμούν να διαβάσουν περισσότερα για αυτές τις δύο λύσεις, περισσότερες πληροφορίες μπορούν να βρεθούν σε ενότητες πέντε και έξι στην έρευνα του Riard και του Naumenko.

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

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

Αυτή είναι μια φιλοξενούμενη ανάρτηση από τον Shinobi. Οι απόψεις που εκφράζονται είναι εξ ολοκλήρου δικές τους και δεν αντικατοπτρίζουν απαραίτητα αυτές της BTC Inc ή του περιοδικού Bitcoin.

Σφραγίδα ώρας:

Περισσότερα από Bitcoin Magazine