Некоторая криптографическая-валюта (наиболее заметное из которых NameCoin) позволяет слитую горную промышленность, которая представляет собой метод, чтобы сформировать два или более блоков, которые связаны таким образом, чтобы вычисление некоторого хэша (берется по некоторому нонсу) применимо к доказательство усилий всех соответствующих блоков. Целью объединенной добычи является укрепление относительно небольшой SHA-256 валют, позволяя Bitcoin шахтеров инвестировать их хеш-мощность в меньшем валюте тоже без дополнительной цены.
Это очень крутая техника, но я считаю, что это потенциально опасно, если неправильно выполнена. Я боюсь возможности объединенном добычи по отношению к одной и той же монеты, а это означает, что два из объединяемых блоков одного и того же крипто-монеты. Я обнаружил, что эта проблема уже отмечалось здесь https://en.bitcoin.it/wiki/Merged_mining#Protecting_against_double_proof но только частично: очевидно, имея некоторые слившиеся блоков, которые образуют NameCoin цепь очень плохо, потому что те же усилия могут быть использованы помоему несколько блоков в целом, но объединены блоки одного и того же крипторасизма монеты может быть опасно, даже если они не находятся на той же цепи!
Позвольте мне очертить возможные двойные проводить атаки на основе (потенциальная) возможность одновременно добывать на вершине два конкурентных вилок цепи. В случае природной вилки в цепи, если нет какой-то проблемы подключения в сети, следующий блок будет добываться на вершине либо из двух конкурсных блоков будет принят всеми и таким образом подтвердить блок он был добыт на. Таким образом, как правило, когда происходит вилка, шахтеры шахты на вершине либо из конкурирующих блоков не должны быть обеспокоены их вновь добытого блока в конечном итоге становится сиротой.
Однако, когда возникает проблема связи в сети, часть сети может не знать об одном из двух конкурсных блоков, а также не знает третьего блок, построенный на вершине. Таким образом, возможно, что, когда происходит вилка, а некоторые шахтер проходит один из двух конкурсных блоков второй блок, кто-то другой будет распространяться другой блок второй блок, а затем третий шахтер продлить его еще одним блоком, так что блок, который временно образовали длинную цепочку, тем не менее сиротой. Поэтому рациональные шахтеры должны всегда мина на вершине два конкурентных цепочек одновременно, так как это не требует дополнительных усилий, а с другой стороны улучшились вероятность получения действительного и подтвердили блок цепи.
Двойная расходы злоумышленник может получить другой шахтер, используемого одновременно шахты на конкурсной цепи просто искусственно разветвление цепи и продолжение (на некоторое время), чтобы добывать более короткие ветви. Злоумышленник может даже поставить сеть с горнорудным кодом, который всегда одновременно шахта на вершине конкурентной цепи в случае не существует цепи, которая больше, по крайней мере, 10 блоков, чем другая цепь (ей).
Атака происходит следующим образом: атакующий делает первые расходы в некотором блоке, и начинают тайно добывать конкурентоспособный цепь на вершине своего предшественника. После того, как незадачливый приемник был удовлетворен, злоумышленник публикует конкурентоспособного цепь, которая, вероятно, короче исходной цепи, так как атакующему имеют менее половины от общего хэш-мощности. В результате, другие шахтеры начинают одновременно шахты на вершине конкурентной цепи, сохраняя тем самым разрыв. Атакующий с другой стороны, будут добывать исключительно на вершине короткой цепи, пока эта цепь не настолько больше, что другие шахтеры остановить добычу на вершине оригинальной цепи! На данный момент атака успешна.
Надеюсь, я убедил вас, что слияние добыча не должна позволить одновременно шахты на вершине двух или более блоков одного и того же валюте, в любых обстоятельствах. Теперь вопрос в том, позволят ли механизмы NameCoin и других объединений добычи валюты, чтобы сделать это. Таким образом, я пытался понять, как работает механизм NameCoin, и это что-то вроде этого:
Есть два вида NameCoin блоков - обычные блоки и присоединяемых разминированные блоки. Правильные блоки построены так же, как Bitcoin блоков, и их PoW такой же, как Bitcoin (в хэш заголовке блока каскадного с одноразовым номером должен быть ниже, чем цель). Что же касается присоединяемых-добыты блоков, хэш-блока входит в MERKEL дерева, которое может содержать некоторые другие хешей других блоков. Корень дерева помещается в поле coinbase сделки какого-либо другого блока (например Биткойн блок), который называется "родительский блок"И хэш заголовка родительского блока является хэш, который должен быть ниже, чем цель. Кроме того, место хэша NameCoin присоединяемого разминированный блок в дереве Merkel однозначно вытекают из родительского блока, так что если хэш объединенном разминированный блока случается быть размещен где-то еще в дереве - доказательство усилия не будут действительны.
Если предположить, что в дереве Merkel действительно существует только один возможный место, в котором хэш объединенного разминированный блока могут быть размещены, есть еще две другие точки, которые, возможно, позволят слияния-Майнинг двух различных блоков одного и того же крипто-монеты:
1. Пусть родительский блок не может быть блок-Bitcoin, а скорее NameCoin (обычный) блок? Есть ли другая структура для NameCoin регулярных блоков, чем Bitcoin блоков (например, поле coinbase сделки Bitcoin, в котором корень дерева Merkel помещается должно быть установлено равным нулю в NameCoin блоков)? Может ли Bitcoin блок интерпретировать как NameCoin блок?
2. Пусть coinbase сделка Bitcoin быть интерпретировано двумя разными способами, так что было бы два различных возможных действительных корней дерева Merkel?
Я надеюсь, что эта проблема была тщательно проверена кем-то уже, и вы можете с уверенностью заверить меня, что слившись блоками одного крипто-монеты невозможно ни при каких обстоятельствах.
Лир.