Это своего рода определения а "ссылка клиента", Не так ли?
Ну, ссылка клиент может быть один, который реализует письменную спецификацию.
Я могу видеть исходный код является допустимым способом сделать спецификацию. Однако Bitcoin клиент не написано таким образом.
Это должно было бы поставить под угрозу эффективность, если это помогает ясность.
Тем не менее, Гэвины заметили, что они не могут сделать полностью переписана эталонным клиент. В настоящее время, сохраняя его функциональным является более важным.
Оно делает. Не так ли? Вот почему это называется "раздвоенный", В протоколе говорится, что если шахтер использует клиент, который не точно осуществлять необходимые правила протокола, то выход из этого шахтера игнорируется и не принимается в качестве "Bitcoin" коммуникации.
Способ сделать это будет транслировать блок заголовков, даже если блоки будут отклонены. Позволяет всем клиентам, чтобы создать дерево заголовка блока. Это дало бы им видимость вилка, которые произошли и оценку хэширования мощности.
Это позволит клиентам отображать предупреждение, что около 10% от сети хэширования власти фиксируемого к раздвоенной цепи.
Кроме того, клиенты на вилке может отображать предупреждение о том, что они находятся на цепи, которая только что получить 10%.
В такой ситуации, клиенты могут увеличить окно подтверждения и / или требовать подтверждает на обеих вилок.
Это дает автоматический / мгновенный отклик на разветвление цепи и затем разработчик клиента, вызвавшего вилок может принести свой клиент обратно в консенсус.
Самая последняя вилка была вызвана новой версией ссылки клиента. Даже если есть только один клиент, он все равно будет иметь номер версии. Будучи в состоянии справиться с вилками, так что сеть деградирует более элегантно будет улучшение, и это позволило бы альтернативные реализации.
И как бы "цепь" поддерживаться тогда? Идея blockchain заключается в силе консенсуса. Если "клиент клиент" готов провести несколько конкурирующих блоков в равной степени действительными, то понятие консенсуса теряется.
Мягкие вилки уже работают по этому принципу. Это нормально для продавцов и клиентов, чтобы иметь устаревших клиентов. Они принимают блоки на основе старых и новых правилах.
(Большинство) шахтеры принимают только блоки на основе новых правил. Это означает, что цепь гарантирована только блоки, которые работают по новым правилам (за исключением временных сирот).
Горные узлы должны быть более жесткими, чем общие узлы использования.
С майнинг, они могут очень легко проверить, все блоки, которые они получают от нескольких версий наиболее популярных клиентов.
Обращение его с p2pool будет сложнее.
Как вы знаете, когда "все" клиенты согласились на блоки / сделки? Как бы вы справиться с ситуацией, когда противник создает клиент, который специально отвергает те самые операции или блоки, которые, по вашему мнению, должны быть включены?
Я имел в виду все из многочисленных клиентов, которые шахтер используют для проверки блоков, а не все возможные клиентов.
Даже с эталонным клиентом, это будет хорошая система.
Блок нарушитель будет вход для авторов анализа и клиента можно было бы ожидать, чтобы привести свое программное обеспечение в соответствие.
Если два клиента не согласен около двух различных блоков, блок является "оскорбительный" один, и который является "приемлемо" один.
Если есть 10 общих клиентов, то для почти любого блока почти все из них согласятся. Тем не менее, в этом контексте я хотел бы занять позицию, что если какой-либо из них отвергают блок, то шахтеры бы рекомендовал отклонить блок.