P2PKH
P2PKH биткойн (bitcoin) заключва изхода към хеш на публичен ключ. Това е класическият адрес, който започва с 1. Вижте hex записа и стъпките в стека.
От Dimitar Zurnov · Обновено на 4 ноември 2026
Адаптирано от Learn Me a Bitcoin на Greg Walker.
P2PKH, съкращение от pay to public key hash (плащане към хеш на публичен ключ), е заключването зад класическия адрес на биткойн (bitcoin), онзи, който започва с 1. Изходът не се заключва към самия публичен ключ, а към HASH160 на ключа. За да харчите монети, показвате целия публичен ключ и подпис, направен със съответния частен ключ. P2PKH е остарял тип. SegWit вариантът P2WPKH работи по същия начин и днес е обичайният избор за нови плащания.
Как изглежда заключващият скрипт на P2PKH?
Заключващият скрипт (scriptPubKey) държи хеша на публичния ключ между фиксиран набор опкодове. Целият скрипт е 25 байта:
76a91455ae51684c43435da751ac8d2173b2652eb6410588ac
76 е OP_DUP, а a9 е OP_HASH160. 14 поставя в стека следващите 20 байта, които са хешът. 88 е OP_EQUALVERIFY, а ac е OP_CHECKSIG. Изход 1 на 0b6461de422c46a221db99608fcbe0326e4f2325ebf2a47c9faf660ed61ee6a4 има такова заключване.
Как изглежда отключващият скрипт?
Отключващият скрипт (scriptSig) поставя в стека подпис, а после публичния ключ:
483045022100c233c3a8a510e03ad18b0a24694ef00c78101bfd5ac075b8c1037952ce26e91e02205aa5f8f88f29bb4ad5808ebc12abfd26bd791256f367b04c6d955f01f28a7724012103f0609c81a45f8cab67fc2d050c21b1acd3d37c7acfd54041be6601ab4cef4f31
48 поставя в стека 72-байтовия подпис, а 21 поставя 33-байтовия публичен ключ, който започва с 03, защото е компресиран. Вход 0 на 40e331b67c0fe7750bb3b1943b378bf702dce86124dc12fa5980f975db7ec930 е харчене от този вид.
Ключът може да е компресиран (33 байта) или некомпресиран (65 байта). Важно е той да се хешира до стойността в заключването. Компресиран ключ не дава същия хеш като некомпресиран, и обратно.
Как работи P2PKH скриптът?
Първо се изпълнява отключващият скрипт, после заключващият. Общата страница за скрипта показва с анимация как се сменя стекът на всяка стъпка. Накратко:
- Отключващият скрипт поставя в стека подписа, а после публичния ключ.
OP_DUPкопира публичния ключ.OP_HASH160хешира копието.- Заключването поставя в стека 20-байтовия хеш от изхода.
OP_EQUALVERIFYпроверява дали двата хеша съвпадат и после премахва и двата. Ако се различават, скриптът се проваля.OP_CHECKSIGпроверява подписа спрямо публичния ключ и оставяOP_1, ако подписът е валиден.
Стъпка 5 е допълнителната работа в сравнение с P2PK. Тя доказва, че ключът, показан при харченето, се хешира до ключа, към който изходът е бил заключен.
Какъв адрес има P2PKH?
P2PKH има адрес. Той е Base58Check кодирането на хеша на публичния ключ, с едно-байтов префикс отпред: 00 в основната мрежа (mainnet) и 6f в тестовата мрежа (testnet). Адресите в основната мрежа започват с 1, а тези в тестовата с m или n.
Примерът използва некомпресиран публичен ключ, който започва с 04283338. Неговият HASH160 е bc73550c1612ee81155d29254217cbd60084a6d1. Към префикса и хеша се добавя 4-байтова контролна сума: първите четири байта от двойния SHA-256 на всичко до нея. Base58 кодирането дава адреса 1JBSCVF6VM6QjFZyTnbpLjoCJTQEqVbepG.
Портфейл, който получава адрес 1, го декодира, взима хеша и построява това заключване. Страницата за адреси описва и другите типове адреси.
Защо P2PKH хешира публичния ключ?
Хешът прави адреса по-къс. Ако кодирате компресиран публичен ключ в Base58, адресът е с 51 знака. Хеширането на ключа първо дава адрес с 34 знака, който се копира и споделя по-лесно. Хешът също пази публичния ключ скрит, докато монетите не се харчат. Контролната сума помага да се улови грешка при писане.
До около 2016 г. повечето портфейли са плащали към адреси с P2PKH заключвания. Изпращането към адрес, който започва с 1, и днес създава това заключване.
Кои P2PKH трансакции можете да проверите в нашия explorer?
- a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d е трансакцията за пицата в блок 57,043 на 22 май 2010 г. Laszlo Hanyecz е платил 10,000 BTC за две пици. Единственият ѝ изход е P2PKH заключване към 17SkEw2md5avVNyYgj6RiXuQKNwkXaxFyQ.
- Вход 0 на faf2987fd2240d9c46575cc35c354eeca71b794c482f3cc49fba1a5f9a80808c е P2PKH харчене от 2023 г. P2PKH заключванията все още се използват, макар че SegWit адресите вече са по-популярни.
Следващата страница, P2MS, разглежда заключванията, които изискват няколко подписа. За другите типове адреси вижте страницата за адреси.
В този раздел: Скриптовият език
Целият курс „Биткойн от нулата“
Нещо не изглежда наред? Кажете ни