В системе Биткоин перевод средств происходит непосредственно между электронными кошельками. В целях обеспечения безопасности, транзакции оформляются цифровой подписью. Каждая транзакция становится известна всем пользователям сети, а историю операций можно отследить назад вплоть до момента «производства» данных биткоинов.
Биткоинами выгодно владеть, если вы инвертировали часть своих средств и хотите заработать на повышении цены. Но ведь любые деньги, в том числе и криптоавлюта, предназначены для того, чтобы их тратить, не так ли? Как же осуществляются транзакции в системе Биткоин?
Как таковых, биткоинов не существует. Есть только записи об операциях с ними
Это весьма забавный факт: биткоинов нигде не существует, даже на жестком диске компьютера. Принято говорить о том, что у кого-то есть биткоины. Но если заглянуть по конкретному адресу Биткоин, то цифровых монет там не окажется. Это аналогично тому, как на банковском счете числятся доллары или рубли. Не существует никакого физического объекта или хотя бы цифрового файла, на который можно было бы указать, сказав: "Это - биткоин".
Вместо этого есть только записи об операциях между разными адресами, отражающие увеличение или уменьшение баланса. Каждая операция, которая когда-либо имела место, хранится в огромном публичном реестре, который называется цепочкой блоков, или просто "блокчейн". Чтобы узнать баланс любого адреса Биткоин, нельзя просто посмотреть информацию, хранящуюся по данному адресу, так как ее там нет. Нужно вычислить это значение на основании данных, хранящихся в блокчейне.
Как выглядит транзакция в Биткоин?
Если Алиса отправит Николаю несколько биткоинов, такая транзакция будет содержать три фрагмента информации:
- Вход. Это запись о том, какие адреса Биткоин изначально использовались для отправки биткоинов Алисе (например, она получила их от своей подруги Юлии).
- Сумма. Сколько биткоинов Алиса отправляет Николаю.
- Выход. Это адрес Биткоин Николая.
Как происходит отправка Биткоинов?
Чтобы отправить биткоины, нужны две вещи: адрес Биткоин и персональный ключ. Адрес Биткоин генерируется случайным образом и представляет собой просто последовательность букв и цифр. Персональный ключ тоже представляет собой последовательность букв и цифр. Но в отличие от адреса Биткоин эта информация хранится в секрете.
Адрес Биткойн можно представить себе в виде сейфа со стеклянной дверцей. Все знают, что в нем находится, но только персональный ключ позволяет открыть его, чтобы что-то взять или положить.
Когда Алиса отправляет Николаю биткоины, она использует свой цифровой ключ, чтобы подписать сообщение, содержащее информацию о входе (источник происхождения монет), сумме и выходе (адрес Николая).
Затем она отправляет данное сообщение со своего кошелька Биткоин в общую сеть Биткоин. После этого майнеры проверяют такую транзакцию, помещают ее в блок транзакций и, в конечном итоге, подтверждают.
Почему иногда приходится ждать клиринга транзакции?
Поскольку каждая транзакция должна быть подтверждена майнерами, иногда приходится ждать, пока те сделают свою работу. Протокол Биткоин устроен таким образом, что на создание каждого блока уходит около 10 минут.
Некоторые продавцы могут заставить вас после оплаты ждать, пока произойдет подтверждение данного блока. Поэтому скачать приобретенный цифровой продукт или воспользоваться платной услугой вы сможете лишь через некоторое время.
В то же время, другие продавцы могут не ждать подтверждения. Фактически, они при этом рискуют, предполагая, что вы не потратите те же монеты где-то еще, пока идет подтверждение транзакции. Это обычно касается небольших сумм, где риск мошенничества невелик.
Что делать, если суммы на входе и выходе не совпадают?
Поскольку биткоины существуют только в виде записей транзакций, со временем к одному адресу Биткоин может быть привязано много разных транзакций. Например, Фима мог прислать Алисе два биткоина, Весельчак У - три, а Крыс - еще один. Все это были разные транзакции, произведенные в разное время.
В кошельке Алисы не происходит автоматического объединения этих монет и формирования единого файла с шестью биткоинами. Все эти разные транзакции продолжают храниться по отдельности.
Когда Алиса хочет отправить монеты Николаю, ее кошелек пытается использовать записи о транзакциях на разные суммы таким образом, чтобы набралось то количество монет, которые нужно отправить.
Существует вероятность того, что при таком сложении разных транзакций не получится в точности желаемая сумма. Например, нужно отправить Николаю 1.5 BTC.
По данному адресу у Алисы нет транзакций на такую сумму, и суммирование транзакций в любом сочетании тоже ее не даст. Алиса не может просто разбить какую-то транзакцию на более мелкие суммы. Можно тратить входную транзакцию только полностью, без дробления.
Поэтому ей придется отправить одну из входящих транзакций, а остаток биткоинов вернется ей в виде сдачи.
Например, Алиса отправляет Николаю два биткоина, которые она получила от Ильи. Илья - это вход, Николай - выход. Но она хочет отправить только 1.5 BTC. Поэтому ее кошелек для такой транзакции автоматически создаст два выхода: 1.5 BTC - Николаю и 0.5 BTC - на новый адрес, который создается для хранения Алисой полученной от Николая сдачи.
Удерживается ли комиссия за транзакции?
Иногда, но не каждый раз.
Размер комиссии за транзакцию рассчитывается с учетом нескольких факторов. Некоторые криптовалютные кошельки позволяют устанавливать размер комиссии вручную. Любая часть транзакции, которая была не принята получателем и не возвращенная в качестве сдачи, считается комиссией. Она, в качестве дополнительного вознаграждения, достается майнеру, которому посчастливилось создать данный блок транзакций.
В настоящее время многие майнеры обрабатывают транзакции, не получая за это комиссию. По мере снижения вознаграждения за блок, ситуация будет меняться. В прошлом, расчет комиссий был невероятно сложным и непрозрачным.
Можно ли получить квитанцию?
В Биткоин не предусмотрены квитанции. В будущих версиях предполагается вносить изменения в способ проведения оплаты, чтобы сделать его более зрелым и удобным для пользователя.
Такие операторы платежей, как BitPay, предлагают также продвинутые функции, которые недоступны в исходных транзакциях Биткоин, например получение квитанций и подтверждение заявок онлайн.