P2MS
P2MS биткойн (bitcoin) заключва изход към няколко публични ключа, а m от тях трябва да подпишат. Вижте скрипта m-of-n, dummy елемента и примери.
От Dimitar Zurnov · Обновено на 4 ноември 2026
Адаптирано от Learn Me a Bitcoin на Greg Walker.
P2MS, съкращение от pay to multisig (плащане към мултисиг), е тип заключване в биткойн (bitcoin). Той заключва изход към списък от публични ключове. Заключването задава две числа: m, колко подписа са нужни, и n, колко ключа има. Заключване 2-of-3 изисква валидни подписи от два от трите си ключа. P2MS е остарял тип. Суровият мултисиг (мултиподпис) е рядко срещан във веригата днес, защото повечето мултисиг скриптове се увиват в P2SH или P2WSH.
BIP 11 дефинира M-of-N мултисиг като стандартен тип трансакция. Най-ранните примери по-долу са от януари 2012 г.
Как изглежда заключващият скрипт на P2MS?
Заключването е OP_2, публичните ключове, OP_3 и после OP_CHECKMULTISIG. Целият скрипт е 201 байта:
524104d81fd577272bbe73308c93009eec5dc9fc319fc1ee2e7066e17220a5d47a18314578be2faea34b9f1f8ca078f8621acd4bc22897b03daa422b9bf56646b342a24104ec3afff0b2b66e8152e9018fe3be3fc92b30bf886b3487a525997d00fd9da2d012dce5d5275854adc3106572a5d1e12d4211b228429f5a7b2f7ba92eb0475bb14104b49b496684b02855bc32f5daefa2e2e406db4418f3b86bca5195600951c7d918cdbe5e6d3736ec2abf2dd7610995c3086976b2c0c7b4e459d10b34a316d5a5e753ae
Всеки ключ тук е некомпресиран, затова всеки се поставя в стека с 41 и 65 байта данни. P2MS заключване може да смесва компресирани (33 байта) и некомпресирани ключове. Изход 0 на 581d30e2a73a2db683ac2f15d53590bd0cd72de52555c2722d9d6a78e9fea510 използва това заключване.
Как изглежда отключващият скрипт?
Отключващият скрипт (scriptSig) започва с празен първи елемент, а после идват двата подписа:
00483045022100af204ef91b8dba5884df50f87219ccef22014c21dd05aa44470d4ed800b7f6e40220428fe058684db1bb2bfb6061bff67048592c574effc217f0d150daedcf36787601483045022100e8547aa2c2a2761a5a28806d3ae0d1bbf0aeff782f9081dfea67b86cacb321340220771a166929469c34959daf726a2ac0c253f9aff391e58a3c7cb46d8b7e0fdc4801
00 е празният първи елемент, а всеки подпис се поставя в стека с 48, тоест 72 байта. Вход 0 на 949591ad468cef5c41656c0a502d9500671ee421fadb590fbc6373000039b693 харчи горното заключване 2-of-3.
Какво е dummy елементът?
OP_CHECKMULTISIG има грешка с едно място: вади един елемент повече, отколкото трябва. Харченето добавя допълнителен елемент в началото, който поглъща тази грешка. Това е dummy елементът. От BIP 147 насам dummy елементът трябва да е празен, тоест OP_0 (00). Нодовете отхвърлят всяка друга стойност.
Подписите трябва да са в същия ред като ключовете си. Следващият раздел показва защо.
Как работи P2MS скриптът?
Първо всички подписи и ключове се поставят в стека. После OP_CHECKMULTISIG работи така:
- Вади n, после вади толкова публични ключа от стека.
- Вади m, после вади толкова подписа.
- Взима първия подпис и първия ключ. Ако съвпадат, преминава към следващия подпис. Ако не съвпадат, преминава към следващия ключ.
- Ключ, който е бил преминат, никога не се проверява отново.
- Ако всеки подпис е намерил съвпадащ ключ, поставя
OP_1. Иначе скриптът се проваля.
Тъй като проверката се движи само напред, подпис може да съвпадне с ключ само ако е след ключа на предишния подпис. Затова подписите трябва да следват реда на ключовете.
Какви са ограниченията на P2MS?
- Стандартното гол заключване може да има най-много 3 ключа. По-голямо заключване е валидно, ако влезе в блок, но нодовете няма да го препращат.
OP_CHECKMULTISIGсам по себе си приема до 20 ключа.- Увит в P2SH, redeem скриптът може да съдържа до 15 компресирани ключа, защото redeem скриптът може да е дълъг най-много 520 байта. Некомпресираните ключове заемат по 66 байта, така че седем е най-големият брой, който се събира.
Има ли P2MS адрес?
Не. Суровото P2MS заключване няма формат за адрес. Всеки от публичните му ключове може да се превърне в адрес, но самото мултисиг заключване няма такъв. За да заключите монети към мултисиг, увийте скрипта в P2SH или P2WSH, които имат адреси. Повечето портфейли позволяват да се плаща само към адрес, така че при суровото P2MS заключване изпращачът би трябвало да построи трансакцията на ръка.
P2MS никога не е бил премахван от правилата на консенсуса. Той е станал стандартен в началото на 2012 г., а P2SH е влязъл в сила през април 2012 г. по BIP 16.
Кои P2MS трансакции можете да проверите в нашия explorer?
- Изход 0 на 60a20bd93aa49ab4b28d514ec10b06e1829ce6818ec06cd3aabd013ebcdc4bb1 е суров 1-of-2 мултисиг, похарчен от вход 0 на 23b397edccd3740a74adb603c9756370fafcde9bcc4483eb271ecad09a94dd63. Заключването е от 30 януари 2012 г., а харченето от 3 февруари 2012 г.
- Изход 0 на 2daea775df11a98646c475c04247b998bbed053dc0c72db162dd6b0a99a59c26 е суров 3-of-3 мултисиг, похарчен от вход 0 на e8ac451e7f47d566d4dd822a67fea2181ecfa7c7ba96d9faa63e2f6b26e55fd3. Заключването е от 3 февруари 2012 г., а харченето от 11 февруари 2012 г.
- Изход 0 на c4aaf7fbec7a9a079e670e50f6a672315451c7618814494ab1f89cf3fd97b3bb е заключване 20-of-20, похарчено от вход 0 на da738e29f64e90ae46dcc3e6b4154041d6324abbe7919e722d486a4a3148b7dc. Ключовете му са 20, над стандартния лимит от 3, затова не е стандартно, макар че
OP_CHECKMULTISIGго приема.
В този раздел: Скриптовият език
Целият курс „Биткойн от нулата“
Нещо не изглежда наред? Кажете ни