Как поступить, если платеж «повис» в системе Биткоин

Популярность системы Биткоин стремительно набирает обороты, что приводит к увеличению количества платежей, и, как следствие, к перегрузке блоков. Все финансовые операции невозможно провести одновременно, поэтому возникает «очередность» платежей (mempool). Исправить ситуацию может высокая комиссия, установленная для денежного перевода.

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

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

Что следует делать с зависшим платежом?

Проведение оплаты

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

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

Увеличение комиссии

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

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

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

Динамические платежи

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

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

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

Стоит ли менять кошелек?

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

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

Что делать если платеж завис?

Вы осуществили оплату, но транзакция не подтверждена, а платеж висит. Как поступить в этом случае? Можно заставить транзакцию «перескочить очередь». Этот способ называется Opt-InReplace-by-Fee. Суть заключается в том, что клиент вновь совершает ту же операцию, но уже с более выгодным для системы вознаграждением. Без увеличения комиссионных повторная попытка обречена на провал. Причина отказа станет то, что сеть Биткоина рассматривает повторную операцию как двойную трату и не принимает ее.

При осуществлении операции с приоритетной комиссией через Opt-InRBF клиент сообщает узлам Биткоина о необходимости повторения транзакции на более выгодных условиях. В итоге система заменяет прежнюю операцию новой, и зависший платеж «перепрыгивает» на первые позиции.

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

К примеру, опция Opt-In-RBF успешно применяется двумя сервисами: Green-Address и Electrum. Также функция доступна клиентам BitcoinCore, но система не предусматривает создания собственных RBF-операций, поэтому в процессе транзакций использует заимствованные скрипты. При работе с некоторыми кошельками пользователь может самостоятельно запросить в настройках обновление функции Opt-In-RBF до осуществления первичной оплаты.

Опция Child-Pays-for-Parent

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

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

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

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

Какие еще существуют варианты

Если кошелек не поддерживает функции CPFP и Opt-In-RBF, тогда нужно попытаться отправить первоначальный платеж, увеличив при этом комиссию. Такая операция получила название «FullReplaceByFee», и зачастую майнерами соглашаются на проведение подобной транзакции. Тем не менее, самые распространенные электронные кошельки такую функцию редко практикуют.

Самый простой вариант – элементарно выждать время, пока кошелек пополниться виртуальными монетами или система подтвердит выполнение перевода. Следует учитывать, что до момента завершения платежа Биткоины формально находятся в бумажнике отправителя, но уже не может распоряжаться средствами. В любом случае, исключена возможность потери денег или их «зависания» надолго в сети.

Проблемы получателя

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

 

Поделиться в соц. сетях

Опубликовать в Google Plus
Опубликовать в LiveJournal
Опубликовать в Мой Мир
Опубликовать в Одноклассники
Опубликовать в Яндекс

Также на эту тему вы можете почитать:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>