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

Τι είναι ο έλεγχος ασφαλείας έξυπνης σύμβασης;

Έχει δημοσιευτεί Mar 1, 2022Έχει ενημερωθεί Feb 1, 2023
6m

TL;DR

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


Εισαγωγή

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

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


Τι είναι ο έλεγχος έξυπνης σύμβασης;

Ένας έλεγχος ασφάλειας έξυπνης σύμβασης εξετάζει και σχολιάζει τον κώδικα έξυπνης σύμβασης ενός έργου. Συνήθως, αυτές οι συμβάσεις έχουν συνταχθεί σε γλώσσα προγραμματισμού Solidity και παρέχονται μέσω του GitHub. Οι έλεγχοι ασφαλείας είναι ιδιαίτερα σημαντικοί για έργα DeFi που αναμένουν να χειριστούν συναλλαγές blockchain αξίας εκατομμυρίων δολαρίων ή τεράστιου αριθμού παικτών. Οι έλεγχοι ακολουθούν συνήθως μια διαδικασία τεσσάρων βημάτων:

1. Οι έξυπνες συμβάσεις στέλνονται στην ομάδα ελέγχου για αρχική ανάλυση.

2. Η ομάδα ελέγχου παρουσιάζει τα πορίσματά της στο έργο για να δράσει σύμφωνα με αυτά.

3. Η ομάδα έργου πραγματοποιεί αλλαγές με βάση τα προβλήματα που εντοπίστηκαν.

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

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


Γιατί χρειαζόμαστε ελέγχους έξυπνων συμβάσεων;

Με τεράστια ποσά αξίας που διακινούνται μέσω έξυπνων συμβάσεων ή είναι κλειδωμένα σε αυτές, γίνονται ελκυστικοί στόχοι για κακόβουλες επιθέσεις από χάκερ. Μικρά σφάλματα κωδικοποίησης μπορούν να οδηγήσουν σε κλοπή τεράστιων χρηματικών ποσών. Για παράδειγμα, η παραβίαση DAO στο blockchain του Ethereum πήρε ETH αξίας περίπου 60 εκατομμυρίων δολαρίων και οδήγησε ακόμη και σε hard fork του δικτύου Ethereum.

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


Πώς λειτουργούν οι έλεγχοι έξυπνων συμβάσεων;

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

1. Προσδιορίστε τον στόχο του ελέγχου. Η έξυπνη σύμβαση και οι προδιαγραφές του έργου καθορίζονται από το έργο (τον σκοπό του) και τη συνολική δομή. Μια προδιαγραφή βοηθά την ομάδα ελέγχου να κατανοήσει τους στόχους του έργου κατά τη σύνταξη και τη χρήση του κώδικα.

2. Κάντε μια αρχική προσφορά με βάση τη δουλειά που απαιτείται.

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

4. Δημιουργήστε ένα πρώτο προσχέδιο της αναφοράς με τα σφάλματα που εντοπίστηκαν και δώστε το στην ομάδα έργου για ανατροφοδότηση και επακόλουθες διορθώσεις.

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


Τρόποι ελέγχου έξυπνων συμβάσεων

Απόδοση Gas 

Οι έλεγχοι έξυπνων συμβάσεων δεν εστιάζουν μόνο στην ασφάλεια του blockchain. Εξετάζουν επίσης την αποτελεσματικότητα και τη βελτιστοποίηση. Ορισμένες συμβάσεις πραγματοποιούν διάφορες περίπλοκες συναλλαγές για να ολοκληρώσουν την προβλεπόμενη λειτουργία τους. Καθώς οι προμήθειες Gas σε δίκτυα όπως το Ethereum είναι σχετικά υψηλές, οι αποτελεσματικές συμβάσεις μπορούν να εξοικονομήσουν πολλά από το κόστος συναλλαγής.

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

Τρωτά σημεία των συμβάσεων

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

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

2. Ακέραια πλεονάσματα ή ελλείμματα: Όταν μια έξυπνη σύμβαση εκτελεί μια αριθμητική πράξη, αλλά η εκροή υπερβαίνει τη χωρητικότητα αποθήκευσης (συνήθως 18 δεκαδικά ψηφία). Αυτό μπορεί να οδηγήσει στον υπολογισμό εσφαλμένων ποσών.

3. Ευκαιρίες προπορευόμενου επενδυτή: Ο κακώς δομημένος κώδικας μπορεί να παρέχει προειδοποίηση για αγορές ή πωλήσεις στην αγορά. Αυτό, με τη σειρά του, μπορεί να επιτρέψει σε άλλους να χρησιμοποιήσουν τις πληροφορίες και να τις συναλλάσσονται προς όφελός τους.

Ελαττώματα ασφαλείας της πλατφόρμας

Οι περισσότεροι έλεγχοι περιλαμβάνουν την εξέταση του δικτύου που φιλοξενεί τις συμβάσεις, ακόμη και του API που χρησιμοποιείται για την αλληλεπίδραση με την dApp. Ένα έργο μπορεί να είναι ευάλωτο σε μια επίθεση DDoS ή να έχει παραβιαστεί το UI του ιστότοπού του, πράγμα που σημαίνει ότι οι χρήστες θα συνδέσουν στην πραγματικότητα τα πορτοφόλια τους σε κακόβουλες εφαρμογές blockchain.


Τι είναι η αναφορά ελέγχου;

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

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


Πώς μπορώ να βρω έναν έλεγχο έξυπνης σύμβασης;

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

CertiK

Η CertiK είναι ηγέτης στον κλάδο όσον αφορά τους ελέγχους έξυπνων συμβάσεων. Εκατοντάδες έργα έχουν ελέγξει τις έξυπνες συμβάσεις τους μαζί τους. Το PancakeSwap, ο μεγαλύτερος αυτοματοποιημένος ειδικός διαπραγματευτής (AMM) της BSC είναι ένα παράδειγμα. Παρακάτω βρίσκεται μια ενότητα του ελέγχου της Certik για το PancakeSwap.


Επίσης, η συντριπτική πλειονότητα των έργων που υποστηρίζονται από την Binance Labs έχουν ελέγξει τις συμβάσεις τους με την CertiK. Η CertiK δημοσιεύει έναν πίνακα κατάταξης των ελεγμένων έργων που σας επιτρέπει να συγκρίνετε το καθένα, μαζί με μια βαθμολογία ασφαλείας. Λάβετε υπόψη ότι, εκτός από το Ethereum, η CertiK καλύπτει επίσης τα έργα BSC και Polygon.


ConsenSys Diligence

Με επικεφαλής τον Joseph Lubin, συνιδρυτή του Ethereum, η ConsenSys είναι ένα από τα μεγαλύτερα ονόματα της βιομηχανίας κρυπτονομισμάτων στην ανάπτυξη blockchain. Στο πλαίσιο του ConsenSys Diligence, η εταιρεία προσφέρει ελέγχους έξυπνων συμβάσεων Ethereum. Παρέχουν επίσης μια αυτοματοποιημένη υπηρεσία που ελέγχει τα συμβόλαια της εικονικής μηχανής Ethereum (EVM) για συχνά λάθη που εντοπίζονται.


Πόσο κοστίζει ο έλεγχος έξυπνης σύμβασης;

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


Συμπεράσματα

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

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