Инвест Рейтинг » Что делать, если транзакция «застряла»
Обновлено 28/10/2021
Число транзакций в сети Биткойна с годами стабильно росло. Это значит, что всё чаще блоки заполняются до предела. И так как не все транзакции могут сразу же быть включены в блокчейн, в «пулах памяти» (своего рода «очередях транзакций») майнеров образуются пробки.
Майнеры обычно первыми включают в свои блоки транзакции с самой высокой комиссией. Транзакции с более низкими комиссиями «перебиваются» на так называемом «рынке комиссий» и остаются в пулах памяти майнеров до обнаружения следующего блока. Если транзакция снова перебивается, ей приходится ждать следующего блока.
Результатом может стать не самый лучший пользовательский опыт. На подтверждение транзакций со слишком низкой комиссией могут уйти часы, дни, а иногда они и вовсе никогда не подтверждаются.
Содержание статьи
В первые годы существования Биткойна большинство кошельков добавляли к исходящим транзакциям фиксированную комиссию: как правило, 0,1 mBTC. Поскольку у майнеров всё равно оставалось свободное место в блоках, они обычно включали эти транзакции в ближайший добытый блок. (На самом деле часто также включались транзакции с более низкой комиссией или вообще без комиссии).
С ростом конкуренции за пространство в блоке фиксированной комиссии 0,1 mBTC часто недостаточно, чтобы транзакция была включена в следующий блок; её перебивают транзакции с более высокой комиссией. Хотя даже транзакции с низкой комиссией, вероятно, рано или поздно будут подтверждены, это может занять много времени.
Если хотите, чтобы ваша транзакция была подтверждена быстрее, очевидное решение – включить более высокую комиссию.
Если ваш кошелёк (по умолчанию) указывает недостаточную комиссию, её можно откорректировать вручную, либо в настройках кошелька, либо при отправке транзакции (или и там, и там).
Такие сайты, как 21.co, следят за сетью и подсказывают, какую комиссию следует включать на один байт, а также как быстро могут быть подтверждены транзакции с разными комиссиями.
Если вам нужно, чтобы платёж прошёл в ближайшие один-два блока, вы должны заплатить более высокую комиссию. Для не таких срочных платежей комиссия может быть ниже, просто на подтверждение уйдёт несколько больше времени.
Сегодня большинство кошельков поддерживают динамические комиссии. Эти кошельки, исходя из данных сети Биткойна, автоматически включают комиссии, с которыми транзакция должна быть включена в ближайший или один из ближайших блоков.
Некоторые кошельки также позволяют выбрать комиссию в зависимости от приоритета. Опять же, с более высокими комиссиями ваши транзакции будут подтверждены быстрее, а с низкими понадобится больше времени.
Если транзакции с вашего кошелька часто задерживаются в часы пик и у вас нет возможности выбрать комиссию с большим приоритетом, скорее всего, ваш кошелёк устарел. Проверьте, доступно ли обновление, или смените кошелёк.
Если вы решите сменить кошелёк, вам, конечно, нужно перенести средства со старого кошелька на новый. Если вы не спешите и не возражаете против уплаты комиссии, то можно просто переслать средства со старого кошелька на новый через сеть Биткойна. Они, вероятно, рано или поздно дойдут – даже если комиссия низкая.
Если же вы спешите, то некоторые кошельки позволяют экспортировать приватные ключи или исходник приватных ключей и затем импортировать их в новый кошелёк. Для этого транзакции в сети Биткойна не требуются. Вы сразу же сможете проводить транзакции с нового кошелька.
Если вы уже отравили транзакцию и она зависла, в некоторых случаях можно сделать так, чтобы она «перепрыгнула очередь».
Самый простой способ сделать так, чтобы транзакция перепрыгнула очередь, – использовать опцию «возможной замены по комиссии» (Opt-In Replace-by-Fee, или Opt-In RBF). Это позволяет повторно отправить ту же транзакцию, но с более высокой комиссией.
В большинстве случаев, когда по сети повторно отправляется та же транзакция, но с более высокой комиссией, сеть её отклоняет. Узлы Биткойна обычно считают такую новую транзакцию двойным расходованием и поэтому не принимают или не передают её.
Но при отправке транзакции с Opt-In RBF вы, по сути, говорите сети, что можете позже повторно отправить ту же транзакцию, но с большей комиссией. Как следствие, большинство узлов Биткойна примут эту новую транзакцию вместо старой, позволив ей встать в начало очереди.
То, будет ли новая транзакция включена в ближайший блок, зависит от того, какой майнер найдёт следующий блок: не все майнеры поддерживают Opt-In RBF. Однако эту опцию поддерживает достаточно майнеров, чтобы ваша транзакция с высокой вероятностью была включена в один из ближайших блоков.
Opt-In RBF сейчас поддерживают два кошелька: Electrum и GreenAddress. В зависимости от кошелька, вам может понадобиться включить Opt-In RBF в настройках перед отправкой (первой) транзакции.
Если ваш кошелёк не поддерживает Opt-In RBF, всё несколько сложнее.
Возможно, сработает метод «ребёнок платит за родителя» (Child Pays for Parent, или CPFP). При использовании CPFP майнеры не обязательно выбирают транзакции с самой высокой комиссией, но вместо этого выбирают группу транзакций с самой высокой суммарной комиссией.
Если не углубляться в технические детали, то большинство транзакций не только отправляют биткойны получателю, но также отправляют вам «сдачу». Вы можете потратить эту сдачу в следующей транзакции.
Некоторые кошельки позволяют расходовать эту сдачу, даже если она всё ещё не подтверждена, поэтому вы можете отправить её сами себе в новой транзакции. Только в этот раз не забудьте включить достаточно высокую комиссию, чтобы компенсировать низкую комиссию изначальной транзакции. Майнер выберет целую группу транзакций и подтвердит их все сразу.
Если ваш кошелёк не позволяет выбрать, какие именно биткойны расходовать, – т. е. вы не можете расходовать именно неподтверждённую сдачу, – можно попробовать отправить себе все средства в кошельке, куда будет включена и сдача.
Как и в случае Opt-In RBF, в настоящее время не все майнеры поддерживают CPFP. Но всё же эту опцию поддерживает достаточно майнеров, чтобы ваша транзакция была подтверждена в одном из следующих блоков.
Если нет возможности использовать ни Opt-In RBF, ни CPFP, вы всё же можете попытаться переслать изначальную транзакцию с большей комиссией. Некоторые майнеры принимают так называемую «полную замену по комиссии». Однако в настоящее время имеющиеся в открытом доступе кошельки такую опцию не поддерживают.
Или же можно подождать, пока транзакция не подтвердится, или пока биткойны вновь не появятся на вашем кошельке. Важно отметить, что пока транзакция не подтверждена, биткойны формально всё ещё находятся на вашем кошельке – хотя часто этого не видно. Биткойны не «зависают» в буквальном смысле в сети и не могут потеряться.
Кроме того, майнинг-пул ViaBTC стал предлагать «ускоритель транзакций». Если ваша зависшая транзакция включает комиссию не меньше 0,1 mBTC на килобайт, вы можете сообщить ID транзакции ViaBTC, и пул повысит её приоритет относительно других транзакций. Так как ViaBTC контролирует около 7% вычислительной мощности сети Биткойна, существует высокая вероятность, что он найдёт блок в ближайшие несколько часов. Тем не менее сервис ограничен 100 транзакциями в час.
Конечно, зависнуть может и транзакция, в которой вы являетесь получателем.
Если ваш кошелёк поддерживает расходование неподтверждённых транзакций, то это можно также решить с помощью CPFP. Точно так же, как описывалось выше, вы можете переслать неподтверждённые входящие биткойны себе, включив достаточно высокую комиссию, чтобы компенсировать низкую комиссию изначальной транзакции. Если новая комиссия достаточна, транзакция обычно подтверждается в пределах нескольких ближайших блоков. Разумеется, упомянутый выше ускоритель транзакций ViaBTC работает и для входящих транзакций.
Единственный другой вариант – спросить отправителя, может ли он использовать Opt-In RBF. Если да, то он может повторно отправить транзакцию с более высокой комиссией.
Кроме того, не забывайте, что всегда можно отменить застрявшую биткойн-транзакцию.