Изход
Изходът на трансакция в биткойн (bitcoin) държи стойност в сатоши и заключване. Вижте трите полета, 8-байтовия формат, лимита от 21 милиона BTC и ресто.
От Dimitar Zurnov · Обновено на 4 ноември 2026
Адаптирано от Learn Me a Bitcoin на Greg Walker.
Изходът на трансакция е пакет биткойн със заключване върху него. Той съдържа стойност в сатоши и ScriptPubKey, заключващия код, който казва кой може да го похарчи. По-късна трансакция харчи целия изход, като го назовава в свой вход. Изходите са единственото място, където стойността се пази във веригата. Входът няма собствена стойност.
Трансакцията може да създаде много изходи, като всеки може да има различно заключване. Щом изходът бъде похарчен, той изчезва окончателно. Остават само изходите, които никой още не е похарчил. Те образуват множеството UTXO, което пазят нодовете.
Кои са полетата на изхода?
Всеки изход има едни и същи три полета. Те се повтарят за всеки изход в трансакцията.
| Поле | Размер | Формат | Какво съдържа |
|---|---|---|---|
| Amount | 8 байта | Цяло число в little-endian | Стойността в сатоши. Един сатоши е 0.00000001 BTC. |
| ScriptPubKey size | Променлив | Compact size | Дължината в байтове на заключващия скрипт, който следва. |
| ScriptPubKey | Променлив | Скрипт | Заключването. Вижте ScriptPubKey. |
При типичен P2PKH изход полето за размер е 19 (25 байта), а самият скрипт е 25 байта с фиксиран модел. Целият изход е 34 байта.
Как се пази стойността?
Стойността е 8-байтово цяло число в little-endian, затова байтовете изглеждат обърнати в суровите данни. За да я прочетете, обърнете байтовете и превърнете hex в десетично число.
Например 100,000,000 сатоши (1 BTC) са 0000000005f5e100 в big-endian. В суровите данни са записани като 00e1f50500000000. Трансакция 2c5ae87c8f15d1b7432358212dbe6ee51b8e24c6f071b0d708647611000510f7 има един такъв изход, заключен с P2PKH скрипт.
Полето е 8 байта, така че може да побере до 2 на 64-та степен минус 1 сатоши. Нодовете обаче не приемат толкова. Правилата на консенсуса ограничават всеки изход до 21 милиона BTC, което са 2,100,000,000,000,000 сатоши. Изход над тази стойност прави трансакцията невалидна.
Нулата е разрешена. Изход от 0 сатоши е валиден, макар да няма стойност и повечето нодове няма да го препредават. Сборът на изходите не може да е по-голям от сбора на входовете.
Колко е таксата в изхода?
Таксата не е записана никъде в трансакцията. Тя е това, което остава: сборът на входовете минус сборът на изходите. Майнърът, който включи трансакцията, я прибира. Понеже таксата е остатък, портфейл, който сбърка сумите на изходите, може да плати на майнъра повече, без да иска. Страницата за таксата разглежда числата.
Какво е ресто?
Изходът се харчи изцяло. Ако портфейл има един изход от 0.5 BTC и иска да плати 0.1 BTC, не може да похарчи част от него. Той харчи целите 0.5 BTC и създава два нови изхода: един от 0.1 BTC за получателя и един от около 0.4 BTC обратно към себе си, минус таксата. Вторият изход е рестото.
Нищо в трансакцията не маркира кой изход е рестото. Портфейлите обикновено го слагат последно, но правилата не го изискват. Трансакция 4b5c918e95b98843a8340a6bb2dd61b4eee73ea632db85fb9a7eb538fd355588 има два изхода: един P2WPKH изход от 1,684,450 сатоши и един P2PKH изход от 215,880,776 сатоши. Вторият вероятно е рестото, но самата трансакция не го казва.
Може ли изходът да е празен?
Стойността може да е нула и заключването също може да е празно. Празното заключване е валидно, но опасно: всеки, който види изхода, може да го похарчи, защото нищо не проверява подпис. Трансакция 87d8ed6aae8ad82b01e2b9d7d7ca21e55e83e8fa2ae587892f12b06d3a12253c има един изход с празен ScriptPubKey и стойност нула, така че няма какво да се вземе. Стойността на входовете ѝ е отишла при майнъра като такса.
Следващата страница, ScriptPubKey, разглежда самото заключване: често срещаните шаблони и начина, по който се отключва всеки от тях.
Източници
- Бялата книга на Bitcoin, раздел 2 за трансакциите и изходите
- Bitcoin Core: consensus, MAX_MONEY, за ограничението от 21 милиона BTC
В този раздел: Трансакции
Целият курс „Биткойн от нулата“
Нещо не изглежда наред? Кажете ни