Вот несколько вариантов нового вида атак я называю перо вилки, который включает в себя использование гораздо меньше, чем 50% от hashpower влиять на сеть (например, отказаться от сделок с блокированных адреса). Перо-вилка, когда шахтер отказывается помоему на любой цепи, которая включает в себя сделку он не любит в самых последних нескольких блоков. Вы можете думать об этом как очень-мягкой вилке или слабой форме в черном списке. Насколько я знаю, этот вид атаки не обсуждался ранее.
Честные шахтеры работают стандартный клиент будет строить на любом действительный блок, независимо от его содержимого. Вредоносный шахтер, который хочет провести в жизнь - любой ценой - некоторые дополнительные условия (например, в черный список транзакций от конкретного адреса), может отказаться от строительства на любой цепи, содержащей блок, он не любит. Однако, если этот вредоносный шахтер не способен убедить половину сети, чтобы присоединиться к нему, он найдет себя на коротком конце раскола, в то время как остальная часть сети продолжает незатронутыми. Тем не менее, я считаю, что злонамеренный шахтер, по отказ построить на этом блоке, только в течение короткого промежутка времени, может создать стимул для других шахтеров для обеспечения черного списка, а также.
Оговорка: Следующий анализ основывается на предположении, что большинство участников горнодобывающих рациональны мотивированные и пытаются оптимизировать свои доходы. Я воображал, что большинство шахтеров работать гипотетический "RationalMiner" Клиентская программа, а не ссылка клиента. Эти атаки не представляется возможными, если более половины сетей являются "честный" в том смысле, что они управляют ссылочным клиентом.
1. Два блока пера вилки атака
Предположим, что вредоносный объект добычи, Blackpool, с участком альфа<1 из общего hashpower (предположим, для иллюстрации, что а = 20%), желает в черный список операций с определенного адреса. Он публично заявляет, что он будет использовать следующую стратегию: если появится блок, содержащий черный список транзакции, то она не будет добывать прямо поверх него. Однако, если второй блок найден (т.е. в черном списке транзакций состоят из двух подтверждений), то BLACKPOOL будет уступать и идти вперед по добыче полезных ископаемых на самой длинной цепи.
Ключом расчет, чтобы сделать то, что доля α сети имеет шанс αІ выиграть два следующих друг за другом блоков. В этом примере, Blackpool с 20% сети будет выиграть следующие два блоков 4% от времени. Теперь рассмотрим шахтер решить, следует ли включить в черный список сделки. Если она включает в себя сделку, то эффективная ставка добычи будет уменьшена на 4%. С другой стороны, в черный список сделка несет в себе достаточно большую плату, то он все еще может быть предпочтительным, чтобы включить его.
Горняк управления α из hashpower может использовать перо-вилку, чтобы поднять плату, необходимую к совершению "черный список" сделка αІU₀, где U₀ является средней наградой блока..
2. Три блока пера вилки атака
Теперь рассмотрим, что Блэкпуле угрожает не помоему на вершине любой цепи, где черный список транзакций показывает вверх в двух последних блоков.. Теперь может быть своего рода каскадный эффект. Даже если Блэкпуле не сможет выиграть следующие два последовательных блоков, у него есть меньше шансов на победу три из следующих четырех. Таким образом, даже если рациональный шахтер находит блок и требования этой платы, любой последующий шахтер будет добыча на более низкой эффективной ставке, чтобы включить его. В таком случае, если каждый шахтер рационально, то никакого рационального шахтер не будет включать в себя черный список сделки, независимо от гонорара.
Это более реалистично предположить, что некоторые шахтеры альтруистические или просто не готовы к планам Блэкпул. Если плата достаточно велика, то это стоит утверждая, что это и в надежде альтруистический шахтер строит на нем и выигрывает следующий блок.
3. Один блок из перьев вилки атака с оплатой
Блэкпуле имеет шанс альфа выиграть следующий блок и вызывая галстук. Если бы существовал способ предложить вознаграждение шахтера следующего блока, как способ выиграть галстук через подкуп, то Блэкпул может узурпировать блок с черным списком сделкой с, вероятно, α, а не просто αІ.
Однако, из-за coinbase зрелости (выходы из coinbase сделки не могут быть потрачены на 100 блоков), а также отсутствие способа сделать операции, которые действительны только в том случае конкретный блок присутствует, это не представляется возможным предложить такую взятку, по крайней мере, не напрямую через цепь. Это влияет altcoins как Freimarkets, хотя, который имеет команду OP_BLOCKHEIGHT, потому что вы можете совершить сделку с OP_HEIGHT в scriptSig устанавливается на текущую высоту блока, а кто-может-тратить выходные транзакции, которые могут быть востребованы в следующем блоке.
связанное с естественным явлением 4.
Рассмотрим ситуацию, когда какой-нибудь пользователь транслирует сделку с аномально большой гонорар, U₁. Допустим, что шансы на победу в следующем блоке α, ваша доля от общей мощности (в хэшей / секунду), и что типичное вознаграждение за блока U₀. Тогда ожидаемая полезность сотрудничества (стратегии C₀) есть (что-то вроде):
Е [C₀] = αU₀
Для того, чтобы заработать огромное вознаграждение U₁ (стратегия C₁) вы должны выиграть два блока, прежде чем остальная часть сети выигрывает один:
Е [C₁] = αІU₁
Таким образом, в случае, U₁ / U₀ ≥ α⁻№, рациональное шахтер с hashpower альфа будет дефект, даже если все остальные сотрудничать. Чем больше ваша доля хеш мощности, нижняя точка останова на приз быть стоит соперничающих более.
Пример: Предположим, что (вымышленные) RationalMiningPool приходится около 33% от hashpower. Программное обеспечение сбой в MyPHPWebWallet.com приводит к представленной сделке с платой, превышающей 75 BTC (награда типичной блок только 25 BTC). RationalMiningPool не находит первый выигрышный блок включить эту плату; однако, он решает продолжить борьбу за главный приз, так как шансы найти следующие два последовательных решений является достойной и высокая стоимость делает его полезным.
Но дезертировать не является равновесием либо. Поскольку добыча является дорогостоящим и в целом утилита может уменьшаться, если есть конкуренция, а не консенсус, это может быть предпочтительнее, чтобы не играть вообще. Я предполагаю, что U₀ уже конкурентоспособная цена, ниже которой рациональная выходы шахтер. Есть ли кооперативное равновесие? Вот мое решение:
Горняк с hashpower а (например, что U₁ / U₀ ≥ α⁻№) может смело брать срез награды αU₁ для себя, и предлагают остальные (1-a) U₁ в качестве платы для всех остальных, чтобы бороться дальше. Причина заключается в том, что для любого шахтера с hashpower-р порционных < 1-α, значение для взаимодействия в следующий раунд Е [C₀ '] = р (1-α) U₁ превышает значение претендующих дальнейшее E [C₁'] = βІU₁.
"coinbase зрелость" Правило гласит, что вы не можете потратить горнодобывающие награды сразу, вместо этого вы должны ждать 100 блоков истечь. С ограниченным бюджетом, шахтер, который выигрывает главный приз будет не в состоянии предложить до предложенного (1-a) U₁ доли и, следовательно, это утверждение было бы неизбежно.
Вывод
Большинство шахтеров в настоящее время запуска стандартного клиента и не делают различия между действительными блоками. Однако это правдоподобно, что в будущем, майнинг может отличиться, будучи "рациональный" и зарабатывать больше прибыли, запустив жадный код. Правила, как coinbase зрелость (и отсутствие опкодов выпускающих свяжете операции на определенную высоту) влияют на взаимодействие между шахтерами последовательных блоков. В некоторых случаях они, кажется, помогают консенсусу, но в других случаях они, кажется, вызывают раздор. Это стоит попробовать проанализировать это более тщательно, перед началом "рациональные шахтеры" ловит нас приз.