BIP 34 установлены правила для обновления версии блока.
Если 75% сети производит блоки версии N, то не принимают блоки версии N, если они являются недействительными
Если 95% сети производит блоки версии N, то не принимают блоки меньше, чем версия N (постоянное изменение)
Однако, это не дает четкого определения того, что новая версия. Если бы было два предложения для версии 3-х блоков, затем 75% (или даже 95%) в сети может быть с помощью версии 3 блоков, но было бы несовместимо.
А как насчет настройки правил обработки обновления блоков.
Сеть будет иметь "жить" версия (L), для блоков. Это в настоящее время 2.
- блоки выше версии L +-должны быть отклонены
- блоки ниже версия L должны быть отклонены
- блоки версия L + 1 рассматриваются предлагаемые обновления версий, но идентичны версии L блоков для номера версии, кроме
-- Последние 32 байт coinbase сценарий содержит хэш предлагаемого BIP
-- Если предыдущий байт 0, это указывает на то, что это трудно разветвление обновление
- Если более 75% от последних 1000 блоков версия L + 1 или L + 2 и имеют одинаковый хэш BIP
-- отказаться от блоков версии L + 2, которые не соответствуют БИП
- Если более чем 95% от последних 1000 блоков версия L + 1 или L + 2 и имеют одинаковый хэш BIP
-- прирост живой версии на 2 (так отвергают все блоки ниже L + 2)
-- Хэш BIP не должен быть включен в последующих блоках
Сообщение должно быть добавлено к сетевому протоколу, так что BIP текст может быть получен, как только порог 95% достигается. Узел может запросить текст любого BIP, который был принят в сети.
Клиент должен отслеживать заголовки для жесткой вилки. Когда пользователь подключается клиент может сравнить общие военнопленный к основной цепи в соответствии со своими собственными правилами и военнопленной для цепи, если он просто проверяет заголовки.
Если длинная POW цепь содержит жесткий Разветвляющееся обновление к версии блока, что клиент не поддерживает, он может отобразить сообщение вида "Жесткое разветвление изменение было принято горняками сети. Обновление клиента должно продолжать то, что они предлагают лучший набор правил для основной цепи. Рекомендуется обновить только к новой версии клиента, если вы согласны с предлагаемыми изменениями. Если не обновлять, то вы будете оставаться на оригинальной, не запускающую цепи."