Транзакции Биткоин

Транзакция (transaction) — это заверенная передача монет от одной стороны другой. Когда вы хотите переслать кому-то монеты, их нужно подписать приватным ключом (private key). Так сеть поймёт, что биткоины отправляете именно вы. Биткоин-клиент затем формирует из сочетания приватного ключа и транзакции цифровую подпись.

Чтобы биткоин-транзакция была признана сетью, она должна быть подтверждена и включена в блок. Подтверждением занимаются майнеры, которые осуществляют «поиск» новых блоков и включение в них транзакций пользователей. Так о транзакции узнаёт вся сеть. Для большей надёжности при покупках чего-либо за биткоины (и другую криптовалюту) следует подождать от 1 до 6 подтверждений сети. Посмотреть количество подтверждений можно либо в самом кошельке, либо на специальных сайтах (блокэксплорерах). Самым известным из них является blockchain.info.

Для включения транзакции в сеть майнерам за труд платится комиссия. Её размер зависит от размера транзакции в килобайтах, а также от загруженности сети другими транзакциями пользователей. Подробнее о комиссиях и способах их расчёта читайте в одноимённой статье «Комиссии Биткоин».

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

Основными компонентами транзакции являются входы и выходы (input and output). Вход содержит адрес отправителя средств и подтверждение перевода. Выход же — это адрес получателя, отправляемые монеты и подтверждение перевода. Каждый выход можно потратить только один раз.

Вход каждой новой транзакции является выходом для предыдущей. Так по цепочке можно проследить всю историю монет вплоть до их генерации. Кстати, при нахождении блока создаётся так называемая coinbase-транзакция, в которой майнер «создаёт» монеты. В такой транзакции отсутствует вход.

Нужно уяснить, что выходы неделимы. Поэтому, отправляя кому-нибудь скажем 0.7 BTC и имея 2 входа по 0.5 BTC, нужно понимать, что уходит 1 BTC, а сдача (0,3 BTC) затем возвращается обратно. Часть сдачи нужно указывать в настройках кошелька как майнерскую комиссию, чтобы транзакция попала в блок. Поэтому назад вернётся не вся сдача.

Чаще всего транзакции содержат несколько входов, так как монеты для них получены из разных источников.