Ερευνητικές αξιώσεις Το δίκτυο EOS μπορεί να παγώσει, το Block.one αρνείται τυχόν σφάλματα

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

Φαινομενικά, αυτή η εκμετάλλευση επέτρεψε σε έναν χάκερ να κλέψει περισσότερα από 110.000 $ σε κρυπτογράφηση από μια εφαρμογή τζόγου EOS, EOSPlay, νωρίτερα τον Σεπτέμβριο. Ωστόσο, στελέχη της μητρικής εταιρείας της EOS, Block.one, δεν ενοχλούνται, υποστηρίζοντας ότι το δίκτυο λειτουργεί «σωστά».

Βασικά στοιχεία του EOS: Λειτουργία διακυβέρνησης, στοιχηματισμού και συμφόρησης

Το EOS.io είναι ένα πρωτόκολλο έξυπνης σύμβασης με τεχνολογία blockchain για την ανάπτυξη και φιλοξενία αποκεντρωμένων εφαρμογών (DApps). Χρησιμοποιεί ένα μοντέλο συναίνεσης που ονομάζεται κατ ‘εξουσιοδότηση απόδειξη-πονταρίσματος (DPoS) και διέπεται σύμφωνα με τη συμφωνία χρήστη EOS (EUA).

Σύμφωνα με τη συμφωνία, αλλαγές στο δίκτυο μπορούν να γίνουν όταν υπάρχει συναίνεση μεταξύ τουλάχιστον 15 από τους 21 Παραγωγούς αποκλεισμού – δηλαδή, ανεξάρτητων οντοτήτων που είναι υπεύθυνες για την επεξεργασία μπλοκ στο blockchain EOS.

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

Το χρονικό διάστημα (που μετράται σε μικροδευτερόλεπτα) που απαιτείται από έναν κατασκευαστή μπλοκ για την επικύρωση της συναλλαγής ονομάζεται CPU. Με απλά λόγια, οι χρήστες και οι προγραμματιστές EOS μπορούν να αποκτήσουν πρόσβαση σε πόρους CPU και εύρους ζώνης σε ολόκληρο το δίκτυο, τοποθετώντας τα διακριτικά τους. Τα μπλοκ παράγονται κάθε 500 χιλιοστά του δευτερολέπτου. Κάθε παραγωγός μπλοκ έχει 200 ​​χιλιοστά του δευτερολέπτου για την επικύρωση του μπλοκ. Τα υπόλοιπα 300 χιλιοστά του δευτερολέπτου απομένουν για διανομή στο δίκτυο.

Συγκεκριμένα, εντός του ανώτατου ορίου των 200 χιλιοστών του δευτερολέπτου, υπάρχει επίσης ένα ποσοστό κατωφλίου στο οποίο ξεκινά ο περιορισμός ρυθμού σε όλο το δίκτυο. Με άλλα λόγια, όταν ένα μπλοκ φτάσει το όριο του 10% των συνολικών 200 χιλιοστών του δευτερολέπτου που επιτρέπεται η CPU ανά μπλοκ, αυτό πυροδοτεί ο αλγόριθμος κατανομής CPU για να μεταβείτε σε λειτουργία «συμφόρησης».

“Προτού επιτευχθεί αυτό το όριο, όλοι οι χρήστες μπορούν να πραγματοποιούν ελεύθερες συναλλαγές στο δίκτυο, καθώς δεν είναι σε” κατάσταση συμφόρησης “,” ο συγγραφέας του άρθρου εξήγησε. “Μόλις περάσει αυτό το όριο, οι χρήστες επιστρέφουν στο αναλογικό μερίδιό τους στο σύνολο της κατανομής CPU-per-staked-EOS.”

Σύμφωνα με άλλο άρθρο γράφτηκε από τον EOS Canada, έναν σημαντικό παραγωγό μπλοκ στο δίκτυο blockchain EOS, εάν υπήρχαν 1.000 μάρκες στοιχήματος για CPU σε μια δεδομένη στιγμή και ένας λογαριασμός είχε 20 στοιχήματα στοιχήματος, τότε αυτός ο λογαριασμός θα ήταν εγγυημένος 2% της συνολικής CPU χωρητικότητα του δικτύου.

Ωστόσο, εάν το δίκτυο δεν έχει φτάσει το όριο στο οποίο είναι ενεργοποιημένος ο περιορισμός τιμών (όχι σε λειτουργία “συμφόρησης”), επιτρέπει σε αυτόν τον λογαριασμό να προωθήσει συναλλαγές πάνω από το εγγυημένο ποσό του 2%. Μόλις περάσει αυτό το κατώφλι, ο λογαριασμός δεν μπορεί να υπερβεί την κατανομή. Επιπλέον, κατά τη διάρκεια του "συμφόρηση" φάση, το ποσό της CPU κάθε χρήστη αρχίζει να μειώνεται έως ότου όλα τα μέρη συμφόρησης εξαντληθούν από την CPU και σταματήσει να λαμβάνει ενέργειες που καταναλώνουν CPU.

Ο Daniel Larimer, συνιδρυτής της EOS και επικεφαλής της τεχνολογίας στο Block.one, αναφέρεται σε αυτόν τον μηχανισμό ως «δωρεάν όφελος» του δικτύου:

«Η κατοχή και το στοίχημα #eos δίνει στους χρήστες ένα μερίδιο prorata του διαθέσιμου εύρους ζώνης. Όταν οι χρήστες δεν χρησιμοποιούν το μερίδιό τους, ανακατευθύνεται σε άλλους κατά προτίμηση. Κατά τη διάρκεια βαριάς χρήσης οι χρήστες δεν λαμβάνουν πλέον αυτό το δωρεάν όφελος. “

Πρόβλημα: Η λειτουργία συμφόρησης είναι πολύ εύκολη για ενεργοποίηση

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

Για το πείραμα, ο προγραμματιστής σημείωσε 7.156 EOS για CPU. Αυτό το ποσό EOS μπορεί να δανειστεί από ανταλλαγές πόρων με χαμηλό κόστος δύο EOS το μήνα (λιγότερο από $ 6), τόνισε ο Dexaran. Για να δει πώς η δοκιμή θα επηρέαζε τους μέσους χρήστες του δικτύου EOS, ο μηχανικός ασφαλείας προεπέλεξε τρεις τυχαίους λογαριασμούς χρηστών που έπαιζαν στο διαδίκτυο το EOSKnights DApp αμέσως πριν από την έναρξη της περιόδου λειτουργίας.

Στη συνέχεια, ο προγραμματιστής εκτέλεσε μια σύμβαση που γεννά πολλές αναβαλλόμενες συναλλαγές με καθυστέρηση ενός δευτερολέπτου, με κάθε συναλλαγή να καταναλώνει “25 έως 27 ms CPU”. Αφού μονοπώλησε τη χρήση της CPU για ένα ολόκληρο λεπτό, η σύμβαση ώθησε το δίκτυο EOS σε κατάσταση συμφόρησης. Ως αποτέλεσμα, και οι τρεις λογαριασμοί δείγματος ήταν εκτός CPU και ως εκ τούτου «παγώθηκαν εντελώς» – ουσιαστικά σημαίνει ότι όλοι οι περιστασιακοί χρήστες EOS δεν μπορούσαν να αλληλεπιδράσουν με DApps στο δίκτυο εκείνη τη στιγμή.

Δύο λεπτά αργότερα, το προαναφερθέν EOSBetDice DApp – το οποίο προκάλεσε κανονικές αυξήσεις CPU κάθε ώρα, ανεξάρτητα από το πείραμα – άρχισε να λειτουργεί σύμφωνα με το πρόγραμμα. Καταναλώντας ακόμη περισσότερη CPU από το δίκτυο τη στιγμή που ήταν ήδη υπερφορτωμένη, συνέβαλε ακούσια στην συμφόρηση που ξεκίνησε η Dexaran. “Όσο περισσότερη CPU καταναλώνετε διαδοχικά, τόσο πιο βαθιά θα είναι μια λειτουργία συμφόρησης και όσο περισσότερο θα χρειαστεί το δίκτυο να επαναφέρει την κανονική του λειτουργία”, σημείωσε ο προγραμματιστής.

Ως αποτέλεσμα, το δίκτυο EOS έφτασε ακόμη σε «βαθύτερη» συμφόρηση και η διαθεσιμότητα της CPU μειώθηκε κατά 35 φορές για όλους τους χρήστες του EOS. “Ανεξάρτητα από το πόσο EOS έχετε στοιχηματίσει για CPU – εάν έχετε χρησιμοποιήσει περισσότερο από 3%, τότε θα είστε κατεψυγμένοι”, παρατήρησε ο Dexaran.

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

Το δίκτυο αποκαταστάθηκε πλήρως μόλις 30 λεπτά μετά το τελευταίο "κακεντρεχής" δράση. Αυτό δίνει στους χρήστες «ένα χρονικό διάστημα 25 λεπτών έως την επόμενη συνεδρία συμφόρησης», σημείωσε ο Dexaran, καθώς η επίθεση μπορεί να εκτελείται κάθε ώρα, σύμφωνα με τις εκτιμήσεις του προγραμματιστή. «Το 7000 EOS είναι αρκετό για να ωθήσει το δίκτυο EOS σε κατάσταση συμφόρησης για αξιοπρεπή χρονικό διάστημα», κατέληξε ο ερευνητής, προσθέτοντας:

«Η περιγραφόμενη συνεδρία συμφόρησης θα προκαλέσει προβλήματα μόνο σε (1) χρήστες που ξόδεψαν ένα ορισμένο μερίδιο του εύρους ζώνης της CPU τους, (2) χρήστες με πολύ χαμηλό εύρος ζώνης CPU. Η περιγραφόμενη περίοδος συμφόρησης δεν επηρεάζει (1) DApps που διαθέτουν πολλή CPU, (2) χρήστες που δεν συμμετέχουν σε καμία δραστηριότητα και έχουν την CPU τους πλήρως διαθέσιμη (υποθέτοντας ότι αυτοί οι χρήστες έχουν αρκετή CPU για να κάνουν ένα μόνο tx ). “

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

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

Σύμφωνα με τον Michel, ο επιτιθέμενος ενοικίασε μάρκες EOS από την REX, μια αγορά ενοικίασης πόρων CPU και NET και έπειτα τα έβαλε για να αυξήσει τόσο τη CPU όσο και την EOSPlay για να εξασφαλίσει ότι το καζίνο παρέμεινε λειτουργικό – επομένως παραμένει σε θέση να πληρώσει τα στοιχήματά του. Ο χάκερ έστειλε στη συνέχεια ανεπιθύμητο μήνυμα στο δίκτυο με συναλλαγές παρόμοια με τη Dexaran και έπαιξε πολλά ζάρια παιχνίδια στο EOSPlay, στοιχηματίζοντας σε ένα αποτέλεσμα 50/50. Δεδομένου ότι το EOSPlay εξετάζει το hash του μπλοκ αποτελεσμάτων και παίρνει τους δύο πρώτους χαρακτήρες – ξεκινώντας από τα δεξιά και μεταξύ μηδέν και εννέα – ως ζαριά, πρέπει να προβλέψουμε το hash του μπλοκ αποτελεσμάτων για να κερδίσει το παιχνίδι.

«Τα μόνα άγνωστα στην πρόβλεψη είναι οι συναλλαγές που περιλαμβάνονται στα μπλοκ», εξήγησε ο Michel. «Τι γίνεται όμως αν κάποιος μπορεί να ανεβάζει ανεπιθύμητα μηνύματα στο δίκτυο και να μην μπορεί κανείς άλλος να στείλει συναλλαγές;»

Σύμφωνα με τον προγραμματιστή, αυτός είναι ακριβώς ο λόγος για τον οποίο ο εισβολέας δανείστηκε EOS για να ανεπιθύμησε το δίκτυο: για να έχει τον έλεγχο του δικτύου και ως εκ τούτου να είναι σε θέση να προβλέψει τις κατακερματισμένες ομάδες και να κερδίσει τα περισσότερα στοιχήματά του. Σε περίπτωση λανθασμένης πρόβλεψης, ο εισβολέας θα μπορούσε να στείλει μια άλλη τυχαία συναλλαγή στο μπλοκ και, ως εκ τούτου, να έχει ένα επιπλέον “coin flip”, βελτιώνοντας σημαντικά τις πιθανότητες.

Τελικά, ο χάκερ χρησιμοποίησε μόλις 300 EOS, αξίας λίγο πάνω από 1.000 $, τα οποία θα μπορούσε να είχε νοικιάσει για μερικά δολάρια. Σε αντάλλαγμα, η σταθερή αφθονία που κέρδισε έφερε πάνω από 30.000 EOS ή περίπου 110.000 $.

Οι προγραμματιστές EOS διασφαλίζουν ότι το δίκτυο «λειτουργεί σωστά», δεν συμφωνούν όλοι

Τα πειράματα συμφόρησης της Dexaran δεν έχουν περάσει απαρατήρητα, καθώς ορισμένοι χρήστες ανέφεραν ότι έχουν “προβλήματα CPU” Κελάδημα και Reddit. Ο Denis Bredikhin, Διευθύνων Σύμβουλος της Graphene Lab, μια ομάδα προγραμματιστών έξυπνων συμβολαίων, επιβεβαίωσε στην Cointelegraph ότι οι χρήστες του στοιχήματος EOS που βασίζεται στο πόκερ, η DApp αντιμετώπισε επίσης προβλήματα τις τελευταίες εβδομάδες, αν και η ίδια η εφαρμογή δεν είχε παραβιαστεί. Ο Μπρεντιχίν είπε:

“Στο αποκορύφωμα των ανεπιθύμητων μηνυμάτων, οι παίκτες ακόμη και με 8-10 χιλιάδες EOS που διατίθενται για CPU, δεν μπορούσαν να κάνουν καμία λειτουργία.”

Σύμφωνα με τον ίδιο, ξεκινώντας από την 1η Οκτωβρίου, οι παίκτες πρέπει να διαθέσουν «έως 10.000 EOS» στην CPU, έτσι ώστε το παιχνίδι να μην σταματά για αυτούς κατά τη διάρκεια των περιόδων spam. Εν τω μεταξύ, το Larimer του Block.one πήρε στο Twitter για να διαβεβαιώσει την κοινότητα ότι το EOS “λειτουργεί σωστά”. Αυτός έγραψε:

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

Ορισμένα μέλη της κοινότητας ικετεύουν να διαφέρουν. “Η διαφορά μεταξύ αυτής της επίθεσης στο EOS και ενός ανεπιθύμητου μηνύματος υψηλού κόστους σε BTC ή ETH είναι ότι μπορείτε ακόμα να πληρώσετε περισσότερα για να στείλετε μια συναλλαγή σε BTC ή ETH” υποστήριξε Rob Finch, Διευθύνων Σύμβουλος της EOS Block Producer CypherGlass με έδρα τις ΗΠΑ. Αυτός πρόσθεσε:

«Πολλοί χρήστες EOS δεν είχαν αρκετή CPU για να νοικιάσουν περισσότερη CPU, οπότε παγώθηκε για αυτούς. Η σωστή λειτουργία «δεν είναι η καλύτερη απόκριση IMO».

Ένας άλλος χρήστης του EOS, επιχειρηματίας blockchain Jared Moore, επιβεβαιωμένος ότι το δίκτυο δεν μπορούσε να χρησιμοποιηθεί για το DApps ή το πορτοφόλι του. Αναρωτήθηκε επίσης εάν το Block.one θα «βοηθούσε την κοινότητα του EOS και θα δημοσιεύσει οδηγίες για τον τρόπο πρόληψης των επιθέσεων REX».

Η Cointelegraph έφτασε στο Block.one για περαιτέρω σχόλια και θα ενημερώσει το άρθρο μόλις ληφθούν περισσότερες πληροφορίες.