Механизм активации задаёт параметры, переходы состояний и высоту, с которой валидирующие узлы отвергают блоки, нарушающие новое обратно совместимое правило.
Soft fork сужает множество валидных блоков, а новые условия действуют только в ACTIVE. Выпуск ПО, начало signaling и LOCKED_IN ещё не активация; задержка даёт участникам время обновиться. [2]
BIP 9 оценивает version bit периодами по 2016 блоков и проходит DEFINED, STARTED, LOCKED_IN, ACTIVE и FAILED. Исходный порог был 1 916 блоков, или 95 %; недостижение до timeout ведёт к FAILED. [2]
BIP 8 использует startheight, timeoutheight и minimum_activation_height вместо дат Median Time Past. lockinontimeout добавляет необязательный MUST_SIGNAL и может гарантировать LOCKED_IN не позже timeoutheight. [1]
При LOT=false deployment без порога к timeoutheight становится FAILED. При LOT=true последний период может отвергать избыток несигнализирующих блоков; выбор меняет риск chain split и должен быть известен до применения. [1]
BIP 8 рекомендует 1 815 из 2016 блоков, то есть 90 %, и минимум один период LOCKED_IN перед ACTIVE. Каждый soft fork обязан публиковать свои параметры; название механизма не задаёт порог или дату. [1]
Taproot использовал вариант BIP 9 Speedy Trial: bit 2, порог 1 815 из 2016 блоков и фиксированную минимальную высоту 709 632. Он locked in и реально активировался в mainnet на блоке 709 632. [3]
Сигнал header показывает готовность hashrate создавать совместимые блоки; это не голосование coins и не отдельное правило node. После активации каждый validating full node следует своему коду и параметрам. [4]
Для проверки ‘активировано’ нужны точный BIP, release с параметрами, сеть, version bit, период, порог, LOCKED_IN и высота ACTIVE. Результат Taproot нельзя автоматически переносить на другие параметры. [4]
Для полной картины прочитайте эту статью вместе с Soft Fork, BIP (Bitcoin Improvement Proposal), SegWit, Taproot, Правила консенсуса, Война за размер блока. На эту статью также ссылаются Schelling Point.
01Голосуют ли майнеры за правила Bitcoin?+
Не в юридическом или имущественном смысле. Signaling измеряет готовность в механизме; валидность определяют правила валидирующих узлов.
02Что означает LOT=true?+
Lock-in-on-timeout в BIP 8 добавляет MUST_SIGNAL до timeout, поэтому deployment достигает LOCKED_IN без прежнего порога. Избыток несигнализирующих блоков недействителен для LOT=true-узлов.