Οδηγός · Κίνδυνος πορτοφολιού · · Stefan Tsezarov
Τι υπογράφεις πραγματικά όταν εγκρίνεις ένα token
Η άδεια δαπάνης μπορεί να μετρά όσο και μια πληρωμή.
Ανοίγεις μια εφαρμογή ανταλλαγής, διαλέγεις ένα token και συνδέεις το πορτοφόλι σου. Πριν από την ανταλλαγή, το πορτοφόλι σου ζητά να εγκρίνεις τη δαπάνη.
Δεν φαίνεται να φεύγει κανένα token. Μοιάζει με βήμα ρύθμισης.
Είναι βήμα ρύθμισης — αλλά δίνει σε μια άλλη διεύθυνση άδεια να μετακινεί τα tokens σου. Ανάλογα με το τι εγκρίνεις, αυτή η άδεια μπορεί να παραμείνει πολύ μετά το κλείσιμο του ιστότοπου.
Οι εγκρίσεις είναι φυσιολογικό μέρος της χρήσης εφαρμογών κρυπτονομισμάτων. Ο κίνδυνος είναι να δώσεις περισσότερη πρόσβαση από όση σκόπευες ή να τη δώσεις σε λάθος διεύθυνση.
Αυτός ο οδηγός εξηγεί τι σημαίνει αυτή η πρόσβαση, τι να ελέγξεις πριν υπογράψεις και τι να κάνεις αν έχεις ήδη εγκρίνει κάτι ύποπτο.
Καλύπτει το Ethereum και τα συμβατά δίκτυα. Άλλα blockchains χρησιμοποιούν διαφορετικά συστήματα αδειών.
01Μια έγκριση δίνει άδεια δαπάνης
Το πορτοφόλι σου κρατά τα κλειδιά με τα οποία εξουσιοδοτείς ενέργειες. Το υπόλοιπο των tokens σου καταγράφεται στο έξυπνο συμβόλαιο του token.
Για να μετακινήσει μια εφαρμογή ανταλλαγής ή δανεισμού αυτά τα tokens, συνήθως χρειάζεται πρώτα την άδειά σου. Δίνεις αυτή την άδεια σε μια διεύθυνση που λέγεται spender (δαπανητής). Το επιτρεπόμενο ποσό λέγεται allowance (όριο δαπάνης).
Ας πούμε ότι θέλεις να ανταλλάξεις 50 USDC.
- Η έγκριση 50 USDC επιτρέπει στον δαπανητή να πάρει μέχρι αυτό το ποσό.
- Η έγκριση απεριόριστων USDC του επιτρέπει να πάρει το διαθέσιμο υπόλοιπο USDC σου, ακόμη και USDC που θα λάβεις αργότερα, όσο η άδεια παραμένει ενεργή.
Αυτή η έγκριση αφορά το συγκεκριμένο token σε εκείνο το δίκτυο. Από μόνη της δεν δίνει πρόσβαση σε όλα όσα υπάρχουν στο πορτοφόλι σου.
Μια τυπική έγκριση token γενικά δεν λήγει. Παραμένει μέχρι να την αλλάξεις ή να την ανακαλέσεις, ή μέχρι να εξαντληθεί το όριό της. Το κλείσιμο του ιστότοπου ή η αποσύνδεση του πορτοφολιού δεν την αφαιρεί. Το Revoke.cash εξηγεί τη διαφορά ανάμεσα στην αποσύνδεση και την ανάκληση.
02Διαφορετικά αιτήματα δίνουν διαφορετικές άδειες
Η διατύπωση των πορτοφολιών διαφέρει. Αυτά είναι τα κύρια αιτήματα που πρέπει να αναγνωρίζεις:
| Αίτημα | Τι μπορεί να εξουσιοδοτήσει |
|---|---|
| Approve ή όριο δαπάνης | Ένας δαπανητής μπορεί να μετακινήσει έως ένα συγκεκριμένο ποσό ενός token. |
| Set approval for all | Ένας χειριστής μπορεί να μεταφέρει όλα τα NFT σου στη συγκεκριμένη συλλογή ή συμβόλαιο, ακόμη και όσα αποκτήσεις αργότερα όσο η έγκριση παραμένει ενεργή. |
| Permit | Μια υπογραφή που μπορεί να υποβληθεί αργότερα για να δημιουργήσει όριο δαπάνης token. |
| Permit2 | Μια υπογραφή που μπορεί να εξουσιοδοτήσει χρονικά περιορισμένο όριο δαπάνης ή εφάπαξ μεταφορά, ανάλογα με το αίτημα. |
Το «Approval for all» είναι ευρύτερο από την έγκριση ενός NFT, αλλά περιορίζεται και πάλι στο σχετικό συμβόλαιο NFT. Το ERC-721 ορίζει αυτές τις άδειες.
Μια υπογραφή μπορεί να εξουσιοδοτήσει δαπάνη χωρίς τέλος gas
Μια τυπική έγκριση συνήθως απαιτεί συναλλαγή στην αλυσίδα. Ένα permit ξεκινά με υπογραφή εκτός αλυσίδας: η υπογραφή του από μόνη της δεν δημιουργεί συναλλαγή blockchain ούτε χρεώνει gas.
Κάποιος άλλος μπορεί να υποβάλει αυτή την υπογραφή αργότερα και να πληρώσει το τέλος της συναλλαγής.
Σε ένα τυπικό permit ERC-2612, η προθεσμία (deadline) είναι η τελευταία στιγμή που μπορεί να υποβληθεί η υπογραφή. Δεν είναι ημερομηνία λήξης του ορίου δαπάνης που δημιουργείται όταν υποβληθεί. Το ERC-2612 ορίζει πώς λειτουργεί αυτό.
Το Permit2 λειτουργεί διαφορετικά. Απαιτεί υπάρχουσα έγκριση token προς το συμβόλαιο Permit2 και μετά υποστηρίζει είτε χρονικά περιορισμένες άδειες δαπάνης είτε εφάπαξ υπογεγραμμένες μεταφορές. Η τεκμηρίωση του Uniswap για το Permit2 εξηγεί και τους δύο δρόμους.
Δεν χρειάζεται να απομνημονεύσεις τα πρότυπα. Θυμήσου αυτό:
Χωρίς τέλος gas δεν σημαίνει χωρίς οικονομική συνέπεια.
Δεν δίνει κάθε υπογραφή πρόσβαση δαπάνης. Ένα μήνυμα σύνδεσης μπορεί να έχει άλλον σκοπό. Διάβασε τι εξουσιοδοτεί το αίτημα αντί να το κρίνεις από το κουμπί «Sign».
03Πώς χρησιμοποιούν οι απατεώνες αυτές τις άδειες
Ένας ψεύτικος ιστότοπος δεν σου ζητά πάντα να στείλεις κρυπτονομίσματα. Μπορεί να σου ζητήσει να «επαληθεύσεις το πορτοφόλι σου», να «παραλάβεις μια ανταμοιβή» ή να «συνεχίσεις».
Πίσω από αυτό το κουμπί υπάρχει ένα αίτημα που δίνει σε έναν επιτιθέμενο πρόσβαση δαπάνης.
Ο ιστότοπος μπορεί μετά να δείξει σφάλμα. Τον κλείνεις, υποθέτοντας ότι δεν έγινε τίποτα. Αλλά ο επιτιθέμενος μπορεί ήδη να έχει μια χρησιμοποιήσιμη έγκριση ή υπογραφή.
Η μεταφορά μπορεί να ακολουθήσει αμέσως ή αργότερα. Δεν λαμβάνεις δεύτερο αίτημα για να την εγκρίνεις.
Δεν χρειάζεται να κλαπεί η φράση ανάκτησής σου για να συμβεί αυτό. Ούτε ένα πορτοφόλι υλικού δεν μπορεί να σε προστατέψει από μια βλαβερή άδεια που εξουσιοδοτείς εσύ ο ίδιος. Το Revoke.cash περιγράφει αυτόν τον περιορισμό.
04Πέντε έλεγχοι πριν εγκρίνεις ή υπογράψεις
1. Σύγκρινε το αίτημα με την ενέργεια που θέλεις
Μια ανταλλαγή εύλογα μπορεί να χρειάζεται πρόσβαση στο token που πουλάς.
Μια απλή σύνδεση ή μια συνηθισμένη παραλαβή airdrop δεν πρέπει να χρειάζεται απεριόριστη πρόσβαση στα υπάρχοντα tokens σου. Αν ο ιστότοπος λέει «Επαλήθευση» και το πορτοφόλι σου λέει «Έγκριση δαπάνης», σταμάτα και βρες γιατί.
2. Έλεγξε ποιος παίρνει την άδεια
Ο δαπανητής είναι η διεύθυνση που λαμβάνει πρόσβαση. Ένα γνώριμο λογότυπο ή όνομα συμβολαίου δεν αποδεικνύει ότι ανήκει στην εφαρμογή.
Χρησιμοποίησε την επίσημη τεκμηρίωση της εφαρμογής για να ελέγξεις το αναμενόμενο συμβόλαιο και δίκτυο. Ορισμένες εφαρμογές χρησιμοποιούν πολλά συμβόλαια, οπότε το να μαντεύεις από την ετικέτα μιας διεύθυνσης δεν είναι αξιόπιστο.
3. Περιόρισε το ποσό
Όπου το επιτρέπει το πορτοφόλι σου, ενέκρινε μόνο όσα χρειάζεται η ενέργεια.
Για μια ανταλλαγή 50 USDC, ένα απεριόριστο όριο εκθέτει περισσότερα USDC από όσα χρειάζεται. Ένα μικρότερο όριο περιορίζει αυτή την έκθεση· δεν κάνει αξιόπιστο έναν κακόβουλο δαπανητή.
4. Διάβαζε τις υπογραφές με την ίδια προσοχή όπως τις συναλλαγές
Ψάξε το token, τον δαπανητή, το ποσό, το δίκτυο και κάθε προθεσμία ή λήξη. Τα ονόματα των πεδίων διαφέρουν.
Αν το πορτοφόλι δεν μπορεί να εξηγήσει το αίτημα αρκετά καθαρά ώστε να το καταλάβεις, απόρριψέ το και ερεύνησε μέσω της επίσημης τεκμηρίωσης της εφαρμογής.
5. Κράτα τις αποταμιεύσεις χωριστά από άγνωστες εφαρμογές
Χρησιμοποίησε ξεχωριστό πορτοφόλι με μικρό υπόλοιπο για να δοκιμάζεις νέες υπηρεσίες. Απόφυγε να συνδέεις το πορτοφόλι με τις μακροπρόθεσμες αποταμιεύσεις σου.
Έτσι περιορίζεται το τι μπορεί να φτάσει μια βλαβερή έγκριση.
05Αν έχεις ήδη εγκρίνει κάτι
Αν υποψιάζεσαι ενεργή κλοπή, ενέργησε γρήγορα. Το συνηθισμένο συμμάζεμα εγκρίσεων και μια εκτεθειμένη υπογραφή είναι διαφορετικές καταστάσεις.
Για υπάρχουσες εγκρίσεις:
- Άνοιξε απευθείας το Revoke.cash ή το Token Approval Checker του Etherscan. Απόφυγε συνδέσμους που στέλνουν απρόσκλητοι λογαριασμοί «υποστήριξης».
- Έλεγξε κάθε δίκτυο που χρησιμοποιείς. Μπορείς να εξετάσεις μια δημόσια διεύθυνση χωρίς να υπογράψεις συναλλαγή.
- Ανακάλεσε άδειες που δεν χρειάζεσαι πια, με προτεραιότητα στους ύποπτους δαπανητές και στα περιττά απεριόριστα όρια.
- Επιβεβαίωσε ότι κάθε συναλλαγή ανάκλησης πετυχαίνει. Ισχύουν τέλη δικτύου.
Η ανάκληση αφαιρεί την άδεια δαπάνης. Δεν ανακτά περιουσιακά στοιχεία που έχουν ήδη μεταφερθεί. Η αποσύνδεση του ιστότοπου δεν είναι υποκατάστατο. Οι συχνές ερωτήσεις του Revoke.cash καλύπτουν αυτά τα όρια.
Αν υπέγραψες ύποπτο permit
Μια αχρησιμοποίητη υπογραφή μπορεί να μην εμφανίζεται σε ελεγκτή εγκρίσεων.
Η ανάκληση ενός ορατού ορίου μπορεί να μην ακυρώνει αυτή την υπογραφή. Για παράδειγμα, ένα permit ERC-2612 που δεν έχει λήξει μπορεί ακόμη να δημιουργήσει όριο δαπάνης αν το nonce του — ο μετρητής που αποτρέπει την επαναχρησιμοποίηση — παραμένει έγκυρο. Δες την προδιαγραφή ERC-2612.
Σκέψου να μετακινήσεις τα επηρεαζόμενα περιουσιακά στοιχεία σε ξεχωριστό πορτοφόλι που ελέγχεις. Μην τα επιστρέψεις στην εκτεθειμένη διεύθυνση μέχρι η υπογραφή να ακυρωθεί ή να μην μπορεί πια να χρησιμοποιηθεί. Η μετακίνηση στοιχείων και η ανάκληση αδειών μπορεί να γίνουν αγώνας δρόμου με τον επιτιθέμενο· τίποτα από τα δύο δεν εγγυάται ότι θα κινηθείς πρώτος.
Αν εκτέθηκε η φράση ανάκτησης ή το ιδιωτικό σου κλειδί, φτιάξε πορτοφόλι με νέα φράση ανάκτησης. Ένας άλλος λογαριασμός που παράγεται από την εκτεθειμένη φράση δεν είναι ασφαλής αντικατάσταση.
Πρόσεχε τις απρόσκλητες προσφορές ανάκτησης, ειδικά όταν ζητούν προκαταβολή ή τη φράση ανάκτησής σου.
06Τι μπορεί να σε βοηθήσει να ελέγξεις το SaveSaveSaveSave
Ο σαρωτής μηνυμάτων μπορεί να επισημάνει διατυπώσεις που σε σπρώχνουν να υπογράψεις μηνύματα, να εγκρίνεις απεριόριστη δαπάνη ή να δώσεις ευρείες άδειες token.
Αυτή είναι προειδοποίηση για το κείμενο που επικολλάς. Δεν είναι έλεγχος του αιτήματος μέσα στο πορτοφόλι σου.
Ο σαρωτής δεν καθορίζει τι εξουσιοδοτεί μια υπογραφή, δεν απαριθμεί τα υπάρχοντα όριά σου και δεν εγγυάται ότι ένας δαπανητής είναι αξιόπιστος. Ένας έλεγχος διεύθυνσης χωρίς αναφερμένες προειδοποιήσεις δεν είναι λόγος να την εγκρίνεις.
Χρησιμοποίησε έναν ελεγκτή εγκρίσεων για να εξετάσεις τις υπάρχουσες άδειες. Πριν δώσεις νέα, ξεκαθάρισε τρία πράγματα:
Ποιος μπορεί να ξοδέψει, σε ποια περιουσιακά στοιχεία μπορεί να φτάσει και πόσα επιτρέπεις.
Η διεύθυνση του δαπανητή και ο ιστότοπος στην εικονογράφηση είναι επινοημένα. Αυτός ο οδηγός είναι γενική πληροφόρηση, όχι χρηματοοικονομική συμβουλή.