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

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

Транзакция биткоина

Другие названия: Транзакция.

Что такое транзакция биткоина?
Транзакция биткоина представляет собой подписанную инструкцию, которая уничтожает некоторые существующие монеты и создает на их месте новые; это единственный способ, которым стоимость когда-либо перемещается в сети.

В биткоине ничто не хранит баланс. Реестр представляет собой набор неизрасходованных выходов, платеж расходует выходы целиком и создает вместо них новые, а все, что осталось, уходит майнеру в виде комиссии. Первая в истории транзакция переместила 10 биткоинов от Satoshi Nakamoto к Hal Finney в блоке 170 12 января 2009 года, и, как и все последующие, она не могла быть отозвана.

Как это работает

Транзакция биткоина представляет собой короткую бинарную структуру из шести частей, и кошелек собирает их все до того, как что-либо будет отправлено в сеть.

Версия занимает 4 байта. Версия 1 была исходной; версия 2 существует потому, что BIP68 придал номерам последовательности новое значение для относительных блокировок по времени, и современные кошельки задают ее по умолчанию. Затем идут входы, каждый из которых указывает на один ранее созданный выход и несет доказательство права его расходовать. Затем идут выходы, каждый содержит сумму в сатоши и скрипт блокировки, определяющий, кто может израсходовать его следующим. Транзакции SegWit добавляют раздел свидетеля, в котором хранятся подписи и который находится вне части, определяющей идентификатор транзакции. Последним идет locktime, 4 байта, обычно установленный на текущую высоту блока, чтобы транзакцию нельзя было включить в более ранний блок.

Поля комиссии в этой структуре нет нигде. Комиссия вычисляется арифметически: общая стоимость входов минус общая стоимость выходов, и все, что не назначено какому-либо выходу, получает тот, кто добудет блок. Поэтому ошибка кошелька в расчете сдачи, может выбросить реальные деньги, и поэтому каждый кошелек создает выход для сдачи обратно на свой адрес, а не оставляет остаток.

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

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

Почему это важно при покупке биткоина

На бирже «отправкой биткоина» называют две совершенно разные вещи, и только одна из них является транзакцией.

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

После вывода возникают три практических следствия.

Отменить ее нельзя. Replace-by-fee позволяет отправителю повысить комиссию, пока транзакция не подтверждена, но сделать это может только кошелек, который ее создал, а биржа не сделает это за вас. Проверьте адрес до подтверждения, а не после.

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

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

Как читать реальный вывод, поле за полем

Допустим, вы купили 0,05 BTC и выводите их. То, что появится в обозревателе блоков, вероятно, вас запутает, потому что транзакция не только ваша.

Крупные биржи объединяют выводы в пакеты. Одна транзакция вывода может израсходовать 3 входа из горячего кошелька общей стоимостью 2,41 BTC и создать 42 выхода, один из которых ваши 0,05 BTC, а другой сдача, возвращающаяся на биржу. При примерно 68 виртуальных байтах на вход, 31 байте на выход и примерно 11 байтах накладных расходов эта транзакция составляет почти 1517 виртуальных байт. При ставке комиссии 6 сат/vB майнер получает около 9102 сатоши, что составляет примерно 217 сатоши на каждого клиента в пакете. Отправленный отдельно, ваш вывод занял бы около 141 виртуального байта и стоил бы около 846 сатоши.

Так что обозреватель показывает транзакцию, перемещающую гораздо больше биткоина, чем вы вывели, с десятками получателей, о которых вы никогда не слышали. Все в порядке. Найдите свой собственный выход по сумме и адресу, запишите идентификатор транзакции и не обращайте внимания на остальное.

Транзакция биткоина vs txid

Транзакция представляет собой объект; txid является ее отпечатком. Идентификатор представляет собой хеш двойного SHA-256 от сериализованной транзакции без данных свидетеля, записанный как 64 шестнадцатеричных символа, и он существует, чтобы на транзакцию можно было ссылаться, не повторяя ее. Службы поддержки просят txid, обозреватели индексируют по нему, а последующие транзакции указывают на него. Но он не является квитанцией: txid доказывает, что транзакция с точно таким содержанием существует, и ничего не говорит о том, кто ее отправил и почему.

Транзакция биткоина vs PSBT

PSBT представляет собой транзакцию, которая еще не завершена. Формат, определенный в BIP174, содержит входы и выходы, а также дополнительную информацию, необходимую подписывающей стороне, например стоимость и скрипт каждого расходуемого входа, и передается между устройствами, а не по сети. На нем основаны изолированные от сети и мультиподписные конфигурации: офлайн-устройство подписи читает PSBT, добавляет свою подпись и возвращает его обратно. Только после того, как подписаны все входы, файл завершается в транзакцию, которую примет сеть, и до этого момента ничего не отправлено.

Не путать с

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

Можно ли отменить или отозвать транзакцию биткоина?

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

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

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

Сколько времени занимает транзакция биткоина?

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

В чем разница между комиссией за вывод средств на бирже и комиссией сети?

Комиссия сети идет майнеру и определяется спросом и предложением на место в блоке. Комиссия за вывод средств устанавливается самой биржей по ее правилам, и она может быть намного выше или ниже того, что фактически стоило отправление транзакции.

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

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

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

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