Зависла транзакция в сети. Как быть?

Число транзакций в сети Bitcoin растет не по дням, а по часам. Блоки переполняются, а раз включить все транзакции в блокчейн нереально, формируется своего рода очередь или пул памяти (mempool).

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

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

На этапе отправки транзакции

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

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

Повышение комиссии

Очевидно для того, чтобы транзакция прошла быстрее, нужно увеличить ее комиссию. Если ваш кошелек по умолчанию использует неподходящую вам комиссию, можно вручную настроить ее размер – либо в настройках кошелька, либо при отправке транзакции (а иногда и так, и так).

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

Использование динамических комиссий

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

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

Смена кошелька

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

После отправки транзакции

Если вы отправили транзакцию, а она зависла, можно попробовать обойти очередь. Проще всего воспользоваться функцией Opt-in Replace-by-fee, которая позволяет отправить ту же транзакцию еще раз, но с более высокой комиссией. Дело в том, что сеть отвергает новую транзакцию, отправленную повторно с большей комиссией, без использования этой функции. Узлы Bitcoin воспринимают ее как двойную трату и не принимают или задерживают ее.

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

Пройдет ли ваша транзакция в следующем блоке или нет, зависит от того, используют ли майнеры эту функцию. В настоящее время большинство майнеров функцию Opt-InRBF поддерживают, как и кошельки Electrum и GreenAddress.

Child Pays for Parent

Если функции Opt-InRBF у вас нет, все становится сложнее. Помочь может опция Child Pays for Parent (CPFP), применяя которую майнеры не всегда выбирают транзакции с самой высокой комиссией, а отдают предпочтение тем, что с комбинированной.

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

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

Другие способы

Если у вас нет возможности воспользоваться одной из двух функций, стоит попробовать отправить оригинальную транзакцию с более высокой комиссией. Это называется “full replace-by-fee”. Некоторые майнеры такую возможность допускают, но публичные кошельки эту функцию пока не поддерживают.

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

Что может получатель

Зависшая транзакция портит настроение и получателю. Если ваш кошелек предусматривает трату неподтвержденных транзакций, решить проблему можно тоже с помощью CPFP. Как получатель вы можете повторно потратить неподтвержденные входящие биткоины, включив достаточно высокую комиссию для компенсации низкой транзакции. При достаточной сумме комиссии транзакция подтвердится в ближайшем блоке.

Как вариант, можно спросить отправителя, пользовался ли он функцией Opt-InRBF. Если да, то он сможет отправить транзакцию повторно, но с более высокой комиссией.

Это также будет Вам интересно:

Источник

iMag.one - Самые важные новости достойные вашего внимания из более чем 300 изданий!