Как насчет оптимизации оплаты монеты; быстрая (не очень throughtful) Заглянуть в коде показывает, что пытается первым заплатить одну монету, а потом какой-то оптимизации для оплаты с более чем одной монеты. AFAIK, он оптимизирован для осуществления текущих платежей.
Может быть, он должен быть оптимизирован для будущих платежей, то есть так, что конечный результат как хороший бумажник, насколько это возможно; не слишком мелкие монеты (которые стоят дорого потратить) и размер монеты в качестве переменной, как это возможно.
Т.е., woudn't оптимальным бумажник быть такой, что есть монеты разных размеров, каждая монета размером в два раза меньше одного. Fex. 1BTC, 2BTC, 4BTC, 8BTC т.д.
Или, по крайней мере, попытаться сделать бумажник, чтобы будущие платежи могут быть, скорее всего, будет оплачена с 2 входными монетами.
Выбор монет, безусловно, не является оптимальным. Часть трудностей является оптимальным является весьма субъективной и варьируются в зависимости от пользователя. Все еще "лучше" (Хотя и не оптимальный) алгоритм, вероятно, может быть использован. Честно говоря, я не вижу его в качестве приоритета для нынешних разработчиков. Есть гораздо более важные изменения клиента и протокола. Он является открытым исходным кодом. Вы могли бы сделать улучшенный выбор монет вашего вклада.
Для того, чтобы сделки, чтобы быть свободными, должны быть выполнены три условия:
--Сделка составляет менее 3,5 кБ (приблизительно)
--Сделка не имеет выхода пыли (<0.01 BTC)
--Входы транзакций имеют приоритет сумма больше чем 1 Bitcoin день-за-250 байт
Если транзакция не может быть свободной, а затем использовать folllowing платы:
--Если сделка менее 3,5 кБ, сбор за использование 0,0005 BTC
--В противном случае используйте (0,0005 * облава (numkB))
Есть больше сборов, необходимых, чтобы получить его в следующий блок, если есть уже много сделок, включенные в следующем блоке. Но эта плата всегда будет получить его включен в один из следующих блоков. До сих пор я не испытывал каких-либо пользователей (или я) получать монеты застрявших в Оружейную.
Ну, основываясь на этом, оптимальный кошелек One Big Fat Old Coin 😉 И каждый платеж может быть (и должны) быть использован для дефрагментации бумажника ...
Но проблема заключается в том, что после каждой транзакции, вы получаете изменение, которое совершенно новая монета .. Без монеты возраст акцентированию, следует использовать ВСЕГДА весь кошелек для каждого платежа, до тех пор, как он подходит к 3,5 пределу кб. Если этого не произойдет, использовать как многие из самых больших монет, как это возможно.
В долгосрочной перспективе, это было бы хорошо и для блока цепи. Когда обрезка приходит на работу, монета будет больше новых блоки, и они будут больше.
Edit: это princible нормально, но формула отстой. Необходимо пересмотреть его ..
Но sinze есть монета возраст, бумажник должен спросить пользователя, сколько платежей один делает в день, а затем собрать (по платежам), как много больших старых монет, как он / она дает в качестве ответа, деленное на 120 и умноженное на кошельке монет. Так что, если ваш размер бумажника 120 BTC или больше, вы можете держать их в одну монету.