Что такое блок, сдерживающий атаку?

Как можно провести блок-удерживающую атаку, в чем ее цель и для кого она опасна?

Редактировать: когда я опубликовал это, я думал о том, чтобы удержать блок, который вы добыли в пуле. Но удержание блоков может стать основой для множества различных атак. Я думаю, что это все еще полезно как широкий вопрос. Это центральная концепция безопасности биткойнов.

Связанный: bitcoin.stackexchange.com/q/1338/516 (дубликат?)

Ответы (2)

Есть два типа блокирующих атак. Одна из них, известная как «Атака Финни», направлена ​​на получение финансовой выгоды, когда происходит двойная трата. Во-вторых, нанесение финансового ущерба оператору пула. Майнер, который решает блок, может скрыть действительный хэш после его нахождения. Стоимость для майнера незначительна (из-за того, что ему не присуждена доля), но стоимость для пула велика, поскольку пул теряет шанс получить субсидию на получение награды за блок в 50 BTC.

Если пул не является PPS, стоимость злоумышленника не является тривиальной, поскольку он является одним из участников, которые получат часть вознаграждения за блок. Также есть коммерческий блок, сдерживающий атаки на майнинговые пулы, выжидательные.
Если вы выполняете эту атаку, зачем вам вообще нужно делать хеширование для начала. Разве вы не можете просто сказать пулу, что выполняете работу, и надеяться, что вам присвоили правильное значение?
Помните, когда 50 биткойнов были наградой... DAYUMMM

Простейшая его форма называется атакой Финни, названной в честь Хэла Финни, который впервые ее описал . Атака представляет собой вариант атаки с двойной тратой, включающей прием транзакций с нулевым подтверждением.

Злоумышленник сгенерирует действительный блок, но не будет транслировать его, а затем транслировать транзакцию A в качестве оплаты за товар или услугу. Продавец увидит транзакцию А, с которой ничего не конфликтует, и примет транзакцию с нулевым подтверждением. Сразу после этого злоумышленник передаст сгенерированный блок с транзакцией B, которая будет конфликтовать с транзакцией A, сеть Биткойн примет его блок и аннулирует транзакцию A.

Атака является довольно дорогостоящей, потому что между генерацией блока злоумышленником и завершением транзакции А существует промежуток времени, в течение которого кто-то еще в сети может сгенерировать действительный блок и передать его, тем самым сделав недействительным действительный блок, созданный злоумышленником. Поэтому это целесообразно только в том случае, если продавец продает продукт через Интернет и его можно сразу же выпустить, например, ключ для программного продукта.

Общая форма этой атаки была описана Satoshi Nakamoto: White Paper, section 11 . Теоретически злоумышленник может предварительно сгенерировать любое количество блоков, например, если продавцу требуется 1 подтверждение перед выпуском продукта, злоумышленник предварительно сгенерирует 2 блока перед сетью и только затем транслирует транзакцию A для двойного расхода. Но с каждым блоком стоимость растет в геометрической прогрессии, а практика принятия 6 подтверждений перед отправкой покупки делает эту атаку возможной только в том случае, когда у злоумышленника хэшрейт сети приближается к 50% и более.

«кто первым это описал»… И о чем вообще 11-й раздел Белой книги?
@Stéphane Gimenez, в официальном документе описана общая форма этой атаки, а Хэл Финни описал конкретный случай транзакции с нулевым подтверждением, но мне, вероятно, следует включить ссылку на официальный документ.