Типы адресов Bitcoin: Legacy, SegWit и Taproot
Разбираем четыре распространённых типа адресов Bitcoin: legacy, адреса скриптов, нативный SegWit и Taproot, и то, как они отличаются по стоимости траты средств.
В обиходе используются четыре типа адресов Bitcoin, и по первым символам их можно отличить: 1 для legacy, 3 для адресов скриптов, bc1q для нативного SegWit и bc1p для Taproot. Все они хранят BTC в одной и той же сети. Различаются они стоимостью последующей траты средств и тем, какие кошельки могут на них отправлять.
Четыре типа в сравнении
| Начинается с | Распространённое название | Формат | Определён в | Относительная стоимость траты |
|---|---|---|---|---|
| 1 | Legacy (P2PKH) | Base58 | Исходная конструкция Bitcoin | Самая высокая |
| 3 | Хэш скрипта (P2SH), часто «вложенный SegWit» | Base58 | BIP 16 | Средняя |
| bc1q | Нативный SegWit (P2WPKH / P2WSH) | Bech32 | BIP 141, BIP 173 | Низкая |
| bc1p | Taproot (P2TR) | Bech32m | BIP 341, BIP 350 | Низкая |
Рисунок: как распознать каждый тип адреса и относительная комиссия за последующую трату с него. Столбцы носят качественный характер.
«Относительная стоимость» означает комиссию, которую вы платите позже, когда тратите монеты, полученные на этот адрес. Получение средств ничего не стоит: платит отправитель.
Адреса legacy (начинаются с 1)
Это исходные адреса Bitcoin. Они кодируют хэш открытого ключа и используют формат Base58Check, который исключает символы, легко путаемые между собой, например 0 и O. Они работают везде, и это их главное преимущество.
Недостаток связан с размером. При трате с адреса legacy полные данные подписи попадают в часть транзакции, которая учитывается с полным весом, поэтому каждый вход занимает больше места в блоке и обходится дороже по комиссии, чем более новые типы.
Адреса скриптов (начинаются с 3)
BIP 16 ввёл pay-to-script-hash, который позволяет адресу обозначать набор условий траты, а не один ключ. Классическим применением были мультиподписные кошельки, например, требующие подписи двух из трёх ключей.
Когда появился SegWit, многие кошельки использовали этот формат, чтобы «упаковать» выход SegWit внутрь адреса с 3. Так старое ПО получало адрес, который оно могло распознать, и при этом сохранялась часть экономии на комиссиях, которую дает SegWit. Такие адреса по-прежнему встречаются на некоторых биржах и в старых кошельках.
Адреса нативного SegWit (начинаются с bc1q)
Segregated Witness, определённый в BIP 141, был активирован в сети Bitcoin в 2017 году на блоке 481 824. Он вынес данные подписи в отдельный раздел «свидетелей», который учитывается с четвертью веса остальных данных транзакции, что снижает эффективный размер каждого входа.
Адреса нативного SegWit используют формат Bech32 из BIP 173. Они записываются в нижнем регистре, начинаются с bc1 и содержат надёжную контрольную сумму, которая выявляет большинство опечаток. Ориентировочно, трата одного входа нативного SegWit занимает меньше половины места в блоке по сравнению с входом legacy, поэтому комиссии заметно ниже. Наш материал о UTXO объясняет, почему количество и тип входов определяют сумму комиссии.
Адреса Taproot (начинаются с bc1p)
Taproot, определённый в BIP 341, был активирован на блоке 709 632 в конце 2021 года. Он ввёл подписи Шнорра и новый тип выхода, который может скрывать сложные условия траты за тем, что выглядит как обычный платёж с одной подписью, пока эти условия действительно не используются. Это повышает и приватность, и эффективность для мультиподписных схем и более сложных контрактов.
Адреса Taproot используют Bech32m, небольшую доработку Bech32, описанную в BIP 350, которая устраняет слабость исходной контрольной суммы в обработке некоторых ошибок. Для обычного кошелька с одним ключом трата входа Taproot стоит примерно столько же, что и нативный SegWit, или немного меньше.
Почему новые типы адресов дешевле в использовании
Типы адресов различаются объёмом данных, который трата с них добавляет в транзакцию. Поскольку комиссии платятся за виртуальный байт, эта разница напрямую отражается на сумме, которую вы платите. Трата с нативных SegWit-адресов занимает меньше места в блоке, чем трата с legacy-адресов, потому что данные подписи учитываются с пониженным весом, и поэтому один и тот же платёж обычно обходится заметно дешевле. Taproot в некоторых случаях может быть ещё меньше, особенно при более сложных условиях траты. Для тех, кто получает много мелких платежей и позже их тратит, тип адреса, выбранный в начале, влияет на каждую будущую комиссию. См. также, как работают комиссии за транзакции в блокчейне.
Можно ли отправить на адрес любого типа с любого кошелька?
Любой современный кошелёк может отправлять средства на все четыре типа, но не каждый старый кошелёк или сервис на это способен. Самая распространённая проблема: сервис пока не поддерживает отправку на адреса bc1p. Если платформа отклоняет адрес, который выглядит корректно, возможно, она просто не поддерживает этот формат.
Несколько практических правил:
- Используйте адрес, который вам выдаёт ваш кошелёк для получения или биржа. Не преобразуйте его и не набирайте вручную.
- Проверяйте не только формат, но и сеть. Адреса в других блокчейнах могут выглядеть похоже, а некоторые биржи показывают BTC в нескольких сетях. Наше руководство по выбору правильной блокчейн-сети объясняет, как избежать несоответствия.
- Сначала отправьте небольшой тестовый перевод, когда впервые переводите средства на адрес другого типа. Наш чек-лист по выводу средств описывает весь процесс.
- Адреса Legacy чувствительны к регистру; адреса Bech32 — нет. Копируйте и вставляйте адреса, а не набирайте ни один из видов вручную.
Как определить, какой тип адреса у вас
Первые символы адреса указывают на его тип в основной сети Bitcoin: 1 — legacy, 3 — скриптовые адреса, bc1q — нативный SegWit, bc1p — Taproot. Большинство кошельков позволяют выбрать тип при создании нового адреса для получения, часто в настройках, а многие уже по умолчанию используют нативный SegWit или Taproot. Адреса тестовых сетей Bitcoin имеют другие префиксы, например tb1, и никогда не должны использоваться для получения реальных средств, поскольку монеты в тестовых сетях не имеют рыночной стоимости. Если кошелёк показывает такие префиксы, он настроен на тестовую сеть.
Какой тип адреса стоит использовать?
Для большинства людей ответ таков: тот тип, который ваш кошелёк создаёт по умолчанию сегодня, обычно это нативный SegWit или Taproot. Оба варианта поддерживают низкие комиссии в будущем.
Причины оставаться на более старом типе узкие: старый сервис, который не может отправлять средства на ваш новый адрес, или конкретная схема мультиподписи, построенная на P2SH. Если монеты лежат на legacy-адресах, вас никто не заставляет их переводить, но их трата будет стоить дороже. Некоторые держатели переводят их на адреса более нового типа в периоды низких комиссий.
Какой бы тип вы ни выбрали, базовые правила безопасности остаются прежними. Наше руководство о том, что такое криптокошелёк, объясняет, как ключи, сид-фразы и адреса связаны между собой.
Эта статья носит образовательный характер и не является финансовой, инвестиционной, юридической или налоговой консультацией. Цифровые активы подвержены высокой волатильности, и вы можете потерять вложенную сумму.
Источники
- BIP 16: Pay to Script Hash — Bitcoin Improvement Proposals, GitHub
- BIP 141: Segregated Witness (Consensus Layer) — Bitcoin Improvement Proposals, GitHub
- BIP 173: Base32 Address Format for Native v0-16 Witness Outputs — Bitcoin Improvement Proposals, GitHub
- BIP 341: Taproot (activation at block 709,632) — Bitcoin Improvement Proposals, GitHub
- BIP 350: Bech32m Format for v1+ Witness Addresses — Bitcoin Improvement Proposals, GitHub
- Bitcoin Core source, chainparams.cpp (SegWit activation height 481,824) — Bitcoin Core, GitHub