Что такое двойное расходование простыми словами

Двойное расходование (double-spending) — это попытка использовать одну и ту же единицу криптовалюты в двух транзакциях одновременно. В обычных деньгах это невозможно: купюру нельзя отдать кассиру и одновременно положить в карман. В цифровых системах это потенциальная проблема, потому что данные легко скопировать. Блокчейн был изобретён в 2009 году именно для её решения через распределённый консенсус.

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

ℹ️ Важно понимать

Биткоин и крупные блокчейны защищены от двойной траты на 99.9% после 1 подтверждения и на 100% после 6. Двойное расходование — реальная угроза только при работе с 0-confirm транзакциями в P2P и мелких сетях с низким хешрейтом.

Виды атак двойной траты

Существует 4 основных типа атак, каждая работает по своему сценарию и противодействует разным защитам.

Атака Суть Защита
Race attack Отправил две транзакции одновременно — продавцу и себе Ждать 1+ подтверждение
Finney attack Майнер скрыл блок с возвратом себе, потом купил товар Ждать 3+ подтверждения
51% атака Контроль >50% хешрейта позволяет переписать историю Использовать крупные сети с высоким хешрейтом
RBF replace Переотправил транзакцию с большей комиссией на свой адрес Отключить приём 0-conf или дождаться 1 блок

Race attack и RBF replace — это атаки на «доверчивых продавцов», которые отдают товар при 0 подтверждениях. Finney и 51% — это атаки на крупные сети, требующие огромных ресурсов. На Bitcoin 51%-атаку оценивают в $1-2 млрд в час — экономически бессмысленно. На малых форках типа Bitcoin Gold или Ethereum Classic 51%-атаки происходили и стоили несколько миллионов долларов.

Как блокчейн защищает от double-spending

Защита работает на нескольких уровнях, и каждое подтверждение усиливает безопасность.

  • UTXO-модель в BTC — каждая монета имеет уникальный ID и может быть потрачена только один раз.
  • Account-модель в ETH — баланс пересчитывается после каждой транзакции через nonce.
  • Консенсус Proof of Work / Proof of Stake — узлы голосуют за валидную цепь.
  • Глубина блокчейна — чем больше блоков сверху, тем дороже переписать историю.
  • Network monitoring — узлы видят попытки двойной траты и отклоняют невалидные транзакции.
⚠️ Не делай так

Никогда не отдавай товар или фиат в P2P, если у транзакции 0 подтверждений. Мошенник может включить RBF и переотправить ту же сумму на свой адрес с большей комиссией — твой первоначальный перевод исчезнет. Жди минимум 1 подтверждение для BTC, 12 для ETH, 20 для TRC-20.

Где встречается риск double-spending

  • P2P-сделки на Bybit, BingX, MEXC — escrow биржи защищает от 95% попыток.
  • Личные сделки в Telegram — без escrow риск максимальный, не используй без гаранта.
  • Малые альткоины с низким хешрейтом — атаки на них дешевле и реальнее.
  • Обменники на 0-conf — мало кто работает без подтверждений, но если работает — риск на их стороне.
  • Lightning Network — защита иная (через каналы и подписи), классический double-spend невозможен.
  • NFT-маркетплейсы — при покупке NFT транзакция в блоке = безопасность.
💡 Совет

Если занимаешься P2P, всегда жди столько подтверждений, сколько требует биржа для зачисления. Использование escrow на крупных биржах снимает риск double-spending на 100% — биржа удерживает крипту до подтверждения платежа.

Что нужно знать новичку

  • В крупных сетях (BTC, ETH, Solana, Tron) одинокий пользователь не может выполнить double-spend.
  • Атаки 51% реальны только на мелких форках с маленьким хешрейтом.
  • Жди подтверждения по правилу: $50 = 1 conf, $500 = 2-3, $5000+ = 6 для BTC.
  • Используй кошельки с поддержкой RBF — это позволит ускорить или заменить свою транзакцию.
  • Не верь сообщениям «я отправил, скоро придёт» — проверяй TxID на mempool.space или etherscan.
  • В P2P на бирже escrow обязателен — не выходи на личные сделки.