Πρώτον, λίγη γλώσσα. ΕΝΑ "μήνυμα" είναι μια μονάδα επικοινωνίας μεταξύ δύο ή περισσότερων συμμετεχόντων σε ένα δίκτυο blockchain. Μπορεί να περιέχει οποιονδήποτε τύπο δεδομένων και χρησιμοποιούνται συνήθως για τη λήψη ψηφιακής έγκρισης από έναν χρήστη.
A "συναλλαγή", από την άλλη πλευρά, είναι ένας συγκεκριμένος τύπος μηνύματος που περιλαμβάνει τη μεταφορά αξίας από έναν συμμετέχοντα σε άλλον. Συνήθως περιλαμβάνει πληροφορίες όπως η διεύθυνση του αποστολέα, η διεύθυνση του παραλήπτη, το ποσό του κρυπτονομίσματος που μεταφέρεται και μια ψηφιακή υπογραφή που αποδεικνύει την εξουσιοδότηση του αποστολέα για τη μεταφορά.
Οι χρήστες μπορούν ήδη να εκκαθαρίσουν τις συναλλαγές υπογραφής χρησιμοποιώντας τις συσκευές Ledger τους, όπως περιγράφεται αναλυτικά σε αυτή την ανάρτηση, και έχουμε επεκτείνει αυτήν την καλή πρακτική χρησιμοποιώντας τις ίδιες αρχές και στα μηνύματα. Δείτε πώς.
Γιατί υπογράφουμε μηνύματα στο web3;
Οι μπλοκ αλυσίδες βασίζονται σε «Κρυπτογραφία δημόσιου κλειδιού», όπου οι χρήστες διαθέτουν ένα δημόσιο κλειδί και ένα ιδιωτικό κλειδί, τα οποία σχηματίζουν ένα ζεύγος. Το δημόσιο κλειδί αντιπροσωπεύει την ταυτότητα του κατόχου και το ιδιωτικό κλειδί είναι μυστικό, επιτρέποντάς του να αποδείξει ότι κατέχει το ζεύγος κλειδιών.
Όταν υπογράφετε ένα μήνυμα, χρησιμοποιείτε το ιδιωτικό σας κλειδί στον αλγόριθμο υπογραφής για να συνδέσετε μια υπογραφή με το μήνυμα και το δημόσιο κλειδί. Κανείς δεν μπορεί να αντλήσει το ιδιωτικό σας κλειδί ή να πλαστογραφήσει μια έγκυρη υπογραφή για εσάς. Ωστόσο, όποιος γνωρίζει το δημόσιο κλειδί σας μπορεί εύκολα να επαληθεύσει ότι το μήνυμα υπογράφηκε από το ιδιωτικό σας κλειδί.
Με λίγα λόγια, είναι η ίδια διαδικασία και ιδέα με την υπογραφή συναλλαγών, εκτός από το ότι εστιάζουμε εδώ στην υπογραφή μηνυμάτων που εξυπηρετούν διαφορετικό σκοπό: το επίδομα. Υπογράφουμε μηνύματα σε εφαρμογές κρυπτογράφησης για να συγκεντρώσουμε τη συναίνεση των χρηστών, όπως ακριβώς όταν στην πραγματική ζωή θα χρησιμοποιούσατε τη γραπτή υπογραφή σας σε ένα χαρτί. Είναι η κρυπτο-έκδοση του "fiat signing".
Η σημασία του EIP-712
Η υπογραφή μηνυμάτων δεν είναι κάτι νέο. Μπορούμε να υπογράφουμε μηνύματα εδώ και χρόνια και αυτά μπορούν να λάβουν διαφορετικά σχήματα και μορφές καθώς βελτιώνονται με την πάροδο του χρόνου. Στην πραγματικότητα, το Πρόταση βελτίωσης Ethereum 191 (EIP-191) υποβλήθηκε το 2016 και εισήγαγε ένα πρότυπο που επιτρέπει μηνύματα αναγνώσιμα από τον άνθρωπο, τα οποία υποστηρίζονται εγγενώς από συσκευές Ledger. Εκεί που το EIP-191 έπεσε, όμως, είναι ότι το πρότυπο δεν δομεί τα δεδομένα. Είναι απλώς μια λεπτομέρεια απεριόριστου μήκους δεδομένων στο τέλος του μηνύματος, γεγονός που καθιστά δύσκολη τη χρήση του. Στην πράξη, τα μηνύματα συχνά καταλήγουν να περικόπτονται υπερβολικά και έχουν ως αποτέλεσμα ο χρήστης να χάνει δυνητικά βασικές πληροφορίες. φτωχό UX.
Όπως αναφέρθηκε στην αρχή του Πρόταση βελτίωσης Ethereum 712 (EIP-712): «Η υπογραφή δεδομένων είναι ένα λυμένο πρόβλημα εάν το μόνο που μας ενδιαφέρει είναι οι bytestrings. Δυστυχώς στον πραγματικό κόσμο νοιαζόμαστε για πολύπλοκα ουσιαστικά μηνύματα». – Δεν θα μπορούσα να συμφωνήσω περισσότερο. Καθώς τα μηνύματα αυξάνονταν για να εξυπηρετούν πιο σύνθετες λειτουργίες, η εισαγωγή δομών δεδομένων πληκτρολογημένης στα μηνύματα, όπως καθορίζεται στο EIP-712, ήταν μια ευπρόσδεκτη αλλαγή.
Αυτό σημαίνει για τους χρήστες, ότι τώρα οι προγραμματιστές μπορούν να αναλύουν τα δεδομένα στο μήνυμα και να γνωρίζουν τι είναι τι, το οποίο μπορεί τώρα να εκτεθεί στον χρήστη. Ανάλυση σημαίνει να μπορείς να διαβάζεις το περιεχόμενο, γιατί ξέρεις πώς είναι δομημένο. Αυτό αλλάζει το παιχνίδι όσον αφορά την εμπειρία χρήστη, αλλά και από την άποψη της ασφάλειας, αφού τώρα μπορώ να επαληθεύσω αυτό που υπογράφω.
Στο πλαίσιο της χρήσης των μηνυμάτων, εάν ζητάτε από την Alice να σας χορηγήσει συγκεκριμένη άδεια για το περιεχόμενο του πορτοφολιού της, ως προγραμματιστής εφαρμογών, θα πρέπει να είστε πολύ σαφείς σχετικά με αυτό για να μεγιστοποιήσετε τις πιθανότητές σας να προχωρήσει. Αλλά είναι κάτι περισσότερο από μια απλή βελτιστοποίηση ποσοστού μετατροπής.
Εάν σκέφτεστε την ασφάλεια και την άμυνα σε ένα αντίπαλο περιβάλλον, ένας απατεώνας προφανώς θα κάνει αυτό το μήνυμα όσο το δυνατόν πιο αδιαφανές για να ξεγελάσει την Αλίκη για να επιτρέψει αυτήν την κακόβουλη λειτουργία. Η διαφάνεια και η ικανότητα της Αλίκης να ελέγχει ξανά αυτά που υπογράφει είναι απολύτως απαραίτητα.
Και εδώ μπαίνει το EIP-712. Πριν από αυτό το EIP, τα υπογεγραμμένα μηνύματα ήταν μια αδιαφανής εξάγωνη συμβολοσειρά που εμφανιζόταν στον χρήστη με ελάχιστο περιεχόμενο σχετικά με τα στοιχεία που συνθέτουν το μήνυμα.
Θα το υπογράφατε αυτό; Έχετε ιδέα τι εξουσιοδοτείτε εδώ;
Η προδιαγραφή EIP-712 εισάγει δακτυλογραφημένες δομές δεδομένων για μηνύματα που επιτρέπουν την ανάλυση τους από πορτοφόλια και την εμφάνιση με φιλικό προς το χρήστη τρόπο ώστε η Alice να λάβει μια τεκμηριωμένη απόφαση. Επιπλέον, είναι ένα πρότυπο και διαλειτουργικό σε ολόκληρο τον κλάδο: υποστηρίζοντας το EIP-712, το μήνυμά σας μπορεί να αναλυθεί από Ledger, MetaMask, Rainbow, Argent, Coinbase Wallet, όπως το πείτε.
Υποστήριξη Ledger για EIP-712
Πρώτα απ 'όλα, ευτυχισμένες μέρες, οι συσκευές Ledger έχουν εγγενή υποστήριξη για μηνύματα EIP-712 και ως προγραμματιστής μπορείτε να ελέγχετε ακριβώς πώς εμφανίζονται τα μηνύματά σας στη συσκευή.
Υπάρχουν ουσιαστικά 3 επίπεδα υποστήριξης για μηνύματα σε συσκευές Ledger:
Επίπεδο 1: Τυφλή υπογραφή
Εάν ο Bob, ένας προγραμματιστής εφαρμογών, δεν χρησιμοποιεί μηνύματα EIP-712, ο Bob ουσιαστικά ζητά από την Alice να υπογράψει μια μη αναγνώσιμη εξάγωνη συμβολοσειρά: Ο Bob ζητά από την Alice να υπογράψει κάτι που δεν μπορεί καν να διαβάσει, αυτό είναι τυφλή υπογραφή.
Επίπεδο 2: Διαφανής υπογραφή
Εφαρμόζοντας ένα μήνυμα EIP-712, ο Bob κάνει ένα βήμα προς τα εμπρός πηγαίνοντας από μια δεκαεξαδική συμβολοσειρά σε αναγνώσιμο περιεχόμενο. Τώρα επιτρέπει στην Αλίκη να διαβάσει το περιεχόμενο του μηνύματος, ωστόσο, επειδή της εμφανίζει το πλήρες περιεχόμενο του μηνύματος, είναι δύσκολο να εντοπίσει τις βασικές πληροφορίες που αναμειγνύονται με πληροφορίες τεχνολογίας. Είναι διαφανές, αλλά δεν είναι ακόμη σαφές.
Επίπεδο 3: Καθαρή υπογραφή
Εφόσον η συσκευή μπορεί να αναλύσει το περιεχόμενο του μηνύματος, υποδεικνύοντας τι θα εμφανιστεί και πώς, μπορούμε να επιτύχουμε σαφή υπογραφή. Έτσι, υπό τον όρο ότι ο Bob ορίζει τα απαιτούμενα μεταδεδομένα, ορίστε τι θα έβλεπε η Alice στη συσκευή της Ledger:
Πολύ καλύτερο από μια εξάγωνη χορδή, έτσι δεν είναι;
Ένα άλλο βασικό σημείο είναι ότι εφόσον εμφανίζεται σε πλήρως ασφαλή, ξεχωριστή συσκευή που δεν μπορεί να παραβιαστεί, η Alice είναι 100% σίγουρη ότι αυτό που βλέπει σε αυτήν τη συσκευή είναι αυτό που υπογράφει: κανένα κακόβουλο λογισμικό ή κακόβουλη εφαρμογή δεν μπορεί να αλλάξει αυτό που της εμφανίζεται. Εάν αυτό που εμφανίζεται στη συσκευή δεν ανταποκρίνεται στις προσδοκίες της, μπορεί να παραμείνει ασφαλής και να απορρίψει την υπογραφή του μηνύματος.
Για να παρέχει αυτό το βελτιωμένο UX και επιπλέον ασφάλεια στους χρήστες του, ο Bob πρέπει να κάνει 2 πράγματα: καθορίστε ποια πεδία πρέπει να εμφανίζονται στον χρήστη και παρέχετε ένα ωραίο, σαφές εμφανιζόμενο όνομα για αυτά.
Εάν ως προγραμματιστής θέλετε να γίνετε μέλος του Bob και να το κάνετε για την εφαρμογή σας, έχετε όλη την τεκμηρίωση εδώ, και ουσιαστικά καταλήγει στη δημιουργία ενός αιτήματος έλξης για τη λίστα επιτρεπόμενων του συμβολαίου σας στο Μητρώο περιουσιακών στοιχείων dApps του Ledger μέσω ενός αρχείου JSON που περιέχει:
- Επιλογείς για να υποδείξουν ποια πεδία πρέπει να εμφανίζει η συσκευή Alice,
- Επισημάνετε κάθε επιλογέα με ένα εμφανιζόμενο όνομα.
Αυτό δεν είναι καλλυντικά, είναι καλή πρακτική
Βάζοντας στη λίστα επιτρεπόμενων το έξυπνο συμβόλαιό σας και υποδεικνύοντας πώς οι συσκευές Ledger μπορούν να εμφανίζουν τα μηνύματά σας, όχι μόνο βελτιώνετε σημαντικά την εμπειρία χρήστη κατά την αλληλεπίδραση με την εφαρμογή σας, αλλά το πιο σημαντικό, προστατεύετε όλους μας από απάτες και συμβάλλετε στη δημιουργία καλών συνηθειών στην web3 οικοσύστημα.
Δεν πρέπει ποτέ να υπογράψουμε κάτι που δεν καταλαβαίνουμε.
Δεν μπορούμε να το κάνουμε αυτό χωρίς εσάς, βοηθήστε μας να κάνουμε ξεκάθαρη υπογραφή του κανόνα.
- SEO Powered Content & PR Distribution. Ενισχύστε σήμερα.
- PlatoAiStream. Web3 Data Intelligence. Ενισχύθηκε η γνώση. Πρόσβαση εδώ.
- Minting the Future με την Adryenn Ashley. Πρόσβαση εδώ.
- Αγορά και πώληση μετοχών σε εταιρείες PRE-IPO με το PREIPO®. Πρόσβαση εδώ.
- πηγή: https://www.ledger.com/blog/securing-message-signing
- :είναι
- :δεν
- :που
- $UP
- 1
- 2016
- 22
- 220
- a
- ικανότητα
- Ικανός
- Σχετικά
- σχετικά με αυτό
- απολύτως
- Κατορθώνω
- απέναντι
- διεύθυνση
- αντιφατική
- αλγόριθμος
- Όλα
- επιτρέπουν
- Επιτρέποντας
- επιτρέπει
- ήδη
- Επίσης
- ποσό
- an
- και
- Άλλος
- κάθε
- κάποιος
- app
- Εφαρμογή
- έγκριση
- ΕΙΝΑΙ
- argent
- AS
- προσόν
- At
- εξουσιοδότηση
- βασίζονται
- BE
- επειδή
- ήταν
- πριν
- Αρχή
- είναι
- Καλύτερα
- μεταξύ
- Κομμάτι
- blockchain
- blockchain δίκτυο
- σιτηρά
- χτίζω
- αλλά
- by
- CAN
- ο οποίος
- προμηθεύω
- πιθανότητα
- αλλαγή
- Changer
- καθαρός
- coinbase
- Πορτοφόλι Coinbase
- έρχεται
- συνήθως
- Επικοινωνία
- συγκρότημα
- συγκατάθεση
- περιεχόμενο
- περιεχόμενα
- συμφραζόμενα
- σύμβαση
- έλεγχος
- Μετατροπή
- δημιουργία
- cryptocurrency
- dapps
- ημερομηνία
- Ημ.
- απόφαση
- Άμυνα
- λεπτομερής
- Εργολάβος
- προγραμματιστές
- συσκευή
- Συσκευές
- διαφορετικές
- ψηφιακό
- Display
- εμφάνιση
- do
- τεκμηρίωση
- Όχι
- Μην
- κάτω
- κάθε
- εύκολα
- οικοσύστημα
- ΕΣΚ
- τέλος
- Περιβάλλον
- ουσιώδης
- κατ 'ουσίαν,
- ethereum
- Even
- Εκτός
- προσδοκίες
- εμπειρία
- εκτεθειμένος
- επιπλέον
- πρόσθετη ασφάλεια
- γεγονός
- Πεδία
- Αρχεία
- εστιάζοντας
- Για
- σιδηρουργείο
- μορφή
- μορφές
- Προς τα εμπρός
- από
- πλήρη
- πλήρως
- Επί πλέον
- παιχνίδι
- παιχνίδι changer
- συγκεντρώνουν
- παίρνω
- gif
- μετάβαση
- καλός
- χορηγεί
- χέρι
- ευτυχισμένος
- Σκληρά
- Έχω
- βοήθεια
- βοήθεια
- αυτήν
- εδώ
- HEX
- του
- Πως
- Ωστόσο
- HTTPS
- αναγνώσιμη από άνθρωπο
- i
- ιδέα
- Ταυτότητα
- if
- σπουδαιότητα
- βελτίωση
- βελτιωθεί
- βελτίωση
- βελτίωση
- in
- περιλαμβάνει
- υποδεικνύω
- υποδεικνύοντας
- βιομηχανία
- πληροφορίες
- ενημερώνεται
- αλληλεπιδρώντας
- διαλειτουργικό
- εισήγαγε
- Εισάγει
- Εισαγωγή
- IT
- αντικειμένων
- ενταχθούν
- jpg
- json
- μόλις
- Κλειδί
- Ξέρω
- Καθολικό
- Μήκος
- επίπεδα
- ζωή
- LINK
- λίγο
- Μακριά
- κάνω
- Κατασκευή
- malware
- τρόπος
- Ταίριασμα
- max-width
- Αυξάνω στον ανώτατο βαθμό
- νόημα
- μέσα
- μήνυμα
- μηνύματα
- Μεταδεδομένα
- MetaMask
- Λείπει
- μικτός
- περισσότερο
- όνομα
- ντόπιος
- ανάγκες
- δίκτυο
- ποτέ
- Νέα
- όμορφη
- Όχι.
- τώρα
- of
- συχνά
- on
- ONE
- αποκλειστικά
- αδιαφανής
- λειτουργία
- λειτουργίες
- βελτιστοποίηση
- or
- ΑΛΛΑ
- έξω
- επί
- δική
- ζεύγος
- Χαρτί
- συμμετέχοντες
- άδεια
- προοπτική
- Πλάτων
- Πληροφορία δεδομένων Plato
- Πλάτωνα δεδομένα
- Σημείο
- φτωχός
- δυνατός
- ενδεχομένως
- πρακτική
- ακριβώς
- αρχές
- ιδιωτικός
- ιδιωτικού κλειδιού
- Πρόβλημα
- διαδικασια μας
- πρόταση
- προστασία
- Αποδείξτε
- αποδεικνύει
- παρέχουν
- παρέχεται
- δημόσιο
- δημόσιο κλειδί
- σκοπός
- Τιμή
- Διάβασε
- πραγματικός
- πραγματική ζωή
- πραγματικό κόσμο
- μητρώου
- αντιπροσωπεύει
- ζητήσει
- απαιτείται
- με αποτέλεσμα
- ένα ασφαλές
- ίδιο
- απάτες
- Μυστικό
- προστατευμένο περιβάλλον
- ασφάλεια
- δείτε
- βλέπει
- εξυπηρετούν
- σειρά
- σχήματα
- αυτή
- Κοντά
- θα πρέπει να
- δείχνουν
- υπογράψουν
- υπογραφεί
- σημαντικά
- υπογραφή
- αφού
- έξυπνος
- έξυπνη σύμβαση
- So
- κάτι
- συγκεκριμένες
- προσδιορισμός
- καθορίζεται
- Spot
- πρότυπο
- δήλωσε
- παραμονή
- Βήμα
- Ιστορία
- Σπάγγος
- δομή
- δομημένος
- υποβάλλονται
- τέτοιος
- Σούπερ
- υποστήριξη
- υποστηριζόνται!
- Στήριξη
- Πάρτε
- tech
- όροι
- από
- ότι
- Η
- τους
- Τους
- Αυτοί
- αυτοί
- πράγμα
- πράγματα
- νομίζω
- αυτό
- εκείνοι
- αν και?
- ώρα
- προς την
- πολύ
- Συναλλαγές
- μεταφορά
- μεταφέρονται
- Διαφάνεια
- διαφανής
- δύο
- τύπος
- καταλαβαίνω
- Δυστυχώς
- μονάδα
- απεριόριστες
- us
- χρήση
- μεταχειρισμένος
- Χρήστες
- Η εμπειρία χρήστη
- φιλική προς το χρήστη
- Χρήστες
- χρησιμοποιώντας
- συνήθως
- ux
- αξία
- επαληθεύει
- μέσω
- Πορτοφόλι
- Πορτοφόλια
- θέλω
- ήταν
- we
- Web3
- Οικοσύστημα Web3
- καλωσόρισμα
- ΛΟΙΠΌΝ
- ήταν
- Τι
- Τι είναι
- πότε
- Ποιό
- whitelist
- Ο ΟΠΟΊΟΣ
- θα
- με
- χωρίς
- κόσμος
- θα
- γραπτή
- χρόνια
- εσείς
- Σας
- zephyrnet