Как система выбора монет Bitcoin Core предотвращает превращение сдачи в пыль?

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

Этот вопрос неверен, так как Bitcoin Core фактически создает минимальную сдачу в размере 0,01 BTC, если он не может произвести прямое соответствие.

Ответы (2)

Смотрите эти строки :

// We do not move dust-change to fees, because the sender would end up paying more than requested.
// This would be against the purpose of the all-inclusive feature.
// So instead we raise the change and deduct from the recipient.
if (nSubtractFeeFromAmount > 0 && newTxOut.IsDust(::minRelayTxFee))
{
    CAmount nDust = newTxOut.GetDustThreshold(::minRelayTxFee) - newTxOut.nValue;
    newTxOut.nValue += nDust; // raise change until no more dust
    for (unsigned int i = 0; i < vecSend.size(); i++) // subtract from first recipient
    {
        if (vecSend[i].fSubtractFeeFromAmount)
        {
            txNew.vout[i].nValue -= nDust;
            if (txNew.vout[i].IsDust(::minRelayTxFee))
            {
                strFailReason = _("The transaction amount is too small to send after the fee has been deducted");
                return false;
            }
            break;
        }
    }
}

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

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

Bitcoin Core фактически создает минимальное изменение 0.01 BTC(если у него достаточно средств), если он не может произвести прямое совпадение.

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