Что такое атака Финнея? Дополнительные пункты для объяснения его цели, предпосылок для его возможности, того, как может быть выполнена атака, и происхождения названия «атака Финни».
Атака Финни названа в честь Хэла Финни , который предложил ее в этом комментарии . (Хэл оказался первым получателем биткойн-транзакции и первым, кто прокомментировал выпуск исходного кода биткойна.)
Это атака с двойной тратой со следующими особенностями:
Это работает только в том случае, если продавец принимает неподтвержденные транзакции.
Однако это все еще работает, если продавец ждет несколько секунд, чтобы убедиться, что все в сети согласны с тем, что ему заплатили.
Это требует, чтобы злоумышленник занимался майнингом и контролировал содержимое своих блоков; однако теоретически он может сделать это с любым хэшрейтом, в частности значительно меньшим, чем 50% хешрейта сети.
Это происходит следующим образом:
Атакующий минирует блоки нормально; в блок, который он пытается найти, он включает транзакцию, которая отправляет часть его монет обратно себе, не транслируя эту транзакцию.
Когда он находит блок, он его не транслирует; вместо этого он отправляет те же монеты торговцу за какой-то товар или услугу.
После того, как продавцы принимают платеж и безвозвратно предоставляют услугу, злоумышленник транслирует свой блок; транзакция, отправляющая монеты самому себе, включенная в этот блок, переопределит неподтвержденный платеж продавцу.
Если время от нахождения блока до момента, когда злоумышленник отправит платеж и продавец его примет, равно t, а среднее время нахождения блока равно T, существует вероятность t/T того, что в этой сети в сети будет найден еще один блок. время; в этом случае атака потерпит неудачу, и злоумышленник потеряет награду за блок B.
Это означает, что средняя стоимость попытки атаки составляет около (t/T) * B; как правило, торговцу следует подождать по крайней мере t=V*T/B (V — стоимость транзакции), чтобы убедиться, что попытка провести эту атаку против него невыгодна; этого может быть недостаточно, поскольку проворный злоумышленник может использовать один и тот же блок для нескольких атак, потенциально получая общую их ценность.
Понятно, что чем ниже хешрейт злоумышленника, тем меньше у него возможностей для проведения атаки. Если атака направлена на получение какого-то неликвидного блага, трудно совместить потребность в этом благе с нахождением блока. Если атака направлена на получение чего-то ликвидного (например, обмен биткойнов на другие деньги), такая возможность есть всегда, но продавцу, скорее всего, потребуется несколько подтверждений. Это затрудняет использование атаки на практике.
Атака Финни — это вариант атаки с двойной тратой. Злоумышленник создает две транзакции: одна кредитует жертву, а другая кредитует себя. Пока что они сохраняют первую транзакцию и пытаются добыть вторую транзакцию в блок. Когда им это удается (это может занять некоторое время), они быстро совершают покупку с первой транзакцией, получают купленные товары, а затем выпускают предварительно добытый блок. Таким образом, первая транзакция станет недействительной, даже если она будет распространена по всей сети.
Этот вариант атаки с двойной тратой сложнее выполнить (самостоятельный майнинг блока долгое время был непростым делом), но его невозможно обнаружить до тех пор, пока он не будет полностью выполнен. Единственный способ защититься от такой атаки — требовать хотя бы одно подтверждение транзакции перед выдачей купленного товара, и требовать больше подтверждений для транзакций на большую сумму.
Пасьер
Пиачу
Пасьер
Пиачу
Пасьер
Пиачу
штаб-квартира
Пиачу
штаб-квартира
exactly that same 3 coins
(похоже, у каждой монеты есть что-то похожее, например, идентификатор). Мы можем контролировать это действие? БлагодарностьПиачу
Сурадж Джейн
Пиачу
Сурадж Джейн
Пиачу
Сурадж Джейн
Сурадж Джейн