BIP84 — это предложение по улучшению Bitcoin, определяющее иерархическую детерминированную (HD) схему генерации адресов Segregated Witness с использованием скрипта P2WPKH (Pay-to-Witness-Public-Key-Hash).
Стандарт BIP-84, разработанный Паволом Руснаком, определяет способ получения биткоин-адресов совместимыми кошельками из резервной сид-фразы. В его стандарте для основной сети используются следующие адреса: Bech32 формат кодирования и обычно начинается с bc1q.
BIP-84 основан на обновлении SegWit в Биткоине, которое снизило стоимость данных свидетеля для каждого транзакционного элемента. Благодаря использованию нативного SegWit вместо старых или обернутых форматов SegWit, транзакции P2WPKH могут занимать меньше места в блоке в распространенных сценариях расходования средств с использованием одной подписи.
Предложение особенно полезно для обеспечения совместимости кошельков. Совместимые кошельки могут следовать одним и тем же правилам генерации, чтобы обнаруживать одни и те же учетные записи и адреса, используя одну и ту же сид-фразу и путь генерации.
Краткий обзор BIP84
| Свойства | XNUMX |
|---|---|
| Номер BIP | 84 |
| Автор | Павол Руснак |
| Статус | развернутый |
| Формат адреса | Native SegWit / Bech32 |
| Префикс адреса основной сети | bc1q |
| Тип скрипта | P2WPKH |
| Путь вывода данных на уровне учетной записи | m/84'/0'/0' |
| Полный путь вывода | m/84'/coin_type'/account'/change/address_index |
| Тип монеты основной сети Биткойн | 0' |
| Основная цель | Стандартизирует формирование адресов для собственных учетных записей SegWit. |
Сравнение типов адресов и тарифов
BIP-84 — один из нескольких стандартов генерации биткойн-кошельков. BIP-44 обычно ассоциируется с устаревшими адресами P2PKH, BIP-49 — с обернутыми адресами SegWit, а BIP-86 — с выходными данными Taproot с одним ключом.
В приведенной ниже таблице сравниваются примерные размеры транзакций для типичной транзакции с одним входом и двумя выходами. Фактические размеры зависят от структуры транзакции и деталей подписи.
| тип адреса | Связанный BIP | Префикс основной сети | Приблизительный размер сделки | Относительный размер по сравнению с устаревшими системами |
|---|---|---|---|---|
| Legacy P2PKH | БИП-44 | 1... | 226 вБ | 100% |
| SegWit P2SH-P2WPKH в обертке | БИП-49 | 3... | 167 вБ | 74% |
| Native SegWit P2WPKH | БИП-84 | bc1q... | 141 вБ | 62% |
| Taproot P2TR, затраты на ключевые пути | БИП-86 | bc1p... | 154 вБ | 68% |
Эти оценки предполагают аналогичную транзакцию с одним входом и двумя выходами соответствующего типа. Комиссия за транзакцию рассчитывается с использованием виртуального размера и ставки комиссии в сатоши за виртуальный байт (сат/вБ). Меньшая транзакция, как правило, стоит дешевле при той же ставке комиссии, но самый дешевый формат может варьироваться в зависимости от структуры транзакции.
Читайте также: Бреттон-Вудская система
Происхождение и история
2017: Активация SegWit
В августе 2017 года в Bitcoin была активирована функция Segregated Witness (SegWit). Это обновление изменило способ учета данных свидетеля при определении веса транзакций и ввело новые структуры транзакций, включая собственные выходы P2WPKH.
В стандарте BIP-173 был определен формат кодирования адресов Bech32 для собственных выходных сигналов SegWit.
Декабрь 2017 г.: Опубликован BIP-84
Павол Руснак разработал BIP-84 для стандартизации схемы вывода адресов для HD-кошельков, использующих собственные адреса SegWit P2WPKH. В предложении было введено значение цели. 84' в пути вывода.
Это обеспечило совместимым кошелькам согласованный способ создания и восстановления собственных учетных записей SegWit на основе одной и той же сид-фразы.
С 2018 года: расширенная поддержка кошельков.
По мере того, как биткоин-кошельки, аппаратные устройства для подписи, биржи и другие сервисы добавляли встроенную поддержку SegWit, у пользователей появлялось больше возможностей получать и тратить BTC. bc1q адреса.
Поддержка и настройки по умолчанию различаются в зависимости от кошелька и сервиса. BIP-84 предоставляет стандарт, но не обязывает каждый кошелек или биржу использовать этот стандарт по умолчанию.
2021: Taproot и BIP-86
В ноябре 2021 года Bitcoin активировал Taproot. Впоследствии BIP-86 предоставил стандартную схему вывода для выходных данных Pay-to-Taproot (P2TR) с одним ключом.
Taproot представил иные возможности для расходования средств и написания скриптов по сравнению с P2WPKH. Его доступность означает, что BIP-84 не является новейшим стандартом генерации биткойн-адресов, хотя он по-прежнему полезен для нативных кошельков SegWit.
Получить криптокарту UPay
Испытайте все преимущества онлайн-платежей и бесперебойных криптотранзакций.
РегистрацияКак работает BIP-84
Стандарт BIP-84 определяет, как HD-кошелек получает ключи и адреса из мастер-сида. Он использует ту же общую иерархическую структуру, что и BIP-44 и BIP-49, но назначает 84' в качестве целевого значения для идентификации собственных учетных записей SegWit P2WPKH.
Путь вывода следующий:
m/84'/coin_type'/account'/change/address_index
Каждый компонент выполняет определенную роль:
| Компонент пути | Смысл |
|---|---|
m | Главный ключ находится в корне кошелька HD. |
84' | Определяет схему вывода BIP-84. |
coin_type' | Определяет криптовалюту; используется в основной сети Bitcoin. 0' |
account' | Выбирает учетную запись в кошельке. |
change | Идентифицирует внешнюю приемную цепочку (0) или внутренней цепочки изменений (1) |
address_index | Идентифицирует отдельный адрес в цепочке. |
Например, первый адрес получателя в учетной записи Bitcoin mainnet BIP-84 использует:
m/84'/0'/0'/0/0
В качестве соответствующего первого адреса для внесения изменений используется:
m/84'/0'/0'/1/0
После получения соответствующего открытого ключа кошелек формирует выходной сигнал P2WPKH и кодирует его адрес с использованием Bech32.
Почему адрес начинается с bc1q
В адресах основной сети Bitcoin, использующих протокол SegWit версии 0, применяется удобочитаемый префикс. bc затем разделитель Bech32 1Адресные данные идентифицируют версию свидетеля и программу.
P2WPKH использует программу-свидетель версии 0, содержащую 20-байтовый хеш открытого ключа, генерирующий знакомый результат. bc1q формат адреса.
Контрольная сумма Bech32 также помогает обнаружить многие ошибки ввода и транскрипции. Она не может гарантировать, что пользователь скопировал адрес предполагаемого получателя, поэтому адреса все равно следует проверять перед отправкой средств.
Читайте также: Предложение по улучшению Ethereum (EIP)
BIP-84 простыми словами
1. Стандарт для генерации биткойн-адресов
Рассматривайте BIP-84 как набор инструкций, которым следуют совместимые кошельки для генерации собственных биткойн-адресов SegWit из резервной сид-фразы.
Вместо того чтобы каждый кошелек изобретал свои собственные правила генерации, совместимые кошельки используют одну и ту же структуру для идентификации одной и той же учетной записи и адресов.
2. Снижение транзакционных издержек в типичных случаях.
Транзакции, использующие SegWit, работают с биткоин-блоками более эффективно, чем аналогичные транзакции, использующие традиционные методы. Это может снизить комиссию за транзакцию при применении одинаковой ставки комиссии.
Для типичной транзакции с одним входом и двумя выходами, транзакция, выполняемая с помощью SegWit, может быть примерно на 38% меньше, чем её аналог, работающий по традиционной схеме. Точная экономия зависит от количества и типов входов и выходов.
3. Восстановление кошелька
Совместимый кошелек может повторно генерировать адреса BIP-84 из той же начальной фразы восстановления при условии выбора правильного пути деривации и учетной записи.
Однако наличие одной лишь сид-фразы не гарантирует автоматического отображения средств в каждом кошельке. Кошелек должен поддерживать соответствующий стандарт деривации и определять правильный счет.
4. Нативный SegWit против Taproot
BIP-84 генерирует bc1q собственные адреса SegWit. Генерируется BIP-86. bc1p Адреса Taproot с одним ключом.
Taproot поддерживает дополнительные условия расходования средств и возможности скриптов, но это не означает, что каждая простая транзакция автоматически становится дешевле. Наиболее подходящий тип адреса зависит от совместимости кошелька, требований к расходам и структуры транзакций.
Важно: Всегда надежно создавайте резервные копии вашей резервной сид-фразы. Никогда не передавайте ее сотрудникам службы поддержки кошелька, веб-сайтам или другим лицам. Любой, кто получит доступ к сид-фразе, может получить доступ к связанным с ней средствам.
Примеры из реального мира
Пример 1: Создание собственного кошелька SegWit
Ситуация: Пользователь хочет создать биткойн-кошелек с собственными адресами SegWit.
Реализация: Пользователь создает учетную запись BIP-84 в совместимом кошельке. Кошелек использует путь деривации. m/84'/0'/0' для первого аккаунта в основной сети Bitcoin и определяет адреса для получения средств под этим аккаунтом.
Результат: Кошелек генерирует bc1q получатели адресов могут использовать собственные структуры транзакций SegWit при расходовании средств.
Пример 2: Сравнение комиссий за транзакции
Ситуация: Пользователь сравнивает ожидаемую стоимость отправки BTC с устаревших и собственных адресов SegWit.
Реализация: Кошелек оценивает размер транзакции в виртуальных байтах и умножает его на применимую комиссию.
Результат: Для сопоставимой транзакции SegWit, как правило, потребуется меньше места в блоке, чем для транзакции, выполненной традиционным способом. Фактическая экономия на комиссиях зависит от входных и выходных данных транзакции, а также от состояния сети.
Пример 3: Восстановление учетной записи в другом кошельке
Ситуация: Пользователю необходимо восстановить биткойн-кошелек в другом приложении после потери доступа к исходному устройству.
Реализация: Пользователь восстанавливает резервную сид-фразу в совместимом кошельке и выбирает учетную запись BIP-84 или правильный путь деривации.
Результат: Кошелек может сгенерировать адреса учетной записи и идентифицировать связанные с ней средства при условии корректности необходимой сид-фразы, пути деривации и информации об учетной записи. Кошелек, использующий другой стандарт деривации, может автоматически не отображать ту же учетную запись.
Читайте также: 1-дюймовый DEX-агрегатор: как он работает, особенности, преимущества и риски.
Преимущества BIP-84
| Преимущества | Описание |
|---|---|
| Уменьшенный размер транзакции | Встроенная технология SegWit позволяет снизить комиссионные сборы по сравнению с традиционными форматами для аналогичных транзакций. |
| Стандартизированный вывод | Совместимые кошельки могут использовать одни и те же правила генерации для идентификации учетных записей и адресов. |
| Обнаружение ошибок | Bech32 включает контрольную сумму, предназначенную для обнаружения многих ошибок транскрипции адресов. |
| Поддержка SegWit | P2WPKH использует собственные структуры транзакций SegWit и получает преимущества от правил взвешивания данных-свидетелей. |
| Восстановление кошелька | Совместимый кошелек может генерировать адреса заново, используя ту же сид-фразу и путь деривации. |
| Широкая поддержка экосистемы | Встроенная функция SegWit поддерживается многими современными биткоин-кошельками и сервисами, хотя при необходимости следует проверять совместимость. |
Недостатки и риски
| Недостаток или риск | Описание |
|---|---|
| Устаревшая совместимость | Некоторые старые сервисы или реализации кошельков могут не поддерживать собственные адреса SegWit. |
| Несоответствие пути восстановления | Кошелек может не отображать средства, если он выполняет поиск по неправильному пути деривации или учетной записи. |
| Путаница с форматом адреса | Пользователи могут запутаться bc1q собственные адреса SegWit с bc1p Адреса Taproot или более старые 1... и 3... форматов. |
| Не всегда это самая мелкая сделка. | Объем затрат на входные данные Taproot может быть меньше, чем на входные данные P2WPKH, а относительный размер транзакции зависит от количества входных и выходных данных. |
| Доступ к исходной фразе | Любой, кто имеет доступ к резервной сид-фразе, может получить соответствующие закрытые ключи и потратить средства. |
| Совместимость не является универсальной. | Стандартизированный путь дериватива не обязывает каждый кошелек, биржу или сервис его поддерживать. |
Советы по управлению рисками
1. Проверьте совместимость адреса.
Перед отправкой биткоинов убедитесь, что кошелек получателя или биржа поддерживают эту функцию. bc1q Встроенные адреса SegWit. Большинство современных биткойн-сервисов их поддерживают, но более старые или специализированные системы могут иметь ограничения.
2. Создайте надежную резервную копию для восстановления.
Храните резервную фразу кошелька в автономном режиме в безопасном месте. Никогда не вводите её на незнакомом веб-сайте и не делитесь ею с теми, кто утверждает, что оказывает поддержку.
3. Проверьте путь вывода во время восстановления.
Если после восстановления кошелька средства не отображаются, убедитесь, что приложение поддерживает BIP-84 и что выбраны правильный счет и путь вывода средств. Не следует предполагать, что отсутствие средств означает их потерю.
4. Подтвердите адрес перед отправкой.
Внимательно проверьте адрес получателя и подтвердите его подлинность через надежный канал. Действительная контрольная сумма не доказывает, что адрес принадлежит предполагаемому получателю.
5. Сравните комиссии, используя данные фактической транзакции.
Не следует предполагать, что каждый bc1q Эта сделка будет дешевле любой другой. bc1p транзакция. Сравните предполагаемый виртуальный размер и размер комиссии для транзакции, которую вы собираетесь совершить.
Часто задаваемые вопросы о BIP-84
В: Является ли BIP-84 наилучшим форматом адресов для Биткоина?
BIP-84 — широко поддерживаемый вариант для нативных транзакций SegWit P2WPKH. Он часто обеспечивает хорошую эффективность комиссий для стандартных платежей с одной подписью и имеет широкую совместимость с кошельками.
Taproot, стандартизированный для генерации кошельков с одним ключом в соответствии с BIP-86, поддерживает дополнительные возможности расходования средств и может быть более эффективен для некоторых структур транзакций. Ни один из форматов не является универсально лучшим для всех вариантов использования.
В: Могут ли адреса BIP-84 получать биткоины из традиционных кошельков?
Да, при условии, что кошелек отправителя поддерживает отправку на собственные адреса SegWit. Кошелек отправителя, как правило, не обязан использовать BIP-84 для отправки BTC на другой адрес. bc1q адрес.
Если сервис не поддерживает собственные адреса SegWit, перед продолжением проверьте, поддерживает ли он другой совместимый тип биткойн-адресов.
В: Как узнать, использует ли мой кошелек протокол BIP-84?
Адрес для приема платежей в основной сети Bitcoin, начинающийся с bc1q Обычно это собственный адрес SegWit P2WPKH. Адрес, начинающийся с 3 Обычно это адрес P2SH, который может быть обернут в SegWit, а адрес, начинающийся с 1 Чаще всего используется устаревший протокол P2PKH.
Префиксы адресов — полезные подсказки, но проверка типа учетной записи кошелька или пути деривации — более надежный способ подтвердить используемый стандарт.
В: Могу ли я перейти с BIP-44 или BIP-49 на BIP-84?
Многие кошельки позволяют пользователям создавать отдельный BIP-84-аккаунт. Если кошелек это поддерживает, пользователь может перевести средства с существующего аккаунта на новый собственный SegWit-адрес.
Некоторые кошельки могут восстанавливать несколько типов учетных записей из одной и той же сид-фразы, используя разные пути деривации. Необходимость перевода зависит от возможностей кошелька и настроек пользователя. Переводы внутри блокчейна облагаются комиссией сети.
В: Обеспечивает ли BIP-84 конфиденциальность транзакций с биткоинами?
Нет. Стандарт BIP-84 определяет адреса и использует собственные выходные данные SegWit P2WPKH. Он не обеспечивает анонимность транзакций и не препятствует анализу блокчейна.
Биткоин-транзакции остаются публично зарегистрированными, а повторное использование адресов или связи между транзакциями могут раскрыть информацию об активности кошелька.
В: Адреса BIP-84 дешевле, чем адреса Taproot?
Не во всех ситуациях. Для типичной транзакции с одним входом и двумя выходами транзакция P2WPKH может быть меньше, чем сопоставимая транзакция Taproot с использованием пути ключа, поскольку выходные данные Taproot имеют больший размер.
Как правило, объем входных данных в корневом элементе невелик, поэтому относительная стоимость может меняться, если транзакция содержит несколько входных данных. Структура транзакции определяет окончательный размер и размер комиссии.
Связанные условия
| Срок | Родство |
|---|---|
| БИП-49 | Определяет схему вывода данных из HD-кошелька для обернутых адресов SegWit P2WPKH. |
| БИП-44 | Определяет общую структуру генерации HD-кошельков, связанную с устаревшими учетными записями P2PKH. |
| БИП-86 | Определяет схему вывода для выходных данных Taproot, полученных с помощью одной клавиши. |
| Bech32 | Формат кодирования адресов, используемый для собственных адресов SegWit версии 0, таких как адреса BIP-84 P2WPKH. |
| SegWit | Обновление протокола Bitcoin, в результате которого были введены данные свидетеля и правила взвешивания транзакций, используемые в нативном SegWit. |
| HD-кошелек | Кошелек, который генерирует несколько пар ключей и адресов на основе основной сид-фразы. |
| Путь вывода | Структурированная последовательность, используемая для получения определенного ключа или адреса из HD-кошелька. |
| P2WPKH | Стандартный тип скрипта SegWit, используемый в учетных записях BIP-84. |
Заключение
Стандарт BIP-84 определяет, как совместимые иерархические детерминированные кошельки получают собственные адреса SegWit P2WPKH из сид-фразы восстановления. bc1q Формат адреса обеспечивает эффективную структуру транзакций, стандартизированное восстановление учетных записей и широкую совместимость с современной инфраструктурой Bitcoin.
Хотя BIP-84 остается полезным вариантом для стандартных платежей в биткоинах, это не единственный доступный формат адресов. Taproot предоставляет дополнительные возможности для расходования средств, и наиболее эффективный вариант зависит от структуры транзакции и требований кошелька.
Перед отправкой BTC пользователям следует подтвердить совместимость адресов, создать надежную резервную копию своей резервной фразы и проверить детали транзакции.
Данная статья носит исключительно образовательный характер и не является финансовой рекомендацией.
Источники
- Предложение по улучшению Bitcoin № 84: Схема вывода средств для счетов на основе P2WPKH.
- Предложение по улучшению Bitcoin № 173: Формат адресов Base32 для собственных выходных данных свидетеля.
- Предложение по улучшению Биткойна № 141: Раздельное свидетельство
- Предложение по улучшению Bitcoin № 49: Схема вывода для учетных записей на основе P2WPKH, вложенных в P2SH.
- Справочная информация о размере транзакции в биткоинах









