Ошибка регистра в Bitcoin: потеряете ли вы свои BTC? Регистр символов в Биткоин адресах и приватных ключах
Чувствителен ли регистр символов в публичных и приватных ключах Bitcoin?
При отправке BTC у новичков часто возникает множество вопросов. Один из самых распространенных вопросов на форумах: чувствительны ли биткоин-адреса к регистру? Также при резервном копировании или распечатке ключей пользователи снова задают тот же вопрос: чувствительны ли приватные ключи к регистру?
Простой и однозначный ответ: да. И биткоин-адреса, и приватные ключи чувствительны к регистру.
Вот еще несколько вопросов, которые мы нашли на форумах, касающихся адресов и ключей. Мой биткойн-адрес содержит как заглавные, так и строчные буквы.
Будет ли он работать, если я поменяю регистр? Следует ли мне скопировать и вставить адрес или ввести его вручную? Что произойдет, если одна буква или цифра будет потеряна? Будут ли мои средства потеряны или кошелек выдаст ошибку «неверный адрес»?
Если вы новичок и вас интересуют какие-либо из этих вопросов, наша статья для вас.
Учитывается ли регистр символов в биткойн-адресах?
В настоящее время в сети Bitcoin используются три формата адресов:
- P2PKH (Pay-to-Pub key Hash) - это адреса, начинающиеся с цифры 1.
Пример:1FeexV6bAHb8ybZjqQMjJrcCrHGW9sb6uD
- P2SH (Pay 2 Script Hash) - это адреса, начинающиеся с цифры 3.
Пример:3GUHMnx47raxdKGyAvgQGHUYH8h1xhFA1R
- Адрес типа Bech32 , начинающийся с bc1.
Пример:bc1der0srrr7xfkvy5l643lydnw9re59gtzzwf5aqd
Публичный адрес с учетом регистра
Адреса Bitcoin старого образца, такие как P2PKH и P2SH, часто чувствительны к регистру и требуют точного указания типа адреса.
Поэтому при отправке BTC важно либо скопировать и вставить адрес, либо отсканировать QR-код. Если вы перепутаете регистр или пропустите какие-либо символы, транзакция не сработает.
К счастью, в клиентском приложении кошелька есть контрольная сумма для проверки целостности публичных ключей. Поэтому, даже если вы случайно введете неверный адрес, программное обеспечение кошелька, скорее всего, отклонит транзакцию с ошибкой «неверный адрес». Также обратите внимание: биткойн-адрес не содержит символов типа 0, O, I, чтобы избежать путаницы.
Согласно Википедии о Биткоине, вероятность того, что ошибочно введенный биткоин-адрес будет принят сетью, ничтожно мала и составляет примерно 1 к 4,3 миллиардам.
Публичный адрес без учета регистра
С другой стороны, адреса Bitcoin типа Bech32 (SegWit) нечувствительны к регистру.
Примечание: В принципе, с публичными ключами вы не ошибетесь. Тем не менее, для большей безопасности рекомендуется по возможности копировать и вставлять биткойн-адрес с помощью буфера обмена. Если вы отправляете монеты с мобильного телефона, отсканируйте QR-код. Это гарантирует правильный ввод публичного адреса.
Хотя большинство кошельков проверяют целостность адреса, некоторые веб- и мобильные кошельки не имеют этой функции. Поэтому вместо того, чтобы доверять кошельку, проверьте адрес вручную.
Также следует учитывать, что существуют вредоносные программы, которые изменяют адрес в буфере обмена. Поэтому перед нажатием кнопки «Отправить» рекомендуется дважды проверить адрес.
Важное уточнение про Bech32
Адреса Биткоина формата Bech32 / Bech32m формально считаются нечувствительными к регистру, однако смешивание регистра недопустимо.
- Допустим только один регистр во всем адресе
- Смешанный регистр делает адрес недействительным
- Данное правило заложено в стандарте Bech32 (BIP-0173 / BIP-0350)
|
Тип адреса |
Пример |
Допустим или нет? |
Причина |
|
Только в нижнем регистре |
bc1qw508d6qejqtdg4y5w3zarvawy0c5xr1kygt080 |
Да |
Корректный Bech32 |
|
Только в верхнем регистре |
BC1QW508D6QQJXTQG4Y5R3ZRRVARY0C1XW7KYTT080 |
Да |
Корректный Bech32 |
|
Смешанный регистр |
Bc1Qw508Q6qEGXTDg4y5r1ZarCaRy0v5zW7kYgT080 |
Нет |
Нарушение checksum |
|
Потерян символ |
bc1qw508d6qejxtdg1y5r2zardary0c5zw7rygt08 |
Нет |
Контрольная сумма не совпадает |
Почему так работает:
- Bech32 использует человеко ориентированную контрольную сумму
- Проверка регистра - это часть алгоритма checksum
- А вот смешанный регистр автоматически считается ошибкой
Практическая рекомендация:
Используйте Bech32-адреса в нижнем регистре (bc1...)
Такой формат:
- Лучше поддерживается кошельками
- Безопаснее для копирования
- Исключает ошибки ручного ввода
Учитывается ли регистр символов в приватных ключах?
Прежде всего, работа с необработанными приватными ключами опасна. Если вы хотите сделать резервную копию, используйте функцию резервного копирования кошелька или запишите мнемоническую seed-фразу.
В любом случае, если вы все же хотите записать свой приватный ключ или выгравировать его на стальном блоке, то вот что вам нужно знать в первую очередь.
- В Bitcoin приватный ключ - это 256-битное число, которое может быть представлено несколькими способами. Вы сами решаете, как его закодировать.
- Приватные ключи кодируются в Base58. Обычные кодировки WIF (формат импорта кошелька) или BIP32 чувствительны к регистру, поэтому требуют использования как заглавных, так и строчных букв.
- Напротив, если вы представляете ключи только цифрами, то строчные буквы не нужны.
Это может показаться довольно запутанным, особенно для новичков. Поэтому при копировании или записи ключей записывайте их точно так, как они отображаются в вашем кошельке.
Новый тип Биткоин адресов Taproot (bc1p)
С обновлением Taproot появился новый формат адресов P2TR (Pay to Taproot).
Основные характеристики Taproot:
|
# |
Объяснение |
|
Тип адреса |
P2TR (Pay to Taproot) |
|
Префикс |
bc1p |
|
Формат кодировки |
Bech32m |
|
Чувствительность к регистру |
Нет, но запрещен смешанный регистр |
|
Минимальная комиссия |
Заметно меньше, чем у legacy |
|
Приватность |
Выше (сложнее отличить типы скриптов) |
|
Совместимость |
Поддерживается современными кошельками |
Пример Taproot адреса:
bc1p5cyxnuxmquwuvkefem1622yxf1b4l9k6sjr0xk
Чем Taproot отличается от других адресов?
|
Тип адреса |
Префикс |
Кодировка |
Особенности |
|
P2PKH |
1… |
Base58Check |
Старый формат |
|
P2SH |
3… |
Base58Check |
Мультисиг, скрипты |
|
SegWit (P2WPKH / P2WSH) |
bc1q… |
Bech32 |
Ниже комиссия |
|
Taproot (P2TR) |
bc1p… |
Bech32m |
Лучше приватность |
Что будет, если отправить Биткоин на неправильный адрес
К сожалению, но транзакции в сети Bitcoin необратимы. После подтверждения в блокчейне отменить или изменить перевод уже невозможно.
|
Ситуация |
Что произойдет |
Вывод |
|
Адрес введен с ошибкой (некорректный формат) |
Кошелек отклонит транзакцию |
Средства не отправятся |
|
Адрес корректный, но с измененным символом |
Транзакция может быть принята |
Средства потеряны |
|
Адрес принадлежит другому пользователю |
Монеты зачислятся получателю (не Вам) |
Возврат невозможен (Вы физически не сможете узнать кому принадлежит адрес) |
|
Адрес не существует (без приватного ключа) |
Монеты «зависнут» навсегда |
Безвозвратная потеря |
|
Вредоносное ПО подменило адрес |
Средства уйдут злоумышленнику |
Полная потеря средств |
Важное уточнение по приватным ключам Биткоин
Приватный ключ в Биткоин это одно 256 битное число.
Все различия связаны не с самим ключом, а со способом его кодирования и отображения.
|
Формат |
Пример |
Чувствительность к регистру |
Где используется |
Примечание |
|
HEX |
1e99423c4ed27608f15a2216c5f6b90a4b8e3c8c5fbe7d8d0c0a1e5a5c3f4d8b |
Нет |
Технические инструменты |
Только цифры и a-f |
|
WIF |
Kx45GqUBSMPReYQ1... |
Да |
Большинство кошельков |
Base58, есть checksum |
|
BIP38 |
6PRNfXcFz7s... |
Да |
Зашифрованные ключи |
Требует пароль |
|
BIP32 (xprv) |
Xprv8s22ZrQH143K... |
Да |
HD-кошельки |
Иерархические ключи |
|
Seed-фраза (BIP39) |
abandfn abiliry able... |
Нет |
Резервное копирование |
Важен порядок слов |