DCDROPCHECK
ΕργαλείαΠροστασία από απάτεςΟδηγοί για airdropsΒασικές έννοιες on-chainΣχετικά

Κίνδυνοι υπογραφής στο πορτοφόλι: υπογραφή έγκρισης έναντι υπογραφής συναλλαγής

Κίνδυνοι υπογραφής: η διαφορά ανάμεσα σε permit, eth_sign και μια κοινή συναλλαγή σε ένα αίτημα υπογραφής
Εκείνο το αίτημα υπογραφής που εμφανίζεται — τι υπογράφετε στην πραγματικότητα; Το να καταλάβετε αυτή τη μία γραμμή βοηθά περισσότερο από το να θυμάστε οποιοδήποτε domain.

Κάθε φορά που το πορτοφόλι σας δείχνει ένα αίτημα υπογραφής, οι περισσότεροι κάνουν το ίδιο: μια ματιά, δεν το καταλαβαίνουν πλήρως, θέλουν απλώς να τελειώσουν αυτό το βήμα, πατούν αποδοχή. Και εκεί ακριβώς είναι το πρόβλημα — η ίδια η υπογραφή διαφέρει τεράστια σε βάρος. Ορισμένες υπογραφές αποδεικνύουν μόνο „είμαι ο κάτοχος αυτού του πορτοφολιού", και αυτές είναι αθώες. Άλλες ισοδυναμούν με το να δίνετε το δικαίωμα να διαθέτει κάποιος την περιουσία σας· το να τις υπογράψετε δεν διαφέρει από το να αφήνετε ανοιχτό το χρηματοκιβώτιό σας. Στο αναδυόμενο μοιάζουν μερικές φορές πολύ — και οι δύο δεν κοστίζουν gas, και οι δύο σας βάζουν να πατήσετε αποδοχή — αλλά οι συνέπειες απέχουν έτη φωτός.

Σε αυτό το άρθρο ξεδιαλύνω ένα προς ένα τα συνηθισμένα είδη υπογραφών: ποιες αποδεικνύουν μόνο την ταυτότητά σας, ποιες αγγίζουν πραγματικά τα χρήματά σας, γιατί μια offline υπογραφή σαν το permit είναι πιο ύπουλη από μια κοινή approve, γιατί πρέπει να κλείνετε αμέσως ένα eth_sign blind signing, και το πιο πρακτικό — πώς πριν το κλικ διαβάζετε εκείνη τη μία γραμμή που σας λέει τι πραγματικά συμβαίνει. Η τεχνική είναι σωστή, αλλά τα μεταφράζω όλα σε απλή γλώσσα. Δεν χρειάζεται μετά να έχετε γίνει προγραμματιστής, αλλά θα πρέπει σε ένα αναδυόμενο να μπορείτε να σταματήσετε και να ξεχωρίσετε αν αυτό είναι „απόδειξη ότι είμαι εγώ" ή „παραχώρηση δικαιώματος". Για την πλήρη προσέγγιση των ίδιων των εγκρίσεων, διαβάστε το μαζί με την ανάκληση εγκρίσεων πορτοφολιού.

Τα συνηθισμένα είδη υπογραφών στο πορτοφόλι

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

  • Συναλλαγή (transaction). Αλλάζει πραγματικά την on-chain κατάσταση, κοστίζει gas, πρέπει να επεξεργαστεί σε ένα μπλοκ. Κοινές μεταφορές, εγκρίσεις approve και αλληλεπιδράσεις συμβολαίων (swap, mint κ.λπ.) εμπίπτουν εδώ. Χαρακτηριστικό: υπάρχουν τέλη συναλλαγής, και το πορτοφόλι δείχνει συνήθως τι κάνει αυτή η συναλλαγή και πόσο μετακινείται.
  • Υπογραφή (signature / υπογραφή μηνύματος). Βάζετε με το ιδιωτικό σας κλειδί μια κρυπτογραφική υπογραφή σε ένα κομμάτι δεδομένων, και αυτό δεν πάει απαραίτητα on-chain και συνήθως δεν κοστίζει gas. Μπορεί να αποδεικνύει καθαρά την ταυτότητά σας (π.χ. είσοδος σε ένα DApp), αλλά μπορεί να είναι και μια „εξουσιοδότηση" που η άλλη πλευρά χρησιμοποιεί on-chain (όπως το permit), ή ακατέργαστα δεδομένα των οποίων δεν βλέπετε το νόημα (eth_sign blind signing).

Η επικίνδυνη παρανόηση πολλών βρίσκεται σε αυτή τη δεύτερη κατηγορία — „αφού δεν κοστίζει gas και δεν είναι μεταφορά, τι μπορεί να πάει στραβά με μια υπογραφή". Ακριβώς το αντίθετο: το πιο ύπουλο on-chain phishing στηρίζεται στο να υπογράψετε ένα φαινομενικά αθώο μήνυμα. Για την κρυπτογραφική βάση πίσω από τις υπογραφές και τη σχέση συναλλαγών και υπογραφών στο Ethereum, η τεκμηρίωση συναλλαγών του Ιδρύματος Ethereum δίνει μια συστηματική εικόνα, αν θέλετε να βάλετε τη βάση.

Διευκρίνιση

Μια απλή αλλά σημαντική αρχή: το να κοστίζει gas δεν σημαίνει ότι είναι επικίνδυνο. Αυτό που πραγματικά καθορίζει το ρίσκο είναι „ποιο δικαίωμα ή περιουσία παραχωρεί αυτή η υπογραφή ή συναλλαγή". Οι επόμενες ενότητες κρίνουν τα συνηθισμένα είδη ακριβώς με αυτόν τον χάρακα.

Κοινή συναλλαγή: η κατεύθυνση είναι χρήμα που φεύγει

Το πιο εύκολο να καταλάβετε είναι η κοινή μεταφορά. Θέλετε να στείλετε λίγα νομίσματα από τη διεύθυνσή σας σε μια άλλη, το πορτοφόλι δείχνει μια συναλλαγή όπου επιβεβαιώνετε τη διεύθυνση παραλαβής, το ποσό και το χονδρικό gas. Αν υπογράψετε, η συναλλαγή πάει on-chain και τα νομίσματα φεύγουν.

Τα σημεία ρίσκου εδώ είναι αρκετά άμεσα, και είναι κυρίως δύο: πρώτον ότι η διεύθυνση παραλαβής είναι λάθος ή αντικατεστημένη — κατά την επικόλληση αντικαταστάθηκε από λογισμικό clipboard-hijacking με τη διεύθυνση επιτιθέμενου, ή αντιγράψατε λάθος μερικούς χαρακτήρες· δεύτερον ότι στέλνετε λάθος ποσό. Σε αντίθεση με μια έγκριση, δεν παραχωρείτε κάποιο „μακρόχρονο δικαίωμα". Η ζημιά είναι συνήθως εφάπαξ και περιορισμένη σε ό,τι μεταφέρετε αυτή τη φορά. Αλλά επειδή στέλνετε απευθείας χρήμα, ένα λάθος είναι μη αναστρέψιμο, οπότε ο έλεγχος της διεύθυνσης πριν τη μεταφορά είναι ιδιαίτερα σημαντικός. Το εργαλείο ελέγχου διεύθυνσης σας βοηθά να επιβεβαιώσετε ότι η μορφή της διεύθυνσης είναι σωστή και δεν αντιγράφηκε λάθος· και η συνήθεια να „βάζετε δίπλα δίπλα τους πρώτους και τελευταίους χαρακτήρες της διεύθυνσης πριν από μια μεταφορά" αξίζει χρυσάφι.

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

Αλληλεπίδραση συμβολαίου: καλείτε μια συνάρτηση

Όταν σε ένα DApp κάνετε κάτι — swap σε ένα DEX, προσθήκη ρευστότητας σε μια δεξαμενή, mint ενός NFT — στην πραγματικότητα ξεκινάτε μια συναλλαγή που „καλεί μια συγκεκριμένη συνάρτηση ενός συγκεκριμένου συμβολαίου". Το πορτοφόλι σας τη δείχνει για επιβεβαίωση, και αυτό επίσης εμπίπτει στις συναλλαγές που κοστίζουν gas.

Ο κίνδυνος σε αυτές τις υπογραφές είναι ότι δεν βλέπετε απαραίτητα τι καλείτε. Ένα καλό πορτοφόλι προσπαθεί να „αποκωδικοποιήσει" τη συναλλαγή όσο γίνεται σε απλή γλώσσα και σας λέει με ποιο συμβόλαιο αλληλεπιδράτε, τι περίπου κάνει και ποια tokens ίσως μετακινήσει· αλλά αν το συμβόλαιο δεν είναι επαληθευμένο ή η αλληλεπίδραση είναι σύνθετη, το πορτοφόλι δείχνει μερικές φορές μόνο μια σειρά ακατανόητων δεδομένων. Τι είναι ένα smart contract και γιατί πριν από μια αλληλεπίδραση καλύτερα να επιβεβαιώνετε ότι ένα συμβόλαιο είναι αξιόπιστο, εξηγείται βασικά στην τεκμηρίωση για smart contracts του Ιδρύματος Ethereum.

Συμβουλή

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

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

Υπογραφή approve: δίνετε το δικαίωμα μετακίνησης tokens

Το approve είναι μια ειδική αλληλεπίδραση συμβολαίου: δεν μετακινείτε νομίσματα, αλλά λέτε σε ένα συμβόλαιο token „επιτρέπω σε μια συγκεκριμένη διεύθυνση (spender) να αφαιρέσει έως N τεμάχια αυτού του token στο όνομά μου". Αυτό το N λέγεται allowance. Μετά την έγκριση, όσο η allowance δεν έχει εξαντληθεί, το εγκεκριμένο συμβόλαιο δεν χρειάζεται να ζητά ξανά υπογραφή για να αφαιρεί κάθε φορά αυτό το token. Αυτός είναι ο μηχανισμός πάνω στον οποίο το DeFi τρέχει αυτόματα και από μόνος του δεν είναι πρόβλημα.

Ο κίνδυνος έχει δύο στρώσεις. Πρώτον, πολλά DApps ζητούν εξ ορισμού ένα N σχεδόν άπειρα μεγάλο (απεριόριστη έγκριση), από τεμπελιά, που σημαίνει ότι αυτό το συμβόλαιο — μόλις είναι κακόβουλο ή χακαριστεί αργότερα — μπορεί να αφαιρέσει το token σας ολόκληρο. Δεύτερον, μια σελίδα phishing συσκευάζει το „claim airdrop" ως ένα approve προς το δικό της συμβόλαιο — εσείς νομίζετε ότι κάνετε claim tokens, ενώ δίνετε στη διεύθυνση του απατεώνα ένα μακρόχρονο δικαίωμα να αδειάζει ένα συγκεκριμένο token από εσάς.

Για τον πλήρη μηχανισμό του approve, τους κινδύνους του απεριόριστου και το πώς βλέπετε και ανακαλείτε ήδη δοσμένες εγκρίσεις, αναλύει η ανάκληση εγκρίσεων πορτοφολιού. Εδώ τονίζω μία κρίση: αν η ενέργεια „claim" σας ζητά να κάνετε approve, να παραχωρήσετε το δικαίωμα μετακίνησης tokens, τότε η κατεύθυνση είναι αντεστραμμένη. Το κανονικό claim είναι: νομίσματα έρχονται προς εσάς, εσείς πληρώνετε το gas για να κάνετε claim. Το phishing μέσω έγκρισης είναι: το δικαίωμα ρέει προς αυτούς. Λάθος κατεύθυνση σημαίνει κόκκινο φανάρι. Για την ανάκληση ήδη δοσμένων εγκρίσεων χρησιμοποιείτε το επίσημο εργαλείο revoke.cash.

Γιατί η offline υπογραφή permit (EIP-2612) είναι επικίνδυνη

Τώρα το σημαντικότερο είδος όλου του άρθρου — το permit. Είναι επικίνδυνο ακριβώς επειδή „μοιάζει πολύ αθώο".

Πρώτα ο σκοπός. Το Ethereum έχει μια πρόταση βελτίωσης με όνομα EIP-2612 που δίνει στα ERC-20 μια συνάρτηση permit, χάρη στην οποία μια έγκριση μπορεί να ρυθμιστεί μέσω μιας offline υπογραφής αντί μέσω ξεχωριστής συναλλαγής approve που κοστίζει gas. Δηλαδή: υπογράφετε ένα δομημένο μήνυμα (όχι on-chain, δεν κοστίζει gas), και η άλλη πλευρά μπορεί με αυτή την υπογραφή να κάνει on-chain κάτι που ισοδυναμεί με approve. Ο στόχος είναι να γλιτώσετε μια συναλλαγή, να γλιτώσετε gas και να κάνετε τη χρήση ομαλότερη. Η μορφή αυτής της δομημένης υπογραφής βασίζεται σε μια άλλη πρόταση, την EIP-712, που εμφανίζει το περιεχόμενο της υπογραφής σε σχετικά αναγνώσιμα πεδία. Οι αρχικές προτάσεις βρίσκονται στο EIP-2612 και στο EIP-712.

Ο κίνδυνος βρίσκεται εδώ: για έναν κοινό χρήστη, το να υπογράψει ένα μήνυμα permit και το να υπογράψει ένα κοινό μήνυμα εισόδου μοιάζουν στο αναδυόμενο περίπου ίδια — και τα δύο δεν κοστίζουν gas, και τα δύο „πάτα απλώς αποδοχή". Οι απατεώνες γράφουν τη σελίδα phishing ως „υπόγραψε για να επαληθεύσεις την επιλεξιμότητά σου στο airdrop" ή „υπόγραψε για είσοδο". Εσείς νομίζετε ότι αποδεικνύετε μόνο ότι είστε ο κάτοχος του πορτοφολιού, αλλά στην πραγματικότητα υπογράφετε ένα permit — άδεια στην άλλη πλευρά να μετακινήσει ένα συγκεκριμένο token από εσάς. Μετά την υπογραφή η σελίδα ίσως δεν αλλάξει τίποτα, και μέχρι να το καταλάβετε, η άλλη πλευρά έχει ολοκληρώσει με την υπογραφή σας την έγκριση on-chain και αφαιρέσει την περιουσία σας.

Το permit είναι πιο ύπουλο από το κοινό approve-phishing, για τρεις λόγους: δεν κοστίζει gas, οπότε πέφτει το ψυχολογικό κατώφλι του „να πληρώσω και να επιβεβαιώσω ξανά"· δεν πάει (τη στιγμή που υπογράφετε) on-chain, οπότε στο δικό σας ιστορικό συναλλαγών δεν βλέπετε προς στιγμήν ίχνος· και αν το πορτοφόλι δεν αναλύσει καλά το αναδυόμενο, μπερδεύεται εύκολα με μια κοινή υπογραφή. Γι' αυτό πολλές on-chain κλοπές σε ιδιώτες τα τελευταία χρόνια περνούν μέσω υπογραφής αντί μέσω άμεσης απόσπασης του ιδιωτικού κλειδιού.

Προσοχή

Αν σε μια „υπογραφή" δείτε να εμφανίζονται πεδία όπως Permit, spender (εγκεκριμένο μέρος), value (allowance) ή deadline (ισχύς), να είστε εξαιρετικά προσεκτικοί — αυτό είναι πολύ πιθανό μια offline υπογραφή που ισοδυναμεί με έγκριση, και όχι μια απλή απόδειξη εισόδου. Ειδικά αν εμφανίζεται στο πλαίσιο „claim airdrop / επαλήθευση επιλεξιμότητας": σταματήστε.

eth_sign blind signing: το αναδυόμενο για το οποίο προσέχετε πιο πολύ

Υπάρχει ακόμη ένα πιο πρωτόγονο και επικίνδυνο αίτημα: το eth_sign. Με αυτό υπογράφετε ένα κομμάτι ακατέργαστων δεδομένων των οποίων το νόημα δεν φαίνεται (συνήθως μια σειρά δεκαεξαδικού hash), και το πορτοφόλι δεν μπορεί να το μεταφράσει σε απλή γλώσσα για να σας πει τι ακριβώς υπογράφετε. Αυτό λέγεται στην καθομιλουμένη „blind signing".

Το πρόβλημα: εκείνα τα ακατανόητα δεδομένα μπορεί θεωρητικά να είναι οτιδήποτε — μια έγκριση, μια μεταφορά, ένα permit. Αν υπογράψετε, είναι σαν να βάζετε σφραγίδα σε ένα έγγραφο κενό αλλά νομικά έγκυρο· ό,τι συμπληρώσει η άλλη πλευρά, ισχύει. Νόμιμα DApps σπάνια ζητούν eth_sign, ακριβώς επειδή είναι πολύ επικίνδυνο, και τα mainstream πορτοφόλια (όπως το MetaMask) δείχνουν σε τέτοιο αίτημα εξ ορισμού μια έντονη προειδοποίηση και μερικές φορές το έχουν εξ ορισμού απενεργοποιημένο. Τον κίνδυνο των διάφορων μεθόδων υπογραφής και το πώς τον χειρίζεται το πορτοφόλι: κρατήστε την επίσημη τεκμηρίωση του δικού σας πορτοφολιού, π.χ. το κέντρο υποστήριξης MetaMask, που έχει ειδική εξήγηση.

Προσοχή

Αν δείτε το πορτοφόλι σας να προειδοποιεί με „αυτό είναι αίτημα eth_sign", „μη αναλύσιμη ακατέργαστη υπογραφή" ή „το περιεχόμενο της υπογραφής δεν μπορεί να εμφανιστεί", κλείστε το αμέσως και μην υπογράψετε. Εκτός αν ξέρετε εκατό τοις εκατό τι κάνετε, δεν υπάρχει κανένας λόγος να συμμετάσχετε σε blind signing. Μια σελίδα που σας βάζει να υπογράψετε τυφλά είναι από μόνη της ύποπτη.

Τα προηγούμενα είδη δίπλα δίπλα, ώστε σε ένα αναδυόμενο να μπορείτε να εκτιμήσετε γρήγορα:

ΤύποςΤι κάνει στον πυρήναΚοστίζει gas;Ρίσκο
Κοινή μεταφοράΑποστολή νομισμάτων σε μια διεύθυνσηΝαιΜέτριο: έλεγχος διεύθυνσης και ποσού
Αλληλεπίδραση συμβολαίουΚλήση συνάρτησης ενός συμβολαίουΝαιΑνάλογα με το περιεχόμενο· το συμβόλαιο πρέπει να είναι αξιόπιστο
Έγκριση approveΔίνει σε μια διεύθυνση allowanceΝαιΥψηλό: ιδίως απεριόριστο + άγνωστο μέρος
Offline υπογραφή permitΈγκριση ισοδύναμη μέσω υπογραφήςΌχιΥψηλό: μοιάζει με είσοδο, είναι στην πράξη έγκριση
eth_sign blind signingΥπογραφή ακατανόητων ακατέργαστων δεδομένωνΌχιΕξαιρετικά υψηλό: αόρατο περιεχόμενο, εξ ορισμού άρνηση

Πώς διαβάζετε ένα αίτημα υπογραφής

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

  • Ρωτήστε πρώτα: „τι νόμιζα ότι έκανα εδώ". Στο κουμπί που πατήσατε έγραφε „είσοδος / σύνδεση / claim / swap"; Κρατήστε την προσδοκία σας και βάλτε τη σε λίγο δίπλα στο περιεχόμενο του αναδυόμενου.
  • Δείτε αν είναι συναλλαγή ή υπογραφή. Με gas και το κείμενο „επιβεβαίωση συναλλαγής" είναι συναλλαγή· χωρίς gas και μόνο „υπογραφή" είναι υπογραφή μηνύματος. Στη δεύτερη πρέπει να διαβάσετε το περιεχόμενο ιδιαίτερα προσεκτικά, μη χαλαρώνετε επειδή δεν κοστίζει.
  • Διαβάστε τα κρίσιμα πεδία. Αν περνούν Permit, spender, value, approve ή setApprovalForAll, τότε παραχωρείτε ένα δικαίωμα, όχι απλή απόδειξη ταυτότητας. Αν δείτε eth_sign / „ακατέργαστα δεδομένα" / „το περιεχόμενο δεν μπορεί να εμφανιστεί", αρνηθείτε.
  • Βάλτε δίπλα δίπλα την κατεύθυνση. Εσείς νομίζατε „claim / είσοδος", αλλά το αναδυόμενο λέει „approve / permit" — προσδοκία και περιεχόμενο δεν ταιριάζουν, και αυτό είναι σήμα κινδύνου.
  • Ελέγξτε το εγκεκριμένο μέρος. Αν είναι όντως έγκριση, δείτε αν ο spender είναι πράγματι ένα συμβόλαιο που εμπιστεύεστε, και ψάξτε τη διεύθυνση αν χρειάζεται σε έναν block explorer (όπως το Etherscan) για να ελέγξετε την προέλευση.
  • Αν δεν ταιριάζει, αρνηθείτε. Η άρνηση δεν κοστίζει σχεδόν τίποτα — το πολύ να μην κάνετε αυτή την ενέργεια. Το να πατήσετε αποδοχή είναι το μη αναστρέψιμο. Καλύτερα να αρνηθείτε μερικές φορές παραπάνω παρά να ρισκάρετε μία.

Ο πυρήνας είναι στην ουσία μία φράση: υπογράψτε μόνο όταν το πορτοφόλι μπορεί να σας πει καθαρά σε απλή γλώσσα „παραχωρείς το δικαίωμα X στον Y" και αυτό είναι ακριβώς που θέλατε· αν το περιεχόμενο είναι ασαφές ή δεν ταιριάζει με ό,τι νομίζατε ότι κάνετε, αρνηθείτε. Ένα καλό πορτοφόλι προσπαθεί να αναλύσει το περιεχόμενο για εσάς, οπότε ένα καλά συντηρημένο, ισχυρό στην ανάλυση mainstream πορτοφόλι είναι από μόνο του μια στρώση προστασίας — για τις ρυθμίσεις ασφάλειας κρατήστε την επίσημη τεκμηρίωση (π.χ. το κέντρο υποστήριξης MetaMask).

Διευκρίνιση

Ακόμη κι αν κατά λάθος υπογράψατε ένα permit ή ανοίξατε ένα approve, δεν είναι χαμένη υπόθεση — όσο το ιδιωτικό σας κλειδί και η seed phrase δεν έχουν διαρρεύσει, η άλλη πλευρά φτάνει μόνο στο token που εγκρίνατε, και μπορείτε να ανακαλέσετε την έγκριση για να περιορίσετε τη ζημιά. Τα πλήρη βήματα ανάκλησης βρίσκονται στην ανάκληση εγκρίσεων πορτοφολιού. Αλλά το blind signing και μια διαρρεύσασα seed phrase είναι άλλη ιστορία — εκείνη η κατάσταση είναι πολύ σοβαρότερη.

Ασφαλείς συνήθειες που χτίζετε

Για να μετατρέψετε τις μεμονωμένες κρίσεις σε μυϊκή μνήμη, παρακάτω μερικά που χρησιμοποιώ ο ίδιος διαρκώς.

Κάντε παύση τρία δευτερόλεπτα πριν την υπογραφή και πείτε „τι θέλει να μου μετακινήσει"

Σχεδόν κάθε απάτη στηρίζεται στην πίεση χρόνου ώστε να μην προλάβετε να σκεφτείτε. Αντιστρέψτε το: αναγκάστε τον εαυτό σας να κάνει τρία δευτερόλεπτα παύση πριν από κάθε κλικ αποδοχής και να ονομάσει δυνατά τα κρίσιμα πεδία του αναδυόμενου — είναι αυτό είσοδος ή approve; Ταιριάζει η κατεύθυνση; Αυτή η μικρή κίνηση μπλοκάρει τα περισσότερα ατυχήματα του „πάτησα χωρίς να σκεφτώ".

Διαχωρίστε πορτοφόλια: αφήστε το πειραματικό πορτοφόλι να δέχεται τα χτυπήματα

Βάλτε τη μακροπρόθεσμη περιουσία σε ένα „πορτοφόλι-θησαυροφυλάκιο" που σχεδόν δεν συνδέει DApp (κατά προτίμηση με hardware wallet), και ανοίξτε ένα ξεχωριστό „πειραματικό πορτοφόλι" με μόνο ένα μικρό ποσό, ειδικά για σύνδεση νέων σελίδων, claim airdrops και κάθε λογής υπογραφή. Αν το πειραματικό πορτοφόλι υπογράψει ποτέ κάτι λάθος, η ζημιά μένει σε εκείνο το μικρό ποσό. Αυτή είναι η πιο αποδοτική γραμμή άμυνας. Για τη σχετική φύλαξη ιδιωτικού κλειδιού και seed phrase, δείτε την ασφάλεια seed phrase.

Πηγαίνετε στην επίσημη σελίδα μέσω σελιδοδείκτη, μην ψάχνετε επιτόπου

Η πηγή πολλών επικίνδυνων υπογραφών είναι μια απομίμηση σελίδας. Αποθηκεύστε τις επίσημες σελίδες των έργων που χρησιμοποιείτε συχνά και τα σταθερά σας εργαλεία ως σελιδοδείκτη και μπαίνετε κάθε φορά μέσω αυτού, για να αποφεύγετε τις απομιμήσεις από την είσοδο. Περισσότερα κόλπα για την αναγνώριση ψεύτικων airdrops και ψεύτικων σελίδων claim βρίσκονται στα ψεύτικα airdrops και phishing. Και αν θέλετε πρώτα να βάλετε τη βάση του πορτοφολιού Web3, διαβάστε το τι είναι το πορτοφόλι Web3.

Ανακαλείτε περιοδικά και παίρνετε πίσω παραχωρημένα δικαιώματα

Οι υπογραφές (ιδίως οι εγκρίσεις που ισχύουν μετά από ένα approve ή permit) συσσωρεύονται. Κάντε συνήθεια να ελέγχετε και να ανακαλείτε περιοδικά με το revoke.cash αχρησιμοποίητες εγκρίσεις, και να παίρνετε πίσω παλιά, ξεχασμένα δικαιώματα. Αν θέλετε ταυτόχρονα να ελέγξετε το ρίσκο, χρησιμοποιήστε ως αναφορά τη λίστα ελέγχου κινδύνων έγκρισης.

Επιβάλαμε αργότερα στον εαυτό μας έναν σκληρό κανόνα: ό,τι εμφανίζεται στο „claim airdrop / επαλήθευση επιλεξιμότητας" και ζητά υπογραφή, το αντιμετωπίζουμε εξ ορισμού ως permit, ως έγκριση, στη χειρότερη περίπτωση — πρώτα κοιτάμε καλά τα πεδία, μετά αποφασίζουμε. Αυτός ο κανόνας μας έκανε να αρνηθούμε αρκετές υπογραφές, και εκ των υστέρων αποδείχθηκε: με τις αρνημένες κάτι έφταιγε συνήθως πραγματικά.

Κλείνοντας. Μια υπογραφή πορτοφολιού δεν είναι μία ενέργεια, αλλά μια κατηγορία ενεργειών, από το „αποδεικνύω ότι είμαι εγώ" ως το „δίνω το κλειδί του χρηματοκιβωτίου". Κρατήστε τες χωριστά — σε μια μεταφορά ελέγχετε διεύθυνση και ποσό, σε μια έγκριση ελέγχετε το μέρος και την allowance, το permit το αντιμετωπίζετε ως αόρατη έγκριση, και το eth_sign blind signing το αρνείστε χωρίς εξαίρεση — και συνδυάστε τα με τις συνήθειες των τριών δευτερολέπτων παύσης, του διαχωρισμού πορτοφολιών, της χρήσης σελιδοδεικτών και της περιοδικής ανάκλησης. Τότε ξέρετε σε εκείνο το φαινομενικά αδιάφορο „πάτα αποδοχή" τι πραγματικά υπογράφετε.

CM
Chen Mo
Σύνταξη DROPCHECK · συντάκτης (ψευδώνυμο)

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