Перейти к содержимому
buybitcoinsmart

Глоссарий / Транзакции и комиссии

Вход транзакции

Другие названия: Вход, 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 виртуальных байт каждый. Получение почти ничего не стоит, а расходование стоит реальных денег, что прямо противоположно тому, как большинство людей ожидает, что платежная сеть будет выставлять им счет.

Не путать с

Часто задаваемые вопросы

Почему мой кошелек расходует монеты на сумму больше, чем я отправляю?

Потому что входы нельзя расходовать частично. Расходование монеты потребляет ее целиком, поэтому кошелек берет те монеты, которые покрывают ваш платеж вместе с комиссией, и возвращает остаток себе в выходе для сдачи.

Делают ли дополнительные входы транзакцию дороже?

Да, и это главный фактор комиссий биткоина. Каждый дополнительный нативный вход SegWit добавляет около 68 виртуальных байт, поэтому платеж, расходующий восемь мелких монет, может стоить в несколько раз дороже того же платежа с одной крупной монетой.

Читайте далее

Связанные термины

Еще в разделе «Транзакции и комиссии»

Читать эту страницу на английском