Перевод статьи Unchained. Поддержать проект.
В продолжение нашей серии статей о том, что такое UTXO, и почему они важны, мы углубимся в различные ситуации, когда вам может понадобиться активно управлять UTXO на вашем некастодиальном кошельке. В этой части мы расскажем о проблемах, которые могут возникнуть из-за накопления слишком большого количества UTXO в вашем Биткоин-кошельке, а также о стратегиях, которые вы можете использовать для решения этих проблем и предотвращения их возникновения в будущем.
Возможные последствия при использовании множества UTXO #
Как уже говорилось в нашей предыдущей статье, каждый UTXO в вашем кошельке существует как отдельный фрагмент данных, подобно физической монете, положенной в копилку. Если вы держите большое количество UTXO, вы храните много данных, которые нужно будет обработать, когда вы попытаетесь отправить биткоины на новый адрес, что можно представить себе как отправку полной копилки получателю.
Существует два основных негативных сценария при большом количестве UTXO:
1. Невозможность подписи транзакции из-за ограничений аппаратного кошелька #
Некоторые аппаратные кошельки не могут подписывать транзакции с большим объемом данных из-за ограниченного объема памяти. Если у вас есть устройство, которое не может подписывать транзакции из-за нехватки ресурсов, для отправки биткоинов могут потребоваться дополнительные инструменты и знания. Понимание ограничений вашего устройства позволит вам избежать подобных проблем или уверенно решить их, если они возникнут.
2. Высокие комиссии, когда приходится тратить биткоины в неподходящее время #
Комиссии за транзакции — важный фактор для тех, кто хранит много UTXO, поскольку стоимость транзакции зависит от объема обрабатываемых данных. Если ваша цель — избежать непомерных комиссий, стратегическое поддержание относительно небольшого количества UTXO может иметь большое значение. Только за последние пару лет мы увидели, что стоимость перемещения любого конкретного количества биткоинов может варьироваться от нескольких центов до нескольких тысяч долларов!
Давайте рассмотрим обе эти концепции более подробно.
Ограничения аппаратных кошельков #
Хотя снижение стоимости транзакций и сохранение приватности являются важными факторами, важнее всего убедиться, что ваши устройства смогут подписывать транзакции, когда вам нужно быстро отправить биткоины.
К счастью, в будущем новые модели аппаратных кошельков, скорее всего, будут усовершенствованы для обработки все большего количества UTXO. Например, Coldcard Mk3 (выпущенный в 2019 году) способен подписывать транзакции с объемом данных до 384 кБ, а более новая модель Mk4 (выпущенная в 2022 году) может обрабатывать до 2 МБ — предел, с которым редко сталкивается обычный пользователь.
Современные модели аппаратных кошельков от двух наиболее популярных производителей, Ledger и Trezor, могут подписывать большинство транзакций рядовых пользователей, но если у вас много UTXO, процесс может занять несколько минут или закончиться неудачей. Вес подписи ваших UTXO также может быть важным фактором.
Если вам нужно перевести биткоины и вы столкнулись с подобными трудностями, попробуйте перевести их несколькими небольшими транзакциями. Если вы отправляете только часть неизрасходованных выходов за один раз, ваше устройство может лучше справиться с обработкой данных и формированием подписей.
Чтобы предотвратить появление большого количества UTXO в вашем кошельке, вы можете настроить частоту пополнения кошелька, а также проводить консолидацию UTXO. Мы рассмотрим эти понятия более подробно ниже.
Разбираемся с комиссиями за транзакции #
Если вы постоянно накапливаете биткоины — с помощью майнинга или многократной покупкой биткоинов по стратегии DCA (Dollar-Cost Averaging), — вы можете стать обладателем очень большого количества UTXO. Наличие большого количества UTXO может сыграть с вашими накоплениями злую шутку – когда придет время перевести биткоины на новый адрес, вы можете обнаружить, что вам придется заплатить непомерно высокую комиссию за транзакцию.
Насколько существенными могут быть комиссии? Давайте обсудим, как рассчитываются комиссии, рассмотрим несколько примеров различных условий взимания комиссии и обратим внимание на цифры.
Как рассчитываются комиссии за транзакции в Биткоине #
Комиссия определяется стоимостью передачи одного байта данных, а также тем, сколько байт данных занимает ваша транзакция. Если вам нужно отправить много UTXO, ваша транзакция будет содержать больше байт, чем транзакция с небольшим количеством UTXO. Если вы хотите отправить все свои UTXO на новый адрес, то вам не удастся избежать более высокой, чем обычно комиссии.
Большинство интерфейсов кошельков позволяют выбрать стоимость передачи одного байта данных. Если вы выберете низкую ставку комиссии, например 1 sat/vb (сатоши за байт) или 3 sat/vb, то будете платить почти минимально возможную сумму, тогда как если вы выберете ставку комиссии 10 sat/vb или 30 sat/vb, то ваши расходы будут примерно в десять раз выше!
Так почему же кто-то выбирает более высокую ставку комиссии? Причина, как правило, заключается не в щедрости, а в том, чтобы обеспечить своевременное проведение (финализацию) транзакции.
Из-за намеренных ограничений протокола, которые помогают поддерживать децентрализованность Биткоина, в любой период времени может быть обработан (добавлен в следующий блок цепочки) только определенный объем данных. В среднем каждые десять минут может быть обработано от одного до двух мегабайт данных, поэтому если пользователи Биткоина решат отправить транзакции общим объемом свыше двух мегабайт за этот промежуток времени, не все транзакции смогут быть добавлены в следующий блок. Некоторым транзакциям придется ждать дольше, и, как правило, это будут транзакции, которые предлагают майнерам наименьшую комиссию. Это происходит потому, что когда майнеры выбирают, какие транзакции включить в добываемый ими блок, они заинтересованы в максимизации собственной прибыли и в первую очередь включают те транзакции, которые платят им самые высокие комиссии.
Естественно, если текущий спрос на отправку транзакций со стороны пользователей Биткоина невелик, то выбор низкой комиссиионной ставки логичен. Однако если спрос высок и остается высоким в течение длительного периода времени, то выбор низкой ставки может означать, что ваша транзакция не будет обработана до тех пор, пока спрос не спадет или вы не решите увеличить комиссию.
Примеры условий, влияющих на комиссию #
Чтобы представить себе различные условия взимания комиссий, давайте начнем с первых двух месяцев 2022 года, когда спрос на транзакции оставался довольно низким:
Данные о транзакциях в мемпуле: с января по март 2022 года
Высота цветной области показывает, сколько данных транзакций накопилось в ожидании обработки. Несмотря на временные всплески спроса, они стихали в течение нескольких дней, и если отправитель выбирал низкую ставку комиссии, он мог рассчитывать на то, что его транзакция будет обработана относительно быстро. Разные цвета обозначают разные ставки комиссии среди ожидающих транзакций; розовый цвет, расположенный ближе к низу, показывает транзакции со ставкой 1 sat/vb, которые обрабатывались регулярно.
Теперь давайте вернемся на год назад, в первые несколько месяцев 2021 года, когда пользователи были взволнованы взлетом цены биткоина:
Данные о транзакциях в мемпуле: с января по март 2021 года
Здесь картина совершенно иная. При сохранении высокого спроса очередь транзакций (также известная как “мемпул”) продолжала расти. Транзакции с низкой комиссией, как показано розовым и фиолетовым цветом, не обрабатывались неделями. Пользователи, которые хотели, чтобы их транзакции были обработаны в следующем блоке, устанавливали всё более высокие комиссии. Транзакции, выделенные зеленым и желтым, имеют ставки комиссии от 10 sat/vb до 50 sat/vb.
После такого наплыва платежей в начале 2021 года, мемпул полностью очистился только в июне, когда цена биткоина упала и ажиотаж стих.
Такая очередь сохранялась около шести месяцев, поэтому если вам нужно было срочно перевести биткоины в этот период времени, вы были вынуждены использовать более высокие ставки комиссии. Например, в апреле 2021 года можно было наблюдать неделю, когда обрабатывались только транзакции, которые имели ставку комиссии около 100 sat/vb и выше, как показано на графике серым и темно-красным цветом:
В апреле 2021 года были зафиксированы непомерно высокие комиссии за транзакции
Такие графики можно посмотреть на сайте mempool.space/ru, переведённый на русский проектом 21 идея. На этом сайте вы можете следить за текущими комиссиями в режиме реального времени, а также изучить множество других интересных данных о майнинге и блокчейне!
Разбираемся с цифрами #
Наиболее дорогостоящий вариант — это когда у вас много UTXO, которые нужно отправить в кратчайшие сроки, в то время как уровень комиссий чрезвычайно высок. Чтобы проиллюстрировать это, давайте сравним очень грубые оценки затрат на быструю отправку различного количества UTXO в условиях различных комиссий:
Как видите, независимо от отправляемой суммы биткоинов, комиссия может в разы отличаться. Если у вас есть 0.9 BTC в виде 100 UTXO и вы вынуждены отправить их с комиссией 100 sat/vb, это может обойтись вам в 2 000 раз дороже, чем если бы вы отправили 0.9 BTC в виде 5 UTXO с комиссией 1 sat/vb.
Чтобы еще раз продемонстрировать ситуацию, возьмём цену в 50.000 долларов за биткоин. При таком курсе обмена 1.000 сатоши будут стоить всего 0,5 доллара, а 2.000.000 сатоши (0,02 BTC) — 1.000 долларов. В тот короткий период в апреле 2021 года некоторые пользователи платили такую цену — или даже выше — за проведение одной транзакции!
Понятно, что предпочтительнее переводить биткоины в периоды с более низкими комиссиями, но не все могут контролировать, когда им нужно тратить деньги. Когда жизнь (или бизнес) преподносит неожиданные сюрпризы, вам может понадобиться срочно перевести биткоины. Если комиссия высока, бывает очень сложно предсказать, как долго придется ждать, пока она снизится; более того, комиссия может и вырасти.
Что вы действительно можете контролировать, так это количество UTXO, которые вы храните. Если для вас важно сокращение расходов, вы можете предпринять несколько упреждающих действий.
Стратегии для предотвращения большого количества UTXO #
Как кратко описано в нашей первой статье в этой серии, есть два основных способа поддерживать количество UTXO на достаточно низком уровне. Контролируя частоту пополнения кошелька, вы можете уменьшить количество UTXO, которые вы создаёте в своём кошельке с течением времени. Кроме того, если у вас уже больше UTXO, чем вам хотелось бы, вы можете провести консолидацию UTXO.
Контроль частоты депозитов #
Если вы постоянно накапливаете биткоины и сразу же отправляете их на свой кошелек, то, возможно, вы быстро увеличиваете количество UTXO. Один перевод в день на ваш кошелек приведет к тому, что менее чем за год вы получите более 300 UTXO (и потенциальную цену в тысячи долларов за их отправку в будущем). Вот несколько альтернатив:
- Для тех, кто покупает биткоины по стратегии DCA: Если вы регулярно покупаете биткоины на бирже, возможно, несколько раз в неделю, подумайте о том, чтобы отправлять их на свой кошелек реже (один или два раза в месяц). Таким образом, в итоге у вас будет менее 25 новых UTXO в год.
- Для майнеров: Если вы присоединились к майнинговому пулу, у вас должна быть возможность регулировать порог выплат. Таким образом вы можете уменьшить частоту отправки заработанных средств на ваш кошелек. Если вы повысите порог, ваши средства будут отправляться на ваш кошелек реже, и со временем вы накопите меньше UTXO.
Конечно, эти альтернативы предполагают хранение части ваших биткоинов в чужих руках в течение более длительного периода времени, что создает дополнительные риски. Однако, если подавляющее большинство ваших биткоинов уже находится под вашим контролем, этот компромисс может быть оправданным. В случае если с сервисом случится что-то серьезное, вы рискуете потерять только те биткоины, которые недавно приобрели.
Стратегическая консолидация UTXO #
Если у вас в кошельке уже много UTXO, вы все равно можете существенно снизить будущие комиссии. При консолидации можно взять несколько или все ваши UTXO и объединить их таким образом, что вы будете хранить то же количество биткоинов в одном UTXO.
Провести консолидацию UTXO очень просто: достаточно создать транзакцию, содержащую UTXO, которые вы хотите консолидировать, и отправить их самому себе. Например, если у вас есть девять UTXO по 0.1 BTC, вы можете собрать их в кучу и отправить на новый адрес, сгенерированный вашим кошельком:
В итоге в вашем кошельке окажется один UTXO. Однако у вас больше не будет ровно 0.9 BTC, потому что консолидация UTXO воспринимается сетью так же, как и любая другая транзакция. Вам придется использовать часть ваших биткоинов, чтобы оплатить комиссию за транзакцию.
Теперь, если вам все равно придется платить комиссию за транзакцию, причем потенциально большую из-за количества отправляемых UTXO, вы можете задаться вопросом, зачем вообще нужна консолидация UTXO! Ответ заключается в ставках комиссии; если вы консолидируете свои UTXO с низкой ставкой комиссии, например 1 sat/vb или 3 sat/vb, то вы будете гораздо лучше подготовлены к условиям с более высокой ставкой комиссии, если таковые возникнут.
Если вы хотите получать оповещения при падении комиссионных ставок в сети Биткоин, используйте такие инструменты, как txfees.watch.
Иметь только один UTXO и быть вынужденным отправлять его по 50 sat/vb или 100 sat/vb будет гораздо менее болезненно, чем отправлять много UTXO по таким ставкам.
Мы рекомендуем производить консолидацию, если в кошельке находится более 20 UTXO, особенно если номинал этих UTXO относительно невелик. Эта рекомендация, вероятно, снизит будущие расходы, а также гарантирует, что большинство моделей аппаратных кошельков смогут справиться с нагрузкой обработки данных при выводе максимальной суммы средств в любое время.
Примечание о приватности #
В первой статье мы говорили о том, что консолидация UTXO и хранение UTXO крупных номиналов может негативно сказаться на вашей приватности. Это, безусловно, важный момент. Если вы хотите узнать больше о сохранении приватности, обязательно ознакомьтесь с третьей статьей из этого цикла о UTXO, посвященной этой теме.
Поддержите переводчика #
Поддержать переводчика можно, отправив немного сат в сети Лайтнинг:
lnurl1dp68gurn8ghj7ampd3kx2ar0veekzar0wd5xjtnrdakj7tnhv4kxctttdehhwm30d3h82unvwqhk7mnv093kcmm4v3unxwg6jxyqf