Μετάβαση στο περιεχόμενο

Ελεγκτής διεύθυνσης πορτοφολιού

Από
Δημοσιεύθηκε

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

Πώς δουλεύει κάθε έλεγχος

Ο ελεγκτής δοκιμάζει τις μορφές με σταθερή σειρά και σταματά στην πρώτη που ταιριάζει.

Ethereum και δίκτυα EVM

Η διεύθυνση είναι 0x και μετά 40 δεκαεξαδικοί χαρακτήρες. Το EIP-55 προσθέτει checksum μέσω των κεφαλαίων: ο ελεγκτής παίρνει το hash Keccak-256 της διεύθυνσης σε πεζά και κάνει κεφαλαίο κάθε γράμμα όπου το αντίστοιχο ψηφίο του hash είναι 8 ή μεγαλύτερο.

  • Ανάμεικτα πεζά και κεφαλαία που ταιριάζουν: έγκυρη, το checksum συμφωνεί.
  • Ανάμεικτα που δεν ταιριάζουν: τουλάχιστον ένας χαρακτήρας είναι λάθος. Το εργαλείο λέει να μη στείλετε.
  • Όλα πεζά ή όλα κεφαλαία: έγκυρη, αλλά χωρίς checksum. Το εργαλείο δείχνει τη μορφή με το checksum.

Το εργαλείο ονομάζει αυτή την οικογένεια Ethereum και δίκτυα EVM, αναφέροντας Base, Arbitrum, Polygon, Optimism, BNB Chain και Avalanche.

Tron

Μια διεύθυνση Tron έχει 34 χαρακτήρες και ξεκινά με T. Είναι κείμενο Base58Check: αποκωδικοποιημένη δίνει 21 bytes που αρχίζουν με το byte 0x41, συν checksum 4 bytes. Ο ελεγκτής ξαναϋπολογίζει το checksum ως τα πρώτα 4 bytes ενός διπλού hash SHA-256 και το συγκρίνει.

Bitcoin

  • Οι διευθύνσεις bc1 (SegWit και Taproot) χρησιμοποιούν Bech32, όπως ορίζεται στο BIP-173, ή Bech32m, όπως ορίζεται στο BIP-350. Ο ελεγκτής επαληθεύει το checksum και με τις δύο σταθερές και απορρίπτει διευθύνσεις που ανακατεύουν πεζά με κεφαλαία.
  • Οι διευθύνσεις που αρχίζουν με 1 ή 3 χρησιμοποιούν Base58Check. Μετά τον έλεγχο του checksum, το ωφέλιμο φορτίο πρέπει να είναι 21 bytes με byte έκδοσης 0x00 (διευθύνσεις που αρχίζουν με 1) ή 0x05 (διευθύνσεις pay-to-script-hash που αρχίζουν με 3, BIP-13).

Solana

Μια διεύθυνση Solana έχει 32 έως 44 χαρακτήρες Base58. Η τεκμηρίωση του Solana περιγράφει τις διευθύνσεις λογαριασμών ως τιμές 32 bytes, οπότε ο ελεγκτής αποκωδικοποιεί το κείμενο και το δέχεται αν βγουν ακριβώς 32 bytes. Το Solana δεν έχει checksum μέσα στην ίδια τη διεύθυνση.

Παράδειγμα βήμα βήμα

Το EIP-55 δίνει αυτή τη δοκιμαστική διεύθυνση:

0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed

Το hash Keccak-256 της εκδοχής με πεζά αρχίζει με d385650c. Ο πρώτος χαρακτήρας μετά το 0x είναι το 5, ψηφίο, οπότε δεν ισχύει κανόνας κεφαλαίων. Ο δεύτερος είναι a και το ψηφίο του hash είναι 3, κάτω από το 8, οπότε μένει πεζό. Ο τρίτος είναι πάλι a, αλλά το ψηφίο του hash είναι 8, οπότε γίνεται A. Ο ελεγκτής το επαναλαμβάνει για τους 40 χαρακτήρες, η τελική μορφή βγαίνει ίδια με τη διεύθυνση, και έτσι αναφέρει συμφωνία.

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

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

Τα όρια του ελεγκτή

  • Δεν ξέρει το δίκτυο. Μια έγκυρη διεύθυνση 0x είναι έγκυρη σε κάθε δίκτυο EVM. Η αποστολή USDC σε δίκτυο που δεν χρησιμοποιεί ο παραλήπτης μπορεί να κάνει τα χρήματα δύσκολα ή αδύνατα να ανακτηθούν.
  • Το Solana δεν έχει checksum. Ένα τυπογραφικό λάθος που δίνει πάλι 32 bytes περνά τον έλεγχο.
  • Μόνο μορφές mainnet. Διευθύνσεις Bitcoin testnet, διευθύνσεις Tron σε δεκαεξαδική μορφή και ονόματα ENS αναφέρονται ως μη αναγνωρισμένα.
  • Checksum, όχι κάθε κανόνας. Για τις διευθύνσεις bc1 το εργαλείο επαληθεύει το checksum Bech32 ή Bech32m, όχι κάθε δομικό κανόνα των BIP-173 και BIP-350.
  • Καμία αναζήτηση σε blockchain. Δεν ελέγχει υπόλοιπα, δεν δείχνει αν η διεύθυνση ανήκει σε έξυπνο συμβόλαιο, ούτε ποιος την ελέγχει.
  • Άλλα δίκτυα. Διευθύνσεις για δίκτυα εκτός αυτών των τεσσάρων οικογενειών δεν αναγνωρίζονται.

Πριν στείλετε

Ρωτήστε τον παραλήπτη ποιο δίκτυο να χρησιμοποιήσετε και μετά ελέγξτε ότι το πορτοφόλι ή ο πάροχός σας το υποστηρίζει. Το πορτοφόλι του xChange.bg, το οποίο ελέγχετε μόνο εσείς, δουλεύει σε Solana, Ethereum, Base, Arbitrum, Polygon και Optimism, και τα κλειδιά τα κρατάτε εσείς. Για πρώτη πληρωμή σε νέα διεύθυνση, μια μικρή δοκιμαστική μεταφορά σας επιβεβαιώνει την άφιξη πριν στείλετε τα υπόλοιπα.

Μάθετε περισσότερα για τις διευθύνσεις πορτοφολιού, τα δίκτυα blockchain και το πώς δουλεύει ένα πορτοφόλι που ελέγχετε μόνο εσείς.

Συχνές ερωτήσεις

Σημαίνει μια έγκυρη διεύθυνση ότι τα χρήματα θα φτάσουν;

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

Γιατί η ίδια διεύθυνση 0x δουλεύει σε πολλά δίκτυα;

Το Ethereum και τα δίκτυα EVM όπως Base, Arbitrum, Polygon και Optimism χρησιμοποιούν την ίδια μορφή διεύθυνσης, οπότε μία διεύθυνση μπορεί να κρατά χρήματα στο καθένα από αυτά. Ο έλεγχος μορφής δεν δείχνει ποιο δίκτυο περιμένει ο παραλήπτης.

Τι σημαίνει μια διεύθυνση Ethereum γραμμένη όλη με πεζά;

Είναι έγκυρη διεύθυνση χωρίς checksum EIP-55. Δεν υπάρχει κάτι λάθος σε αυτήν, αλλά ένα τυπογραφικό λάθος θα περνούσε απαρατήρητο. Ο ελεγκτής δείχνει τη μορφή με το checksum, με ανάμεικτα πεζά και κεφαλαία, για να τη συγκρίνετε με τον παραλήπτη.

Γιατί ο έλεγχος για Solana είναι λιγότερο βέβαιος από αυτόν για Bitcoin;

Οι διευθύνσεις Solana δεν έχουν checksum. Ο ελεγκτής επιβεβαιώνει μόνο ότι το κείμενο αποκωδικοποιείται σε κλειδί 32 bytes. Ένας αλλαγμένος χαρακτήρας που δίνει πάλι 32 bytes περνά τον έλεγχο, οπότε συγκρίνετε τις διευθύνσεις Solana χαρακτήρα προς χαρακτήρα.

Στέλνεται σε διακομιστή η διεύθυνση που επικολλώ;

Όχι. Όλοι οι έλεγχοι τρέχουν μέσα στον browser σας με τοπικό κώδικα. Η σελίδα δεν αναζητά τη διεύθυνση σε κάποιο blockchain και δεν τη στέλνει στο xChange.bg ή σε τρίτους.

Δέχεται ο ελεγκτής διευθύνσεις testnet ή ονόματα ENS;

Όχι. Αναγνωρίζει διευθύνσεις Bitcoin μόνο στο mainnet (bc1, 1 και 3), και ελέγχει διευθύνσεις, όχι ονόματα όπως τα domain ENS. Οτιδήποτε άλλο αναφέρεται ως μη αναγνωρισμένο.

Πηγές

  1. EIP-55: Mixed-case checksum address encoding
  2. BIP-173: Base32 address format for native v0-16 witness outputs
  3. BIP-350: Bech32m format for v1+ witness addresses
  4. BIP-13: Address format for pay-to-script-hash
  5. Solana documentation: accounts
  6. TRON developer documentation: accounts

Σχετικά

Περισσότερα εργαλεία