

Bitcoin защищает от двойного расходования благодаря прозрачности публичного реестра, правилам консенсуса и механизму майнинга на основе proof-of-work. Блокчейн Bitcoin представляет собой публичный реестр, в котором фиксируется каждая транзакция. Каждый полный узел хранит полную копию реестра и обновляет её при добавлении новых блоков в цепь. Такая прозрачность позволяет любому пользователю проверить, был ли конкретный коин уже потрачен, поскольку любая попытка двойного расходования становится очевидной из-за конфликтующих записей о транзакциях.
Транзакции считаются подтверждёнными только после включения в блок, который был проверен майнерами с помощью proof-of-work. Самая длинная действительная цепь считается канонической историей транзакций, и создать альтернативную версию реестра без майнинга большего количества блоков, чем вся честная сеть вместе взятая, чрезвычайно сложно. После примерно шести подтверждений вероятность успешной атаки двойного расходования становится практически нулевой, что обеспечивает высокий уровень безопасности для получателей.
Экономические стимулы, заложенные в архитектуре Bitcoin, дополнительно препятствуют попыткам двойного расходования. Майнеры получают вознаграждение за блоки и комиссию за транзакции при честном поведении, что делает поддержку сети более выгодной, чем атака на неё. Такое сочетание экономических стимулов и безопасности сети создает надёжный защитный механизм, подтверждённый эффективной работой сети более десяти лет.
Для иллюстрации проблемы двойного расходования рассмотрим ситуацию, в которой у Алисы есть 1 BTC, и она пытается обмануть двух продавцов, потратив одну и ту же монету дважды. Она создаёт Транзакцию 1: «Алиса отправляет 1 BTC Бобу» и одновременно Транзакцию 2: «Алиса отправляет 1 BTC Чарли», обе используя один и тот же UTXO (непотраченный выход транзакции). Это классический пример попытки двойного расходования, где в итоге только одна из транзакций может быть действительной, так как они ссылаются на один и тот же вход.
В нормальных условиях сети майнеры включают только одну из конфликтующих транзакций в блок. Критически важно то, что обе транзакции не могут одновременно существовать в действительном блокчейне. Механизм консенсуса Bitcoin гарантирует, что сохранится только одна версия истории транзакций, эффективно предотвращая атаку двойного расходования.
В этом процессе важную роль играет mempool. Когда узлы получают конфликтующие транзакции, обычно они принимают первую и отклоняют последующие попытки потратить тот же UTXO. Однако до включения транзакции в подтверждённый блок сохраняется небольшое окно уязвимости, поэтому ожидание подтверждений особенно важно для крупных транзакций.
Атака 51% — наиболее мощная форма атаки двойного расходования, когда злоумышленник получает контроль над более чем 50% вычислительной мощности сети. Обладая большинством хешрейта, атакующий может майнить блоки быстрее, чем вся честная сеть, позволяя ему создать форк блокчейна и представить свою альтернативную версию реестра как «самую длинную цепь».
На практике провести атаку 51% на Bitcoin чрезвычайно сложно и экономически невыгодно. Хешрейт сети достиг огромных значений, и злоумышленнику потребуется приобрести или захватить беспрецедентное количество специализированного оборудования и электричества. Стоимость атаки будет астрономической, вероятно, в миллиардах долларов, а попытка, скорее всего, будет обнаружена ещё до её успеха.
Даже если атакующему временно удастся получить контроль, экономические последствия будут катастрофическими. Такая атака, скорее всего, приведёт к падению цены Bitcoin, уничтожив стоимость любых украденных монет. Сеть также может ответить сменой алгоритма proof-of-work, сделав оборудование злоумышленника бесполезным. Эти факторы формируют сильные экономические препятствия для подобных атак.
Сам Bitcoin никогда не подвергался успешной атаке 51%, однако некоторые менее крупные криптовалюты на proof











