Μαθήματα από το Curve Finance και το Web3 που είναι επιρρεπείς σε επιθέσεις

Μαθήματα από το Curve Finance και το Web3 που είναι επιρρεπείς σε επιθέσεις

Μαθήματα από το Curve Finance και το Web3 που είναι επιρρεπείς σε επιθέσεις στο PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Curve Finance's πρόσφατη επιθανάτια εμπειρία (και η αποτροπή της διάδοσής του) μπορεί να φαίνεται σαν θολούρα στον καθρέφτη οπισθοπορείας του Web3, αλλά στην πραγματικότητα είναι κάτι που συνεχίζει να συμβαίνει στη βιομηχανία. Δεν είναι η πρώτη φορά που α αποκεντρωμένη χρηματοδότηση πρωτόκολλο - ή οποιαδήποτε αποκεντρωμένη εφαρμογή για αυτό το θέμα - έχει επηρεαστεί από μια επίθεση που είναι απολύτως νόμιμη στον δικό της κώδικα. Επιπλέον, η κρίση θα μπορούσε να είχε αποφευχθεί εάν υπήρχε διαχείριση κινδύνου στην αλυσίδα.

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

Hack ή εκμετάλλευση;

Όταν ο εισβολέας του Curve Finance μπόρεσε να ανακτήσει 61.7 εκατομμύρια δολάρια σε περιουσιακά στοιχεία από το Curve Finance έξυπνες συμβάσεις, Πολλά μέσα ενημέρωσης και οι σχολιαστές ονόμασαν το γεγονός "σιδηροπρίονο.» Αλλά αυτό δεν ήταν hack - ήταν εκμετάλλευση. Η διαφορά εδώ είναι βασική. 

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

Ποιος φταίει για αυτό; Κανένας. Ο κώδικας Vyper του Curve, όπως και ο περισσότερος κώδικας (Solidity) που χρησιμοποιείται σε εφαρμογές Web3, είναι πολύ περιορισμένος στην ικανότητά του να εκφράζει την πολυπλοκότητα πέρα ​​από τη σχετικά απλή λογική συναλλαγής. 

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

Ανάλυση κινδύνου στην αλυσίδα

Αλλά αυτό δεν σημαίνει ότι δεν μπορούσε να κάνει τίποτα το Curve για να αποτρέψει αυτήν την επίθεση και την εξάπλωσή της στο DeFi. Ένα απλό παράδειγμα λύσης θα ήταν η ανάλυση κινδύνου στην αλυσίδα. 

Η γενικευμένη εκδοχή ενός προβληματικού σχεδίου που θα μπορούσε να λυθεί μπορεί να συνοψιστεί σε μια υποθετική κατάσταση όπως αυτή:

  • Ο κακός ηθοποιός Μπομπ αγοράζει το εξαιρετικά ασταθές κουπόνι $RISKY αξίας 5 εκατομμυρίων δολαρίων μέσω λάμψη.
  • Η αξία του $RISKY token αντλείται ουσιαστικά από τον Bob μετά την αγορά. 
  • Ο Μπομπ παίρνει ένα δάνειο 100 εκατομμυρίων δολαρίων στην Naive Finance με την υποστήριξη της $RISKY.
  • Η Naive Finance ελέγχει την τιμή των $RISKY και επιβεβαιώνει ότι ο Bob είναι «καλός» για τα χρήματα.
  • Ο Μπομπ τρέχει.
  • Όταν η Naive Finance ρευστοποιεί το $RISKY αξίζει μόνο 5 εκατομμύρια δολάρια.

(Ένα άλλο παράδειγμα αυτού του γενικού μοτίβου μπορεί να βρεθεί στο Euler hack από τον Μάρτιο.)

Παραδοσιακά, αυτό το πρόβλημα επιλύεται με λύσεις ανάλυσης κινδύνου που καθορίζουν πόσο καλή εγγύηση μπορεί να είναι ένα περιουσιακό στοιχείο. Εάν υπήρχαν στην αλυσίδα, η Naive Finance θα μπορούσε να ελέγξει τις στατιστικές εκτιμήσεις με βάση την ιστορική τιμή του διακριτικού πριν εγκρίνει το δάνειο. Το πρωτόκολλο θα είχε δει από την αντλία και θα είχε αρνηθεί στον Μπομπ τα 100 εκατομμύρια δολάρια.

Το DeFi στερείται αυτού του είδους ανάλυσης και διαχείρισης κινδύνου στην αλυσίδα.

Επιστρέφοντας στο Curve Finance, μια διαφορά θα μπορούσε να είχε αποφευχθεί εάν η Aave και η Frax είχαν ένα αυτοματοποιημένο όριο στην αλυσίδα για τις εγκρίσεις δανείων όταν περνούσαν ένα ποσοστό της κυκλοφορούσας προσφοράς του κουπόνι εξασφαλίσεων. Αυτή θα ήταν μια πιο ασφαλής και λιγότερο άγχος κατάσταση για όλους.

Περιορισμένη εκφραστικότητα και πόροι

Το πραγματικό πρόβλημα εδώ είναι ότι τα τρέχοντα οικοσυστήματα Web3 δεν μπορούν να υποστηρίξουν κάτι σαν αυτή τη λύση ανάλυσης κινδύνου on-chain. Περιορίζονται από το είδος των βιβλιοθηκών και των πλαισίων που είναι διαθέσιμα σε εικονικές μηχανές όπως η εικονική μηχανή Ethereum. Είναι επίσης περιορισμένοι ως προς τους πόρους που έχουν στη διάθεσή τους.

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

Αυτό δεν συμβαίνει στο Web3 επειδή οι dApps δεν έχουν πρόσβαση μουδιασμένος, η ενότητα μαθηματικών στην Python, για παράδειγμα. Η τυπική εργαλειοθήκη δεν υπάρχει και οι προγραμματιστές πρέπει να ανακαλύψουν ξανά τον τροχό.

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

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

Εστιάζοντας στα σωστά προβλήματα

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

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

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

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

Περισσότερα από Φορκάστ