Какие форматы бывают у биткоин-адресов?

1

Что такое биткоин-адрес в формате legacy?

Legacy-адрес — это стандартный для сети биткоина адрес, предложенный Сатоши Накамото. Иначе это формат называют P2PKH (Pay To Public Key Hash), поскольку он требует от получателя подпись, вычисленную из приватного ключа, и публичный ключ. Скрипт транзакции выхода с помощью криптографических функций сверяет их с хешем публичного ключа — и в случае совпадения позволяет расходовать средства. Вероятность того, что система примет некорректно введенный адрес составляет 1232, то есть один случай из 4,29 млрд.

Legacy-адрес можно узнать по префиксу 1 (и m или n в тестовой сети). К основным минусам такого адреса относятся чувствительность к регистру при вводе данных, более высокие комиссии за операции, низкая скорость двойного хеширования контрольной суммы, больший вес в QR-кодах и неудобство записи на мобильном устройстве или на бумаге.

Пример legacy-адреса: 1BUrDeWstWetqBFn5Au8m4JFg2xJaKVN4

2

Из каких частей состоит биткоин-адрес в формате legacy?

Legacy-адреса уникальны, обычно состоят из 26-35 символов и представляют собой 160-битные хэши открытого ключа ECDSA ключевой пары. С появлением SegWit-адресов их стали называть старыми, однако изначально они были достаточно эффективным средством представления locking scripts в более удобном для пользователей виде и уменьшения рисков отправки средств на некорректный адрес.

Стандартный биткоин-адрес состоит из таких частей:

  • префикс;
  • сгенерированный в результате применения к приватному ключу алгоритмов SHA256 и RIPEMD публичный ключ;
  • контрольная сумма.

3

Почему в биткоин-адресах бывает разное количество знаков?

Если при преобразовании приватного ключа в начале результата появились нули, в строку биткоин-адреса в формате legacy они не включаются, и тогда он сокращается на соответствующее количество знаков. Поэтому биткоин-адрес может состоять не из 34, но теоретически даже из 20 символов.

4

Как зашифрованы части legacy-адреса?

Все части биткоин-адреса в формате legacy зашифрованы с защитой от опечаток по системе кодирования Base58Check. В основе кода лежит латинский алфавит. Вы никогда не увидите в таком биткоин-адресе символы, которые легко спутать между собой (знаки плюс и минус, косая черта, ноль, прописные буквы “o” и “i”, строчная “L”). Согласно системе Base58Check в них применяются только следующие 58 символов:

123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz

5

Что такое биткоин-адрес в формате P2SH?

P2SH-адреса (Pay to script hash) появились в предложении по улучшению биткоина BIP-0016 в январе 2012 года благодаря главному научному сотруднику Bitcoin Foundation Гэвину Андресену. Они имеют ту же структуру, что и legacy-адреса, но начинаются с цифры 3.

Такие адреса предполагают, что при переводе средств получатель должен иметь скрипт, подходящий к скрипту хеша. Эта особенность позволяет снижать комиссию за перевод биткоинов отправителем, перекладывать комиссионные затраты на получателя и создавать адреса с мультиподписью.

Технология P2SH может разрешить использование средств любым пользователем или, наоборот, запретить для всех. Важно помнить, что биткоин-адреса в формате P2SH поддерживают SegWit, но не являются его нативным решением. Не поддерживающие SegWit криптокошельки могут проводить SegWit-транзакции благодаря механизмам P2WPKH-в-P2SH и P2WSH-в-P2SH.

Пример P2SH-адреса: 3H28N5WuREZ93CNmhWcRcrnykWrMqkhFyWN

6

Что такое биткоин-адрес в формате SegWit?

Весной 2016 года разработчики Питер Велле и Грег Максвелл в обновлении BIP-0173 предложили новый формат адреса: Bech32 (часто он же называется SegWit-адрес, P2WPKH — Pay to Witness Public Key Hash). Сам протокол SegWit (Segregated Witness, «отделенный свидетель») предполагал сокращение размера блока в сети биткоина за счет удаления из него подписи и был активирован в конце августа 2017 года.
SegWit-адреса начинаются с bc1 (в тестовой сети — с tb), содержат до 90 знаков (чаще — около 42), при этом пишутся либо только в верхнем (для QR-кодов), либо только в нижнем регистре (предпочтительно).

SegWit-адреса состоят из:

  • легко читаемой человеком части,
  • разделителя (1),
  • данных и контрольной суммы.

Если при введении адреса было допущено до четырех ошибок, контрольная сумма, входящая в Bech32-адрес, не сойдется. Благодаря примененному в решении коду Боуза-Чоудхури -Хоквингема (БЧХ-коду) ошибки будут автоматически исправлены.
При записи Bech32-адрес применяются следующие 32 символа:
аcdefghjklmnpqrstucwxyz234567890

Пример Bech32-адреса: bc1uf5tdn87k2uz7r2kl5zrfww362ch3746lq5vse7

7

Какие плюсы и минусы использования Bech32-адресов?

C новыми адресами QR-коды стали меньше, а защита от ошибки выше. Кроме того, использование биткоин-адресов в формате Bech32 на сегодня для пользователей более выгодно, ведь комиссия за отправку средств с них ниже, а скорость обработки выше. Главный минус Bech32-адресов — их поддерживают не все криптокошельки и сервисы.

Среди первых поддержку таких адресов добавили аппаратные криптокошельки Ledger Nano S, TREZOR и Digital Bitbox, десктоп-криптокошельки Electrum и Armory, мобильные криптокошельки Edge, GreenAddress (для iOS- и Android-устройств), а также Samourai Wallet, Wasabi Wallet, GreenBits и Electrum (для Android-устройств).

8

Можно ли переводить биткоины с legacy-адреса на SegWit-адрес?

Активация SegWit в сети биткоина была софтфорком — это значит, что новая и предыдущая версии сохранили совместимость. То есть вы можете без проблем переводить средства с legacy-адреса на SegWit-адреса. На уровне блокчейна проблем с разницей в форматах адресов не существует.

На практике сложности возникают, если пользователь хочет перевести средства со своего legacy-адреса, например, созданного на криптобирже, на bc1-адрес, а торговая площадка технически еще не внедрила поддержку нового формата адресов. В таком случае стоит использовать пусть и менее эффективный, чем bc1-, но все же более продвинутый, чем legacy- P2SH-адрес.

В обратном направлении, с bc1-адреса на legacy-адрес, средства должны поступить без проблем.

9

Какие обозреватели блоков отслеживают bc1-адреса?

Следить за адаптацией биткоин-адресов формата Bech32 удобно на специальной странице в Bitcoin Wiki. На сегодня bc1-адреса парсят и индексируют обозреватели блоков Blockstream.info, Apirone.com, Bitaps.com, Bitupper Explorer, Blockchair, Blockonomics, Blockpath, BTC.com, chaindex и OXT. В то время, как Blockcypher, Insight и Tradeblock не делают ни то, ни другое, а blockchain.info не поддерживает индексирование.

Источник: forklog.com

Оцените автора
( Пока оценок нет )
КриптоВики
Добавить комментарий

  1. Sakura

    После добавления в Litecoin в апреле 2017 года поддержки SegWit адресам на 3 начали соответствовать адреса, начинающиеся с M. С помощью специального конвертера можно взаимно преобразовывать адреса этих двух форматов.

    Ответить