Найти в Дзене

Что такое replace by fee (RBF) или как ускорить транзакцию

Оглавление

Функция Replace-by-fee, сокращенно RBF, в Биткоине (и не только) позволяет заменять зависшие неподтвержденные транзакции на новые с более высокой сетевой комиссией и ускорять их подтверждение.

Replace-by-fee (RBF) — ускорение транзакций Биткоина | #BTC_2TheMoon
Replace-by-fee (RBF) — ускорение транзакций Биткоина | #BTC_2TheMoon

Replace-by-fee (дословно «замена комиссией») была предложена в BIP-125 и введена в протокол Биткоина в феврале 2016 года. Эта функция обеспечивает пользователям возможность ускорить свои транзакции, изменить комиссию или получателя в них.

23 ноября 2023 года пользователь Биткоина совершил транзакцию, заплатив исключительно высокую комиссию в размере 3,136 миллиона долларов за перевод 55 BTC. Эта непомерная комиссия установила рекорд, став восьмой по величине в истории Биткоина — пользователь переплатил в 119980 раз больше рекомендованной.

Транзакция b5a2af5845a8d3796308ff9840e567b14cf6bb158ff26c999e6f9a1f5448f9aa
Транзакция b5a2af5845a8d3796308ff9840e567b14cf6bb158ff26c999e6f9a1f5448f9aa

В этом примере можно усмотреть несколько причин такой переплаты:

  • Выбор высокой комиссии за транзакцию

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

  • Replace-by-fee (RBF)

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

  • Неосведомленность отправителя

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

  • Намеренные действия

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

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

Какие блокчейны поддерживают RBF

Замена комиссионных — это транзакционная политика, встроенная в сетевой протокол Bitcoin, благодаря которой можно заменить неподтвержденную транзакцию на новую с более высокой комиссией. Различные участники и сервисы экосистемы Биткоина могут по-разному воспринимать RBF, и не все кошельки снабжены этой функцией.

По условиям при использовании RBF новая транзакция должна содержать те же входы, что и заменяемая. Функция RBF применима только к неподтвержденным транзакциям; успешная транзакция замене не подлежит. Поскольку не все ноды и майнеры могут поддерживать или распознавать RBF-транзакции, их эффективность зависит от настроек ПО и готовности майнеров обрабатывать такие транзакции.

Некоторые кошельки позволяют устанавливать «Fee Bumping» (метод увеличения сетевой комиссии) на отложенные неподтвержденные транзакции и использовать расширенные настройки для отправки Эфира (ETH) или токенов ERC-20, разрешая настраивать значение nonce, цену газа или лимит газа.

К числу блокчейнов, поддерживающих RBF, относятся: Bitcoin и биткоин-подобные (Bitcoin Cash, Litecoin, Dogecoin и т.д.), а также Ethereum и EVM-совместимые (Polygon, BNB Smart Chain и пр.), хотя в большинстве случаев в ускорении транзакций нуждаются только токены ERC-20.

Как работает РБФ — ускорение транзакции

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

-3

Состояние мемпула, правила майнеров, узлов и кошельков — всё это влияет на эффективность RBF. Процесс ускорения состоит из нескольких этапов:

  • Первоначальная публикация транзакции

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

  • Корректировка комиссионных и замена

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

В Биткоине функция РБФ накладывает ограничения только на входы (адреса, с которых получена сумма), но не ограничивает выходы (адреса назначения), то есть заменой будет считаться лишь та транзакция, которая тратит те же входы, что и изначальная, при этом выход может быть каким угодно. Это позволяет даже развернуть неподтвержденную транзакцию обратно на свой адрес в случае, если необходимость отправки отпала или отправка совершается на ошибочный адрес. При этом комиссия сети все равно будет уплачена.
  • Трансляция новой транзакции и подтверждение

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

В эфириум-кошельках такое возможно за счет переотправки транзакции с тем же Nonce. О том, как ускорить (заменить) транзакцию ETH/ERC-20 можно прочитать в этой статье.

Недостатки ускорения транзакций

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

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

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

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

Что внутри | BTC_2TheMoon | Биткоин, блокчейн, криптовалюта | Дзен
Что такое Bitcoin нода
#BTC_2TheMoon | Биткоин, блокчейн, криптовалюта18 июля 2022
Принцип работы транзакций Ethereum (ETH)
#BTC_2TheMoon | Биткоин, блокчейн, криптовалюта25 апреля 2022