Что такое двойной расход?
Как человек, использующий Биткойн, что мне нужно знать о том, как система Биткойн предотвращает двойные траты? Существуют ли еще обстоятельства, при которых они могут произойти?
Двойная трата — это атака, при которой данный набор монет тратится более чем на одну транзакцию. Есть несколько основных способов выполнить двойную трату:
Чтобы предотвратить ущерб от первой атаки - дождитесь появления одного подтверждения по данной транзакции. Чтобы предотвратить ущерб от второй атаки — дождитесь появления 6 подтверждений транзакции или меньше, если транзакция небольшая (но все же требуется не менее 1). Ущерб от третьей атаки может вывести из строя всю сеть Биткойн, поэтому не беспокойтесь об этом — ваш бизнес, скорее всего, не станет основной целью (это вряд ли произойдет без привлечения действительно больших денег).
Для получения дополнительной информации обо всех этих атаках вы можете ознакомиться с моей основной диссертацией по безопасности биткойнов .
Как продавец, вы можете снизить вероятность убытков от двойной траты в результате атаки гонки, правильно настроив свой узел (отсутствие входящих транзакций, явные исходящие соединения с хорошо подключенными узлами). Даже с этой конфигурацией все еще существует небольшой риск быть обманутым, но это редко и относительно случайно. Таким образом, сдерживающим фактором для злоумышленника является то, что, если успех в двойных расходах случается редко, каждая неудачная попытка является прибыльной продажей для продавца и, таким образом, в долгосрочной перспективе она убыточна для злоумышленника и выгодна для продавца.
Есть обстоятельства, когда торговец более уязвим. Например, оставленный без присмотра автомат для обмена монет в прачечной самообслуживания был бы наихудшим сценарием для продавца. Злоумышленник ничего не теряет за неудачные попытки (предполагая, что машина не получает никакой прибыли от каждой «продажи»), получает прибыль от случайных успешных попыток и вряд ли будет пойман за совершение мошенничества, поскольку к тому времени оператор прачечной самообслуживания зная, что что-то случилось, вор давно ушел. (Конечно, противодействием этому является вероятность того, что мониторинг блокчейна выявил бы многочисленные попытки двойного расходования, и, таким образом, оператор прачечной может предотвратить даже это.)
Атака Финни также имеет издержки, которые делают ее менее опасной, чем может показаться. Удержание блока стоит около доллара в секунду. Таким образом, если после того, как блок будет добыт, но не транслирован, а затем вору потребуется сорок секунд, чтобы завершить транзакцию с продавцом, лучше получить прибыль на сумму более 40 долларов, иначе попытка окажется неэкономичной по сравнению с продавцом. длинный пробег. Опять же, продавец в конечном итоге узнает, что произошла двойная трата (измеряемая в секундах, если отслеживать блокчейн), поэтому это не работает в обстоятельствах, когда вор рискует быть пойманным. Таким образом, предотвращение этого состоит в том, чтобы просто не совершать транзакции на большие суммы (например, сто долларов или более) на 0 / неподтвержденных без некоторой задержки, когда вы следите за двойными расходами.
Атака 51%, которая отменит подтвержденные транзакции, настолько дорога и, следовательно, настолько маловероятна, что это даже не беспокоит обычного продавца. (т. е. кто-то, кто тратит миллионы долларов на двойную трату, используя этот вектор атаки, если это когда-либо произойдет, будет преследовать сделки, в которых происходит крупный обмен ценностями — представьте, что золотые слитки обмениваются на биткойны под мостом в полночь. Они они не пытаются купить вашу бытовую электронику, которую вы отправляете через UPS, и они не встречаются с вами в Starbucks, надеясь выманить у вас ваши 200 долларов.)
Если бы каждый мог потратить один и тот же биткойн дважды, вся система рухнула бы, потому что биткойнов не было бы в дефиците.
Двойная трата, когда пользователь может потратить свои монеты более одного раза. Обычно это происходит, когда вы можете создать две разные версии реестра блокчейна, и обе они были действительны в разное время.
Чтобы понять это, прочитайте этот пример из реальной жизни, где злоумышленник может потратить дважды потраченные 807 000 ETC.
Злоумышленник украл 807 тыс. ETC в Ethereum Classic Атака 51%
Марч
Игорь Яловой
Кодировщик
Кодировщик