Порівняно типи біткойн-адрес: P2PKH, P2SH, P2WPKH тощо

ПочатківецьJan 12, 2024
Історія біткойн-адрес і методів переказу представлена в цій статті.
Порівняно типи біткойн-адрес: P2PKH, P2SH, P2WPKH тощо

P2PK

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

P2PK більше не використовується, оскільки це дорожчий, менш приватний і менш безпечний спосіб отримання біткойнів, ніж наступні методи.

Швидкі факти

П2ПКХ

Pay-to-Public-Key-Hash (P2PKH) був доступний для використання на початку біткойна, і він вперше з’явився в блокчейні менше ніж через два тижні після блокування Genesis. 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 буде замінено альтернативним методом отримання біткойнів у системі multisig під назвою P2SH, який ми розглянемо далі.

Швидкі факти

P2SH

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

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

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

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

Швидкі факти

P2WPKH

Pay-to-Witness-Public-Key-Hash (P2WPKH) — це перший із двох типів адрес, представлених у біткойнах після програмного форку SegWit у серпні 2017 року. Історія цього надзвичайно важливого та особливо спірного софтфорка описана в книзі під назвою «Війна за блоками», написаній Джонатаном Біром.

P2WPKH — це варіант SegWit P2PKH, який на базовому рівні означає, що вибір цього типу адреси замість старих адрес P2PKH допоможе вам заощадити гроші на комісії за транзакції під час переміщення біткойнів.

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

Швидкі факти

P2WSH

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

Подібно до P2WPKH, адреса P2WSH починається з префікса bc1q. Однак він має більшу довжину символів — рівно 62. На відміну від типів адрес, розглянутих досі, адреси P2WSH створюються лише за допомогою функції хешування SHA-256 без включення RIPEMD-160, що призводить до збільшення довжини символів. Це було реалізовано обережно, додавши додатковий захист від досить тонкого та вкрай малоймовірного вектора атак з кількома підписами.

Швидкі факти

Вкладений SegWit (P2SH-P2WPKH і P2SH-P2WSH)

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

Коли стався програмний форк SegWit, не всі біткойн-вузли, програмне забезпечення та служби були негайно оновлені для підтримки нових типів рідних адрес SegWit, P2WPKH і P2WSH. Лише суб’єкти, які зробили оновлення, могли надсилати на ці нові адреси. Це означало, що люди, яким потрібна можливість отримувати біткойни від будь-кого (включно з тими, хто не оновився), ще не могли використовувати рідний гаманець SegWit. Однак, оскільки SegWit пропонував дешевші комісії за транзакції, більшість людей хотіли почати ним користуватися.

Хитрим рішенням цієї дилеми було використання типу транзакцій P2SH. Суб’єкти, які ще не впровадили SegWit, все ще могли надсилати біткойни на адреси P2SH, які, як обговорювалося вище, створені за допомогою сценарію викупу, що містить інструкції щодо того, як біткойни можна витратити пізніше. Як виявилося, ці інструкції можуть містити нову модель витрат SegWit, забезпечуючи користувачам перехід до зниження комісії. Тому адреси P2SH, які використовують цей трюк, стали відомі як вкладений SegWit, і вони відіграли значну роль у процесі впровадження SegWit.

Зовні вкладені адреси SegWit неможливо відрізнити від інших адрес P2SH, тому кількість біткойнів, які зберігаються в такому порядку, невідома. Крім того, оскільки всі сучасні біткойн-інструменти тепер можуть надсилати дані безпосередньо на рідні адреси SegWit, більше немає вагомих причин використовувати Nested SegWit.

Швидкі факти

P2TR

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

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

Що стосується конфіденційності, агрегації ключів і підписів, які стали можливими завдяки Schnorr, дозволяють не відрізняти адреси multisig від singlesig, а умови витрат для адреси P2TR ніколи не розкриваються публічно. Творець адреси може навіть включити кілька налаштованих сценаріїв викупу на вибір, щоб потім витратити біткойни.

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

Швидкі факти

Опорна схема

Тепер, коли ми розглянули всі стандартизовані методи отримання біткойнів у мережі, деякі короткі факти та функції адреси можна об’єднати в зручну діаграму для довідки.

  • Дані в цих стовпцях можуть бути змінені.

Відмова від відповідальності:

  1. Цю статтю передруковано з [unchained]. Усі авторські права належать оригінальному автору [Том Гонзік]. Якщо є заперечення щодо цього передруку, будь ласка, зв’яжіться з командою Gate Learn , і вони негайно розглянуть це.
  2. Відмова від відповідальності: погляди та думки, висловлені в цій статті, належать виключно автору та не є жодною інвестиційною порадою.
  3. Переклади статті на інші мови виконує команда Gate Learn. Якщо не зазначено вище, копіювання, розповсюдження або плагіат перекладених статей заборонено.

Порівняно типи біткойн-адрес: P2PKH, P2SH, P2WPKH тощо

ПочатківецьJan 12, 2024
Історія біткойн-адрес і методів переказу представлена в цій статті.
Порівняно типи біткойн-адрес: P2PKH, P2SH, P2WPKH тощо

P2PK

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

P2PK більше не використовується, оскільки це дорожчий, менш приватний і менш безпечний спосіб отримання біткойнів, ніж наступні методи.

Швидкі факти

П2ПКХ

Pay-to-Public-Key-Hash (P2PKH) був доступний для використання на початку біткойна, і він вперше з’явився в блокчейні менше ніж через два тижні після блокування Genesis. 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 буде замінено альтернативним методом отримання біткойнів у системі multisig під назвою P2SH, який ми розглянемо далі.

Швидкі факти

P2SH

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

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

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

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

Швидкі факти

P2WPKH

Pay-to-Witness-Public-Key-Hash (P2WPKH) — це перший із двох типів адрес, представлених у біткойнах після програмного форку SegWit у серпні 2017 року. Історія цього надзвичайно важливого та особливо спірного софтфорка описана в книзі під назвою «Війна за блоками», написаній Джонатаном Біром.

P2WPKH — це варіант SegWit P2PKH, який на базовому рівні означає, що вибір цього типу адреси замість старих адрес P2PKH допоможе вам заощадити гроші на комісії за транзакції під час переміщення біткойнів.

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

Швидкі факти

P2WSH

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

Подібно до P2WPKH, адреса P2WSH починається з префікса bc1q. Однак він має більшу довжину символів — рівно 62. На відміну від типів адрес, розглянутих досі, адреси P2WSH створюються лише за допомогою функції хешування SHA-256 без включення RIPEMD-160, що призводить до збільшення довжини символів. Це було реалізовано обережно, додавши додатковий захист від досить тонкого та вкрай малоймовірного вектора атак з кількома підписами.

Швидкі факти

Вкладений SegWit (P2SH-P2WPKH і P2SH-P2WSH)

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

Коли стався програмний форк SegWit, не всі біткойн-вузли, програмне забезпечення та служби були негайно оновлені для підтримки нових типів рідних адрес SegWit, P2WPKH і P2WSH. Лише суб’єкти, які зробили оновлення, могли надсилати на ці нові адреси. Це означало, що люди, яким потрібна можливість отримувати біткойни від будь-кого (включно з тими, хто не оновився), ще не могли використовувати рідний гаманець SegWit. Однак, оскільки SegWit пропонував дешевші комісії за транзакції, більшість людей хотіли почати ним користуватися.

Хитрим рішенням цієї дилеми було використання типу транзакцій P2SH. Суб’єкти, які ще не впровадили SegWit, все ще могли надсилати біткойни на адреси P2SH, які, як обговорювалося вище, створені за допомогою сценарію викупу, що містить інструкції щодо того, як біткойни можна витратити пізніше. Як виявилося, ці інструкції можуть містити нову модель витрат SegWit, забезпечуючи користувачам перехід до зниження комісії. Тому адреси P2SH, які використовують цей трюк, стали відомі як вкладений SegWit, і вони відіграли значну роль у процесі впровадження SegWit.

Зовні вкладені адреси SegWit неможливо відрізнити від інших адрес P2SH, тому кількість біткойнів, які зберігаються в такому порядку, невідома. Крім того, оскільки всі сучасні біткойн-інструменти тепер можуть надсилати дані безпосередньо на рідні адреси SegWit, більше немає вагомих причин використовувати Nested SegWit.

Швидкі факти

P2TR

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

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

Що стосується конфіденційності, агрегації ключів і підписів, які стали можливими завдяки Schnorr, дозволяють не відрізняти адреси multisig від singlesig, а умови витрат для адреси P2TR ніколи не розкриваються публічно. Творець адреси може навіть включити кілька налаштованих сценаріїв викупу на вибір, щоб потім витратити біткойни.

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

Швидкі факти

Опорна схема

Тепер, коли ми розглянули всі стандартизовані методи отримання біткойнів у мережі, деякі короткі факти та функції адреси можна об’єднати в зручну діаграму для довідки.

  • Дані в цих стовпцях можуть бути змінені.

Відмова від відповідальності:

  1. Цю статтю передруковано з [unchained]. Усі авторські права належать оригінальному автору [Том Гонзік]. Якщо є заперечення щодо цього передруку, будь ласка, зв’яжіться з командою Gate Learn , і вони негайно розглянуть це.
  2. Відмова від відповідальності: погляди та думки, висловлені в цій статті, належать виключно автору та не є жодною інвестиційною порадою.
  3. Переклади статті на інші мови виконує команда Gate Learn. Якщо не зазначено вище, копіювання, розповсюдження або плагіат перекладених статей заборонено.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!