Как можно отменить транзакцию биткоина?

Всем, кто хоть немного знаком с биткоином известно, что невозможно отменить биткоин-транзакцию. Необратимость транзакций одно из отличительных свойств системы пиринговой наличности, в отличии от централизованных платежных систем, на которых основаны все существующие системы фиатных переводов. Одно время разработчики Bitcoin Core собирались внести изменение в клиент, которое позволило бы редактировать транзакцию еще не принятую в блок с целью изменения комиссии, но такая возможность пока реализована не была. Однако, уже сейчас при определенных условиях и огромном желании отменить транзакцию bitcoin возможно.
Как можно отменить транзакцию биткоина?

Этот материал является описанием проведенного эксперимента, целью которого было проверить, с насколько низкими комиссиями можно успешно отправить монеты BTC с кошелька Bitcoin Core. Эксперимент оказался неудачным и привел к тому, что пять транзакций, отправленных с разнообразными установками кошелька в части комиссий «зависли». Но затем экспериментатору удалось отменить зависшие транзакции с возвратом заблокированных сумм.

Как не следует совершать биткоин-транзакции

Первые 2 транзакции попытались отправить с выставленной минимальной комиссией в 0,00001 BTC и флажком «Попытаться отправить без комиссии, если это возможно».

Транзакция биткоина

Обратите внимание, клиент рекомендует выставить 0,00013615 BTC за килобайт. Но для оставшихся трех транзакций, каждая из которых была на ту же сумму 0,01 BTC, рекомендация касательно размера комиссии была проигнорирована, а сам размер комиссии выставлен заведомо меньшим, чем рекомендованный.

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

Биткоин-транзакция

Дополнительное неудобство состояло в том, что биткоин-адрес, на который были отправлены монеты, в свою очередь, нельзя было использовать для отправки BTC. Попытка сделать перевод сопровождалась сообщением: «Oops! You have unconfirmed deposits pending. You must wait for your deposits to be confirmed before withdrawing».

Если ситуация вам знакома, то паниковать точно не стоит. Для начала, некоторое время можно подождать. Если очередь транзакций рассосется, то возможно, в конце-концов, дойдет до вашего перевода. Если же ожидание излишне затянулось, как в нашем случае на неделю, то можно попробовать заставить кошелек, здесь это делалось на примере Bitcoin Core, «забыть» о размещенных транзакциях. Ведь до тех пор, пока не пришло первое подтверждение, биткоин-транзакция не попала в блок, а значит, знает о ней только ваш клиент.

Как откатить зависшую транзакцию?

  1. Убедитесь, что транзакция зависла. Откройте Block Explorer и проверьте, что про зависшую транзакцию там ничего не знают, а на счете деньги на самом деле есть. Даже в случае, если сайт blockchain.info показывает транзакцию и рисует красную кнопку «Неподтвержденная транзакция», то потеряно еще не все.
  2. В биткоин-кошельке перейдите в отладочную консоль (Помощь — Окно отладки — Консоль) или (Help – Debug window – Console).
  3. Если кошелек зашифрован, то для начала необходимо получить доступ, используя команду walletpassphrase <passphrase>.
  4. Теперь нужно получить приватный ключ от нужного биткоин-адреса: dumpprivkey <address>. Вместо <address> необходимо подставить адрес, который был использован для отправки средств. В результате получите приватный ключ для указанного адреса кошелька. Его нужно куда-нибудь скопировать, он понадобится. Если транзакция была составная, и биткоины брались с нескольких счетов, то и экспортировать надо приватные ключи для всех этих адресов. Никогда не храните приватные ключи в доступном для кого-либо месте. Знание ключа дает полный доступ к соответствующему ему счету. Также, обратите внимание на то, что на каждую команду в режиме отладки в консоли приходит ответ. Он может быть пустым, но он есть всегда.
  5. Если на других адресах есть биткоины, то приватные ключи этих адресов так же необходимо экспортировать.
  6. После того, как закончили экспорт ключей, закройте клиент и удалите кошелек. Расположение кошелька wallet.dat зависит от конкретного биткоин-клиента и операционной системы. Естественно, совсем удалять его не стоит, лучше переименовать или переместить в надежное место.
  7. Теперь перезапустите клиент. Он заново создаст кошелек. В него необходимо импортировать полученный ранее ключ (ключи). Идем в отладочную консоль и пишем importprivkey <privkey>. Импорт может занять достаточно много времени, но в любом случае дайте ему завершиться, обязательно дождитесь ответа на команду.
  8. В новом кошельке должен появиться счет с его реальным состоянием. Неподтверждённые транзакции «забыты», средства, заблокированные ранее снова доступны для отправки. Теперь можно выслать их заново, но на этот раз не забудьте включить рекомендованную комиссию.

BTC транзакция

Для клиента, где отсутствует функционал расчета рекомендованного размера комиссии, можно воспользоваться сервисом Blocktrail. Клиентом, который не только не показывает, но и не предоставляет возможность выставить размер комиссии, пользоваться можно на свой страх и риск.

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



HashFlare

Комментарии

Аватар пользователя Golem

Golem

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

пн, 08/08/2016 - 11:53

Аватар пользователя Frencky

Frencky

Вилами по воде писано! Отменить транзакцию биткоина нельзя, это основополагающий принцип криптовалюты, придуманный Сатоши Накамото. Это как три закона робототехники!

пн, 07/11/2016 - 14:36

Аватар пользователя vector

vector

Написано не совсем о том, что указано в названии статьи

пт, 03/03/2017 - 21:08

Аватар пользователя Seva

Seva

Слишком сложно, и не факт, что такие действия помогут отменить транзакцию биткоина, слишком все на тоненького!

пт, 24/03/2017 - 22:15

Аватар пользователя Марина 567

Марина 567

Осуществляла перевод биткоин на сайте bankcomat.cc по отзывам клинтов все летает. Заявка 1239 от 30.04.17 не была оплачена на карту приват банка. После общения с оператором по вопросу выяснения оператор сказала , что я ее зае.... принципиально денег не вернем и заблокировала меня. Пожалуйста подскажите как можно вернуть деньги куда обратится

ср, 03/05/2017 - 22:15

Аватар пользователя Викторович

Викторович

Нужно подробнее и картинки ,как и куда нажимать,что вставлять,я точно знаю -переводы без 1 подтверждения отменяются.

чт, 24/08/2017 - 13:52

Добавить комментарий