Вход
Входовете на трансакция в биткойн (bitcoin) сочат по-стар изход чрез TXID и VOUT и го отключват. Вижте петте полета на вход, размерите и примери.
От Dimitar Zurnov · Обновено на 4 ноември 2026
Адаптирано от Learn Me a Bitcoin на Greg Walker.
Вход на трансакция е препратка към по-стар изход и кодът, който го отключва. Той съдържа TXID и VOUT, с които назовава изхода, ScriptSig, който го отключва, и sequence (пореден номер), който задава окончателността. Всеки вход харчи точно един изход. Щом трансакцията бъде изкопана, изходът се брои за похарчен.
Обикновено трансакцията има един или два входа. Толкова, колкото ѝ трябват, за да покрие сумата, която праща, и таксата.
Какво прави входът?
Изходът е UTXO, докато някой не го похарчи. За да го похарчи, нова трансакция го назовава в един от входовете си и подава кода за отключване. Мрежата проверява дали кодът изпълнява заключването. Ако го изпълнява, изходът се маркира като похарчен.
Входът не носи стойност. Суровите данни съдържат препратката и кода за отключване, но не и сумата, която посоченият изход е имал. За да я научите, гледате трансакцията, която е създала изхода. Затова портфейлът трябва да следи кои изходи може да похарчи.
Кои са полетата на входа?
Всеки вход има едни и същи пет полета. Те се повтарят за всеки вход в трансакцията.
| Поле | Размер | Формат | Какво съдържа |
|---|---|---|---|
| TXID | 32 байта | Естествен ред на байтовете | Хешът на трансакцията, която е създала изхода. Вижте TXID. |
| VOUT | 4 байта | Цяло число в little-endian | Индексът на изхода в тази трансакция, броен от 0. Вижте VOUT. |
| ScriptSig size | Променлив | Compact size | Дължината в байтове на ScriptSig, който следва. |
| ScriptSig | Променлив | Скрипт | Кодът за отключване на legacy заключване. При нативните segwit входове е празен. Вижте ScriptSig. |
| Sequence | 4 байта | Битово поле в little-endian | Настройките за окончателност: locktime, RBF и относително заключване. Вижте sequence. |
TXID и VOUT заедно образуват outpoint, уникален етикет за един изход във веригата. Нативните segwit входове запазват същите пет полета, но данните им за отключване се местят в секцията witness, затова размерът им на ScriptSig е 00. Segwit вход, опакован в P2SH-P2WPKH, пази къс ScriptSig, който записва 22-байтовата witness програма.
Как изглежда трансакция с един вход?
Тази трансакция, 05d350c8a65010bbe9d220b2accd7601b4c6541b7c6d7f5ad451efbcc07f8d66, е една от най-простите възможни. Ето суровите ѝ данни:
02000000019945a5a440f2d3712ff095cb1efefada1cc52e139defedb92a313daed49d5678010000006a473044022031b6a6b79c666d5568a9ac7c116cacf277e11521aebc6794e2b415ef8c87c899022001fe272499ea32e6e1f6e45eb656973fbb55252f7acc64e1e1ac70837d5b7d9f0121023dec241e4851d1ec1513a48800552bae7be155c6542629636bcaa672eee971dcffffffff01a70200000000000017a9148ce773d254dc5df886b95848880e0b40f10564328700000000
Входът ѝ се чете така:
- TXID:
9945a5a440f2d3712ff095cb1efefada1cc52e139defedb92a313daed49d5678, който експлорърите показват в обратен ред като78569dd4…. - VOUT:
01000000, т.е. изход 1 на тази трансакция. - Размер на ScriptSig:
6a, което е 106 байта. - ScriptSig: 71-байтов подпис с байта за sighash, след него 33-байтов компресиран публичен ключ. Това е отключващият код за P2PKH заключване.
- Sequence:
ffffffff, което означава окончателен.
Трансакцията има един изход. Полето за стойност е a702000000000000. Ако обърнем байтовете, получаваме 02a7, което е 679 сатоши. Изходът е P2SH заключване.
Как една трансакция харчи няколко изхода?
Някои плащания изискват повече от един вход. Да кажем, че портфейл има два малки изхода и иска да прати повече от стойността на всеки от тях. Той харчи и двата, така че трансакцията има два входа.
Трансакция 42563ae3e391d74de7160e64ebfc730885306faad799197b80ebe5fb1386b7a2 точно това прави. Входовете ѝ назовават два изхода: изход 25 на една трансакция, на стойност 1,000,000 сатоши, и изход 31 на друга, на стойност 6,690,000 сатоши. Заедно те покриват един изход от 7,684,711 сатоши. Входовете дават общо 7,690,000, така че 5,289-те сатоши, които остават, са таксата.
Повече входове означават по-голяма трансакция. Всеки вход носи собствен подпис и публичен ключ, така че размерът расте с всеки вход. Това влияе на таксата, защото майнърите подреждат трансакциите по такса на виртуален байт.
Какво представлява входът coinbase?
Първата трансакция във всеки блок е coinbase. Нейният единствен вход е специален. Той не харчи по-ранен изход, затова TXID е 32 нулеви байта, а VOUT е ffffffff. Майнърът вписва в ScriptSig каквито данни поиска, в рамките на 2 до 100 байта. Coinbase си има отделна страница: вижте coinbase.
От блок 227,931 нататък BIP 34 изисква ScriptSig-ът на coinbase входа да започва с височината на блока. Страницата ни за височината на блока обяснява защо това помага да различаваме блоковете.
Можете ли да избирате кои входове да ползвате?
Да, с подходящ портфейл. Входовете на трансакцията са монетите, които тя харчи, затова избирането на входове е избиране на монети. Портфейлите го наричат избор на монети (coin selection) или контрол на монетите (coin control).
Много портфейли избират входовете вместо вас и се опитват да държат таксата ниска, като използват колкото може по-малко входове. Други ви оставят сами да изберете изходите. Това може да помогне за поверителността: ако не искате две плащания да се свързват, пазете монетите им отделно. Може да помогне и за таксите. Ако слеете много малки изходи в един по-голям, докато таксите са ниски, спестявате пари, когато похарчите по-късно и таксите може да са по-високи.
Следващата страница, TXID, обяснява първото поле на всеки вход: как се построява хешът, който назовава по-ранната трансакция.
Източници
- BIP 34: Block v2, height in coinbase
- Bitcoin Core, chainparams.cpp, за височината 227,931, на която е активиран BIP 34
В този раздел: Трансакции
Целият курс „Биткойн от нулата“
Нещо не изглежда наред? Кажете ни