Что такое сдача в биткоин транзакциях
Перейти к содержимому

Что такое сдача в биткоин транзакциях

  • автор:

Как работают биткоин-транзакции?

Биткоин-транзакции не работают так же, как у PayPal или по кредитным картам. Децентрализованные и одноранговые транзакции биткоина это немного более сложный процесс.

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

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

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

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

— Сатоши Накамото, WhitePaper Биткоина

Как отправлять и получать биткоины

• Чтобы отправить биткоин, вам необходимо знать адрес биткоин-кошелька получателя.

• Чтобы получить биткоин, вам нужно иметь адрес своего биткоин-кошелька и сообщить его отправителю.

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

Транзакция использует закрытые ключи для авторизации и записи (подписания, запечатывания и доставки) транзакции в блокчейн, но на самом деле вы никогда никому не передаете закрытые ключи. Если вы это сделаете, то можете потерять все содержимое вашего кошелька — точно так же, как выдача пароля вашей учетной записи электронной почты позволяет людям получить доступ ко всем вашим сообщениям.

Составляющие биткоин-транзакции

Биткоин-транзакция состоит из трех частей:

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

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

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

Одно предостережение

Поскольку биткойны существуют только в виде записей о транзакциях, вы можете отправить только ту сумму, которую получили ранее. Если Женя отправил вам 0,25 BTC, но вы хотите купить что-то за 0,1 BTC, ваш кошелек должен отправить все 0,25 BTC, а затем вы получите обратно оставшиеся 0,15 BTC, записанные как отдельная транзакция кошелька (ваша «сдача »).

Звучит сложно, но на самом деле это просто говорит о том, что биткойн не существует в пуле «денег», подобно копилке. Вы можете увидеть 0,75 BTC в своем биткойн-кошельке, но если они поступят тремя отдельными транзакциями по 0,25 BTC, они останутся такими, пока вы не отправите их куда-нибудь еще. Затем каждая предыдущая транзакция обрабатывается отдельно, чтобы сохранить цепочку транзакций в виде нерушимой и отслеживаемой исторической записи. Вы будете платить майнеру комиссию за обе части транзакции: часть, которая идет к получателю, и часть, возвращаемая вам в качестве сдачи.

Если вы хотите инвестировать в криптовалюту, но боитесь начать, советуем вам начать с облачного майнинга. Хотите попробовать бесплатно? Регистрируйтесь и получите в подарок контракт на облачный майнинг на месяц!

Подписывайтесь на нас в социальных сетях:

Как работает «сдача» при совершении Bitcoin транзакции?

Прошу прощения, если для кого-то этот вопрос покажется глупым, но я никак не могу до конца понять как устроены транзакции биткоин и как они сохраняются в Blockchain.

Я заметил, что во время отправки денег с одного кошелька на другой происходит не одна операция, а сразу несколько. Т.е. в одной транзакции содержатся сразу несколько адресов получателей и разные суммы для каждого из адресов.

Один из этих адресов действительно тот, который был указан мной как «получатель» в биткоин-клиенте, при отправке денег.

Еще я заметил что общая сумма транзакции равна последнему поступлению денег в мой кошелек. Т.е. как бы отправка происходит всего куска, часть из них уходит действительно адресату, а часть переходит на мои же адреса (вроде бы). Т.е. Поступления на мой счет являются как бы «неделимыми»?

Наверно я ничего не понимаю из-за того, что не знаю что-такое Инпуты и Оутпуты и, вообще, как хранятся данные в Blockchain.

Задал вопрос на Reddit/r/Bitcoin, там мне посоветовали эту ссылку
bitcoin.stackexchange.com/questions/736/how-does-c.

Читаю, перевожу, даже распечатал. Ничего не понимаю.

По поводу разницы между аккаунтом и адресом, это понятно. Аккаунт один, адресов в нем много. К каждому адресу приватный ключ. Но кто такие «Инпуты» и «Оутпуты» и почему они существуют?

Буду крайне признателен за помощь.

UPDATE: Забыл указать, что для просмотра транзакций я использовал адрес https://blockchain.info/ru/address/, а в качестве биткоин клиента оригинальный bitcoin-qt

  • Вопрос задан более трёх лет назад
  • 11808 просмотров

Комментировать
Решения вопроса 0
Ответы на вопрос 3

Нет такого понятия как «деньги на кошельке Y». Есть понятие «перевели сумму X на кошелек Y». Из этих переводов и складывается сумма на кошельке. И потратить вы(если ничего не путаю)можете только такими же кусками, как вам перечисляли. То есть, например, у вас 2 биткоина, которые попали к вам 4мя переводами по 0.5. Если вы хотите перевести кому-то 1.8, то говорите, что «я беру эти 4 транзакции и из них 1.8 отдаю такому то чуваку, а 0.2 оставляю себе» либо на один из существующих кошельков, либо на заново сгенеренный.

Ответ написан более трёх лет назад
Комментировать
Нравится 2 Комментировать

Кошелек — это набор сгенерированных пар приватный ключ/адрес, некоторые из которых могут иметь непотраченные выходы (типа купюры).

Биткоин-транзакции имеют входы и выходы, выходы можно потратить, создав биткоин-транзакцию, где эти выходы станут входами, а выходы — адрес получателя и (опционально) адрес, куда пойдет разница между суммой входов и значением, который получит этот получатель.

Вобщем, это нужно немного осмыслить 🙂

Ответ написан более трёх лет назад
Yordi @Oleg_Yozhik Автор вопроса

Ага, кажется начинаю понимать. Т.е. Вход — это приход денег. Например мне кто-то оправил 5 БТЦ на мой адрес, значит появился Вход на 5 биткоинов. Теперь если мне нужно будет потратить 1 битикоин, то транзакция будет состоять из перевода в 5 БТЦ и сдача в 4 БТЦ, верно?

Мне только непонятно почему делить «купюру» перед отправкой нельзя, а вот при возврате сдачи проблем с разделением не возникает? Наверняка в этом есть определенный смысл.

Каждая транзакция сохраняется в Blockchain в виде информации, но основная роль Blockchain это задать порядок транзакций: каждый блок это как вагон в котором лежат дровишки — каждая дровишка уникальна, пронумерована, зашифрована — эти дровишки и есть транзакции и весь вагон проштампован чтобы злоумышленики не вскрыли и не утащили ни единую дровшику, иначе будет недовес и несоответствие другим точным показателям (по миллиграммам определяется :)).

Фигуративно также существует TransactionChain — это уже другая цепочка в этой цепочке транзакции идут друг за другом, ссылаясь друг на друга с момента когда произошла эмиссия (например цепочка из 500 транзакций и так пока фрактальный резерв не закончится).

Меня интересует больше другой вопрос: насколько я понял проверкой TransactionChain занимается комп.пользователя биткоин клиента на основании данных полученных из папки блокчейн и пр. информации — также мне неизвестна иерархия хранения — подскажите — блокчейн хранится отдельно от транзакшнчейна или транзакшнчейн прямо в одном файле находится вместе с блокчейном?

Но самый основной вопрос который прямо не даёт мне спать: насколько длинной должна стать цепочка этих аутпутов / инпутов отсчитывая от genesis block чтобы засорить процессор чрезмерно сложными вычислениями? Да я понимаю что биткоин-клиент в первом запуске может несколько часов только лишь проверять цепочки TransactionChain’a на валидность (если я правильно понял по таймингу, если неправильно то поправьте — и скажите сколько реально на что в основном уходит время).

Меня интересует насколько должна быть большая цепочка TransactionChain’a для того чтобы компьютеру ушло более 1 дня на анализ происходящего (В том плане если в будущем не обрезать блокчейн ведь так и так будут копиться астрономические суммы).

Bitcoin транзакция

Bitcoin транзакции — это подтверждённая подписью секция данных (подпись транзакции), которая передаётся по сети Bitcoin и собирается в блоки. Обычно она содержит ссылки на предыдущие транзакции и ассоциирует определённое количество Биткоинов с одним или несколькими публичными ключами (Биткоин адресами). Она не зашифрована, так как в системе Биткоин ничего не зашифровано.

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

Что такое Bitcoin транзакция? [ править ]

Сложность процедуры традиционной банковской онлайн транзакции [ править ]

Оплате банковской платёжной картой в торгово-сервисном предприятии, начинается, когда держатель карты решает оплатить товар или услугу, и передаёт карту (либо оплачивает сам) кассовому работнику.

Традиционная схема банковской онлайн транзакции выглядела так

Посредством POS-терминала, в целях аутентификации держателя, информация о карте из терминала передаётся в банк-эквайрер, обслуживающий данный терминал, и имеющий соглашение с владельцем торговой точки. В зависимости от договорённостей торговая точка оплачивает банку комиссию за его участие в обработке транзакции. Далее банк-эквайрер передаёт информацию в платёжную систему, обслуживающую данную карту. Там данные попадают в операционный центр, к которому подключены банки-участники платёжной системы. В этом центре проходит проверка на предмет наличия или отсутствия платёжных данных карты в стоп-листе и в зависимости от полученного результата в транзакции отказывается или она одобряется с дальнейшим направлением в банк-эмитент, выпустивший данную карту, и обслуживающий привязанный к ней банковский счёт/счета клиента. Здесь она попадает в процессинговый и авторизационный центр, в котором проводятся расширенные проверки на легальность обрабатываемой транзакции. При подозрении на мошенничество или нарушение условий обслуживания даётся отказ. В зависимости от типа карты (дебетовая или кредитная) и установленного банком приоритета авторизации здесь может проводиться проверка доступного остатка средств на счёте или платёжного лимита, а также сверяться авторизационный PIN-код держателя. При удовлетворении всем проверкам эмитент одобряет операцию и в рамках транзакции, также через платёжную систему, ответ даётся в торговую точку. Путём взаиморасчётов с платёжной системой эмитент перечисляет эквайреру сумму запрашиваемых по транзакции средств, а также комиссию платёжной системы за обработку транзакции. В свою очередь с клиентского счёта банк списывает оплачиваемую и подтверждённую клиентом к оплате сумму денег (для дебетовых карт) или уменьшает доступный платёжный лимит, тем самым резервируя часть средств к последующему списанию (для кредитных карт). Транзакция завершается в момент поступления обратно в торговую точку ответа с одобрением или отказом. Bitcoin транзакцию отменить невозможно.

Преимущество проведения Bitcoin транзакции перед банковской онлайн транзакцией: [ править ]

  • Избавление от посредников (банков-корреспондентов)
  • Быстрота транзакций
  • Стоимость транзакции
  • Низкий риск возникновения ошибок
  • Децентрализация,
  • P2P взаимодействие

Общий формат проведения Bitcoin транзакций (внутри блока) [ править ]

Поле Описание Размер
Номер версии На данный момент 1 4 байта
Входящий счётчик Положительное целое VI = VarInt 1-9 байтов
Список входящих данных Первый ввод первой транзакции также называется «coinbase» (монетная база) много входящих данных
Исходящий счётчик Положительное целое VI = VarInt 1-9 байтов
Список исходящих данных Исходящие данные первой транзакции используют добытые Биткоины для блока много исходящих данных
Время блокировки Если не равны нулю и порядковые номера меньше 0xFFFFFFFF: высота блока или временная отметка (для конечных транзакций) 4 байта

Пример транзакции Биткоина с одним входом и одним выходом [ править ]

Данные [ править ]

Input: Previous tx: f5d8ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6 Index: 0 scriptSig: 304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10 90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501
Output: Value: 5000000000 scriptPubKey: OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d OP_EQUALVERIFY OP_CHECKSIG

Объяснение [ править ]

Вход в этой транзакции импортирует 50 BTC от выхода #0 в транзакции f5d8. а затем выход отправляет 50 BTC на Биткоин адрес (выраженный здесь в шестнадцатеричной системе — 4043…). Когда получатель захочет потратить свои деньги, то он будет ссылаться на выход #0 этой транзакции для входа своей собственной транзакции.

Вход [ править ]

Вход (input) — это ссылка на выход другой транзакции. У транзакции часто бывает несколько входов. Значения этих ссылок суммируются, и общая сумма биткоинов может быть использован в выходе текущей транзакции. Previous tx — это хеш предыдущей транзакции. Index — это определённый выход этой транзакции. ScriptSig — это первая половина половина скрипта (подробнее об этом — ниже).

Скрипт содержит две компоненты: подпись (signature) и публичный ключ (public key). Публичный ключ принадлежит пользователю, который использует выходы транзакции, и подтверждает то, что создатель транзакции имеет право распоряжаться суммой, пришедшей с выходов. Другой компонент – это ECDSA-подпись хеша упрощённой версии транзакции. Объединённая с публичным ключом, подпись подтверждает, что транзакция была создана реальным владельцем данного Bitcoin адреса.

Выход [ править ]

Выход (output) содержит инструкции по отправлению биткоинов. Значение (value) — это количество сатоши (1 BTC = 100,000,000 сатоши), которое сможет использовать транзакция, для которая текущая будет входом. ScriptPubKey — это вторая половина скрипта (будет рассмотрена далее).

Может существовать более одного выхода, и они будут делить между собой сумму, пришедшую со входов.

Каждый выход транзакции может быть использован в качестве входа для следующей транзакции только один раз, поэтому сумма всех входов для текущей транзакции должна быть использована на её выходах. В противном случае, оставшаяся сумма входов транзакции будет потеряна. Например, если ввод равен 50 BTC, а пользователю нужно отправить только 25 BTC, то биткоин создаст два выхода по 25 BTC каждый: один отправится в пункт назначения, а другой отправится ещё раз владельцу этих средств (так называемая «сдача» — транзакция, которую пользователь фактически отправляет сам себе).

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

Верификация транзакции [ править ]

Для того чтобы проверить, авторизированы ли входы для использования сумм, указанных в выходах предыдущих транзакций, Биткоин использует стандартную систему скриптования (см. дальше). scriptSig входа и scriptPubKey выхода, на который ссылается данная транзакция, оцениваются при помощи scriptPubKey, используя значения оставшиеся в множестве scriptSig.

Вход подтверждается, если скрипт scriptPubKey возвращает значение «true» (истинно). Через систему скрипта, отправитель может создавать очень сложные условия, которым должны соответствовать люди, желающие получить выходящее значение. Например, возможно создать вход, который сможет получить любой пользователь без авторизации. Также возможно потребовать того, чтобы вход был подписан 10 разными ключами, или проверялся не ключом, а паролем.

Общий формат каждого входа транзакции — Txin [ править ]

Поле Описание Размер
Хеш предыдущей транзакции Двойное SHA256-хэширование предыдущей транзакции 32 байта
Предыдущий Txout-индекс Неотрицательное целое, индексирующее выходы предыдущей транзакции 4 байта
Длина скрипта Txin Не отрицательное целое VI = VarInt 1-9 байтов
Txin-script / scriptSig Скрипт -много байтов
sequence_no обычно 0xFFFFFFFF; действует, только если lock_time транзакции > 0 4 байта

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

Общий формат каждого выхода транзакции — Txout [ править ]

Поле Описание Размер
value Неотрицательное целое, дающее сумму Сатоши (1 BTC = 10^8 сатоши), необходимых для транзакции 8 байтов
Длина Txout-скрипта Неотрицательное множество 1-9 байтов
Txout-script / scriptPubKey Скрипт — много байтов

Выход определяет условия по использования данных биткоинов в следующих транзакциях.

Сумма выходных значений для первой транзакции в блоке — это значение добытых биткоинов для блока, плюс сумма коммиссий от других Биткоин транзакций, включённых в этот блок.

См. также на BitcoinWiki [ править ]

  • Block chain
  • Адрес
  • Блок
  • Комиссия Транзакции Bitcoin
  • Майнинг
  • Биткоин подтверждение транзакции
  • Уязвимость транзакций

Ссылки [ править ]

Биткоин транзакции. Ответы на популярные вопросы

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

Оглавление:

  • Почему биткоин транзакция не подтверждается?
  • Как проверить блокчейн транзакцию
  • Я поставил рекомендуемую комиссию, транзакция зависла
  • Куда попадет криптовалюта с зависших транзакций
  • Как узнать, время обработки транзакции?
  • Биткоин транзакция не подтверждается что делать и как ускорить
  • Как использовать replace-by-fee?
  • Как использовать CPFP? Как быть, если я получатель транзакции?
  • Как сделать даблспенд (двойную трату)?
  • Как отменить биткоин транзакцию?
  • Как избежать зависания транзакций?
  • Какая комиссия за транзакцию будет оптимальной?
  • У меня получается очень большая комиссия, как сэкономить?
  • Можно ли тратить неподтвержденные монеты?
  • Как вычислить размер обычной (не-сегвит) транзакции?
  • Как вычислить размер SegWit-транзакции?

Почему биткоин транзакция не подтверждается?

Скорее всего, отправитель выставил недостаточную комиссию. Может оказаться так, что месяц, неделю, или даже сутки назад её хватало для быстрого подтверждения, а сегодня — нет.

Неподтвержденная транзакция — лишь намерение передать монеты, а не его реализация.

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

Как проверить блокчейн транзакцию

Для того что бы отследить блокчейн транзакцию нужно убедиться, что ваша транзакция действительно ожидает подтверждения. Для этого копируем id вашей транзакции, вставляем в строку поиска blockchair.com (или blockchain.com, или bitaps.com). Далее ищем глазами строку «нет подтверждений» («unconfirmed»). Нашли? Значит, транзакция ждет подтверждения.

Я поставил рекомендуемую комиссию, транзакция зависла

Есть только рекомендуемая кем-то комиссия. Этот кто-то может ошибиться. Ошибочные рекомендации иногда выдаёт большинство кошельков (в том числе bitcoin core).

Куда попадет криптовалюта с зависших транзакций

Рано или поздно «зависшая» криптовалюта дойдет до получателя, либо станет доступна в кошельке у отправителя. Она не может зависнуть навсегда, или просто исчезнуть.

Как узнать, время обработки транзакции?

После того как ввели данные своей транзакции в сервис blockchair.com, такую строку «Priority: 14498/22321» («В очереди: 14498/22321»). Первое число — ваше текущее место в очереди, второе — общая длина очереди. В блоке (раз в 10 минут в среднем) обычно 2-3 тысячи транзакций. Можно примерно оценить время в очереди.

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

Биткоин транзакция не подтверждается что делать и как ускорить

Бывают ситуации когда при отправке биткоинов и других криптовалют транзакция зависает. Для того что бы ее ускорить есть несколько вариантов:

  • Использовать replace-by-fee. Это может сделать только отправитель и если в кошельке стояла галочка до отправки; не все кошельки поддерживают; недорого, несложно.
  • Использовать CPFP (child pays for parent). Это может сделать получатель и обычно отправитель, немного дороже, не очень сложно.
  • сделать даблспенд (двойную трату). Может сделать только отправитель, нужен доступ к приватным ключам или hd seed (12/24 слова), недорого, относительно сложно.
  • использовать бесплатный «ускоритель транзакций» от viabtc. Может сделать кто угодно, бесплатно, несложно, но сервис часто перегружен и есть ограничения на транзакцию (комиссия дожна быть не менее 10 сат/байт). Этот сервис приносит прямые убытки своим создателям и может в любой момент прекратить работу. Ещё есть аналогичный «ускоритель транзакций» от antpool (необходим аккаунт на antpool.com). Иногда не работает.
  • использовать один из платных ускорителей транзакций от пулов viabtc, btc.com. Может использовать кто угодно, но относительно дорого.
  • использовать один из бесплатных/платных ускорителей в телеграмме. Те из них, что работают — переиспользуют ускорители от пулов. Ещё попадаются фальшивые ускорители типа такого: bitaccelerate.com. Они вообще ничего не ускоряют, а только рассылают вашу транзакцию. Как правило, это не имеет смысла.

Как использовать replace-by-fee?

Просто нажать кнопку в кошельке. Для Bitcoin core: открываем вкладку с транзакциями, правой кнопкой по проблемной транзакции, затем «Increase transaction fee».

Как использовать CPFP? Как быть, если я получатель транзакции?

Такой способ есть и он подходит для получателей; для отправителя он также подойдёт, если у вашей транзакции была «сдача» (обычно она есть). Этот способ немного дороже. Можно попробовать задействовать механизм CPFP (child pays for parent). Для этого вы должны потратить один из выходов проблемной транзакции с комиссией, которой хватит на обе транзакции сразу — новую и старую.

Будьте внимательны. Если одна из транзакций — «предков» вашей тоже ещё не подтверждена, то комиссию надо будет рассчитывать на три (или более) транзакции.

То есть просто создаёте транзакцию с одним входом (это должен быть один из выходов проблемной, например — сдача) и пересылаете биткоины себе же. Комиссию ставите такую, чтобы её хватило на обе сразу: для этого суммируете их размеры, умножаете на число из пункта «Как выбрать адекватную комиссию?», делите на размер новой в килобайтах и вписываете в графу «custom transaction fee» при отправке транзакции. Пример для кошелька Bitcoin Core:

  • Пусть вы получатель и должны получить 0.08500148 btc.
  • Для того, чтобы воспользоваться CPFP, в Bitcoin Core нажимаем «Настройки» -> «Параметры» -> «Бумажник» («Settings» -> «Options» -> «Wallet»); ставим галочки у «включить управление входами» («Enable coin control features») и «тратить неподтвержденную сдачу» («Spend unconfirmed change»), если они не стоят (потом можно будет их убрать).
  • Теперь закрываем окно настроек и нажимаем «Отправить» («Send»), там нажимаем кнопку «Входы. » («Inputs. «) и ставим галочку у суммы 0.08500148; потом «Ок», получателем ставите свой адрес; количество ставите 0.08500148 и галочку «вычесть комиссию из суммы» («subtract fee from amount»); комиссию ставите «выборочно» («custom»), «за килобайт» («per kilobyte») и пишете с рассчетом на 2 транзакции по формуле ((размер старой транзакции)/(размер новой транзакции) + 1)*(адекватная комиссия за килобайт и лучше побольше). Отправляете.
  • Всё. Теперь ждёте.

Как сделать даблспенд (двойную трату)?

Для кошелька Bitcoin Core действуем по следующему алгоритму:

  • Закрываем кошелек, запускаем его с параметром -zapwallettxes и ждем пока он откроется. Когда кошелек запустится, все неподтвержденные транзакции из него исчезнут (но они ещё есть в сети!). Для bitcoin core 0.14 и выше потребуется перед запуском ещё удалить (переименовать или перенести) файл mempool.dat.
    Почему не с параметром -salvagewallet? -zapwallettxes не затронет имена ваших адресов а -salvagewallet удалит их. Кроме того, bitcoin core может упасть при запуске с -salvagewallet и тогда ваш wallet.dat будет поврежден. Правда, рядом с ним заранее будет создана копия.
  • Теперь можно создавать новую транзакцию, не забыв поставить адекватную комиссию. Но! Поскольку ваша старая транзакция ещё осталась в сети, она может когда-нибудь неожиданно подтвердиться. Если вас это не устраивает, то у новой транзакции хотя бы один из входов должен будет совпадать с одним из входов старой. Для этого смотрим на странице вашей транзакции на сайте blockchair.com или аналогичном графу «inputs» (входы), запонинаем точный размер входа в биткоинах. После этого при создании транзакции в кошельке нажимаем на кнопку «inputs. «, находим в списке такое же точно число в биткоинах и выбираем его (если их несколько, то выбирайте с тем же адресом получения и временем). После этого выбираем ещё какие-нибудь входы, чтобы общая сумма была больше суммы транзакции с будущей комиссией; лучше выбирать с запасом. Далее заполняем все поля как обычно, (не забываем про комиссию!) и отправляем.
    Иногда пишут, что всё это можно не делать, а просто подождать 2-3 суток, чтобы старая транзакция сама «канула в лету». О том, что иногда это может привести к проблемам, можно прочитать тут (англ).

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

Если транзакция подтвердилась (включена в блок), отмениться или быть отменена она не может. Чтобы отменить неподтвержденную транзакцию, необходимо создать конкурирующую с ней транзакцию и добиться её включения в блок — смотрите ответ на вопрос «Как сделать даблспенд (двойную трату)?». В любом случае, гарантировать отмену тут нельзя.

Сама неподтвержденная транзакция отмениться не может — может лишь поменяться отображение в вашем кошельке. Далее смотрите ответ на следующий вопрос.

Моя транзакция висела неподтвержденной несколько дней, а затем пропала и деньги вернулись обратно. Теперь все хорошо и я могу забыть про всё это?

Нет! Ваша старая транзакция ещё есть в сети и может неожиданно подтвердиться. Чтобы этого избежать, надо сделать так, чтобы была новая транзакция и конкурировала со старой по входам. Если вы вообще передумали делать тот перевод, то можно будет сделать перевод себе самому. Самый простой, но иногда более затратный вариант — просто переслать себе все биткоины на этот же адрес.

Как избежать зависания транзакций?

  1. Выставлять адекватную комиссию.
  2. Включить в кошельке механизм replace-by-fee и помечать все транзакции как replaceable, если ваш кошелёк его поддерживает (bitcoin core и electrum поддерживают). Это позволит при возникновении проблемы очень легко повысить комиссию.

Какая комиссия за транзакцию будет оптимальной?

Для того что бы не ошибиться в выборе комиссии для биткоин транзакции существуют специальные сервисы. Рекомендую btc.com, jochen-hoenicke.de и bitcoinfees.earn.com. Если понять, что изображено на диаграмме, тяжело, просто открываем первую ссылку и рекомендацию сверху страницы вписываете в графу «custom transaction fee» при отправке транзакции.

Обратите внимание, что величина комиссии зависит от размера транзакции в байтах (а ещё точнее — от её веса), а не от количества пересылаемых биткоинов.

Будьте внимательны — многие популярные кошельки иногда ошибаются с комиссией и могут вас подвести. Для срочных или важных транзакций обязательно проверяйте комиссию по состоянию мемпула.

У меня получается очень большая комиссия, как сэкономить?

Во-первых, если вам надо сделать несколько переводов — объедините их: создайте одну транзакцию с несколькими выходами. Размер в байтах такой транзакции будет меньше, чем нескольких обычных транзакций; а значит — меньше общая комиссия при неизменной плате за байт. В типичном случае экономия для двух переводов будет в 1.7 раза; для десяти — в 4 раза.

Во-вторых, не полагайтесь на комиссию, которую рекомендует вам кошелек: она может быть как занижена, так и завышена. Самостоятельно оцените её через один из сервисов, показывающих состояние мемпула (см ответ на вопрос «Как выбрать адекватную комиссию? Где посмотреть состояние мемпула?»). Обычно экономия от 10% до 30% (1.5 раза), хотя иногда может быть и до 10 раз.

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

Ну и последнее: можно вручную подбирать входы и величину транзакции так, чтобы не было сдачи; экономия до 15%. Или можно заранее консолидировать входы по сниженной ставке за байт — когда комиссии ниже или возможность подождать.

Можно ли тратить неподтвержденные монеты?

Можно. Но комиссию вы должны выставить такую, чтобы её хватило и на родительскую транзакцию со всеми её неподтвержденными предками.

Как вычислить размер обычной (не-сегвит) транзакции?

Примерная формула для обычных (не-сегвит, сжатые (compressed) ключи) транзакций и для большинства современных кошельков (bitcoin core, electrum, ledger . ) 10+148*(число входов)+34*(число выходов). Реальное значение может отличаться на несколько байт в меньшую сторону в зависимости от конкретных ключей. Примерная формула для обычных транзакций с несжатыми (uncompressed) ключами (в основном использовались раньше, кошелек Armory): 10+180*(число входов)+34*(число выходов).

Как вычислить размер SegWit-транзакции?

Начнём с того, что у сегвит-транзакции несколько размеров. Чтобы всех запутать и искусственно сделать сегвит-транзакции дешевле, для них было изменено понятие размера. Для рассчета комиссии нам нужно считать не реальный размер сегвит-транзакции на диске, а оплачиваемый (vsize, он же weight/4).

Формула для сегвит-адресов на «3» (если все входы и выходы — P2SH-P2WPKH): 11+91*(число входов)+32*(число выходов).

Формула для сегвит-адресов на «bc1» (если все входы и выходы — P2WPKH): 11+68*(число входов)+31*(число выходов).

Как считать для сегвит-транзакции, в которой есть входы и/или выходы разных типов:
11+68*(число входов типа P2WPKH)+91*(число входов типа P2SH-P2WPKH)+148*(число legacy входов)+31*(число выходов P2WPKH)+32*(число выходов P2SH-P2WPKH)+34*(число legacy входов).

Реальное значение может отличаться на несколько байт в меньшую сторону в зависимости от конкретных ключей. Пожалуйста, не спрашивайте, как посчитать размер для segwit-multisig транзакции.

О проекте
  • �� Паблик в телеграм
  • �� Мы в твиттере
  • О Нас
  • Вакансии
  • Обратная связь
  • Карта сайта
  • Политика конфиденциальности
  • Пользовательское Соглашение
  • Отзывы
ТОП Криптовалют
  • Токены криптобирж
  • Токены крипто кошельков
  • Анонимные криптовалюты
  • DeFi Токены
  • Криптовалюты NFT
  • Стейблкоины
  • Токены метавселенных
  • Фан токены

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *