Глоссарий / Транзакции и комиссии
Вход транзакции
Другие названия: Вход, TxIn.
- Что такое вход транзакции?
- Вход транзакции представляет собой половину платежа, которая указывает на конкретную монету, уже принадлежащую вам, и подтверждает, что вы имеете право ее потратить, полностью ее расходуя.
Каждый вход состоит из указателя и доказательства, и его стоимость зависит от типа расходуемой монеты: около 57,5 виртуальных байт для монеты Taproot, около 68 для нативной SegWit и около 148 для устаревшей (legacy). Поскольку входы всегда расходуются целиком, кошелек с множеством мелких пополнений платит за тот же платеж больше, чем кошелек с одной крупной монетой. Каждое полученное пополнение является входом, за который вы заплатите позже.
Как это работает
У входа четыре поля, и только одно из них является подписью.
Сначала идет outpoint, 36 байт: идентификатор транзакции, создавшей монету, за которым следует позиция монеты в списке выходов этой транзакции. Это указатель, и именно он делает биткоин проверяемым, потому что любой может проследить его назад до блока, в котором была создана стоимость.
Вторым идет длина скрипта, а третьим скрипт подписи, который у более старых типов монет содержит подпись и публичный ключ, удовлетворяющие блокировке предыдущего выхода. SegWit изменил место, где находятся эти данные, а не их содержание: для монеты bc1 поле скрипта пустое, а материал разблокировки переходит в отдельный раздел свидетеля, где каждый байт считается четвертью единицы веса. Та же криптография, четверть оплаты.
Четвертым идет номер последовательности, 4 байта. Изначально он предназначался для схемы замены внутри мемпула, которая так и не заработала, а затем получил другое применение. BIP68 придал ему смысл относительной блокировки по времени (timelock), которая позволяет каналу Lightning сказать «доступно для расходования, но только после 144 блоков», а значения ниже 0xfffffffe также сигнализируют о том, что транзакция может быть заменена версией с более высокой комиссией.
Свойство, которое удивляет людей, является расходованием. Входы действуют по принципу все или ничего. Если у вас одна монета в 0,4 BTC и вы хотите заплатить 0,01 BTC, вход расходует все 0,4, а кошелек создает выход для сдачи, чтобы вернуть вам остаток. Частичного расходования не существует, как и понятия вычитания суммы.
Один вход особенный. У транзакции coinbase, той, что выплачивает вознаграждение майнеру, ровно один вход, чей outpoint ни на что не указывает: 32 нулевых байта и индекс 0xffffffff. Его скрипт содержит произвольные данные вместо подписи: именно туда записывается высота блока, и там были записаны такие сообщения, как сообщение в генезис-блоке.
Где это видно
Входы представляют собой левый столбец в обозревателе блоков и причину, по которой оценка комиссии в вашем кошельке меняется, когда вы больше ничего не меняете.
На экране управления монетами это флажки. Выбрать одну крупную монету вместо четырех мелких означает разницу между одним входом и четырьмя, что при 68 виртуальных байтах на каждый и ставке комиссии 20 sat/vB дает экономию около 4080 сатоши на одном платеже.
Они также раскрывают информацию. Два входа в одной транзакции сообщают любому наблюдателю, что обеими монетами распоряжалась одна сторона, а это предположение лежит в основе почти всей кластеризации блокчейна. Поэтому выбор того, какие входы объединить, является решением о приватности не меньше, чем решением о затратах.
Практический вывод для тех, кто регулярно накапливает: объединяйте покупки в меньшее число выводов. Двенадцать ежемесячных выводов оставляют двенадцать входов в ожидании, и их счет приходит в тот день, когда вы наконец потратите, по той ставке, которую рынок взимает тогда.
Вход транзакции vs выход транзакции
Вход является требованием к прошлому, а выход представляет собой предложение будущему, и один и тот же объем стоимости играет обе роли в течение своей жизни. Он рождается как выход, находится в множестве неистраченных выходов и умирает как вход в транзакции, которая его расходует. Асимметрия, которая важна, является экономической: выходы дешевы в создании, от 31 до 43 байт каждый, тогда как входы дороги в расходовании, от 57,5 до 148 виртуальных байт каждый. Получение почти ничего не стоит, а расходование стоит реальных денег, что прямо противоположно тому, как большинство людей ожидает, что платежная сеть будет выставлять им счет.