Сравнение типов биткойн-адресов: P2PKH, P2SH, P2WPKH и другие

НовичокJan 12, 2024
В этой статье представлена история адресов Bitcoin и методов перевода средств.
Сравнение типов биткойн-адресов: P2PKH, P2SH, P2WPKH и другие

P2PK

Pay-to-Public-Key (P2PK) - это оригинальный метод получения биткойна, который не предполагает указания адреса. Вместо этого, как следует из названия, биткойн выплачивается непосредственно на открытый публичный ключ. Первая в истории транзакция биткоина от одного человека к другому была проведена с использованием P2PK, когда Сатоши Накамото отправил монеты Хэлу Финни в блоке 170.

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

Краткие факты

P2PKH

Pay-to-Public-Key-Hash (P2PKH) был доступен для использования с самого начала существования биткойна, и впервые он появился в блокчейне менее чем через две недели после создания генезисного блока. P2PKH имеет ряд усовершенствований по сравнению с P2PK, например, использование адреса. Как уже говорилось в нашей предыдущей статье, адреса содержат контрольную сумму, которая помогает предотвратить опечатки и потерю биткойнов.

Адреса P2PKH обычно состоят из 34 или 33 символов (но теоретически могут быть и короче 26 символов), и они кодируются в формате Base58. Они начинаются с префикса 1 и в настоящее время отвечают за получение и обеспечение 43% добытых биткойнов, что больше, чем у любого другого типа адресов.

Создание P2PKH-адреса включает в себя прохождение одного открытого ключа через хэш-функции SHA-256 и RIPEMD-160. Это сокращает объем данных, что, в свою очередь, помогает сэкономить место в блоке и плату за транзакцию для пользователя. Кроме того, он обеспечивает дополнительную устойчивость к обратной разработке закрытого ключа, помимо уже считающейся неразрушимой эллиптической кривой secp256k1.

Краткие факты

P2MS

Pay-to-Multisig (P2MS) - это тривиальный тип транзакций, который был актуален лишь короткое время и никогда не отвечал за хранение более 100 биткойнов одновременно всеми участниками сети. Тем не менее, P2MS - это часть истории биткойна.

P2MS был введен в качестве стандартного сценария в начале 2012 года, как указано в BIP 11. Однако этот тип транзакций страдал от тех же проблем, что и P2PK, поскольку он включал открытые ключи и не использовал никакого формата адресов. Он также ограничил количество открытых ключей в кворуме мультисиг до трех. В течение нескольких месяцев P2MS будет заменен альтернативным методом получения биткойнов в мультисигмальном механизме под названием P2SH, о котором мы расскажем далее.

Краткие факты

P2SH

Pay-to-Script-Hash (P2SH) был введен в биткойн в качестве мягкого форка в соответствии с BIP 16 1 апреля 2012 года. Как и у большинства вилок, история, лежащая в ее основе, очень увлекательна. P2SH имеет много общего с P2PKH. Основное отличие заключается в том, что адрес создается путем хэширования сценария повторного использования вместо хэширования одного открытого ключа.

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

Хотя опытные пользователи могут создавать сложные скрипты, наиболее часто P2SH используется для создания адресов Nested SegWit(о них речь пойдет ниже) и мультисиговых кошельков. Например, скрипт может включать три открытых ключа и указывать, что подписи любых двух соответствующих закрытых ключей могут потратить биткойн. Это позволит создать 2 из 3 многозначных адресов.

Адреса P2SH состоят ровно из 34 символов и начинаются с префикса 3, как указано в BIP 13. До мягкого форка 1 апреля несколько транзакций экспериментировали с этим альтернативным префиксом, первая из которых находится в блоке 170 052.

Краткие факты

P2WPKH

Pay-to-Witness-Public-Key-Hash (P2WPKH) - это первый из двух типов адресов, появившихся в биткойне после мягкого форка SegWit в августе 2017 года. История этой чрезвычайно важной и особенно спорной мягкой вилки описана в книге под названием " Война блоков" (The Blocksize War), написанной Джонатаном Биром (Jonathan Bier).

P2WPKH - это SegWit-вариант P2PKH, что на базовом уровне означает, что выбор этого типа адреса вместо старых адресов P2PKH поможет Вам сэкономить на комиссиях за транзакции при перемещении Ваших биткойнов.

Адреса SegWit выглядят совершенно иначе, чем старые типы адресов, поскольку, согласно BIP 173, они используют кодировку Bech32 вместо Base58. Самое примечательное, что в Bech32 нет заглавных букв. Адреса P2WPKH можно идентифицировать по префиксу bc1q и длине символов ровно 42.

Краткие факты

P2WSH

Pay-to-Witness-Script-Hash (P2WSH) - это SegWit-вариант P2SH. Основное преимущество использования P2WSH по сравнению с P2SH заключается в том, что это может помочь снизить комиссионные за транзакции, а основная причина использования хэша скрипта вместо хэша открытого ключа заключается в возможности использования мультисиговых механизмов.

Как и P2WPKH, адрес P2WSH начинается с префикса bc1q. Однако он имеет большую длину символов - ровно 62. В отличие от рассмотренных до сих пор типов адресов, адреса P2WSH создаются только с помощью функции хэширования SHA-256, без включения RIPEMD-160, что и приводит к увеличению длины символов. Это было сделано с осторожностью, добавив дополнительную защиту от довольно тонкого и крайне маловероятного вектора многозначной атаки.

Краткие факты

Вложенный SegWit (P2SH-P2WPKH и P2SH-P2WSH)

Nested SegWit (также известный как Wrapped SegWit) технически не является другим типом адреса, чем тот, который мы рассмотрели выше. Тем не менее, это уникальный способ использовать ранее обсуждавшиеся типы адресов таким образом, который был временно полезен для биткойн-сообщества.

Когда произошел софтфорк SegWit, не все биткойн-узлы, программное обеспечение и сервисы сразу же обновились для поддержки новых типов адресов Native SegWit, P2WPKH и P2WSH. Только те организации, которые сделали обновление, могли отправлять на эти новые адреса. Это означало, что люди, которые хотели иметь возможность получать биткойны от кого угодно (включая тех, кто еще не обновился), пока не могли использовать кошелек Native SegWit. Однако, поскольку SegWit предлагал более низкие комиссии за транзакции, большинство людей стремились начать использовать его.

Хитрым решением этой дилеммы стало использование типа транзакции P2SH. Организации, которые еще не внедрили SegWit, все еще могли отправлять биткойны на P2SH-адреса, которые, как уже говорилось выше, создаются с помощью скрипта погашения, содержащего инструкции о том, как биткойн может быть потрачен в дальнейшем. Как оказалось, эти инструкции могут включать в себя новую модель расходования средств SegWit, предоставляя пользователям мост к снижению комиссии. Поэтому адреса P2SH, использующие этот трюк, стали называться Nested SegWit, и они сыграли важную роль в процессе принятия SegWit.

На первый взгляд, адреса Nested SegWit неотличимы от других P2SH-адресов, поэтому количество биткоина, хранящегося в такой схеме, неизвестно. Кроме того, поскольку все современные инструменты для работы с биткоином теперь могут отправлять сообщения непосредственно на адреса Native SegWit, больше нет никаких веских причин использовать Nested SegWit.

Краткие факты

P2TR

Pay-to-Taproot (P2TR) - это новейший тип адресов, который стал доступен благодаря софтфорку Taproot в ноябре 2021 года. На момент написания статьи уровень распространения P2TR остается довольно низким, и многие программные продукты и сервисы для биткоина все еще работают над интеграцией.

В то время как P2WPKH и P2WSH известны как SegWit V0, P2TR считается SegWit V1. Примечательно, что в P2TR используется алгоритм цифровой подписи под названием Schnorr, который отличается от формата ECDSA, используемого в более ранних типах транзакций биткоина. Подписи Шнорра имеют ряд преимуществ, включая дополнительное снижение комиссии за транзакцию и повышенную конфиденциальность.

Что касается конфиденциальности, то объединение ключей и подписей, которое стало возможным благодаря Schnorr, позволяет сделать мультисиговые адреса неотличимыми от синглсиговых, а условия расходования средств для P2TR-адреса никогда не раскрываются публично. Создатель адреса может даже включить несколько настраиваемых скриптов погашения на выбор, чтобы потратить биткойн позже.

Адреса P2TR состоят из 62 символов и используют кодировку Bech32m, слегка модифицированную версию Bech32, как описано в BIP 350. Адреса P2TR можно идентифицировать по их уникальному префиксу bc1p.

Краткие факты

Справочная таблица

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

  • Данные в этих колонках могут быть изменены.

Отказ от ответственности:

  1. Эта статья перепечатана из[unchained]. Все авторские права принадлежат оригинальному автору[Тому Хонзику]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.
  2. Предупреждение об ответственности: Мнения и взгляды, выраженные в этой статье, принадлежат исключительно автору и не являются инвестиционным советом.
  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.

Сравнение типов биткойн-адресов: P2PKH, P2SH, P2WPKH и другие

НовичокJan 12, 2024
В этой статье представлена история адресов Bitcoin и методов перевода средств.
Сравнение типов биткойн-адресов: P2PKH, P2SH, P2WPKH и другие

P2PK

Pay-to-Public-Key (P2PK) - это оригинальный метод получения биткойна, который не предполагает указания адреса. Вместо этого, как следует из названия, биткойн выплачивается непосредственно на открытый публичный ключ. Первая в истории транзакция биткоина от одного человека к другому была проведена с использованием P2PK, когда Сатоши Накамото отправил монеты Хэлу Финни в блоке 170.

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

Краткие факты

P2PKH

Pay-to-Public-Key-Hash (P2PKH) был доступен для использования с самого начала существования биткойна, и впервые он появился в блокчейне менее чем через две недели после создания генезисного блока. P2PKH имеет ряд усовершенствований по сравнению с P2PK, например, использование адреса. Как уже говорилось в нашей предыдущей статье, адреса содержат контрольную сумму, которая помогает предотвратить опечатки и потерю биткойнов.

Адреса P2PKH обычно состоят из 34 или 33 символов (но теоретически могут быть и короче 26 символов), и они кодируются в формате Base58. Они начинаются с префикса 1 и в настоящее время отвечают за получение и обеспечение 43% добытых биткойнов, что больше, чем у любого другого типа адресов.

Создание P2PKH-адреса включает в себя прохождение одного открытого ключа через хэш-функции SHA-256 и RIPEMD-160. Это сокращает объем данных, что, в свою очередь, помогает сэкономить место в блоке и плату за транзакцию для пользователя. Кроме того, он обеспечивает дополнительную устойчивость к обратной разработке закрытого ключа, помимо уже считающейся неразрушимой эллиптической кривой secp256k1.

Краткие факты

P2MS

Pay-to-Multisig (P2MS) - это тривиальный тип транзакций, который был актуален лишь короткое время и никогда не отвечал за хранение более 100 биткойнов одновременно всеми участниками сети. Тем не менее, P2MS - это часть истории биткойна.

P2MS был введен в качестве стандартного сценария в начале 2012 года, как указано в BIP 11. Однако этот тип транзакций страдал от тех же проблем, что и P2PK, поскольку он включал открытые ключи и не использовал никакого формата адресов. Он также ограничил количество открытых ключей в кворуме мультисиг до трех. В течение нескольких месяцев P2MS будет заменен альтернативным методом получения биткойнов в мультисигмальном механизме под названием P2SH, о котором мы расскажем далее.

Краткие факты

P2SH

Pay-to-Script-Hash (P2SH) был введен в биткойн в качестве мягкого форка в соответствии с BIP 16 1 апреля 2012 года. Как и у большинства вилок, история, лежащая в ее основе, очень увлекательна. P2SH имеет много общего с P2PKH. Основное отличие заключается в том, что адрес создается путем хэширования сценария повторного использования вместо хэширования одного открытого ключа.

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

Хотя опытные пользователи могут создавать сложные скрипты, наиболее часто P2SH используется для создания адресов Nested SegWit(о них речь пойдет ниже) и мультисиговых кошельков. Например, скрипт может включать три открытых ключа и указывать, что подписи любых двух соответствующих закрытых ключей могут потратить биткойн. Это позволит создать 2 из 3 многозначных адресов.

Адреса P2SH состоят ровно из 34 символов и начинаются с префикса 3, как указано в BIP 13. До мягкого форка 1 апреля несколько транзакций экспериментировали с этим альтернативным префиксом, первая из которых находится в блоке 170 052.

Краткие факты

P2WPKH

Pay-to-Witness-Public-Key-Hash (P2WPKH) - это первый из двух типов адресов, появившихся в биткойне после мягкого форка SegWit в августе 2017 года. История этой чрезвычайно важной и особенно спорной мягкой вилки описана в книге под названием " Война блоков" (The Blocksize War), написанной Джонатаном Биром (Jonathan Bier).

P2WPKH - это SegWit-вариант P2PKH, что на базовом уровне означает, что выбор этого типа адреса вместо старых адресов P2PKH поможет Вам сэкономить на комиссиях за транзакции при перемещении Ваших биткойнов.

Адреса SegWit выглядят совершенно иначе, чем старые типы адресов, поскольку, согласно BIP 173, они используют кодировку Bech32 вместо Base58. Самое примечательное, что в Bech32 нет заглавных букв. Адреса P2WPKH можно идентифицировать по префиксу bc1q и длине символов ровно 42.

Краткие факты

P2WSH

Pay-to-Witness-Script-Hash (P2WSH) - это SegWit-вариант P2SH. Основное преимущество использования P2WSH по сравнению с P2SH заключается в том, что это может помочь снизить комиссионные за транзакции, а основная причина использования хэша скрипта вместо хэша открытого ключа заключается в возможности использования мультисиговых механизмов.

Как и P2WPKH, адрес P2WSH начинается с префикса bc1q. Однако он имеет большую длину символов - ровно 62. В отличие от рассмотренных до сих пор типов адресов, адреса P2WSH создаются только с помощью функции хэширования SHA-256, без включения RIPEMD-160, что и приводит к увеличению длины символов. Это было сделано с осторожностью, добавив дополнительную защиту от довольно тонкого и крайне маловероятного вектора многозначной атаки.

Краткие факты

Вложенный SegWit (P2SH-P2WPKH и P2SH-P2WSH)

Nested SegWit (также известный как Wrapped SegWit) технически не является другим типом адреса, чем тот, который мы рассмотрели выше. Тем не менее, это уникальный способ использовать ранее обсуждавшиеся типы адресов таким образом, который был временно полезен для биткойн-сообщества.

Когда произошел софтфорк SegWit, не все биткойн-узлы, программное обеспечение и сервисы сразу же обновились для поддержки новых типов адресов Native SegWit, P2WPKH и P2WSH. Только те организации, которые сделали обновление, могли отправлять на эти новые адреса. Это означало, что люди, которые хотели иметь возможность получать биткойны от кого угодно (включая тех, кто еще не обновился), пока не могли использовать кошелек Native SegWit. Однако, поскольку SegWit предлагал более низкие комиссии за транзакции, большинство людей стремились начать использовать его.

Хитрым решением этой дилеммы стало использование типа транзакции P2SH. Организации, которые еще не внедрили SegWit, все еще могли отправлять биткойны на P2SH-адреса, которые, как уже говорилось выше, создаются с помощью скрипта погашения, содержащего инструкции о том, как биткойн может быть потрачен в дальнейшем. Как оказалось, эти инструкции могут включать в себя новую модель расходования средств SegWit, предоставляя пользователям мост к снижению комиссии. Поэтому адреса P2SH, использующие этот трюк, стали называться Nested SegWit, и они сыграли важную роль в процессе принятия SegWit.

На первый взгляд, адреса Nested SegWit неотличимы от других P2SH-адресов, поэтому количество биткоина, хранящегося в такой схеме, неизвестно. Кроме того, поскольку все современные инструменты для работы с биткоином теперь могут отправлять сообщения непосредственно на адреса Native SegWit, больше нет никаких веских причин использовать Nested SegWit.

Краткие факты

P2TR

Pay-to-Taproot (P2TR) - это новейший тип адресов, который стал доступен благодаря софтфорку Taproot в ноябре 2021 года. На момент написания статьи уровень распространения P2TR остается довольно низким, и многие программные продукты и сервисы для биткоина все еще работают над интеграцией.

В то время как P2WPKH и P2WSH известны как SegWit V0, P2TR считается SegWit V1. Примечательно, что в P2TR используется алгоритм цифровой подписи под названием Schnorr, который отличается от формата ECDSA, используемого в более ранних типах транзакций биткоина. Подписи Шнорра имеют ряд преимуществ, включая дополнительное снижение комиссии за транзакцию и повышенную конфиденциальность.

Что касается конфиденциальности, то объединение ключей и подписей, которое стало возможным благодаря Schnorr, позволяет сделать мультисиговые адреса неотличимыми от синглсиговых, а условия расходования средств для P2TR-адреса никогда не раскрываются публично. Создатель адреса может даже включить несколько настраиваемых скриптов погашения на выбор, чтобы потратить биткойн позже.

Адреса P2TR состоят из 62 символов и используют кодировку Bech32m, слегка модифицированную версию Bech32, как описано в BIP 350. Адреса P2TR можно идентифицировать по их уникальному префиксу bc1p.

Краткие факты

Справочная таблица

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

  • Данные в этих колонках могут быть изменены.

Отказ от ответственности:

  1. Эта статья перепечатана из[unchained]. Все авторские права принадлежат оригинальному автору[Тому Хонзику]. Если у Вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn, и они незамедлительно рассмотрят их.
  2. Предупреждение об ответственности: Мнения и взгляды, выраженные в этой статье, принадлежат исключительно автору и не являются инвестиционным советом.
  3. Перевод статьи на другие языки осуществляется командой Gate Learn. Если не указано, копирование, распространение или плагиат переведенных статей запрещены.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!