Поделюсь еще одним приемом экономии, который я использую. Чтобы было быстрее и понятнее опишу все на примере. У меня есть, адрес (назову его АДР) с множеством мелких входов: 1, 2, 3 ..... и т.д вплоть до n, на каждом входе для простоты описания ~0.01 BTC ( примерно). Я их специально не консолидирую и держу адрес именно в таком состоянии. Зачем?
Иногда нужно отправить кому-то мелкую сумму, скажем Сум= 0.05 BTC. Я смотрю, что находится на входах АДР и выбираю пять таких входов, чтобы на них находилось в общей сложности Сум + Fee отмечаю эти входы (получившуюся транзу несколько раз просматриваю, подгоняя входы, чтобы сдача была нулевой) и отправляю. Профит: сдачи нет, транза минимальна, на А остается меньше входов. И так проделываю каждый раз когда надо отсылать мелкие суммы до тех пор, пока АДР не истощится.
Проверяем:
Транзакция 5 входов/1 выход legacy: 10+148*5+34*1= 784 vBytes
Транзакция 5 входов/1 выход p2sh-segwit: 11+91*5+32*1= 498 vBytes
Транзакция 5 входов/1 выход native-segwit: 11+68*5+31*1= 382 vBytes
Транзакция 1 вход/2 выхода legacy: 10+148*1+34*2= 226 vBytes
Транзакция 1 вход/2 выхода p2sh-segwit: 11+91*1+32*2= 166 vBytes
Транзакция 1 вход/2 выхода native-segwit: 11+68*1+31*2= 141 vBytes
Входы заметно дороже выходов, даже один лишний вход не окупается отсутствием сдачи.