Перейти к содержимому
buybitcoinsmart

Глоссарий / Приватность и безопасность

Лимит пыли

Другие названия: Порог пыли, Dust limit.

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

Узлы отбрасывают транзакции, создающие выходы, слишком маленькие, чтобы их стоило тратить, и это не позволяет сети заполняться неиспользуемыми остатками. Bitcoin Core оценивает предел в три сатоши за виртуальный байт будущего расходования: 546 сатоши для выхода pay-to-public-key-hash, 294 для нативного SegWit, 330 для Taproot. Если кошелек отказывается отправлять сумму, обычно причина именно в этом правиле.

Как это работает

Bitcoin Core применяет лимит пыли к каждому выходу отдельно и задает один вопрос: обойдется ли трата этого выхода в будущем дороже, чем он стоит?

Расчет находится в GetDustThreshold в src/policy/policy.cpp. Узел прибавляет размер выхода в том виде, в каком он хранится в реестре, к размеру входа, которым его в итоге потратят, и умножает на DUST_RELAY_TX_FEE, константу политики в 3000 сатоши за киловиртуальный байт, или 3 sat/vB. Пройдите расчет для трех распространенных типов скриптов:

  • Выход pay-to-public-key-hash занимает 34 байта, а на его трату требуется 148 виртуальных байт, поэтому 182 vbytes при 3 sat/vB дают 546 сатоши.
  • Выход нативного SegWit (bech32, начинается с bc1q) занимает 31 байт, а его вход со скидкой составляет около 67 vbytes, что дает 98 vbytes и 294 сатоши.
  • Выход Taproot (bc1p) занимает 43 байта при таком же входе со скидкой, что дает 110 vbytes и 330 сатоши.

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

Порог также остается неизменным, тогда как рынок комиссий нет. Во время всплеска до 200 sat/vB трата того же выхода старого формата стоит примерно 29 600 сатоши, поэтому он экономически мертв задолго до того, как сеть назовет его пылью.

Где это встречается

Лимит пыли проявляется как сообщение об ошибке и почти никогда как понятие.

Кошельки формулируют это как "amount below dust threshold", "output too small" или просто делают кнопку отправки неактивной. Bitcoin Core и большинство программных кошельков также применяют его молча к сдаче: если остаток от платежа оказался бы ниже порога, кошелек отбрасывает выход сдачи и передает эту сумму майнеру как дополнительную комиссию, вместо того чтобы создать что-то, что никто не сможет потратить.

Криптобиржи в любом случае находятся намного выше лимита. Их минимальные суммы вывода определяются их собственными затратами на обслуживание запроса, а не политикой, поэтому вы упретесь в порог 0,0001 BTC или 10 $ намного раньше, чем в 546 сатоши.

В Lightning есть своя версия этого правила. Каждый канал согласует значение dust_limit_satoshis, а BOLT 2 требует не менее 354 сатоши в каналах с якорными выходами. Любой платеж ниже этого предела вообще не получает выхода в транзакции обязательства: если канал принудительно закрывается, пока такой платеж в пути, сумма уходит майнерам как комиссия.

Лимит пыли vs пыль

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

Лимит пыли vs минимальная комиссия ретрансляции

Минимальная комиссия ретрансляции является нижним порогом для всей транзакции и по умолчанию составляет 1000 сатоши за киловиртуальный байт, или 1 sat/vB. Лимит пыли является нижним порогом для отдельного выхода, и в нем намеренно используется более высокая ставка 3 sat/vB, чтобы выход создавался, только если его по-прежнему можно будет потратить в несколько худших условиях, чем те, в которых он создан. Транзакция может с запасом превысить минимальную комиссию ретрансляции и все равно быть отклонена, потому что один выход на 200 сатоши не прошел проверку на пыль.

Не путать с

Часто задаваемые вопросы

Почему лимит пыли равен 546 сатоши?

Потому что 546 составляет стоимость траты выхода старого формата pay-to-public-key-hash при 3 сатоши за виртуальный байт. Выход плюс вход, который его потратит, дают 182 виртуальных байта, и Bitcoin Core умножает это на свою комиссию ретрансляции пыли в 3000 сатоши за киловиртуальный байт.

Можно ли все еще потратить выход ниже лимита пыли?

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

Меняется ли лимит пыли вместе с комиссиями сети?

Нет. Это фиксированная константа политики, поэтому она остается на уровне 546, 294 или 330 сатоши в зависимости от типа адреса, тогда как реальные комиссии колеблются от 1 до нескольких сотен сатоши за виртуальный байт.

Связанные термины

Еще в разделе «Приватность и безопасность»

Читать эту страницу на английском