Към съдържанието

Проверка на адрес на крипто портфейл

Автор
Публикувано

Банка не може да върне превод в блокчейна. Ако поставите грешен адрес и преводът мине, средствата обикновено не могат да бъдат възстановени. Повечето формати на адреси съдържат контролна сума, която хваща сгрешен знак, преди да изпратите. Проверката по-горе прилага тези правила за четири групи мрежи и показва какво е открила.

Как работи всяка проверка

Проверката опитва форматите в определен ред и спира при първото съвпадение.

Ethereum и EVM мрежи

Адресът е 0x, последван от 40 шестнайсетични знака. EIP-55 добавя контролна сума чрез главните и малките букви: проверката изчислява хеша Keccak-256 на адреса с малки букви и прави главна всяка буква, при която съответната цифра от хеша е 8 или повече.

  • Главни и малки букви, които съвпадат: валиден адрес, контролната сума съвпада.
  • Главни и малки букви, които не съвпадат: поне един знак е грешен. Проверката съветва да не изпращате.
  • Само малки или само главни букви: валиден адрес, но без контролна сума. Проверката показва версията с контролна сума.

Инструментът обозначава тази група като Ethereum и EVM мрежи и изброява Base, Arbitrum, Polygon, Optimism, BNB Chain и Avalanche.

Tron

Адресът в Tron е с 34 знака и започва с T. Той е текст в Base58Check: след декодиране дава 21 байта, започващи с байта 0x41, плюс 4 байта контролна сума. Проверката изчислява контролната сума като първите 4 байта от двоен хеш SHA-256 и я сравнява.

Bitcoin

  • Адресите с bc1 (SegWit и Taproot) използват Bech32 по BIP-173 или Bech32m по BIP-350. Проверката сравнява контролната сума и с двете константи и отхвърля адреси, които смесват главни и малки букви.
  • Адресите, започващи с 1 или 3, използват Base58Check. След проверката на контролната сума съдържанието трябва да е 21 байта с версия 0x00 (адреси с 1) или 0x05 (адреси pay-to-script-hash с 3, BIP-13).

Solana

Адресът в Solana е от 32 до 44 знака в Base58. Документацията на Solana описва адресите на акаунтите като 32-байтови стойности, затова проверката декодира текста и го приема, ако резултатът е точно 32 байта. В самия адрес в Solana няма контролна сума.

Пример

EIP-55 дава този тестов адрес:

0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed

Хешът Keccak-256 на версията с малки букви започва с d385650c. Първият знак след 0x е 5, цифра, така че при него буквите нямат значение. Вторият е a, а цифрата от хеша е 3, под 8, затова остава малка буква. Третият отново е a, но цифрата от хеша е 8, затова става A. Проверката повтаря това за всички 40 знака, резултатът съвпада с адреса и тя отчита съвпадение.

Сега сменете третия знак с малка буква: 0x5aaeb6053F3E.... Адресът изглежда правдоподобно, но разположението на главните букви вече не отговаря на хеша. Проверката съобщава, че контролната сума не съвпада и че не трябва да изпращате.

Ако поставите същия адрес само с малки букви, проверката отчита валиден формат без контролна сума и показва версията с главни и малки букви по-горе, за да я сравните.

Ограничения на проверката

  • Не знае мрежата. Валиден 0x адрес е валиден във всяка EVM мрежа. Ако изпратите USDC в мрежа, която получателят не ползва, средствата може да станат трудно достъпни или недостъпни.
  • Solana няма контролна сума. Печатна грешка, която пак дава 32 байта, минава.
  • Само основни мрежи. Адресите от тестовата мрежа на Bitcoin, шестнайсетичните адреси в Tron и ENS имената се отчитат като неразпознати.
  • Контролни суми, а не всяко правило. При адресите с bc1 се проверява контролната сума Bech32 или Bech32m, а не всички структурни правила в BIP-173 и BIP-350.
  • Без справка в блокчейна. Не се проверяват салдо, дали адресът е на смарт договор и кой го контролира.
  • Други мрежи. Адреси от мрежи извън тези четири групи не се разпознават.

Преди да изпратите

Попитайте получателя в коя мрежа да изпратите и проверете дали портфейлът или доставчикът ви я поддържа. Портфейлът на xChange.bg е портфейл със самостоятелно съхранение (self-custody): ключовете са у вас. Той работи в Solana, Ethereum, Base, Arbitrum, Polygon и Optimism. При първо плащане към нов адрес малък тестов превод ви позволява да потвърдите получаването, преди да изпратите останалото.

Научете повече за адресите на портфейли, блокчейн мрежите и как работи портфейлът, в който сами държите ключовете.

Често задавани въпроси

Означава ли валиден резултат, че средствата ще пристигнат?

Не. Проверката потвърждава, че адресът е правилно изграден и контролната му сума съвпада. Тя не може да каже дали получателят го контролира, дали е в мрежата, която смятате да ползвате, и дали получаващата услуга поддържа токена.

Защо един и същ 0x адрес работи в няколко мрежи?

Ethereum и EVM мрежите като Base, Arbitrum, Polygon и Optimism използват един и същ формат на адреса, така че един адрес може да държи средства във всяка от тях. Проверката на формата не може да познае коя мрежа очаква получателят.

Какво означава Ethereum адрес само с малки букви?

Това е валиден адрес без контролна сума по EIP-55. Няма грешка в него, но и печатна грешка би останала незабелязана. Проверката показва версията с контролна сума, с главни и малки букви, която да сравните с получателя.

Защо резултатът за Solana е по-малко сигурен от този за Bitcoin?

Адресите в Solana нямат контролна сума. Проверката може само да потвърди, че текстът се декодира до 32-байтов ключ. Сгрешен знак, който пак дава 32 байта, минава, затова сравнявайте Solana адресите знак по знак.

Изпраща ли се поставеният адрес към сървър?

Не. Всички проверки се правят в браузъра ви с локален код. Страницата не търси адреса в блокчейна и не го изпраща нито до xChange.bg, нито до някой друг.

Приема ли проверката адреси от тестови мрежи или ENS имена?

Не. Разпознава само основната мрежа на Bitcoin (адреси с bc1, 1 и 3) и проверява адреси, а не имена като 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: accounts
  6. Документация за разработчици на TRON: account

Свързани

Още безплатни инструменти