Title: Замена на транзакцию с меньшей комиссией Post by: internetional on November 16, 2023, 07:29:06 AM Я наткнулся в эксплорере blockcypher.com на две странные транзакции.
Вот первая: https://live.blockcypher.com/btc/tx/1b1f9676f3cff4447232fce221a3720e2a1cac60a26c200a45a5d5ea4b942d6a/ В ней биткоины отправляются с адреса bc1q...22kg на адрес bc1q...74x7, и за отправку назначается комиссия 406800 сатоши. Очень большая комиссия, даже по нынешним временам. Тем не менее, про эту транзакцию Blockcypher пишет следующее: Quote WARNING: This transaction has been double-spent by 77708359eedb5cbe42687f3613daad1…, be extremely careful when accepting this transaction! , что в переводе на русский означает: "Внимание! Для этой транзакции существует транзакция повторной траты 77708359eedb5cbe42687f3613daad1... Будьте предельно осторожны при приёме этой транзакции".Я перешёл на транзакцию повторной траты (https://live.blockcypher.com/btc/tx/77708359eedb5cbe42687f3613daad11c14680aa313d26065c25c7ef18af35af/) и увидел, что в ней биткоины были отправлены с того же адреса bc1q...22kg на тот же адрес bc1q...74x7, но за транзакцию была назначена гораздо меньшая комиссия: 1130 сатоши. И почему-то в блокчейн попала вторая транзакция (с меньшей комиссией). Как такое могло получиться? Title: Re: Замена на транзакцию с меньшей комиссией Post by: witcher_sense on November 16, 2023, 10:31:03 AM Майнеры имеют право выбирать транзакцию с меньшей комиссией - это вполне нормальная ситуация для децентрализованного блокчейна. А здесь могло произойти следующее: кто-то отправил транзакцию с довольно маленькой платой за транзакцию, а потом посмотрел на забитый мемпул и ужаснулся. Далее этот кто-то использовал RBF для ускорения подтверждения транзакции, но немного не успел, так как прошлая транзакция уже оказалась в блоке. Майнеры не должны включать другую транзакцию с большой комиссией, потому что это сделает блок невалидным. Ну и естетвенно, это предупреждение для всех, кто принимает транзакции как совершенные даже без одного подтверждения в блокчейне.
Title: Re: Замена на транзакцию с меньшей комиссией Post by: igor72 on November 16, 2023, 04:17:12 PM И почему-то в блокчейн попала вторая транзакция (с меньшей комиссией). Как такое могло получиться? Вторая транзакция на самом деле попала в сеть на 20 минут раньше, RBF-флаг в ней установлен не был, поэтому многие ноды не приняли заменяющую транзакцию, несмотря на огромную комиссию, и в итоге она не дошла до мемпула конкретного майнера.Title: Re: Замена на транзакцию с меньшей комиссией Post by: Lannakosa on November 16, 2023, 08:37:49 PM И почему-то в блокчейн попала вторая транзакция (с меньшей комиссией). Как такое могло получиться? Вторая транзакция на самом деле попала в сеть на 20 минут раньше, RBF-флаг в ней установлен не был, поэтому многие ноды не приняли заменяющую транзакцию, несмотря на огромную комиссию, и в итоге она не дошла до мемпула конкретного майнера.И могут ли первую транзакцию вообще не принять, если в ней установлена слишком низкая комиссия. Я с такими транзакциями еще не сталкивалась, но все равно хотелось бы знать чем это чревато для меня, если когда то придется иметь с таким дело. Title: Re: Замена на транзакцию с меньшей комиссией Post by: klarki on November 16, 2023, 09:15:28 PM И могут ли первую транзакцию вообще не принять, если в ней установлена слишком низкая комиссия. Я с такими транзакциями еще не сталкивалась, но все равно хотелось бы знать чем это чревато для меня, если когда то придется иметь с таким дело. Могут, но можно ретранслировать эту транзакцию. Лучше всего отслеживайте состоянии загруженности, например, через mempool (https://mempool.space/ru/). Ну а еще лучше, если есть необходимость сейчас гонять биток дешево, подождать пока спадет активности. Либо использовать альтернативу (обернутые BTC, LN). Title: Re: Замена на транзакцию с меньшей комиссией Post by: igor72 on November 17, 2023, 06:14:39 AM И почему-то в блокчейн попала вторая транзакция (с меньшей комиссией). Как такое могло получиться? Вторая транзакция на самом деле попала в сеть на 20 минут раньше, RBF-флаг в ней установлен не был, поэтому многие ноды не приняли заменяющую транзакцию, несмотря на огромную комиссию, и в итоге она не дошла до мемпула конкретного майнера.Чтобы вторая транзакция заменила первую, 1) комиссия за вторую должна быть выше как минимум на 1 сат/вБ, 2) в первой транзакции должен быть установлен флаг RBF (во второй - безразлично). Про RBF можно добавить, что скоро все транзакции будут заменяемыми, в последних версиях Электрума уже даже нет опции отключения RBF. Quote И могут ли первую транзакцию вообще не принять, если в ней установлена слишком низкая комиссия. Я с такими транзакциями еще не сталкивалась, но все равно хотелось бы знать чем это чревато для меня, если когда то придется иметь с таким дело. Меньше 1 сат/вб не примут в принципе (хотя майнер может и без комиссии отправить), а в периоды большой загрузки мемпулов у большинства нод эта цифра может подниматься, и существенно - вчера я видел, что отвергались транзакции с комиссией ниже 32 сат/вб, сейчас эта цифра 23. Но не все ноды так настроены, в некоторые мемпулы сейчас принимаются и дешевые транзакции. Вчера, например, я смог отправить транзакцию 17 сат/вб и бесплатно ускорить ее, в итоге обошлась она мне меньше доллара, в то время как без этих хитростей я заплатил бы за нее в 10 раз больше.Если первую транзакцию мемпулы приняли, но она долго висит (не подтверждается), то через определенный срок (по умолчанию 2 недели) мемпулы удаляют ее. Но опять же строгого правила нет, на каких-то нодах транзакция может висеть вечно (пока хотя бы один utxo в ней не будет потрачен), а при снижении загрузки мемпулов наконец подтвердиться. Также, как коллега передо мной сказал, транзакция может кем-то ретранслироваться и снова на две недели появляться практически на всех нодах. Title: Re: Замена на транзакцию с меньшей комиссией Post by: internetional on November 17, 2023, 07:12:23 AM Вторая транзакция на самом деле попала в сеть на 20 минут раньше, RBF-флаг в ней установлен не был, поэтому многие ноды не приняли заменяющую транзакцию, несмотря на огромную комиссию, и в итоге она не дошла до мемпула конкретного майнера. Да, это всё объясняет. А где Вы увидели, в какое время были транслированы эти транзакции? Я отклонённую транзакцию в других эксплорерах не нашёл, а blockcypher не показывает время трансляции. Получается, меня ввело в заблуждение уведомление о том, что транзакция с большей комиссией была «перепотрачена» (double-spent), и я представил себе ситуацию так, как будто бы отправитель сначала создал транзакцию, в которой забыл прописать адрес для сдачи, и в ней вся разница между суммами входа и выхода пошла на комиссию, а потом отправитель это заметил и «перепотратил» монету в новой транзакции с меньшей комиссией. А на самом деле, наоборот, транзакция с большей комиссией пыталась «перепотратить» вход той транзакции, где комиссия была меньше. Title: Re: Замена на транзакцию с меньшей комиссией Post by: igor72 on November 17, 2023, 07:48:36 AM А где Вы увидели, в какое время были транслированы эти транзакции? Я отклонённую транзакцию в других эксплорерах не нашёл, а blockcypher не показывает время трансляции. Показывает, нажмите "</> API Call", там в том числе есть и время, и текст транзакции, в котором я увидел, что она без RBF.Title: Re: Замена на транзакцию с меньшей комиссией Post by: BVeyron on November 18, 2023, 08:49:22 AM Вчера, например, я смог отправить транзакцию 17 сат/вб и бесплатно ускорить ее, в итоге обошлась она мне меньше доллара, в то время как без этих хитростей я заплатил бы за нее в 10 раз больше. Если не секретная, поделитесь с комьюнити поподробнее, что и как надо делать. Чтобы так экономить. Я думаю многие будут вам признательны меритами и не только. :) И еще, как и где вы смотрите минимальные сат/vB которые ноды принимают во времена большого бума с мемпулом ? Тоже интересно. Title: Re: Замена на транзакцию с меньшей комиссией Post by: igor72 on November 18, 2023, 09:51:29 AM Вчера, например, я смог отправить транзакцию 17 сат/вб и бесплатно ускорить ее, в итоге обошлась она мне меньше доллара, в то время как без этих хитростей я заплатил бы за нее в 10 раз больше. Если не секретная, поделитесь с комьюнити поподробнее, что и как надо делать. Чтобы так экономить. 1. Транзакция должна быть не больше 500 байт (может, 512 - не проверял) 2. Она должна быть отправлена с комиссией не менее 10 сатоши за байт. 3. В час принимается только 100 транзакций, поэтому старайтесь это делать в начале часа (вчера 100 мест забивалось за 45 секунд) Думаю, стоит пояснить, что байты здесь подразумеваются реальные, а не виртуальные. То есть, несмотря на то, что, к примеру, в типичной сегвит-транзакции (1 вход/2 выхода) мы платим за 141 виртуальный байт, занимает она 222 реальных байта - примерно столько же, сколько и легаси. Из этого следует, что: 1. Транзакция в любом случае должна иметь не больше, чем 3 входа без сдачи или не больше, чем два входа со сдачей, 2. Сегвит-транзакция должна быть отправлена с комиссией не меньше, чем 16.2 сатоши за виртуальный байт. Округлим, получается не менее 17 сат/вБ. Ну и лайфхак напоследок. Я не смог вчера отправить такую транзакцию из Электрума, потому что сервера отвергали в тот момент транзакции меньше 30 сат/вБ. Но я ее без проблем запушил прямо на ViaBTC-сервере (https://www.viabtc.com/tools/broadcast), после чего успешно ускорил. Quote И еще, как и где вы смотрите минимальные сат/vB которые ноды принимают во времена большого бума с мемпулом ? Тут (https://mempool.space/ru/), параметр "Очистка".Тоже интересно. |