Почему не подтверждается биткойн-транзакция?

16 июня 2016

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

 

В то время как мошенническая транзакция bitcoin не будет подтверждена, транзакция с низким взносом может быть подтверждена либо исключена из сети если прошло известное время. Тем не менее, транзакция должна соответствовать требованию минимальной оплаты за трансляцию (MIN_RELAY_TX_FEE), которая в настоящее время составляет 0.0001 BTC. Минимальный операционный сбор за передачу это минимальная сумма, которая передается определенному узлу для того чтобы он транслировал транзакцию. Прежде чем транзакция может быть подтверждена майнерами, она должна быть замечена ими, поэтому транзакция, которая не была транслирована, не может быть подтверждена.

Но если вы отправили транзакцию с оплатой меньшей чем MIN_RELAY_TX_FEE, можно все еще форсировать трансляцию этой транзакции если узел отверг стоимость MIN_RELAY_TX_FEE, установленную в значение меньше чем 0.0001. По словам Дэвида Шварца из Bitcoin Stack Exchange, один из основных разработчиков Luke Dash Jr. поддерживает однин такой узел с IP-адресом 173.242.112.53. Вы можете проверить, была ли ваша транзакция транслирована или нет на сервисе blockchain.info, где сведения о транзакции можно найти по адресу кошелька или TXID.

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

Проблема таких транзакций - не подтверждаемых вследствие низкого взноса за майнинг, установленный отправителем, вызвала горячие споры когда Питер Тодд предложил решение под названием Full RBF. RBF (replace by fee) и означает что можно заменить транзакцию другой, с более высокой оплатой, которая получила бы подтверждение прежде первоначальной транзакции. Проблема RBF это то, что транзакции с нулевыми подтверждениями перестают быть надежными, так как отправитель может просто повторно передать новую транзакцию по новому адресу с более высокой платой.

Важность транзакций с нулевой оплатой огромна, так как игровые сайты, краны и различные другие услуги за bitcoin основаны на таких транзакциях для быстрой обработки платежей. Если бы транзакции с нулевым подтверждением пеерестанут быть достоверными, то пользователи должны будут ждать около 10 минут при проведении каждого биткойн-платежа. Поэтому большинство главных майнинг-пулов не поддерживает Full RBF, однако в недавно выпущенном Bitcoin Core 0.12 было применено новое решение, названное Opt-In RBF.

Opt-In RBF позволяет отправителям выбрать возможность отправки транзакции с более высокой оплатой. Другими словами, отправитель может добавить к транзакции флаг, сигнализирующий о том, что можете захотеть заменить ее транзакцией с более высокой платой позже. Узлы или получатель могут решить, принимать транзакцию или нет. В этом случае сайты, которые действительно принимают транзакции с нулевой оплатой, могут просто подождать подтверждения транзакции с флагом RBF, прежде чем зачислить ее.

ЗАКЛЮЧЕНИЕ

Если Ваша транзакция не подтверждается, то наиболее вероятно потому что плата майнеру установлена слишком низкой. Убедитесь что указанная оплата майнера выше минимального операционного сбора за передачу, который составляет 0.0001 BTC. Если это так, то удостоверьтесь что транзакция должным образом распространилась через сеть, с помощью проверки на таких сервисах как blockchain.info или blockr.io. Если транзакция не отображается на просмотровщиках цепочек блоков и отображается как имеющая 0 подтверждений в вашем бумажнике или на местном узле, то используйте Coinb.in, чтобы повторно передать транзакцию, которая будет замечена другим узлом и транслирована. Если транзакция уже была транслирована, то если вы не устанавливали флаг RBF, то вам придется ждать.

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