ru
Назад к списку

Пользователь заплатил 1,6 BTC комиссии за пустую транзакцию. Не повторяйте его ошибку

source-logo  hashtelegraph.com 58 м
image

Биткоин-кошелек заплатил 1,60 $BTC сетевой комиссии — более $102 000 по текущему курсу — и не доставил получателю ни одной монеты. Транзакция была подтверждена 12 августа в блоке 962 142, как видно из записи в блокчейн-эксплорере.

Согласно этим данным, единственный вход транзакции составлял 160 343 885 сатоши. Майнеры забрали все до последнего сатоши, а единственный выход остался пустым.

Как комиссия вышла из-под контроля

Отправитель запустил автоматический скрипт, который опирался на функцию Replace-by-Fee (RBF). Она позволяет переотправить неподтвержденную транзакцию с более высокой комиссией, чтобы обойти очередь в мемпуле.

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

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

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

Блок замайнил пул SpiderPool, забравший себе всю сумму. Комиссии в этом блоке составили около 1,82 $BTC, а значит, одна-единственная ошибка обеспечила 88% этой суммы.

Три настройки, которые останавливают неконтролируемую комиссию

  1. Отключить автоматическое повышение через RBF. Ручное подтверждение заставляет человека проверять каждое повышение перед тем, как оно уйдет в сеть.
  2. Установить жесткий потолок комиссии. Большинство современных кошельков принимают максимальное значение сатоши за байт, и один этот параметр остановил бы цикл за секунды.
  3. Всегда отправлять тестовый платеж. Несколько тысяч сатоши подтверждают корректную работу бота перед движением реальных денег. Трейдерам, которые проводят пакетные выплаты, стоит повторять такую проверку после каждого обновления программы.

История перекликается со знакомой темой самостоятельного хранения активов. Жертвы взлома кошелька Coldcard тоже следовали правилам безопасности, но все равно потеряли средства. Основатель Binance Чанпен Чжао (Changpeng Zhao) по этому поводу заявил, что ни один кошелек не дает полной гарантии защиты.

Автоматизация заслуживает не меньшего внимания, чем seed-фраза. Скрипт, работающий без контроля, способен опустошить баланс быстрее любого злоумышленника.

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

Стоит ли потребительскому софту позволять одной транзакции тратить весь баланс на комиссию без дополнительного подтверждения — вопрос, который история с блоком 962 142 ставит перед индустрией напрямую.

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

Мнение ИИ

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

Прецедент с возвратом комиссии тоже существует. Известен случай, когда майнинговый пул AntPool вернул отправителю 4 $BTC, ошибочно уплаченные в качестве комиссии. Юридической обязанности делать это не существует — решение остается на усмотрение пула. Последует ли SpiderPool этому примеру, или сумма так и останется у пула?

hashtelegraph.com