Qu’est-ce qu’un contrat de verrouillage de temps haché (HTLC) ?

Un contrat de verrouillage de temps haché ou HTLC (hashed timeclock contract) se présente comme un type de smart contract dans les applications blockchain. Celui-ci a pour objectif de réduire le risque de contrepartie en créant un « séquestre » basé sur le temps nécessitant une phrase de passe cryptographique pour le déverrouillage. Ainsi, toute personne recevant des fonds dans le cadre d’une transaction devra réaliser deux actions afin de les avoir : saisir la phrase correcte et demander le paiement dans un délai précis. S’il saisit une phrase incorrecte ou ne réclame pas les fonds dans le délai indiqué, il perd alors l’accès au paiement.

Qu’est-ce qu’un contrat de verrouillage de temps haché (HTLC)
Fonctionnement du HTLC qui se présente comme un type de smart contract

Fonctionnement du HTLC

Ce type de contrat utilise de nombreux éléments de transactions de cryptos existantes, comme plusieurs signatures composées d’une clé privée et d’une clé publique pour vérifier puis valider les transactions. Deux éléments distinguent toutefois ce contrat des transactions standards avec des contrats intelligents :

  • Le hashlock : verrouillage du hachage
  • Le timelock : verrouillage du temps

Le verrouillage du hachage (hashlock)

Il s’agit d’une version hachée (chiffrée) d’une clé publique générée par celui qui a initié la transaction. La clé privée associée est par la suite utilisée pour déverrouiller le hachage d’origine. Dans le HTLC, celui qui initie la transaction génère alors une clé puis la hache. Le hachage est alors stocké dans une pré-image révélée lors de la transaction finale. Les contrats de verrouillage de temps haché sont programmés pour expirer après un temps défini ou après qu’un nombre spécifique de blocs aient été générés, créant ainsi une date et une heure de fin connues.

Le verrouillage du temps (timelock)

Dans un HTLC, deux verrous temporels différents sont utilisés afin de définir des contraintes de temps :

  • CLTV (CheckLockTimeVerify) : Ce verrou utilise une base de temps pour verrouiller puis libérer la cryptomonnaie. Les contraintes de temps sont alors codées en dur et les jetons ne seront libérés qu’à une date et une heure précises, ou à une taille de bloc spécifique ;
  • CSV (CheckSequenceVerify) : Ce verrou utilise le nombre de blocs générés comme mesure de suivi afin de déterminer le temps pour finaliser une transaction.

Les atomic swaps ou échanges atomiques interchaînes sont généralement effectués grâce à des HTLC. Par ailleurs, le Lightning Network (LN) de Bitcoin utilise aussi des contrats de verrouillage de temps haché.

Processus d’un contrat de verrouillage de temps haché

Un contrat de verrouillage de temps haché abrégé en HTLC utilise deux types de verrous : le verrouillage de hachage (hashlock) et le verrouillage du temps (timelock). Voyons comment cela se traduit-il.

Jacquie souhaite échanger un jeton de Bitcoin contre du Doge de Michel. Voilà comment va se dérouler une transaction HTLC typique entre ces deux propriétaires de cryptomonnaie :

  • Jacquie génère alors un hachage à partir de sa clé privée Bitcoin et l’envoie à Michel, ainsi qu’une pré-image du hachage en créant une transaction nominale. Cette pré-image permettra par la suite de valider et de finaliser la transaction.
  • De son côté, Michel génère aussi un hachage à partir de sa clé Litecoin et l’envoie à Jacquie. Et tout comme elle, il créera une pré-image en réalisant une transaction nominale.
  • Une fois que Jacquie reçoit la transaction Litecoin provenant de Michel, elle la signe en utilisant la clé d’origine déjà disponible dans la pré-image. Michel fait la même chose de son côté en utilisant sa clé privée afin de déverrouiller la transaction provenant de Jacquie.
  • Une fois que Jacquie et Michel ont saisi leurs clés puis accepté la transaction, le HTLC l’exécute dans la mesure où les conditions ont été remplies. Ni l’un ni l’autre ne pourra modifier la transaction une fois que celle-ci est exécutée ce qui permet d’éliminer la possibilité que l’un puisse tromper l’autre en annulant l’échange au dernier moment par exemple. Le risque de contrepartie est également inexistant grâce à ce type de contrat intelligent.

D’autres articles relatifs :

Résumé

Un contrat de verrouillage de temps haché abrégé en HTLC (hashed timeclock contract) est un type de contrat intelligent utilisé dans les applications de chaîne de blocs. Ce smart contract a pour but de réduire le risque de contrepartie en créant un « séquestre » ou « verrouillage » basé sur le temps qui nécessite un pass cryptographique sous forme de phrase pour l’accès. Ainsi, tous ceux qui reçoivent des fonds dans le cadre d’une transaction devra effectuer deux actions : saisir la phrase correcte puis demander le paiement dans un délai spécifique. Dans le cas où le pass est erroné ou s’ils ne réclament pas les fonds dans le délai imparti alors ils perdent l’accès au paiement et devront reprendre depuis le début – les fonds de chaque partie sont restitués. Le contrat de verrouillage de temps haché se base sur deux verrous temporels pour définir des contraintes de temps : le CLTV (CheckLockTimeVerify) et le CSV (CheckSequenceVerify).

Laisser un commentaire

Ouvrir la discussion
1
Une assistance?
L'equipe FormationTrading
Hello 👋
vous avez besoin d'aide ?