700 / 736ACTIVATE

Soft Fork Activation

BIP 8, BIP 9 et Speedy Trial

Soft Fork Activation est le passage coordonné du code publié au moment où les nœuds à jour appliquent des règles de consensus plus strictes ; le signaling des mineurs mesure leur préparation, pas la propriété de Bitcoin.

Un mécanisme d’activation fixe les paramètres, transitions d’état et hauteur à partir de laquelle les nœuds validateurs rejettent les blocs enfreignant une nouvelle règle rétrocompatible.

Un soft fork réduit l’ensemble des blocs valides et les nouvelles conditions ne sont appliquées qu’en ACTIVE. Logiciel publié, début du signaling et LOCKED_IN ne sont pas encore l’activation ; l’attente permet aux acteurs de se mettre à jour. [2]

BIP 9 évalue un version bit par périodes de 2016 blocs et passe par DEFINED, STARTED, LOCKED_IN, ACTIVE et FAILED. Son seuil initial était de 1 916 blocs, soit 95 % ; l’échec avant timeout mène à FAILED. [2]

BIP 8 emploie startheight, timeoutheight et minimum_activation_height plutôt que des dates Median Time Past. lockinontimeout ajoute l’état optionnel MUST_SIGNAL et peut garantir LOCKED_IN au plus tard à timeoutheight. [1]

Avec LOT=false, un deployment sans seuil atteint à timeoutheight devient FAILED. Avec LOT=true, la dernière période peut rejeter trop de blocs sans signal ; ce choix modifie le risque de chain split et doit être connu avant l’application. [1]

BIP 8 recommande 1 815 blocs sur 2016, soit 90 %, et au moins une période LOCKED_IN avant ACTIVE. Chaque soft fork doit publier ses paramètres ; le nom du mécanisme ne fixe ni seuil ni date. [1]

Taproot a employé la variante BIP 9 Speedy Trial : bit 2, seuil de 1 815 sur 2016 blocs et hauteur minimale fixe 709 632. Il s’est verrouillé puis activé sur mainnet au bloc 709 632. [3]

Le signal d’un header indique que le hashrate est prêt à produire des blocs compatibles ; ce n’est ni un vote pondéré par coins ni une règle de nœud à lui seul. Après activation, chaque full node valide selon son code et ses paramètres. [4]

Pour vérifier ‘activé’, il faut le BIP exact, le release avec paramètres, le réseau, version bit, période, seuil, LOCKED_IN et hauteur ACTIVE. Le résultat de Taproot ne s’applique pas automatiquement à d’autres paramètres. [4]

Pour une vision complète, lisez aussi Soft Fork, BIP (Bitcoin Improvement Proposal), SegWit, Taproot, Règles de consensus, Guerre de la taille des blocs. Cette entrée est également citée par Schelling Point.

01Les mineurs votent-ils les règles de Bitcoin ?

Pas au sens juridique ou patrimonial. Le signaling mesure la préparation dans un mécanisme précis ; les règles exécutées par les nœuds validateurs déterminent la validité.

02Que signifie LOT=true ?

Lock-in-on-timeout dans BIP 8 ajoute MUST_SIGNAL avant timeout afin d’atteindre LOCKED_IN sans seuil antérieur. L’excès de blocs non signalants est alors invalide pour les nœuds LOT=true.

DOC · 001BIP 8 — Version bits with lock-in by heightSpécification DOC · 002BIP 9 — Version bits with timeout and delaySpécification DOC · 003BIP 341 — Taproot deploymentSpécification DOC · 004Bitcoin Core 0.21.1 — Taproot Speedy TrialSource primaire
Révisé le: Sources d’abord · Pas un conseil financier