Двойная трата — явление когда, один покупатель переводит тот же самый баланс двум получателям транзакции. То есть те же деньги тратятся дважды.
Обычно этот термин употребляется по отношению к криптовалюте.
Но, двойная трата присутствует и в жизни.
Давайте рассмотрим пример.
Вы заходите в кофейню и покупаете себе капучино за 100 рублей. Оплата наличными.
Теперь эти 100р находятся в кассе заведения. Вы можете потратить ещё 100 рублей, купив ещё кофе.
Но это уже будут не те самые 100 рублей, которыми вы расплатились.
В этом случае двойной траты нет, поскольку вы честно совершили покупку, кассир подтвердил факт оплаты и выдал чек.
А бывают и ситуации, когда люди сталкиваются с мошенниками при покупке недвижимости.
Когда одна и та же квартира продается нескольким людям.
Из-за длительного процесса смены владельца, недвижка не успевает отобразиться в реестрах и злоумышленники продают её по несколько раз. Это наглядный пример двойной траты.
Но криптовалюты — это цифровое имущество, а не физическое.
И здесь механизм предотвращения двойных трат особый.
Предположим, у вас есть 1 BTC, который вы пытаетесь потратить дважды.
Вы совершили 1 транзакцию BTC торговцу X. Теперь вы снова отправляете тот же 1 BTC на другой адрес, в попытке обмануть торговца Y.
Обе транзакции идут в неподтвержденный пул транзакций.
Но только первая транзакция получила подтверждение и была проверена майнерами, заключена в блок.
А вторая не может получить достаточного количества подтверждений, потому что майнеры считают ее недействительной.
«Подтверждения» — это следующие блоки после того, в котором была ваша транзакция с 1 BTC.
Каждый блок связан с предыдущим, а подтверждения и транзакции имеют пометку времени, что делает их необратимыми.
Все это формирует цепочку блоков или блокчейн.
Так если двойная трата невозможна, почему о ней говорят?
Двойное расходование возможно при «Атаке 51%».
Атака 51% — когда злоумышленник контролирует 51% вычислительной мощности сети.
Когда такой контроль есть, можно отменять транзакции и делать главной нужную для злоумышленника цепочку.
Возможно, это звучит просто, но реализовать такую атаку в сети BTC очень дорого и практически невозможно. Поскольку вычислительная мощность этой сети огромная.
Но некоторые непопулярные монеты подвержены ей (известны случаи с Verge, BTG, EthereumClassic).
Это зависит от текущей сложности майнинга, капитализации монеты, цены на оборудование и стоимости электроэнергии.
Но это уязвимость касается преимущественно Proof-Of-Work алгоритма консенсуса.