Для проведения атаки Финни или атаки 51% мне нужно иметь много вычислительной мощности, но в этом случае (веб-сайт, который принимает транзакции с 0 подтверждениями) мне кажется, что мне нужно всего лишь выполнить две транзакции почти одновременно. В зависимости от того, что майнер решит включить в следующий блок, мне может повезти.
Это так просто или я что-то забыл?
Если вы пытаетесь совершить двойную трату с нулевым подтверждением, то какие транзакции (если они есть) включены в следующий блок, не имеет значения. Ваша цель — просто завершить обе транзакции до того, как один из продавцов получит уведомление о другом.
«Проблема» заключается в том, что сеть довольно быстро передает транзакции от одного узла к другому. Если вы не обнаружили неэффективность в сети, узкое место или активное снижение производительности сети, маловероятно, что вы завершите обе транзакции до того, как продавец увидит обе половины двойных расходов.
Эффективной контрмерой было бы введение продавцом небольшой задержки между моментом, когда он обнаруживает вашу транзакцию с нулевым подтверждением, и моментом, когда он предоставляет вам доступ к приобретенному товару или услуге. Скажем, вы выполняете идеально рассчитанную двойную трату. Продавец видит их транзакцию и ждет 60 секунд. 60 секунд — это долгое время, в течение которого транзакции не распространяются по сети. Если в какой-то момент в течение этих 60 секунд продавец увидит «другую» транзакцию, вы потерпите неудачу. В отличие от других форм мошенничества, вы потеряете средства, поскольку ваши двойные траты необратимы. Это будет просто удача, на которой торговец получит деньги.
Также многие транзакции не являются необратимыми. Программное обеспечение, имеющее лицензионный ключ, может быть отозвано с лицензионного ключа. О многих подарочных картах можно сообщить как об украденных, чтобы заморозить средства. Любой сайт на основе подписки предоставит вам максимум несколько секунд обслуживания, прежде чем отключить вас. Продукт, который требует физической доставки, никогда не будет доставлен достаточно быстро, чтобы выполнить двойную трату.
Риск двойной скорости с нулевым подтверждением невелик, но безопасность можно повысить, разработав сверхбыстрые «суперузлы» с малой задержкой. Поставщик услуг может настроить сеть биткойн-узлов по всему миру с низкой задержкой связи между ними. На каждом из этих узлов будет работать модифицированная версия bitcoind, чтобы максимизировать количество соединений, устанавливая тысячи или даже десятки тысяч соединений с пирами. Независимо от того, где происходят две половины двойного расхода, до суперузла будет всего несколько переходов.
Если продавец принимает транзакции только из сети суперузлов, вы не сможете совершить двойную трату. Либо сеть увидела обе транзакции и была обнаружена двойная трата, либо нет, и в этом случае один из продавцов не предоставит доступ к купленному товару.
Что вы забываете, так это то, что продавцы, которые принимают транзакции с нулевым подтверждением, уже защищались от этой атаки, используя известные методы. Основной защитой является мониторинг сети Биткойн в нескольких точках, как можно ближе к крупнейшим пулам майнинга. Продавец считает транзакцию действительной только в том случае, если он видит ее в подавляющем большинстве своих контрольных точек. И, конечно же, если они видят конфликтующую транзакцию в какой -либо точке проверки, они отклоняют транзакцию (до тех пор, пока она не получит подтверждения).
Вот почему нападение на Финни было таким шоком. Принято считать, что этого было достаточно для защиты. На мой взгляд, этого все еще достаточно для транзакций с низкой стоимостью, скажем, менее 250 долларов или эквивалентной суммы. По крайней мере, таково мое мнение до тех пор, пока мы не увидим успешную атаку с двойной тратой против продавца, использующего разумную защиту.
Смерть И Налоги
Пиачу