Монеты и сети

Сколько подтверждений нужно биткоину и почему именно столько

Основы Также известно как сколько подтверждений биткоин проверить подтверждения биткоин биткоин транзакция не подтверждается

Коротко

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

Почему глубина равна безопасности

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

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

Сколько времени это занимает

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

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

Какие пороги ставить

Компромисс здесь простой: больше подтверждений означает меньше риска и дольше ожидание на кассе.

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

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

Три

для средних операций, особенно если товар отгружается сразу.

Шесть

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

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

Если перевод висит без подтверждений

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

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

Выходов два. Replace-by-fee позволяет отправителю разослать ту же транзакцию заново с повышенной комиссией, если исходная была помечена как заменяемая. Child-pays-for-parent позволяет получателю потратить входящий выход с высокой комиссией, и тогда майнерам выгодно подтвердить обе транзакции вместе.

Если не применить ни то, ни другое, перевод со временем выпадет из мемпула, а средства так и останутся в кошельке отправителя.

Как обстоит дело в других сетях

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

Litecoin выпускает блок каждые 2,5 минуты, поэтому сопоставимая глубина набирается вчетверо быстрее. TRON подтверждает за три до десяти секунд. Ethereum занимает от одной до трёх минут и дольше при нагрузке. Solana рассчитывается меньше чем за секунду.

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

Частые вопросы

Для розничных сумм на практике да. Откат одного блока стоит несоизмеримо дороже обычного заказа.

Он разослан, но ещё не попал в блок, обычно из-за комиссии ниже текущего рынка.

Практически нет. Теоретически реорганизация цепочки способна на это, но на глубине шести блоков стоимость делает такое нереальным.

Обычно да. Многие ждут от трёх до шести на пополнение, а часть меняет число в зависимости от суммы.

Очередь разосланных транзакций, ожидающих включения в блок.

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

Ситуация, когда сеть переключается на другую версию последних блоков, потому что она оказалась длиннее. Транзакции из отброшенных блоков возвращаются в мемпул. На глубине одного-двух блоков такое изредка случается само собой, на глубине шести практически нет.

Иногда да, через child-pays-for-parent: получатель тратит входящие средства с высокой комиссией, и майнерам становится выгодно подтвердить обе транзакции разом.

Настраивается мерчантом. По умолчанию у большинства это одно подтверждение для малых сумм и три для крупных.

Статья была полезной?

Смотрите также