Подтверждение транзакции Bitcoin
Подтвержденная транзакция означает то, что она включена в блок и, следовательно, – в цепочку блоков. Она проверена и зарегистрирована, платеж обработан, его нельзя изменить или отменить. Чтобы стать законной, операция должна получить определенное количество подтверждений. Каждое новое подтверждение в геометрической прогрессии снижает риск отмены самой транзакции.
Содержание
- Что значит, что транзакция требует подтверждения
- Как устроен процесс подтверждения транзакций в Bitcoin
- Кто непосредственно подтверждает транзакции
- Сколько нужно ждать, прежде чем операция пройдет
- Сколько подтверждений нужно (количество)
- Можно ли как-то ускорить процесс
- Отзывы и комментарии
Посмотрим, как происходит транзакционный перевод биткоина.
- При совершении переводов или платежей вся информация записывается в блоки, которые соединяются в неразрывную цепочку – блокчейн.
- Каждый блок «весит» около 1 Мб и состоит из двух частей. В заголовке «зашит» хеш данного блока и того, который был перед ним, здесь же содержатся хеш-коды всех помещенных в блок сделок. Затем идет «тело» – перечень всех операций, в т.ч. размер награды за найденный блок.
- Чтобы была возможность проверить сделку, ее нужно правильно валидировать в блокчейн. Для этого она подтверждается майнерами.
Подтверждается транзакция (т.е. включается в blockchain) после того, как майнерами будет вычислено 6 блоков, которые докажут ее валидность. Лишь после этого получатель средств сможет увидеть увеличение своего баланса. Если верификации нет, то сделка считается неподтвержденной, и деньги возвращаются отправителю.
Такая система придумана для того, чтобы избежать двойной траты одних и тех же криптомонет. Процесс происходит на стороне майнера, при этом используются серьезные вычислительные мощности. Количество подтверждений 6ыло утверждено после исследований, доказавших, что при таких условиях для подделки операции мошенникам потребуется сконцентрировать в своих руках не менее 10% от общей мощности сети, а это практически невозможно.
Что значит, что транзакция требует подтверждения
Всякий раз, когда пользователь инициирует биткойн-транзакцию, она криптографически подписывается и отправляется в сеть, ожидая, пока майнер проверит ее и добавит в блокчейн. Биткойн-подтверждения – это блоки, которые майнеры добавляют в цепочку.
Когда транзакция отправляется в сеть из кошелька, она не выполняется незамедлительно. Сначала она попадает в мемпул, где считается ожидающей. Майнеры входят в пул и выбирают транзакции для включения в следующий блок блокчейна. Каждый из них использует собственные критерии (обычно стремясь к максимальной прибыли). Транзакция, включенная в блок, удаляется из мемпула и считается подтвержденной.
Однако операция на данном этапе имеет только одно подтверждение. Лучше подождать, пока она получит от двух до шести, прежде чем ее можно будет считать необратимой. При одном подтверждении, есть шанс, пусть и небольшой, что блок, в который она включена, будет перезаписан и станет блоком-сиротой. В этом редком случае она возвращается в мемпул и снова находится в состоянии ожидания. Небезопасно принимать транзакцию с нулевым подтверждением в качестве оплаты, так как она может быть заменена другой, которая тратит тот же биткойн.
Как устроен процесс подтверждения транзакций в Bitcoin
Мемпул – механизм узла криптовалюты, своего рода виртуальный зал ожидания, в котором временно находятся пользовательские транзакции, пока они не будут обработаны майнерами и интегрированы в блокчейн. Динамичная промежуточная область обеспечивает упорядочивание, приоритизацию комиссий и общее построение блоков. В Биткойне функции мемпула регулируются BIP-35 (BIP – документ, который стандартизирует различные процедуры или функции).
Каждая биткойн-транзакция находится там до тех пор, пока не будет готова к подтверждению, но единого всеобъемлющего мемпула не существует. У каждого узла он свой. Это связано с тем, что не все они одновременно получают одни и те же транзакции. У всех узлов разная емкость хранения (по умолчанию мемпум обычно не превышает 300 МБ).
Как правило, транзакции плавно перемещаются по мере их проверки и добавления в блок, но иногда он может перегружаться. Эти периоды прослеживаются по большому объему операций или по резкому снижению торгового хэша, что относится к сложности майнинга.
Когда он перегружен, пользователи могут заплатить комиссию выше, чтобы вывести свои транзакции в начало очереди для быстрого подтверждения. С другой стороны, операции с низкой стоимостью остаются в мемпуле неподтвержденными до тех пор, пока не пройдет перегрузка. Точно так же комиссия ниже, когда транзакционный трафик в сети небольшой.
Кто непосредственно подтверждает транзакции
Каждую транзакцию подтверждают майнеры. Она вставляется в блок, который необходимо проверить перед добавлением в цепочку. Его добыча – это решение головоломки. Майнер должен найти число, называемое одноразовым номером («число, используемое один раз»). Оно обрабатывается с помощью хеш-функции вместе с другими данными, присутствующими в проверяемом блоке, должно возвращать хеш, который начинается с определённого количества нулей. Он называется «хеш заголовка блока». Требуемое количество нулей определяет степень сложности проверки блока.
Например, 000000000000000004dd3426129639082239efd583b5273b1bd75e8d78ff2e8d –хеш для блока #429818. Этот блок содержит 2012 транзакций с участием чуть более 1000 биткойнов, а также заголовок предыдущего блока. Если пользователь изменит сумму одной транзакции на 0,0001 биткойна, полученный хеш станет неузнаваем, и сеть отклонит это как мошенничество.
Для нахождения допустимого одноразового номера не существует определенной техники. Единственный способ – многочисленные случайные попытки. По этой причине майнеры используют специальное оборудование, которое измеряет их мощность в «хешах в секунду» (H/s). Отсюда и концепция «конкуренции», поскольку вознаграждение за проделанную работу получает только тот, кто первым найдет действительный одноразовый номер.
Но перед тем, как получить вознаграждение, майнер сообщает решение другим узлам в сети. Они проводят проверку, чтобы подтвердить, что одноразовый номер действителен. Если он правильный, блок «присоединяется» к предыдущей цепочке. Первый, кто находит правильное решение, получает вознаграждение в биткойнах («доказательство работы» или «PoW»). Если одноразовый номер недействителен, «соревнование» возобновляется, и все майнеры возвращаются к поиску.
Сколько нужно ждать, прежде чем операция пройдет
Время нахождения в мемпуле зависит от продолжительности добычи следующего блока и количества «ожидающих». Биткойн-майны блокируются примерно каждые 10 минут. Теоретически это означает, что транзакция получит первое подтверждение в течение 10 минут после отправки запроса. Как правило, если она находится в мемпуле более 48 часов, то удаляется, а средства возвращаются транзакционисту.
В целом на среднее время подтверждения влияют такие факторы как:
- общая сетевая активность;
- скорость хеширования;
- комиссия за транзакцию.
Если сеть Биткойн перегружена, то в мемпуле наблюдается отставание. Пользователям приходится платить высокую комиссию, чтобы транзакции проходили быстрее. Как, например, происходило в апреле 2021 года, когда средняя комиссия составляла $58.
Излишне говорить, что чем выше количество транзакций, тем больше времени требуется для обработки каждой из них. Это связано с тем, что количество майнеров ограничено и только определенное число операций может быть обработано в биткойн-блоке размером 1 Мб. На хешрейт также влияет рабочая среда, нестабильность сети и другие факторы.
Комиссия определяет, какая транзакция получит приоритет в блоке размером 1 Мб. Если мемпул заполнится, узлы устанавливают ее минимальный порог. Любые транзакции в мемпуле, которые ниже этого порога, удаляются. Пользователю придется повторно проводить операцию с более высокой комиссией.
Сколько подтверждений нужно (количество)
Количество подтверждений, необходимых для обработки криптотранзакции, зависит от биржи, а иногда и от суммы перевода. Некоторые системы обрабатывают ее после одного подтверждения, большинству требуется три, но может потребоваться и до шести.
- Платежи с 0 подтверждениями могут быть отменены.
- 1 подтверждения достаточно для платежей менее $ 1000.
- 3 подтверждения – для выплат $1,000 – $10,000. Большинство бирж требуют 3 подтверждения для депозита.
- 6 – для крупных платежей от $ 10 000 до $ 1 000 000. 6 потверждений – стандарт для большинства транзакций, которые считаются безопасными.
- 60 – для крупных платежей, превышающих $ 1 000 000.
Пользователь Биткойн не может отменить транзакцию после подтверждения.
Можно ли как-то ускорить процесс
Если транзакция застряла в мемпуле, можно инициировать действие редактирования существующей транзакции (RBF). Механизм RBF позволяет повторно отправить ее. Помимо увеличения комиссии можно совершать переводы в непиковые периоды. В обозревателе blockchain.com диаграмма размера мемпула показывает, когда количество неподтвержденных транзакций минимально.
- BTC Nitro помогает ускорить транзакции в биткойнах, сокращая время, необходимое для подтверждения. BTC Nitro ретранслирует ее через несколько биткойн-узлов по всему миру, повторно ставя в очередь и напоминая майнерам, что она готова к обработке.
- BitAccelerate — это бесплатный ускоритель, который позволяет быстрее получать подтверждения. Нужно ввести идентификатор биткойн-транзакции (TXID) и выбрать «Ускорить». Она будет передана через десять биткойн-узлов, использующих их сервис. Система сообщит, когда она подтверждена или потребуется повторная трансляция.
Пока «застрявшая» транзакция не подтверждена, ее можно повторно отправлять каждые шесть часов.
Почему блокчейн долго не подтверждает транзакцию, как ускорить
Транзакции в блокчейн-сети требуют подтверждений от майнеров – это основной принцип и залог работы всей системы. Сегодня рассмотрим такую проблему: почему блокчейн долго не подтверждает транзакцию и можно ли как-то ускорить процесс.
Что значит неподтвержденная транзакция в блокчейне
Неподтвержденная транзакция в блокчейне – это платеж, который находится в мемпуле (проще говоря, в очереди). Майнеры подтверждают платежи один за другим, причем в приоритете всегда те, которые дают им наибольшие возможности для заработка.
Майнер получает доход как в виде награды за добавленный в блокчейн блок, так и за счет комиссий всех транзакций, находящихся в этом блоке. Следовательно, майнерам выгоднее всего уделять внимание платежам с наибольшей комиссией.
Почему не подтверждается транзакция?
Чаще всего транзакция не подтверждается из-за слишком низкого уровня установленной на нее комиссии. В таком случае она может обрабатываться очень долго или вообще зависнуть, так как очередь до нее никогда не дойдет.
Даже при нормальном уровне комиссии продолжительность обработки платежа может быть долгой, если в сети слишком большая нагрузка. Это может быть связано с какими-либо внешними событиями, влияющими на активность пользователей в сети. Когда слишком много транзакций совершается ежеминутно, то задержки неизбежны.
Сколько ждать подтверждения транзакции биткоин
Стандартное ожидание подтверждения биткоин-транзакции варьируется от 15 до 60 минут. Это зависит также от того, сколько подтверждений нужно для завершения перевода. Число по умолчанию – шесть, но некоторые сервисы могут и снижать его до 1-2. Не паникуйте, если средства не пришли в течение часа – при высокой загрузке блокчейна операция может занимать даже два часа.
Проверить, сколько подтверждений у вашей транзакции, можно на сайте blockchain.info, это обозреватель, содержащий информацию обо всех действующих в сети кошельках и операциях.
Чтобы получить нужную информацию, просто вставьте в поле поиска txid транзакции (предоставляется кошельком после отправки) и посмотрите статус перевода.
Как ускорить транзакцию
Теперь рассмотрим способы, как ускорить («протолкнуть») транзакцию, если она не подтверждается слишком долго.
Выборочная замена
Выборочная замена комиссии – Replace-by-Fee – подразумевает увеличение комиссионных сборов, чтобы сделать платеж более интересным для майнеров. Однако чтобы сделать такую операцию, необходимы некоторые навыки и высокий уровень внимательности – в противном случае блокчейн посчитает сделку попыткой двойной траты и забракует ее. А нужно сделать так, чтобы сеть увидела новый перевод, только с повышенными сборами, при этом сетевые узлы восприняли ее как замену старой и переместили в очереди.
Проблема в том, что с Replace-by-Fee работают не все майнеры, хотя, благодаря преимуществам этой функции, их число постепенно растет. Также, чтобы пользоваться опцией, нужен кошелек, который ее поддерживает (например, Bitcoin Core). Тогда, отправляя второй платеж, потребуется сначала включить в настройках кошелька параметр Opt-In RBF.
Двойная трата — «Double Spend»
Двойной тратой в блокчейн-сфере называется повторная передача денежных средств и использованием одного и того же источника. В некоторых случаях, если транзакция не проходит, пользователь может изменить комиссию или другие условия и отправить ее заново. Вероятность, что пройдут обе, исключена. Первой пройдет та, которая для майнеров более привлекательна. Вторая же просто устранится.
Основные шаги по проведению double-spending на примере кошелька Bitcoin Core:
- Подготовительные меры. Проверка транзакции на blockchain.info. Нужно убедиться, что ее статус действительно unconfirmed transaction и никаких подвижек нет.
- Запуск кошелька строго из командной строки с добавлением команды zapwallettxes. При этом визуально в кошельке никаких платежей уже не будет (но в сети они есть).
- Создание нового платежа с подходящим уровнем комиссии. Все остальные параметры должны строго совпадать с теми, которые указывались в предыдущий раз, включая сумму.
- Отправка транзакции на обработку в стандартном порядке.
Если платеж не срочный, то можно не торопиться и подождать пару дней – вдруг старая операция подтвердится. Это вполне возможно. Но не следует ждать дольше 72 часов, это чревато потерей средств.
Child Pays for Parent
Child Pays for Parent («ребенок платит за родителя») – метод не бесплатный и поддерживается не всеми пулами, зато весьма эффективен. Важное условие – при этом на счету отправителя должен оставаться запас средств.
Пользователь создает новую сделку, используя для этого остаток средств. При этом можно совершать платеж себе самому, главное, чтобы использовалась сдача с проблемной транзакции. Самое важное, что уровень комиссии при этом должен быть установлен такой, который покроет и первый, и второй платеж.
Использование ускорителей
Ускорители транзакций – это специальное ПО, с использованием которого можно протолкнуть зависший платеж. Пример – сервис ViaBTC.
Визуально процесс максимально прост. Пользователь должен указать txid проблемного платежа и ускорить ее либо бесплатно, либо платно (более эффективно). Сделки, которые помещены в ускоритель, гарантированно будут помещены в следующий блок, добытый пулом ViaBTC.
Как обезопасить себя от зависания транзакций?
Самое главное, на что нужно обращать внимание, чтобы обезопасить себя от зависания транзакций, это выставление правильного уровня комиссии. Некоторые кошельки ставят его самостоятельно, тогда пользователю не о чем беспокоиться. Некоторые же дают возможность регулировать комиссию – тогда следует выбирать вариант «приоритетная», который гарантированно даст оптимальное соотношение между затратами и скоростью проведения платежа.
Существует возможность отмены неподтвержденных транзакций через консоль Bitcoin Core. Эта процедура достаточно сложна и подходит для профессионалов. Включает в себя создание неформального ключа и пересоздание нового кошелька со старыми данными.
Заключение
Работа на нашей биржей лишена перечисленных проблем. В рамках кошелька вы можете мгновенно отправлять или обменивать криптовалюту, а также фиатные деньги. Полная безопасность средств гарантируется. Обратите внимание на наличие выгодной реферальной программы – приглашайте знакомых и получайте финансовый бонус.
Тэги: актуальное, новости криптовалюты, крипта, Илон Маск , doge coin
Источник https://finswin.com/kripto/btc/podtverzhdenie-tranzakcii-bitkoin.html
Источник https://matbea.com/articles/confirmations