RÉCURSIF - COVENANT
Un covenant récursif sur Bitcoin est un type de contrat intelligent qui impose des conditions non seulement sur la transaction actuelle, mais aussi sur les transactions futures qui dépensent les sorties de cette transaction. Cela permet de créer des chaînes de transactions où chacune doit respecter certaines règles définies par la première de la chaîne. La récursivité crée une séquence de transactions où chacune hérite des restrictions de sa transaction parent. Cela permettrait d’établir un contrôle complexe et à long terme sur la manière dont les bitcoins peuvent être dépensés, mais cela introduirait également des risques au niveau de la liberté de dépense et de la fongibilité.
Pour résumer, un covenant non récursif se limitera uniquement à la transaction qui succède immédiatement à celle qui a établi les règles. Et au contraire, un covenant récursif aura la capacité d’imposer des conditions spécifiques à un bitcoin de manière indéfinie. Les transactions pourront se succéder, mais le bitcoin en question conservera toujours les conditions initiales qui lui sont attachées. Techniquement, l’instauration d’un covenant non récursif intervient lorsque le scriptPubKey d’un UTXO définit des restrictions sur le scriptPubKey des sorties d’une transaction qui dépense ledit UTXO. En revanche, l’instauration d’un covenant récursif intervient lorsque le scriptPubKey d’un UTXO définit des restrictions sur le scriptPubKey des sorties d’une transaction qui dépense ledit UTXO, et de tous les scriptPubKey qui suivront la dépense de cet UTXO.
De manière plus générale, en informatique, ce que l’on appelle la « récursivité » est la capacité d’une fonction à s’appeler elle-même, ce qui crée une sorte de mise en abyme.