BIP-119 (CTV)
BIP-119 propose OP_CHECKTEMPLATEVERIFY. Permet de pré-engager une transaction future. Brique covenant restreinte. Soft fork débattu depuis 2020.
L'idée d'un opcode minimaliste
BIP-119, rédigé par Jeremy Rubin et publié en 2020, propose un nouvel opcode : OP_CHECKTEMPLATEVERIFY (CTV). L'idée est simple : pré-engager une dépense future en imposant que toute dépense d'une sortie respecte un template précis (montants, destinataires, séquences). C'est la forme la plus restreinte de covenant : on ne contrôle pas le code, on commit à une transaction figée.
Le hash de template
Un OP_CTV vérifie que la transaction qui dépense la sortie correspond à un template_hash particulier, calculé à partir de :
nVersionnLockTime- Nombre d'entrées et de sorties
scriptPubKeyet montants de chaque sortiesequencede chaque entrée- Position de l'entrée dépensant le CTV
Si la transaction proposée matche le hash, l'opcode passe ; sinon, il échoue. Aucun appel récursif, aucune logique conditionnelle complexe : c'est ce qui rend CTV facilement auditable.
Cas d'usage débloqués
| Application | Bénéfice | |-------------|----------| | Coffres-forts (vaults) | Le wallet impose une fenêtre de récupération avant retrait | | Channel factories | Création d'arbres de canaux Lightning en une seule on-chain tx | | Congestion control | Un payement à 100 destinataires consolide en 1 tx + ouvertures différées | | DAO simples | Distribution programmable des fonds | | Channel pools / Ark | Construction efficace de structures L2 |
Le débat communautaire
CTV est sans doute la proposition de soft fork la plus discutée des cinq dernières années. Arguments en faveur :
- Petit, simple, auditable (quelques centaines de lignes de code).
- Briques utiles immédiatement (vaults, channel factories).
- Sécurité conservatrice : pas de récursion, pas de Turing-complétude.
Critiques :
- Limitée : un seul template fixe, peu flexible.
- Concurrence avec APO/CAT : pourquoi CTV plutôt qu'un combo plus expressif ?
- Risque d'usage MEV-like : exploitations potentielles dans les channel factories.
État actuel
Tournée d'activation par signaling-only début 2022 sans succès. Un signet CTV signet existe et fait tourner des prototypes. En 2026, le débat continue avec des contre-propositions (Sapio, CSFS+CAT, OP_VAULT de James O'Beirne).
À retenir
CTV incarne la philosophie « petits opcodes utiles » contre l'idée d'un langage Bitcoin plus puissant. Quel que soit son sort, son existence a relancé la R&D sur les covenants et les protocoles L2.
Termes lies
- OP_CHECKTEMPLATEVERIFY (CTV)OP_CHECKTEMPLATEVERIFY (BIP-119) est un opcode proposé permettant de pré-engager une transaction future. Il introduit une forme limitée de covenant. Au cœur des discussions sur les vaults et les améliorations de scalabilité (Ark, congestion control). Non activé à ce jour.
- CovenantUn covenant est une condition restreignant la manière dont une UTXO peut être dépensée à l'avenir. Permet vaults, paiements récursifs, Ark... Plusieurs propositions cohabitent (CTV, OP_VAULT, ANYPREVOUT). Sujet brûlant des prochains soft forks.
- Vault BitcoinUn vault Bitcoin est un schéma de garde avec délai imposé entre la requête et la dépense effective. Permet d'annuler une transaction frauduleuse pendant ce délai. Aujourd'hui implémentable avec scripts complexes ; demain plus simplement avec OP_VAULT. Outil clé d'auto-custody avancée.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.