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

Важные части выделены жирным шрифтом, для тех, кто не хочет читать подробности!

Я получил много крошечных транзакций, иногда на сумму всего 0,000003 BTC. Несмотря на то, что я также получил (относительно) большие суммы, я беспокоюсь, что, когда я хочу потратить свои биткойны, комиссия за транзакцию может быть очень высокой из-за большого количества «входных» транзакций, необходимых для создания выходной транзакции.

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

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

Если бы мне пришлось объединить крошечные суммы, я был бы счастлив дождаться, пока вновь объединенные биткойны устареют, поэтому дополнительные сборы, которые потребуются при трате молодых биткойнов, не будут проблемой.

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

Ради вопроса давайте предположим, что я получил 1000 крошечных транзакций по 0,001 BTC каждая и еще 100 транзакций по 0,1 BTC каждая, все в одном кошельке. Это даст общий баланс 11 BTC. Предположим, что все суммы были получены 6 месяцев назад.

Если бы я хотел потратить все 11 BTC сразу (с 1100 вводов транзакций), насколько высокой могла бы быть комиссия?

Если бы я тратил только 1 BTC за раз, насколько высокой могла бы быть комиссия?

Как я могу на самом деле объединить крошечные суммы, не затрагивая более крупные?

Я использую стандартный (Satoshi) клиент, но можно использовать и другие клиенты.

Ответы (2)

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

Для оценки стоимости транзакции я буду использовать только размер транзакции (для крупных транзакций в комиссии преобладает или полностью состоит из стоимости за КБ). Это зависит от количества входов и выходов. Если все ваши балансы одинаковы (0,01 BTC), то не имеет значения, сколько вы тратите за раз, комиссия растет линейно с общей суммой BTC.

Предполагая 180 байт на вход, 1000 входов составляют 175 КБ, которые я собираюсь округлить до 200 КБ для запаса прочности. С официальным клиентом при комиссии по умолчанию 0,01 BTC / КБ [1] это будет стоить 2 BTC.

Eligius будет майнить транзакции за плату в размере 0,2 TBC (0,00008192 BTC) за КБ [2]. Таким образом, комиссия Элигиуса составит 0,016384 BTC. Можно также округлить это до 0,02 BTC или выше, просто чтобы быть уверенным.

Если ваши монеты достаточно старые (скажем, 3 месяца для 10 BTC и размер транзакции 200 КБ) [3], тогда официальный клиент может не применять минимальную комиссию для вашей транзакции. В противном случае вам, возможно, придется использовать модифицированный клиент, который не требует минимальной платы.

В любом случае вам нужно будет указать вашему клиенту бесплатный ретранслятор транзакций Lightfoot Hosting, который будет передавать любую транзакцию в сеть [2], чтобы Элигиус мог ее подобрать.

Это может занять больше времени, чем обычно, но Элигиус должен в конечном итоге добыть его.

Что касается объединения «пыли», оставляя в покое более крупные остатки — вам придется найти клиента, который позволит вам выбирать входные данные для вашей транзакции. Я не знаю, какие клиенты могут это сделать.

[1] https://en.bitcoin.it/wiki/Transaction_fees (Расчеты комиссий на этой странице относятся к клиенту 0.3, поэтому они могут быть устаревшими.)

[2] https://en.bitcoin.it/wiki/Free_transaction_relay_policy

[3] Ссылка на Wiki [1] выше говорит о том, что транзакции с приоритетом выше 57 600 000 не подлежат начислению минимальной комиссии. Если это так, то 10 BTC со средним возрастом 3 месяца в транзакции размером 200 КБ будут иметь приоритет (1000000000 * 144 * 90) / (200 * 1024) = 63 281 250

Спасибо за Ваш ответ! Особенно за упоминание об отказе от минимальной комиссии за транзакцию; я этого не знал
Вы можете обновить свой ответ тем фактом, что форк оригинального клиента, сделанный cozz ( github.com/cozz/bitcoin ), позволяет выбирать определенные входные данные.
Не уверен, почему этот старый вопрос появился в rss-потоке, но можно было бы также добавить лакомый кусочек, что биткойн-qt в наши дни также позволяет вам выбирать входные данные вручную. Это было какое-то время на самом деле.
Я нахожусь в той же базовой лодке, за исключением того, что 100% моих транзакций (около 200) крошечные, как это, из пула майнинга. Я хочу перевести все на биржу (Kraken), но комиссия будет больше 50% от суммы! В лучшем случае, если я выберу самое медленное подтверждение, это около 1/3 от общей суммы сборов. Я действительно недостаточно понимаю этот ответ, чтобы знать, что с ним делать, я на Mac, но не знаю, есть ли на самом деле простой способ решить эту проблему. Это оправдывает новый вопрос? Обеспокоена тем, что его просто закроют как обман.
Я не в курсе всех этих подробностей. Поскольку этой информации уже почти 5 лет, я бы предложил задать новый вопрос. Похоже, Элигиус все еще существует и занимается майнингом транзакций с низкой комиссией. Но многое могло измениться, о чем я не знаю.

Это не прямой ответ на заданный вопрос, но я хотел дать совет по снижению комиссии за отправку биткойнов.

Electrum позволяет отправлять биткойны, выбирая входы отдельно.

Редактировать:

Electrum предлагает вкладку «Монеты», в которой перечислены все входы и их суммы отдельно.

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

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